@touchvue/chat 1.0.0-beta.5 → 1.0.0-beta.50
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/README.md +25 -25
- package/es/_virtual/_plugin-vue_export-helper.mjs +10 -0
- package/es/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
- package/es/index.mjs.map +1 -1
- package/es/node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.mjs +4816 -0
- package/es/node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.mjs.map +1 -0
- package/es/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.mjs +1380 -0
- package/es/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.mjs.map +1 -0
- package/es/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.mjs +7824 -0
- package/es/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.mjs.map +1 -0
- package/es/package.json.css +1 -1
- package/es/package.json.mjs +2 -2
- package/es/packages/components/index.mjs +1 -1
- package/es/packages/components/resolver.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue2.mjs +219 -159
- package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/face.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/AiRobot/face.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/face.vue2.mjs +27 -13
- package/es/packages/components/touchchat/component/AiRobot/face.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/letter.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/AiRobot/letter.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs +182 -41
- package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.mjs +15 -10
- package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/start.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/AiRobot/start.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/AiRobot/start.vue2.mjs +18 -11
- package/es/packages/components/touchchat/component/AiRobot/start.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/CardView.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/CardView.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/CardView.vue2.mjs +66 -42
- package/es/packages/components/touchchat/component/CardView.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/FileContent.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/FileContent.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/FileContent.vue2.mjs +206 -0
- package/es/packages/components/touchchat/component/FileContent.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/FileView.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/FileView.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/FileView.vue2.mjs +17 -4
- package/es/packages/components/touchchat/component/FileView.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/HelloChat.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/HelloChat.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/HelloChat.vue2.mjs +26 -14
- package/es/packages/components/touchchat/component/HelloChat.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/ImageFile.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/ImageFile.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/ImageFile.vue2.mjs +162 -0
- package/es/packages/components/touchchat/component/ImageFile.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/ImageView.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/ImageView.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/ImageView.vue2.mjs +1 -1
- package/es/packages/components/touchchat/component/ImageView.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/LinkView.vue.mjs +3 -2
- package/es/packages/components/touchchat/component/LinkView.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/component/LinkView.vue2.mjs +19 -5
- package/es/packages/components/touchchat/component/LinkView.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/MarkLayer.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/MarkLayer.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/MarkLayer.vue2.mjs +56 -0
- package/es/packages/components/touchchat/component/MarkLayer.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/ModuleSelect.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/ModuleSelect.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs +121 -0
- package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/PDFFile.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/PDFFile.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/PDFFile.vue2.mjs +211 -0
- package/es/packages/components/touchchat/component/PDFFile.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/QuoteContent.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/QuoteContent.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/QuoteContent.vue2.mjs +40 -0
- package/es/packages/components/touchchat/component/QuoteContent.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/RealtimeVoice.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/RealtimeVoice.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/RealtimeVoice.vue2.mjs +160 -0
- package/es/packages/components/touchchat/component/RealtimeVoice.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/Screenshot.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/Screenshot.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/Screenshot.vue2.mjs +208 -0
- package/es/packages/components/touchchat/component/Screenshot.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/ThoughtChain.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/ThoughtChain.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/ThoughtChain.vue2.mjs +69 -0
- package/es/packages/components/touchchat/component/ThoughtChain.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/UploadView.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/UploadView.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/UploadView.vue2.mjs +186 -0
- package/es/packages/components/touchchat/component/UploadView.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/UploadView_api.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/UploadView_api.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/UploadView_api.vue2.mjs +166 -0
- package/es/packages/components/touchchat/component/UploadView_api.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/VideoFile.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/VideoFile.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/VideoFile.vue2.mjs +33 -0
- package/es/packages/components/touchchat/component/VideoFile.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/VoiceView.vue.mjs +7 -0
- package/es/packages/components/touchchat/component/VoiceView.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/component/VoiceView.vue2.mjs +165 -0
- package/es/packages/components/touchchat/component/VoiceView.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/doc.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/doc.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/docx.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/docx.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/gif.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/gif.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/html.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/html.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/jpg.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/jpg.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/mp3.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/mp3.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/mp4.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/mp4.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/music.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/music.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/pdf.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/pdf.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/png.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/png.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/ppt.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/ppt.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/pptx.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/pptx.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/txt.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/txt.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/xls.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/xls.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/file/xlsx.png.mjs +4 -0
- package/es/packages/components/touchchat/img/file/xlsx.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/svg/reset.svg.mjs +4 -0
- package/es/packages/components/touchchat/img/svg/reset.svg.mjs.map +1 -0
- package/es/packages/components/touchchat/index.mjs +5 -5
- package/es/packages/components/touchchat/index.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/AgentsView.vue.mjs +7 -0
- package/es/packages/components/touchchat/src/AiChat/AgentsView.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/AgentsView.vue2.mjs +59 -0
- package/es/packages/components/touchchat/src/AiChat/AgentsView.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/AiMessage.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/AiMessage.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs +322 -139
- package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/Chat/TouchChat.mjs +18 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/TouchChat.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.mjs +145 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/types.mjs +19 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/types.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs +693 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useCopy.mjs +55 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useCopy.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useMessageRender.mjs +155 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useMessageRender.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs +345 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useScroll.mjs +74 -0
- package/es/packages/components/touchchat/src/AiChat/Chat/useScroll.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/ChatInput.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/ChatInput.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs +472 -44
- package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/HistoryList.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/HistoryList.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs +180 -98
- package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs +29 -12
- package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/MessageActions.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/MessageActions.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs +175 -62
- package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs +14 -8
- package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue.mjs +7 -0
- package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs +1034 -0
- package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/TouchChat.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/TouchChat.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs +276 -1004
- package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs +346 -122
- package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/UserMessage.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/AiChat/UserMessage.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs +143 -64
- package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/index.vue.mjs +3 -2
- package/es/packages/components/touchchat/src/index.vue.mjs.map +1 -1
- package/es/packages/components/touchchat/src/index.vue2.mjs +252 -143
- package/es/packages/components/touchchat/src/index.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/types/a2a.mjs +11 -0
- package/es/packages/components/touchchat/src/types/a2a.mjs.map +1 -0
- package/es/packages/components/touchchat/utils/a2aService.mjs +316 -0
- package/es/packages/components/touchchat/utils/a2aService.mjs.map +1 -0
- package/es/packages/components/touchchat/utils/fetchStream.mjs +8 -2
- package/es/packages/components/touchchat/utils/fetchStream.mjs.map +1 -1
- package/es/packages/components/touchchat/utils/markdown.mjs +31 -13
- package/es/packages/components/touchchat/utils/markdown.mjs.map +1 -1
- package/es/packages/utils/config.mjs.map +1 -1
- package/es/packages/utils/types.mjs.map +1 -1
- package/global.d.ts +2 -2
- package/lib/_virtual/_plugin-vue_export-helper.js +14 -0
- package/lib/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/lib/index.js.map +1 -1
- package/lib/node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.js +4819 -0
- package/lib/node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.js.map +1 -0
- package/lib/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.js +1384 -0
- package/lib/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.js.map +1 -0
- package/lib/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.js +7828 -0
- package/lib/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.js.map +1 -0
- package/lib/package.json.css +1 -1
- package/lib/package.json.js +2 -2
- package/lib/packages/components/index.js +2 -2
- package/lib/packages/components/resolver.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue.js +3 -2
- package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue2.js +219 -159
- package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/face.vue.js +3 -2
- package/lib/packages/components/touchchat/component/AiRobot/face.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/face.vue2.js +26 -12
- package/lib/packages/components/touchchat/component/AiRobot/face.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/letter.vue.js +3 -2
- package/lib/packages/components/touchchat/component/AiRobot/letter.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js +181 -40
- package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue.js +3 -2
- package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.js +15 -10
- package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/start.vue.js +3 -2
- package/lib/packages/components/touchchat/component/AiRobot/start.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/start.vue2.js +17 -10
- package/lib/packages/components/touchchat/component/AiRobot/start.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/CardView.vue.js +3 -2
- package/lib/packages/components/touchchat/component/CardView.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/CardView.vue2.js +66 -42
- package/lib/packages/components/touchchat/component/CardView.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/FileContent.vue.js +11 -0
- package/lib/packages/components/touchchat/component/FileContent.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/FileContent.vue2.js +210 -0
- package/lib/packages/components/touchchat/component/FileContent.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/FileView.vue.js +3 -2
- package/lib/packages/components/touchchat/component/FileView.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/FileView.vue2.js +16 -3
- package/lib/packages/components/touchchat/component/FileView.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/HelloChat.vue.js +3 -2
- package/lib/packages/components/touchchat/component/HelloChat.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/HelloChat.vue2.js +26 -14
- package/lib/packages/components/touchchat/component/HelloChat.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/ImageFile.vue.js +11 -0
- package/lib/packages/components/touchchat/component/ImageFile.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/ImageFile.vue2.js +166 -0
- package/lib/packages/components/touchchat/component/ImageFile.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/ImageView.vue.js +3 -2
- package/lib/packages/components/touchchat/component/ImageView.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/ImageView.vue2.js +1 -1
- package/lib/packages/components/touchchat/component/ImageView.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/LinkView.vue.js +3 -2
- package/lib/packages/components/touchchat/component/LinkView.vue.js.map +1 -1
- package/lib/packages/components/touchchat/component/LinkView.vue2.js +18 -4
- package/lib/packages/components/touchchat/component/LinkView.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/MarkLayer.vue.js +11 -0
- package/lib/packages/components/touchchat/component/MarkLayer.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/MarkLayer.vue2.js +60 -0
- package/lib/packages/components/touchchat/component/MarkLayer.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/ModuleSelect.vue.js +11 -0
- package/lib/packages/components/touchchat/component/ModuleSelect.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js +125 -0
- package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/PDFFile.vue.js +11 -0
- package/lib/packages/components/touchchat/component/PDFFile.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/PDFFile.vue2.js +215 -0
- package/lib/packages/components/touchchat/component/PDFFile.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/QuoteContent.vue.js +11 -0
- package/lib/packages/components/touchchat/component/QuoteContent.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/QuoteContent.vue2.js +44 -0
- package/lib/packages/components/touchchat/component/QuoteContent.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/RealtimeVoice.vue.js +11 -0
- package/lib/packages/components/touchchat/component/RealtimeVoice.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/RealtimeVoice.vue2.js +164 -0
- package/lib/packages/components/touchchat/component/RealtimeVoice.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/Screenshot.vue.js +11 -0
- package/lib/packages/components/touchchat/component/Screenshot.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/Screenshot.vue2.js +212 -0
- package/lib/packages/components/touchchat/component/Screenshot.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/ThoughtChain.vue.js +11 -0
- package/lib/packages/components/touchchat/component/ThoughtChain.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/ThoughtChain.vue2.js +73 -0
- package/lib/packages/components/touchchat/component/ThoughtChain.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/UploadView.vue.js +11 -0
- package/lib/packages/components/touchchat/component/UploadView.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/UploadView.vue2.js +190 -0
- package/lib/packages/components/touchchat/component/UploadView.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/UploadView_api.vue.js +11 -0
- package/lib/packages/components/touchchat/component/UploadView_api.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/UploadView_api.vue2.js +170 -0
- package/lib/packages/components/touchchat/component/UploadView_api.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/VideoFile.vue.js +11 -0
- package/lib/packages/components/touchchat/component/VideoFile.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/VideoFile.vue2.js +37 -0
- package/lib/packages/components/touchchat/component/VideoFile.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/VoiceView.vue.js +11 -0
- package/lib/packages/components/touchchat/component/VoiceView.vue.js.map +1 -0
- package/lib/packages/components/touchchat/component/VoiceView.vue2.js +169 -0
- package/lib/packages/components/touchchat/component/VoiceView.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/doc.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/doc.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/docx.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/docx.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/gif.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/gif.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/html.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/html.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/jpg.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/jpg.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/mp3.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/mp3.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/mp4.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/mp4.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/music.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/music.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/pdf.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/pdf.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/png.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/png.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/ppt.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/ppt.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/pptx.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/pptx.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/txt.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/txt.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/xls.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/xls.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/file/xlsx.png.js +8 -0
- package/lib/packages/components/touchchat/img/file/xlsx.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/svg/reset.svg.js +8 -0
- package/lib/packages/components/touchchat/img/svg/reset.svg.js.map +1 -0
- package/lib/packages/components/touchchat/index.js +6 -6
- package/lib/packages/components/touchchat/index.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue.js +11 -0
- package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue2.js +63 -0
- package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js +321 -138
- package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/Chat/TouchChat.js +21 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/TouchChat.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.js +147 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/types.js +22 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/types.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js +695 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useCopy.js +57 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useCopy.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useMessageRender.js +157 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useMessageRender.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js +347 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useScroll.js +76 -0
- package/lib/packages/components/touchchat/src/AiChat/Chat/useScroll.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js +471 -43
- package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js +179 -97
- package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js +28 -11
- package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js +174 -61
- package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js +14 -8
- package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue.js +11 -0
- package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js +1038 -0
- package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js +275 -1003
- package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js +345 -121
- package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue.js +3 -2
- package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js +142 -63
- package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/index.vue.js +3 -2
- package/lib/packages/components/touchchat/src/index.vue.js.map +1 -1
- package/lib/packages/components/touchchat/src/index.vue2.js +251 -142
- package/lib/packages/components/touchchat/src/index.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/types/a2a.js +13 -0
- package/lib/packages/components/touchchat/src/types/a2a.js.map +1 -0
- package/lib/packages/components/touchchat/utils/a2aService.js +319 -0
- package/lib/packages/components/touchchat/utils/a2aService.js.map +1 -0
- package/lib/packages/components/touchchat/utils/fetchStream.js +8 -2
- package/lib/packages/components/touchchat/utils/fetchStream.js.map +1 -1
- package/lib/packages/components/touchchat/utils/markdown.js +31 -13
- package/lib/packages/components/touchchat/utils/markdown.js.map +1 -1
- package/lib/packages/utils/config.js.map +1 -1
- package/lib/packages/utils/types.js.map +1 -1
- package/package.json +83 -83
- package/theme/components/index.css +969 -43
- package/theme/font/iconfont.woff +0 -0
- package/theme/font/iconfont.woff2 +0 -0
- package/theme/index.css +969 -43
- package/theme/skin/default.css +969 -43
- package/types/global.d.ts +2 -2
- package/es/packages/components/touchchat/src/AiChat/Scene.vue.mjs +0 -6
- package/es/packages/components/touchchat/src/AiChat/Scene.vue.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiChat/Scene.vue2.mjs +0 -42
- package/es/packages/components/touchchat/src/AiChat/Scene.vue2.mjs.map +0 -1
- package/lib/packages/components/touchchat/src/AiChat/Scene.vue.js +0 -10
- package/lib/packages/components/touchchat/src/AiChat/Scene.vue.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiChat/Scene.vue2.js +0 -46
- package/lib/packages/components/touchchat/src/AiChat/Scene.vue2.js.map +0 -1
|
@@ -5,48 +5,68 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var aiAvatar = require('../../img/aiAvatar.png.js');
|
|
7
7
|
var markdown = require('../../utils/markdown.js');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
8
|
+
var FileView = require('../../component/FileView.vue.js');
|
|
9
|
+
var ImageView = require('../../component/ImageView.vue.js');
|
|
10
|
+
var LinkView = require('../../component/LinkView.vue.js');
|
|
11
|
+
var CardView = require('../../component/CardView.vue.js');
|
|
12
|
+
var MessageActions = require('./MessageActions.vue.js');
|
|
13
|
+
var face = require('../../component/AiRobot/face.vue.js');
|
|
14
|
+
var meterialPrepare = require('../../component/AiRobot/meterialPrepare.vue.js');
|
|
15
|
+
var letter = require('../../component/AiRobot/letter.vue.js');
|
|
16
|
+
var ThoughtChain = require('../../component/ThoughtChain.vue.js');
|
|
17
|
+
var index = require('../../../../../node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.js');
|
|
16
18
|
|
|
17
19
|
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
18
20
|
__name: "AiMessage",
|
|
19
21
|
props: {
|
|
20
22
|
item: {},
|
|
21
|
-
index: {}
|
|
23
|
+
index: {},
|
|
24
|
+
hasRetry: { type: Boolean, default: true }
|
|
22
25
|
},
|
|
23
|
-
emits: ["copy", "retry", "like", "dislike", "contentRendered", "completeRendered", "toggle-sidebar"],
|
|
26
|
+
emits: ["copy", "retry", "like", "dislike", "quote", "contentRendered", "completeRendered", "toggle-sidebar", "openSideBar", "send"],
|
|
24
27
|
setup(__props, { emit: __emit }) {
|
|
25
28
|
const componentMap = {
|
|
26
|
-
FileView:
|
|
27
|
-
ImageView:
|
|
28
|
-
LinkView:
|
|
29
|
-
CardView:
|
|
30
|
-
Face:
|
|
31
|
-
MeterialPrepare:
|
|
29
|
+
FileView: FileView.default,
|
|
30
|
+
ImageView: ImageView.default,
|
|
31
|
+
LinkView: LinkView.default,
|
|
32
|
+
CardView: CardView.default,
|
|
33
|
+
Face: face.default,
|
|
34
|
+
MeterialPrepare: meterialPrepare.default
|
|
32
35
|
};
|
|
33
36
|
const props = __props;
|
|
37
|
+
vue.watch(
|
|
38
|
+
() => props.item,
|
|
39
|
+
(val) => {
|
|
40
|
+
var _a;
|
|
41
|
+
let arr = [];
|
|
42
|
+
if (val.msgList) {
|
|
43
|
+
arr = (_a = val.msgList) == null ? void 0 : _a.filter((item) => item.type === "component" && (item.displayMode === "drawer" || item.displayMode === "tip") || item.type === "iframe" && item.url);
|
|
44
|
+
}
|
|
45
|
+
if (arr.length) {
|
|
46
|
+
emits("openSideBar", arr[0], props.index);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
deep: true
|
|
51
|
+
}
|
|
52
|
+
);
|
|
34
53
|
const emits = __emit;
|
|
35
|
-
const htmlContentRef = vue.ref(null);
|
|
36
|
-
const thinkingContentRef = vue.ref(null);
|
|
37
|
-
const reasoningContentRef = vue.ref(null);
|
|
38
54
|
const collapse = vue.ref(true);
|
|
39
55
|
const isShowAvatar = vue.ref(true);
|
|
40
56
|
const aiAvatarPath = vue.ref(aiAvatar.default);
|
|
41
|
-
const
|
|
42
|
-
const
|
|
57
|
+
const components = vue.inject("components", {});
|
|
58
|
+
const a2uiProps = vue.inject("a2uiProps", {});
|
|
59
|
+
const avatar = vue.inject("avatar", true);
|
|
43
60
|
const scripts = vue.inject("scripts", []);
|
|
44
|
-
const
|
|
61
|
+
const layout = vue.inject("layout", "side, think, upload, chain");
|
|
62
|
+
const chainAble = layout.includes("chain");
|
|
63
|
+
const showComponent = vue.ref(false);
|
|
64
|
+
const showFn = vue.ref(false);
|
|
45
65
|
const init = () => {
|
|
46
|
-
isShowAvatar.value =
|
|
66
|
+
isShowAvatar.value = avatar;
|
|
47
67
|
};
|
|
48
68
|
const componentName = vue.computed(() => {
|
|
49
|
-
const slotMap =
|
|
69
|
+
const slotMap = components;
|
|
50
70
|
const newMap = {
|
|
51
71
|
...slotMap,
|
|
52
72
|
...componentMap
|
|
@@ -59,147 +79,310 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
59
79
|
const reasoningContentShow = vue.computed(() => {
|
|
60
80
|
return props.item.reasoningContent;
|
|
61
81
|
});
|
|
82
|
+
const processedContent = vue.computed(() => {
|
|
83
|
+
var _a;
|
|
84
|
+
return props.item.content ? ((_a = markdown.default) == null ? void 0 : _a.render(props.item.content, { isReasoning: false })) || "" : "";
|
|
85
|
+
});
|
|
86
|
+
const getProcessedContent = (node) => {
|
|
87
|
+
var _a;
|
|
88
|
+
return node.content ? ((_a = markdown.default) == null ? void 0 : _a.render(node.content, { isReasoning: false })) || "" : "";
|
|
89
|
+
};
|
|
90
|
+
const processedThinkContent = vue.computed(() => {
|
|
91
|
+
var _a;
|
|
92
|
+
return props.item.thinkContent ? ((_a = markdown.default) == null ? void 0 : _a.render(props.item.thinkContent, { isReasoning: true })) || "" : "";
|
|
93
|
+
});
|
|
94
|
+
const processedReasoningContent = vue.computed(() => {
|
|
95
|
+
var _a;
|
|
96
|
+
return props.item.reasoningContent ? ((_a = markdown.default) == null ? void 0 : _a.render(props.item.reasoningContent, { isReasoning: true })) || "" : "";
|
|
97
|
+
});
|
|
62
98
|
const contentShow = vue.computed(() => {
|
|
63
|
-
|
|
99
|
+
var _a;
|
|
100
|
+
return props.item.content || ((_a = props.item.msgList) == null ? void 0 : _a.length);
|
|
64
101
|
});
|
|
102
|
+
const handleSend = (sendVal) => {
|
|
103
|
+
emits("send", sendVal);
|
|
104
|
+
};
|
|
65
105
|
const toggleSidebarClick = (item, index) => {
|
|
66
106
|
emits("toggle-sidebar", item, index);
|
|
67
107
|
};
|
|
68
|
-
vue.
|
|
69
|
-
|
|
108
|
+
vue.onMounted(() => {
|
|
109
|
+
init();
|
|
70
110
|
});
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
()
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
emits("contentRendered", htmlContentRef.value);
|
|
83
|
-
}
|
|
84
|
-
if (thinkingContentRef.value) {
|
|
85
|
-
thinkingContentRef.value.innerHTML = props.item.thinkContent ? markdown.default && ((_b = markdown.default) == null ? void 0 : _b.render(props.item.thinkContent, { isReasoning: true })) || "" : "";
|
|
86
|
-
emits("contentRendered", thinkingContentRef.value);
|
|
87
|
-
}
|
|
88
|
-
if (reasoningContentRef.value) {
|
|
89
|
-
reasoningContentRef.value.innerHTML = props.item.reasoningContent ? markdown.default && ((_c = markdown.default) == null ? void 0 : _c.render(props.item.reasoningContent, { isReasoning: true })) || "" : "";
|
|
90
|
-
emits("contentRendered", reasoningContentRef.value);
|
|
111
|
+
const completeCompentent = () => {
|
|
112
|
+
var _a;
|
|
113
|
+
emits("completeRendered", ((_a = props.item) == null ? void 0 : _a.chatId) || "");
|
|
114
|
+
showFn.value = true;
|
|
115
|
+
};
|
|
116
|
+
const completeLetter = () => {
|
|
117
|
+
var _a;
|
|
118
|
+
showComponent.value = true;
|
|
119
|
+
if (!props.item.componentName) {
|
|
120
|
+
emits("completeRendered", ((_a = props.item) == null ? void 0 : _a.chatId) || "");
|
|
121
|
+
showFn.value = true;
|
|
91
122
|
}
|
|
92
|
-
init();
|
|
93
123
|
};
|
|
94
|
-
const
|
|
95
|
-
|
|
124
|
+
const startCompentent = () => {
|
|
125
|
+
console.log("startCompentent");
|
|
126
|
+
};
|
|
127
|
+
const startLetter = () => {
|
|
128
|
+
showComponent.value = false;
|
|
129
|
+
showFn.value = false;
|
|
96
130
|
};
|
|
97
131
|
const onCopy = () => emits("copy", props.index);
|
|
98
132
|
const onRetry = () => emits("retry", props.index);
|
|
99
133
|
const onLike = () => emits("like", props.index);
|
|
100
134
|
const onDislike = () => emits("dislike", props.index);
|
|
135
|
+
const onQuote = () => emits("quote", props.item, props.index);
|
|
101
136
|
return (_ctx, _cache) => {
|
|
102
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
137
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
138
|
+
class: "touchchat-ai touchchat-item",
|
|
139
|
+
"data-chat-id": __props.item.chatId
|
|
140
|
+
}, [
|
|
141
|
+
vue.createCommentVNode(" \u5934\u50CF\u533A\u57DF "),
|
|
103
142
|
vue.createElementVNode("div", { class: "touchchat-ai-avatar" }, [
|
|
104
143
|
vue.renderSlot(_ctx.$slots, "aiAvatar", {}, () => [
|
|
105
144
|
isShowAvatar.value ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
106
145
|
key: 0,
|
|
107
146
|
src: aiAvatarPath.value,
|
|
108
147
|
class: "touchchat-ai-avatar-pic"
|
|
109
|
-
}, null, 8, ["src"])) : vue.createCommentVNode("", true)
|
|
148
|
+
}, null, 8, ["src"])) : vue.createCommentVNode("v-if", true)
|
|
110
149
|
])
|
|
111
150
|
]),
|
|
112
|
-
vue.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
class: vue.normalizeClass(["touchchat-ai-
|
|
117
|
-
},
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
vue.
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
151
|
+
vue.createCommentVNode(" \u5185\u5BB9\u533A\u57DF "),
|
|
152
|
+
vue.createElementVNode(
|
|
153
|
+
"div",
|
|
154
|
+
{
|
|
155
|
+
class: vue.normalizeClass(["touchchat-ai-content", { "is-full": !__props.item.isChating && __props.item.componentName }])
|
|
156
|
+
},
|
|
157
|
+
[
|
|
158
|
+
vue.createCommentVNode(" \u6C14\u6CE1 "),
|
|
159
|
+
vue.createElementVNode("div", { class: "touchchat-ai-bubble" }, [
|
|
160
|
+
vue.createCommentVNode(" \u601D\u8003\u5185\u5BB9 "),
|
|
161
|
+
thinkContentShow.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
162
|
+
key: 0,
|
|
163
|
+
class: "touchchat-ai-think",
|
|
164
|
+
innerHTML: processedThinkContent.value
|
|
165
|
+
}, null, 8, ["innerHTML"])) : vue.createCommentVNode("v-if", true),
|
|
166
|
+
vue.createCommentVNode(" \u63A8\u7406\u5185\u5BB9 "),
|
|
167
|
+
reasoningContentShow.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
168
|
+
key: 1,
|
|
169
|
+
class: "touchchat-ai-think"
|
|
170
|
+
}, [
|
|
171
|
+
vue.createElementVNode("div", { class: "touchchat-ai-think-header" }, [
|
|
172
|
+
vue.createElementVNode("div", { class: "touchchat-ai-think-state" }, [
|
|
173
|
+
vue.createTextVNode(
|
|
174
|
+
vue.toDisplayString(__props.item.thinkStatus === "thinking" ? "\u6DF1\u5EA6\u601D\u8003\u4E2D..." : __props.item.thinkStatus === "completed" ? "\u5DF2\u6DF1\u5EA6\u601D\u8003" : "\u601D\u8003\u5DF2\u505C\u6B62") + " ",
|
|
175
|
+
1
|
|
176
|
+
/* TEXT */
|
|
177
|
+
),
|
|
178
|
+
__props.item.thinkStatus === "completed" ? (vue.openBlock(), vue.createElementBlock(
|
|
179
|
+
vue.Fragment,
|
|
180
|
+
{ key: 0 },
|
|
181
|
+
[
|
|
182
|
+
vue.createTextVNode(
|
|
183
|
+
"\uFF08\u7528\u65F6" + vue.toDisplayString((__props.item.thinkTime || 0) / 1e3) + "\u79D2\uFF09",
|
|
184
|
+
1
|
|
185
|
+
/* TEXT */
|
|
186
|
+
)
|
|
187
|
+
],
|
|
188
|
+
64
|
|
189
|
+
/* STABLE_FRAGMENT */
|
|
190
|
+
)) : vue.createCommentVNode("v-if", true)
|
|
191
|
+
]),
|
|
192
|
+
vue.createElementVNode("div", {
|
|
193
|
+
class: vue.normalizeClass(["touchchat-ai-think-toggle", collapse.value ? "" : "is-expand"]),
|
|
194
|
+
onClick: ($event) => collapse.value = !collapse.value
|
|
195
|
+
}, [
|
|
196
|
+
vue.createElementVNode("span", { class: "touchchat-ai-think-toggle-icon" })
|
|
197
|
+
], 10, ["onClick"])
|
|
133
198
|
]),
|
|
134
|
-
vue.
|
|
135
|
-
|
|
136
|
-
|
|
199
|
+
vue.createVNode(vue.Transition, {
|
|
200
|
+
name: "touchchat-ai-think-collpase",
|
|
201
|
+
persisted: ""
|
|
202
|
+
}, {
|
|
203
|
+
default: vue.withCtx(() => [
|
|
204
|
+
vue.withDirectives(vue.createElementVNode("div", {
|
|
205
|
+
class: "touchchat-ai-think-content",
|
|
206
|
+
innerHTML: processedReasoningContent.value
|
|
207
|
+
}, null, 8, ["innerHTML"]), [
|
|
208
|
+
[vue.vShow, collapse.value && !vue.unref(chainAble)]
|
|
209
|
+
])
|
|
210
|
+
]),
|
|
211
|
+
_: 1
|
|
212
|
+
/* STABLE */
|
|
213
|
+
}),
|
|
214
|
+
vue.createVNode(vue.Transition, {
|
|
215
|
+
name: "touchchat-ai-think-collpase",
|
|
216
|
+
persisted: ""
|
|
217
|
+
}, {
|
|
218
|
+
default: vue.withCtx(() => [
|
|
219
|
+
vue.withDirectives(vue.createVNode(
|
|
220
|
+
ThoughtChain.default,
|
|
221
|
+
null,
|
|
222
|
+
null,
|
|
223
|
+
512
|
|
224
|
+
/* NEED_PATCH */
|
|
225
|
+
), [
|
|
226
|
+
[vue.vShow, collapse.value && vue.unref(chainAble)]
|
|
227
|
+
])
|
|
228
|
+
]),
|
|
229
|
+
_: 1
|
|
230
|
+
/* STABLE */
|
|
231
|
+
})
|
|
232
|
+
])) : vue.createCommentVNode("v-if", true),
|
|
233
|
+
vue.createCommentVNode(" \u4E3B\u5185\u5BB9 "),
|
|
234
|
+
vue.renderSlot(_ctx.$slots, "aimsg", {
|
|
235
|
+
item: __props.item,
|
|
236
|
+
index: __props.index
|
|
237
|
+
}, () => [
|
|
238
|
+
contentShow.value && vue.unref(scripts) && vue.unref(scripts).length === 0 && __props.item.msgList && __props.item.msgList.length ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
239
|
+
key: 0,
|
|
240
|
+
class: "touchchat-ai-bubble-text touchchat-markdown"
|
|
137
241
|
}, [
|
|
138
|
-
vue.
|
|
139
|
-
|
|
242
|
+
(vue.openBlock(true), vue.createElementBlock(
|
|
243
|
+
vue.Fragment,
|
|
244
|
+
null,
|
|
245
|
+
vue.renderList(__props.item.msgList, (node) => {
|
|
246
|
+
return vue.openBlock(), vue.createElementBlock(
|
|
247
|
+
vue.Fragment,
|
|
248
|
+
{
|
|
249
|
+
key: node.id
|
|
250
|
+
},
|
|
251
|
+
[
|
|
252
|
+
node.type === "markdown" && node.content ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
253
|
+
key: 0,
|
|
254
|
+
innerHTML: getProcessedContent(node)
|
|
255
|
+
}, null, 8, ["innerHTML"])) : vue.createCommentVNode("v-if", true),
|
|
256
|
+
node.type === "component" && node.displayMode === "inline" ? (vue.openBlock(), vue.createBlock(
|
|
257
|
+
vue.resolveDynamicComponent(vue.unref(components)[node.componentName]),
|
|
258
|
+
vue.mergeProps({
|
|
259
|
+
key: 1,
|
|
260
|
+
ref_for: true
|
|
261
|
+
}, __props.item.props),
|
|
262
|
+
null,
|
|
263
|
+
16
|
|
264
|
+
/* FULL_PROPS */
|
|
265
|
+
)) : vue.createCommentVNode("v-if", true),
|
|
266
|
+
node.type === "a2ui" ? (vue.openBlock(), vue.createBlock(vue.unref(index.TouchA2ui), {
|
|
267
|
+
key: 2,
|
|
268
|
+
messages: node.msgs,
|
|
269
|
+
components: vue.unref(a2uiProps).components,
|
|
270
|
+
"surface-id": node.surfaceId
|
|
271
|
+
}, null, 8, ["messages", "components", "surface-id"])) : vue.createCommentVNode("v-if", true)
|
|
272
|
+
],
|
|
273
|
+
64
|
|
274
|
+
/* STABLE_FRAGMENT */
|
|
275
|
+
);
|
|
276
|
+
}),
|
|
277
|
+
128
|
|
278
|
+
/* KEYED_FRAGMENT */
|
|
279
|
+
))
|
|
280
|
+
])) : vue.createCommentVNode("v-if", true),
|
|
281
|
+
contentShow.value && vue.unref(scripts) && vue.unref(scripts).length === 0 && !(__props.item.msgList && __props.item.msgList.length) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
282
|
+
key: 1,
|
|
283
|
+
class: "touchchat-ai-bubble-text touchchat-markdown",
|
|
284
|
+
innerHTML: processedContent.value
|
|
285
|
+
}, null, 8, ["innerHTML"])) : vue.createCommentVNode("v-if", true)
|
|
140
286
|
]),
|
|
141
|
-
vue.
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
287
|
+
vue.createCommentVNode(" && !item.componentName "),
|
|
288
|
+
vue.unref(scripts) && vue.unref(scripts).length > 0 ? (vue.openBlock(), vue.createBlock(letter.default, {
|
|
289
|
+
key: 2,
|
|
290
|
+
"auto-start": "",
|
|
291
|
+
data: __props.item.content,
|
|
292
|
+
onStart: startLetter,
|
|
293
|
+
onComplete: completeLetter
|
|
294
|
+
}, null, 8, ["data"])) : vue.createCommentVNode("v-if", true),
|
|
295
|
+
vue.unref(scripts).length > 0 && (showComponent.value || !__props.item.content) || !vue.unref(scripts).length && !__props.item.isChating ? vue.renderSlot(_ctx.$slots, "msg", {
|
|
296
|
+
key: 3,
|
|
297
|
+
item: __props.item,
|
|
298
|
+
index: __props.index
|
|
299
|
+
}, () => [
|
|
300
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(componentName.value), {
|
|
301
|
+
index: __props.index,
|
|
302
|
+
item: __props.item,
|
|
303
|
+
onStart: startCompentent,
|
|
304
|
+
onComplete: completeCompentent,
|
|
305
|
+
onToggleSidebar: toggleSidebarClick
|
|
306
|
+
}, null, 40, ["index", "item"]))
|
|
307
|
+
]) : vue.createCommentVNode("v-if", true),
|
|
308
|
+
vue.createCommentVNode(" \u65B0\u589E\u52A0\u8F7D\u72B6\u6001\u533A\u57DF "),
|
|
309
|
+
__props.item.isChating ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
310
|
+
key: 4,
|
|
311
|
+
class: "touchchat-ai-loading"
|
|
312
|
+
}, [
|
|
313
|
+
vue.createElementVNode("div", { class: "touchchat-ai-loading-icon" }),
|
|
314
|
+
vue.createElementVNode("span", { class: "touchchat-ai-loading-text" }, "\u52A0\u8F7D\u4E2D...")
|
|
315
|
+
])) : vue.createCommentVNode("v-if", true)
|
|
316
|
+
]),
|
|
317
|
+
vue.renderSlot(_ctx.$slots, "fn", {
|
|
318
|
+
item: __props.item,
|
|
319
|
+
index: __props.index
|
|
167
320
|
}, () => [
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
321
|
+
vue.withDirectives(vue.createVNode(MessageActions.default, {
|
|
322
|
+
item: __props.item,
|
|
323
|
+
"message-type": "ai",
|
|
324
|
+
index: __props.index,
|
|
325
|
+
"has-retry": __props.hasRetry,
|
|
326
|
+
"show-copy": true,
|
|
327
|
+
onCopy,
|
|
328
|
+
onRetry,
|
|
329
|
+
onLike,
|
|
330
|
+
onDislike,
|
|
331
|
+
onQuote
|
|
332
|
+
}, {
|
|
333
|
+
extendsFn: vue.withCtx(() => [
|
|
334
|
+
vue.renderSlot(_ctx.$slots, "extendsFn", {
|
|
335
|
+
item: __props.item,
|
|
336
|
+
index: __props.index
|
|
337
|
+
})
|
|
338
|
+
]),
|
|
339
|
+
_: 3
|
|
340
|
+
/* FORWARDED */
|
|
341
|
+
}, 8, ["item", "index", "has-retry"]), [
|
|
342
|
+
[vue.vShow, showFn.value && vue.unref(scripts).length > 0 || !vue.unref(scripts).length && !__props.item.isChating]
|
|
343
|
+
])
|
|
344
|
+
]),
|
|
345
|
+
showFn.value && __props.item.likeList && __props.item.likeList.length && !__props.item.isChating ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
346
|
+
key: 0,
|
|
347
|
+
class: "touchchat-ai-may-like"
|
|
178
348
|
}, [
|
|
179
|
-
vue.
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
349
|
+
vue.renderSlot(_ctx.$slots, "mayLike", {
|
|
350
|
+
item: __props.item,
|
|
351
|
+
index: __props.index
|
|
352
|
+
}, () => [
|
|
353
|
+
(vue.openBlock(true), vue.createElementBlock(
|
|
354
|
+
vue.Fragment,
|
|
355
|
+
null,
|
|
356
|
+
vue.renderList(__props.item.likeList, (likeItem) => {
|
|
357
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
358
|
+
key: likeItem.id
|
|
359
|
+
}, [
|
|
360
|
+
vue.createElementVNode("span", {
|
|
361
|
+
class: "touchchat-ai-may-like-item",
|
|
362
|
+
onClick: ($event) => handleSend(likeItem.name)
|
|
363
|
+
}, [
|
|
364
|
+
vue.createElementVNode(
|
|
365
|
+
"span",
|
|
366
|
+
{ class: "touchchat-ai-may-like-item-title" },
|
|
367
|
+
vue.toDisplayString(likeItem.name),
|
|
368
|
+
1
|
|
369
|
+
/* TEXT */
|
|
370
|
+
),
|
|
371
|
+
vue.createElementVNode("div", { class: "touchchat-action-item value-right-arrow" })
|
|
372
|
+
], 8, ["onClick"])
|
|
373
|
+
]);
|
|
374
|
+
}),
|
|
375
|
+
128
|
|
376
|
+
/* KEYED_FRAGMENT */
|
|
377
|
+
))
|
|
378
|
+
])
|
|
379
|
+
])) : vue.createCommentVNode("v-if", true),
|
|
380
|
+
vue.createCommentVNode(" && !scripts.length ")
|
|
381
|
+
],
|
|
382
|
+
2
|
|
383
|
+
/* CLASS */
|
|
384
|
+
)
|
|
385
|
+
], 8, ["data-chat-id"]);
|
|
203
386
|
};
|
|
204
387
|
}
|
|
205
388
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiMessage.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/AiMessage.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-ai\">\n\t\t<!-- 头像区域 -->\n\t\t<div class=\"touchchat-ai-avatar\">\n\t\t\t<slot name=\"aiAvatar\">\n\t\t\t\t<img v-if=\"isShowAvatar\" :src=\"aiAvatarPath\" class=\"touchchat-ai-avatar-pic\" />\n\t\t\t</slot>\n\t\t</div>\n\n\t\t<!-- 内容区域 -->\n\t\t<div class=\"touchchat-ai-content\" :class=\"{ 'is-full': !item.isChating && item.componentName }\">\n\t\t\t<!-- 气泡 -->\n\t\t\t<div class=\"touchchat-ai-bubble\" :class=\"noBubbleBorder && !item.isChating && item.componentName ? 'no-bobble-border' : ''\">\n\t\t\t\t<!-- 思考内容 -->\n\t\t\t\t<div v-if=\"thinkContentShow\" :ref=\"el => (thinkingContentRef = el as HTMLElement)\" class=\"touchchat-ai-think\"></div>\n\n\t\t\t\t<!-- 推理内容 -->\n\t\t\t\t<div v-if=\"reasoningContentShow\" class=\"touchchat-ai-think\">\n\t\t\t\t\t<div class=\"touchchat-ai-think-header\">\n\t\t\t\t\t\t<div class=\"touchchat-ai-think-state\">\n\t\t\t\t\t\t\t{{ item.thinkStatus === 'thinking' ? '深度思考中...' : item.thinkStatus === 'completed' ? '已深度思考' : '思考已停止' }}\n\t\t\t\t\t\t\t<template v-if=\"item.thinkStatus === 'completed'\">(用时{{ (item.thinkTime || 0) / 1000 }}秒)</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"touchchat-ai-think-toggle\" :class=\"collapse ? '' : 'is-expand'\" @click=\"collapse = !collapse\">\n\t\t\t\t\t\t\t<span class=\"touchchat-ai-think-toggle-icon\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<transition name=\"touchchat-ai-think-collpase\">\n\t\t\t\t\t\t<div v-show=\"collapse\" :ref=\"el => (reasoningContentRef = el as HTMLElement)\" class=\"touchchat-ai-think-content\"></div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- 主内容 -->\n\t\t\t\t<div v-if=\"contentShow && scripts && scripts.length === 0\" :ref=\"el => (htmlContentRef = el as HTMLElement)\" class=\"touchchat-ai-bubble-text touchchat-markdown\"></div>\n\n\t\t\t\t<letter v-if=\"scripts && scripts.length > 0 && !item.componentName\" :data=\"item.content\" @complete=\"complete\"></letter>\n\n\t\t\t\t<slot v-if=\"!item.isChating\" name=\"aiMessageContent\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t<component :is=\"componentName\" :index=\"index\" :item=\"item\" @complete=\"complete\" @toggle-sidebar=\"toggleSidebarClick\"></component>\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- 新增加载状态区域 -->\n\t\t\t\t<div v-if=\"item.isChating\" class=\"touchchat-ai-loading\">\n\t\t\t\t\t<div class=\"touchchat-ai-loading-icon\"></div>\n\t\t\t\t\t<span class=\"touchchat-ai-loading-text\">加载中...</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<slot name=\"messageActions\" :item=\"item\" :index=\"index\">\n\t\t\t\t<MessageActions v-show=\"!item.isChating\" message-type=\"ai\" :index=\"index\" :is-show-like=\"item.isShowLike\" :is-liked=\"item.isLiked\" :is-disliked=\"item.isDisliked\" @copy=\"onCopy\" @retry=\"onRetry\" @like=\"onLike\" @dislike=\"onDislike\" />\n\t\t\t</slot>\n\t\t\t<!-- && !scripts.length -->\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\n// useSlots, Comment,\nimport { ref, nextTick, watch, computed, inject } from 'vue'\nimport type { ChatMessage } from './TouchChat.vue'\nimport aiAvatarBase from '../../img/aiAvatar.png'\nimport markdown from '../../utils/markdown.ts'\nimport FileView from '../../component/FileView.vue'\nimport ImageView from '../../component/ImageView.vue'\nimport LinkView from '../../component/LinkView.vue'\nimport CardView from '../../component/CardView.vue'\nimport MessageActions from './MessageActions.vue'\nimport Face from '../../component/AiRobot/face.vue'\nimport MeterialPrepare from '../../component/AiRobot/meterialPrepare.vue'\nimport Letter from '../../component/AiRobot/letter.vue'\n\n// 为组件映射表定义接口\ninterface ComponentMap {\n\t[key: string]: any // 允许任何字符串键\n\tFileView: typeof FileView\n\tImageView: typeof ImageView\n\tLinkView: typeof LinkView\n\tCardView: typeof CardView\n}\n\n// 创建组件映射表\nconst componentMap: ComponentMap = {\n\tFileView,\n\tImageView,\n\tLinkView,\n\tCardView,\n\tFace,\n\tMeterialPrepare\n}\n\nconst props = withDefaults(\n\tdefineProps<{\n\t\titem: ChatMessage\n\t\tindex: number\n\t}>(),\n\t{}\n)\n\nconst emits = defineEmits<{\n\t(e: 'copy', index: number): void\n\t(e: 'retry', index: number): void\n\t(e: 'like', index: number): void\n\t(e: 'dislike', index: number): void\n\t(e: 'contentRendered', element: HTMLElement): void\n\t(e: 'completeRendered'): void\n\t(e: 'toggle-sidebar', item: any, index: number): void\n}>()\n\nconst htmlContentRef = ref<HTMLElement | null>(null)\nconst thinkingContentRef = ref<HTMLElement | null>(null)\nconst reasoningContentRef = ref<HTMLElement | null>(null)\nconst collapse = ref(true)\nconst isShowAvatar = ref(true)\nconst aiAvatarPath = ref(aiAvatarBase)\nconst rootMap = inject<Record<string, any>>('rootMap', {}) // 指定类型并提供默认值 {}\nconst isAvatar = inject<boolean>('isAvatar', true)\nconst scripts = inject<any[]>('scripts', [])\nconst noBubbleBorder = inject<boolean>('noBubbleBorder', false)\n\nconst init = () => {\n\tisShowAvatar.value = isAvatar\n}\n\nconst componentName = computed(() => {\n\tconst slotMap = rootMap\n\n\t// 明确newMap的类型,允许字符串索引\n\tconst newMap: Record<string, any> = {\n\t\t...slotMap,\n\t\t...componentMap\n\t}\n\n\treturn newMap[props.item.componentName as string] || null\n})\n\nconst thinkContentShow = computed(() => {\n\treturn props.item.thinkContent\n\t// && !props.item.componentName;\n})\n\nconst reasoningContentShow = computed(() => {\n\treturn props.item.reasoningContent\n})\n\nconst contentShow = computed(() => {\n\treturn props.item.content\n})\n\nconst toggleSidebarClick = (item: ChatMessage, index: number) => {\n\temits('toggle-sidebar', item, index)\n}\n\n// 初始化渲染\nnextTick(() => {\n\trenderContent()\n})\n\n// 添加数据变化监听\nwatch(\n\t() => [props.item.content, props.item.thinkContent, props.item.reasoningContent],\n\t() => {\n\t\tnextTick(() => renderContent())\n\t},\n\t{ deep: true }\n)\n\nconst renderContent = () => {\n\tif (htmlContentRef.value) {\n\t\thtmlContentRef.value.innerHTML = props.item.content ? (markdown && markdown?.render(props.item.content, { isReasoning: false })) || '' : ''\n\t\temits('contentRendered', htmlContentRef.value)\n\t}\n\tif (thinkingContentRef.value) {\n\t\tthinkingContentRef.value.innerHTML = props.item.thinkContent ? (markdown && markdown?.render(props.item.thinkContent, { isReasoning: true })) || '' : ''\n\t\temits('contentRendered', thinkingContentRef.value)\n\t}\n\tif (reasoningContentRef.value) {\n\t\treasoningContentRef.value.innerHTML = props.item.reasoningContent ? (markdown && markdown?.render(props.item.reasoningContent, { isReasoning: true })) || '' : ''\n\t\temits('contentRendered', reasoningContentRef.value)\n\t}\n\tinit()\n}\n\nconst complete = () => {\n\temits('completeRendered')\n}\n\nconst onCopy = () => emits('copy', props.index)\nconst onRetry = () => emits('retry', props.index)\nconst onLike = () => emits('like', props.index)\nconst onDislike = () => emits('dislike', props.index)\n</script>\n<!-- <style lang=\"less\" scoped>\n@import '../../style/ChatView.less';\n@import '../../style/AiMessage.less';\n</style> -->\n"],"names":["FileView","ImageView","LinkView","CardView","Face","MeterialPrepare","ref","aiAvatarBase","inject","computed","nextTick","watch","markdown","_createElementBlock","_createElementVNode","_renderSlot","_normalizeClass","item","_unref","_Fragment","_createTextVNode","_createVNode","_Transition","_createBlock","Letter","index","_openBlock","_resolveDynamicComponent","MessageActions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgFA,IAAA,MAAM,YAA6B,GAAA;AAAA,gBAClCA,oDAAA;AAAA,iBACAC,qDAAA;AAAA,gBACAC,oDAAA;AAAA,gBACAC,oDAAA;AAAA,YACAC,gDAAA;AAAA,uBACAC,2DAAA;AAAA,KACD,CAAA;AAEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAQd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAUd,IAAM,MAAA,cAAA,GAAiBC,QAAwB,IAAI,CAAA,CAAA;AACnD,IAAM,MAAA,kBAAA,GAAqBA,QAAwB,IAAI,CAAA,CAAA;AACvD,IAAM,MAAA,mBAAA,GAAsBA,QAAwB,IAAI,CAAA,CAAA;AACxD,IAAM,MAAA,QAAA,GAAWA,QAAI,IAAI,CAAA,CAAA;AACzB,IAAM,MAAA,YAAA,GAAeA,QAAI,IAAI,CAAA,CAAA;AAC7B,IAAM,MAAA,YAAA,GAAeA,QAAIC,gBAAY,CAAA,CAAA;AACrC,IAAA,MAAM,OAAU,GAAAC,UAAA,CAA4B,SAAW,EAAA,EAAE,CAAA,CAAA;AACzD,IAAM,MAAA,QAAA,GAAWA,UAAgB,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AACjD,IAAA,MAAM,OAAU,GAAAA,UAAA,CAAc,SAAW,EAAA,EAAE,CAAA,CAAA;AAC3C,IAAM,MAAA,cAAA,GAAiBA,UAAgB,CAAA,gBAAA,EAAkB,KAAK,CAAA,CAAA;AAE9D,IAAA,MAAM,OAAO,MAAM;AAClB,MAAA,YAAA,CAAa,KAAQ,GAAA,QAAA,CAAA;AAAA,KACtB,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgBC,aAAS,MAAM;AACpC,MAAA,MAAM,OAAU,GAAA,OAAA,CAAA;AAGhB,MAAA,MAAM,MAA8B,GAAA;AAAA,QACnC,GAAG,OAAA;AAAA,QACH,GAAG,YAAA;AAAA,OACJ,CAAA;AAEA,MAAA,OAAO,MAAO,CAAA,KAAA,CAAM,IAAK,CAAA,aAAuB,CAAK,IAAA,IAAA,CAAA;AAAA,KACrD,CAAA,CAAA;AAED,IAAM,MAAA,gBAAA,GAAmBA,aAAS,MAAM;AACvC,MAAA,OAAO,MAAM,IAAK,CAAA,YAAA,CAAA;AAAA,KAElB,CAAA,CAAA;AAED,IAAM,MAAA,oBAAA,GAAuBA,aAAS,MAAM;AAC3C,MAAA,OAAO,MAAM,IAAK,CAAA,gBAAA,CAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAcA,aAAS,MAAM;AAClC,MAAA,OAAO,MAAM,IAAK,CAAA,OAAA,CAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAM,MAAA,kBAAA,GAAqB,CAAC,IAAA,EAAmB,KAAkB,KAAA;AAChE,MAAM,KAAA,CAAA,gBAAA,EAAkB,MAAM,KAAK,CAAA,CAAA;AAAA,KACpC,CAAA;AAGA,IAAAC,YAAA,CAAS,MAAM;AACd,MAAc,aAAA,EAAA,CAAA;AAAA,KACd,CAAA,CAAA;AAGD,IAAAC,SAAA;AAAA,MACC,MAAM,CAAC,KAAA,CAAM,IAAK,CAAA,OAAA,EAAS,MAAM,IAAK,CAAA,YAAA,EAAc,KAAM,CAAA,IAAA,CAAK,gBAAgB,CAAA;AAAA,MAC/E,MAAM;AACL,QAASD,YAAA,CAAA,MAAM,eAAe,CAAA,CAAA;AAAA,OAC/B;AAAA,MACA,EAAE,MAAM,IAAK,EAAA;AAAA,KACd,CAAA;AAEA,IAAA,MAAM,gBAAgB,MAAM;;AAC3B,MAAA,IAAI,eAAe,KAAO,EAAA;AACzB,QAAA,cAAA,CAAe,KAAM,CAAA,SAAA,GAAY,KAAM,CAAA,IAAA,CAAK,UAAWE,gBAAY,KAAA,CAAA,EAAA,GAAAA,gBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAU,MAAO,CAAA,KAAA,CAAM,KAAK,OAAS,EAAA,EAAE,WAAa,EAAA,KAAA,QAAa,EAAK,GAAA,EAAA,CAAA;AACzI,QAAM,KAAA,CAAA,iBAAA,EAAmB,eAAe,KAAK,CAAA,CAAA;AAAA,OAC9C;AACA,MAAA,IAAI,mBAAmB,KAAO,EAAA;AAC7B,QAAA,kBAAA,CAAmB,KAAM,CAAA,SAAA,GAAY,KAAM,CAAA,IAAA,CAAK,eAAgBA,gBAAY,KAAA,CAAA,EAAA,GAAAA,gBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAU,MAAO,CAAA,KAAA,CAAM,KAAK,YAAc,EAAA,EAAE,WAAa,EAAA,IAAA,QAAY,EAAK,GAAA,EAAA,CAAA;AACtJ,QAAM,KAAA,CAAA,iBAAA,EAAmB,mBAAmB,KAAK,CAAA,CAAA;AAAA,OAClD;AACA,MAAA,IAAI,oBAAoB,KAAO,EAAA;AAC9B,QAAA,mBAAA,CAAoB,KAAM,CAAA,SAAA,GAAY,KAAM,CAAA,IAAA,CAAK,mBAAoBA,gBAAY,KAAA,CAAA,EAAA,GAAAA,gBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAU,MAAO,CAAA,KAAA,CAAM,KAAK,gBAAkB,EAAA,EAAE,WAAa,EAAA,IAAA,QAAY,EAAK,GAAA,EAAA,CAAA;AAC/J,QAAM,KAAA,CAAA,iBAAA,EAAmB,oBAAoB,KAAK,CAAA,CAAA;AAAA,OACnD;AACA,MAAK,IAAA,EAAA,CAAA;AAAA,KACN,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM;AACtB,MAAA,KAAA,CAAM,kBAAkB,CAAA,CAAA;AAAA,KACzB,CAAA;AAEA,IAAA,MAAM,MAAS,GAAA,MAAM,KAAM,CAAA,MAAA,EAAQ,MAAM,KAAK,CAAA,CAAA;AAC9C,IAAA,MAAM,OAAU,GAAA,MAAM,KAAM,CAAA,OAAA,EAAS,MAAM,KAAK,CAAA,CAAA;AAChD,IAAA,MAAM,MAAS,GAAA,MAAM,KAAM,CAAA,MAAA,EAAQ,MAAM,KAAK,CAAA,CAAA;AAC9C,IAAA,MAAM,SAAY,GAAA,MAAM,KAAM,CAAA,SAAA,EAAW,MAAM,KAAK,CAAA,CAAA;;4BA3LnD,EAAAC,sBAAA,CAmDM,OAAA,EAnDD,KAAA,EAAM,gBAAc,EAAA;AAAA,QAExBC,sBAIM,CAAA,KAAA,EAAA,EAJD,KAAA,EAAM,uBAAqB,EAAA;AAAA,UAC/BC,eAEO,6BAFP,MAEO;AAAA,YADK,YAAY,CAAA,KAAA,qBAAvBF,uBAA+E,KAAA,EAAA;AAAA;cAArD,KAAK,YAAY,CAAA,KAAA;AAAA,cAAE,KAAM,EAAA,yBAAA;AAAA;;;QAKrDC,uBAyCM,KAAA,EAAA;AAAA,UAzCD,KAAK,EAAAE,kBAAA,CAAA,CAAC,sBAAA,EAA6CC,EAAAA,SAAAA,EAAAA,CAAAA,IAAAA,CAAAA,IAAAA,CAAK,SAAaA,IAAAA,IAAAA,CAAI,IAAC,CAAA,aAAA,EAAa,CAAA,CAAA;AAAA;UAE3FH,uBAkCM,KAAA,EAAA;AAAA,YAlCD,OAAKE,kBAAA,CAAA,CAAC,qBAA8B,EAAAE,SAAA,CAAc,cAAA,CAAA,IAAA,CAAKD,IAAI,CAAA,IAAA,CAAC,aAAaA,IAAI,CAAA,IAAA,CAAC,aAAa,GAAA,kBAAA,GAAA,EAAA,CAAA,CAAA;AAAA;YAEpF,gBAAgB,CAAA,KAAA,qBAA3BJ,uBAAoH,KAAA,EAAA;AAAA;cAAtF,GAAA,EAAK,CAAO,EAAA,KAAA,kBAAA,CAAA,KAAqB,GAAA,EAAA;AAAA,cAAoB,KAAM,EAAA,oBAAA;AAAA;YAG9E,oBAAoB,CAAA,KAAA,qBAA/BA,uBAaM,KAAA,EAAA;AAAA;cAb2B,KAAM,EAAA,oBAAA;AAAA;cACtCC,sBAQM,CAAA,KAAA,EAAA,EARD,KAAA,EAAM,6BAA2B,EAAA;AAAA,gBACrCA,sBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,4BAA0B,EAAA;AAAA,kBACjCG,mBAAAA,CAAAA,mBAAAA,CAAAA,IAAAA,CAAAA,IAAAA,CAAK,gBAAW,UAAA,GAAA,mCAAA,GAA+BA,UAAK,qGAAkD,KACzG,CAAA,CAAA;AAAA,kBAAgBA,IAAAA,CAAAA,IAAK,CAAA,WAAA,KAAW,8BAAhC,EAAAJ,sBAAA,CAAoGM,YAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,oBAAlDC,mBAAA,CAAA,oBAAOH,GAAAA,mBAAAA,CAAAA,CAAAA,IAAAA,CAAAA,IAAAA,CAAK,sBAAyB,GAAA,cAAA,EAAE,CAAA,CAAA;AAAA;;gBAE1FH,uBAEM,KAAA,EAAA;AAAA,kBAFD,KAAA,EAAKE,mBAAA,CAAC,2BAAA,EAAoC,SAAQ,KAAA,GAAA,EAAA,GAAA,WAAA,CAAA,CAAA;AAAA,kBAAsB,SAAK,CAAA,MAAA,KAAE,QAAQ,CAAA,KAAA,GAAA,CAAI,QAAQ,CAAA,KAAA;AAAA;kBACvGF,sBAAoD,CAAA,MAAA,EAAA,EAA9C,KAAA,EAAM,kCAAgC,CAAA;AAAA;;cAG9CO,eAEa,CAAAC,cAAA,EAAA,EAFD,IAAA,EAAK,+BAA6B,EAAA;AAAA,qCAC7C,MAAuH;AAAA,qCAAvHR,uBAAuH,KAAA,EAAA;AAAA,oBAA/F,GAAA,EAAK,CAAO,EAAA,KAAA,mBAAA,CAAA,KAAsB,GAAA,EAAA;AAAA,oBAAoB,KAAM,EAAA,4BAAA;AAAA;8BAAvE,EAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;;;;;YAKZ,WAAA,CAAA,KAAA,IAAeI,SAAA,CAAA,OAAA,CAAW,IAAAA,SAAA,CAAA,OAAA,CAAA,CAAQ,MAAM,KAAA,CAAA,qBAAnDL,uBAAuK,KAAA,EAAA;AAAA;cAA3G,GAAA,EAAK,CAAO,EAAA,KAAA,cAAA,CAAA,KAAiB,GAAA,EAAA;AAAA,cAAoB,KAAM,EAAA,6CAAA;AAAA;YAErGK,SAAA,CAAA,OAAA,CAAW,IAAAA,SAAA,CAAO,OAAA,CAAC,CAAA,MAAA,GAAeD,CAAAA,IAAAA,CAAAA,KAAAA,IAAK,CAAA,aAAA,qBAArDM,gBAAuHC,kDAAA,EAAA;AAAA;cAAlD,IAAA,EAAMP,KAAI,IAAC,CAAA,OAAA;AAAA,cAAU,UAAU,EAAA,QAAA;AAAA;YAEvFA,CAAAA,IAAAA,CAAAA,IAAAA,CAAK,YAAlBF,cAEO,CAAA,IAAA,CAAA,QAAA,kBAAA,EAAA;AAAA;cAF+C,MAAME,IAAI,CAAA,IAAA;AAAA,cAAG,OAAOQ,IAAK,CAAA,KAAA;AAAA,eAA/E,MAEO;AAAA,eADNC,eAAA,EAAAH,eAAA,CAAiII,2BAAjH,CAAA,aAAA,CAAa,KAAA,CAAA,EAAA;AAAA,gBAAG,OAAOF,IAAK,CAAA,KAAA;AAAA,gBAAG,MAAMR,IAAI,CAAA,IAAA;AAAA,gBAAG,UAAU,EAAA,QAAA;AAAA,gBAAW,eAAgB,EAAA,kBAAA;AAAA;;YAIvFA,KAAAA,IAAK,CAAA,SAAA,qBAAhBJ,uBAGM,KAAA,EAAA;AAAA;cAHqB,KAAM,EAAA,sBAAA;AAAA;cAChCC,sBAA6C,CAAA,KAAA,EAAA,EAAxC,KAAA,EAAM,6BAA2B,CAAA;AAAA,cACtCA,uBAAqD,MAA/C,EAAA,EAAA,KAAM,EAAA,2BAAA,IAA4B,uBAAM,CAAA;AAAA;;UAGhDC,cAAA,CAEO,IAAA,CAAA,MAAA,EAAA,gBAAA,EAAA;AAAA,YAFsB,MAAME,IAAI,CAAA,IAAA;AAAA,YAAG,OAAOQ,IAAK,CAAA,KAAA;AAAA,aAAtD,MAEO;AAAA,+BADNJ,gBAAwOO,0DAAA,EAAA;AAAA,cAA/L,cAAa,EAAA,IAAA;AAAA,cAAM,OAAOH,IAAK,CAAA,KAAA;AAAA,cAAG,cAAA,EAAcR,KAAI,IAAC,CAAA,UAAA;AAAA,cAAa,UAAA,EAAUA,KAAI,IAAC,CAAA,OAAA;AAAA,cAAU,aAAA,EAAaA,KAAI,IAAC,CAAA,UAAA;AAAA,cAAa,MAAA;AAAA,cAAe,OAAA;AAAA,cAAiB,MAAA;AAAA,cAAe,SAAA;AAAA;cAAzLA,CAAAA,SAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAK,SAAS,CAAA;AAAA;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"AiMessage.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/AiMessage.vue"],"sourcesContent":["<template>\r\n\t<div class=\"touchchat-ai touchchat-item\" :data-chat-id=\"item.chatId\">\r\n\t\t<!-- 头像区域 -->\r\n\t\t<div class=\"touchchat-ai-avatar\">\r\n\t\t\t<slot name=\"aiAvatar\">\r\n\t\t\t\t<img v-if=\"isShowAvatar\" :src=\"aiAvatarPath\" class=\"touchchat-ai-avatar-pic\" />\r\n\t\t\t</slot>\r\n\t\t</div>\r\n\r\n\t\t<!-- 内容区域 -->\r\n\t\t<div class=\"touchchat-ai-content\" :class=\"{ 'is-full': !item.isChating && item.componentName }\">\r\n\t\t\t<!-- 气泡 -->\r\n\t\t\t<div class=\"touchchat-ai-bubble\">\r\n\t\t\t\t<!-- 思考内容 -->\r\n\t\t\t\t<div v-if=\"thinkContentShow\" class=\"touchchat-ai-think\" v-html=\"processedThinkContent\"></div>\r\n\r\n\t\t\t\t<!-- 推理内容 -->\r\n\t\t\t\t<div v-if=\"reasoningContentShow\" class=\"touchchat-ai-think\">\r\n\t\t\t\t\t<div class=\"touchchat-ai-think-header\">\r\n\t\t\t\t\t\t<div class=\"touchchat-ai-think-state\">\r\n\t\t\t\t\t\t\t{{ item.thinkStatus === 'thinking' ? '深度思考中...' : item.thinkStatus === 'completed' ? '已深度思考' : '思考已停止' }}\r\n\t\t\t\t\t\t\t<template v-if=\"item.thinkStatus === 'completed'\">(用时{{ (item.thinkTime || 0) / 1000 }}秒)</template>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"touchchat-ai-think-toggle\" :class=\"collapse ? '' : 'is-expand'\" @click=\"collapse = !collapse\">\r\n\t\t\t\t\t\t\t<span class=\"touchchat-ai-think-toggle-icon\"></span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<transition name=\"touchchat-ai-think-collpase\">\r\n\t\t\t\t\t\t<div v-show=\"collapse && !chainAble\" class=\"touchchat-ai-think-content\" v-html=\"processedReasoningContent\"></div>\r\n\t\t\t\t\t</transition>\r\n\t\t\t\t\t<transition name=\"touchchat-ai-think-collpase\">\r\n\t\t\t\t\t\t<thought-chain v-show=\"collapse && chainAble\"></thought-chain>\r\n\t\t\t\t\t</transition>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- 主内容 -->\r\n\t\t\t\t<slot name=\"aimsg\" :item=\"item\" :index=\"index\">\r\n\t\t\t\t\t<div v-if=\"contentShow && scripts && scripts.length === 0 && item.msgList && item.msgList.length\" class=\"touchchat-ai-bubble-text touchchat-markdown\">\r\n\t\t\t\t\t\t<template v-for=\"node in item.msgList\" :key=\"node.id\">\r\n\t\t\t\t\t\t\t<div v-if=\"node.type === 'markdown' && node.content\" v-html=\"getProcessedContent(node)\" />\r\n\t\t\t\t\t\t\t<component :is=\"components[node.componentName]\" v-if=\"node.type === 'component' && node.displayMode === 'inline'\" v-bind=\"item.props\" />\r\n\t\t\t\t\t\t\t<TouchA2ui v-if=\"node.type === 'a2ui'\" :messages=\"node.msgs\" :components=\"a2uiProps.components\" :surface-id=\"node.surfaceId\" />\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-if=\"contentShow && scripts && scripts.length === 0 && !(item.msgList && item.msgList.length)\" class=\"touchchat-ai-bubble-text touchchat-markdown\" v-html=\"processedContent\"></div>\r\n\t\t\t\t</slot>\r\n\r\n\t\t\t\t<!-- && !item.componentName -->\r\n\t\t\t\t<letter v-if=\"scripts && scripts.length > 0\" auto-start :data=\"item.content\" @start=\"startLetter\" @complete=\"completeLetter\"> </letter>\r\n\t\t\t\t<slot v-if=\"(scripts.length > 0 && (showComponent || !item.content)) || (!scripts.length && !item.isChating)\" name=\"msg\" :item=\"item\" :index=\"index\">\r\n\t\t\t\t\t<component :is=\"componentName\" :index=\"index\" :item=\"item\" @start=\"startCompentent\" @complete=\"completeCompentent\" @toggle-sidebar=\"toggleSidebarClick\"></component>\r\n\t\t\t\t</slot>\r\n\r\n\t\t\t\t<!-- 新增加载状态区域 -->\r\n\t\t\t\t<div v-if=\"item.isChating\" class=\"touchchat-ai-loading\">\r\n\t\t\t\t\t<div class=\"touchchat-ai-loading-icon\"></div>\r\n\t\t\t\t\t<span class=\"touchchat-ai-loading-text\">加载中...</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<slot name=\"fn\" :item=\"item\" :index=\"index\">\r\n\t\t\t\t<MessageActions v-show=\"(showFn && scripts.length > 0) || (!scripts.length && !item.isChating)\" :item=\"item\" message-type=\"ai\" :index=\"index\" :has-retry=\"hasRetry\" :show-copy=\"true\" @copy=\"onCopy\" @retry=\"onRetry\" @like=\"onLike\" @dislike=\"onDislike\" @quote=\"onQuote\">\r\n\t\t\t\t\t<!-- <slot name=\"extendsFn\" :item=\"item\" :index=\"index\"></slot> -->\r\n\t\t\t\t\t<template #extendsFn>\r\n\t\t\t\t\t\t<slot name=\"extendsFn\" :item=\"item\" :index=\"index\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</MessageActions>\r\n\t\t\t</slot>\r\n\t\t\t<div v-if=\"showFn && item.likeList && item.likeList.length && !item.isChating\" class=\"touchchat-ai-may-like\">\r\n\t\t\t\t<slot name=\"mayLike\" :item=\"item\" :index=\"index\">\r\n\t\t\t\t\t<div v-for=\"likeItem in item.likeList\" :key=\"likeItem.id\">\r\n\t\t\t\t\t\t<span class=\"touchchat-ai-may-like-item\" @click=\"handleSend(likeItem.name)\">\r\n\t\t\t\t\t\t\t<span class=\"touchchat-ai-may-like-item-title\">{{ likeItem.name }}</span>\r\n\t\t\t\t\t\t\t<div class=\"touchchat-action-item value-right-arrow\"></div>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</slot>\r\n\t\t\t</div>\r\n\t\t\t<!-- && !scripts.length -->\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\n// useSlots, Comment, watch\r\nimport { ref, computed, inject, onMounted, watch } from 'vue'\r\nimport type { ChatMessage, ChatMsgList } from './Chat/types'\r\nimport aiAvatarBase from '../../img/aiAvatar.png'\r\nimport markdown from '../../utils/markdown.ts'\r\nimport FileView from '../../component/FileView.vue'\r\nimport ImageView from '../../component/ImageView.vue'\r\nimport LinkView from '../../component/LinkView.vue'\r\nimport CardView from '../../component/CardView.vue'\r\nimport MessageActions from './MessageActions.vue'\r\nimport Face from '../../component/AiRobot/face.vue'\r\nimport MeterialPrepare from '../../component/AiRobot/meterialPrepare.vue'\r\nimport Letter from '../../component/AiRobot/letter.vue'\r\nimport ThoughtChain from '../../component/ThoughtChain.vue'\r\nimport { TouchA2ui } from '@touchvue/a2ui'\r\n// 为组件映射表定义接口\r\ninterface ComponentMap {\r\n\t[key: string]: any // 允许任何字符串键\r\n\tFileView: typeof FileView\r\n\tImageView: typeof ImageView\r\n\tLinkView: typeof LinkView\r\n\tCardView: typeof CardView\r\n}\r\n\r\n// 创建组件映射表\r\nconst componentMap: ComponentMap = {\r\n\tFileView,\r\n\tImageView,\r\n\tLinkView,\r\n\tCardView,\r\n\tFace,\r\n\tMeterialPrepare\r\n}\r\n\r\nconst props = withDefaults(\r\n\tdefineProps<{\r\n\t\titem: ChatMessage & ChatMsgList\r\n\t\tindex: number\r\n\t\thasRetry: boolean\r\n\t}>(),\r\n\t{\r\n\t\thasRetry: true\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.item,\r\n\tval => {\r\n\t\tlet arr = []\r\n\t\tif (val.msgList) {\r\n\t\t\tarr = val.msgList?.filter(item => (item.type === 'component' && (item.displayMode === 'drawer' || item.displayMode === 'tip')) || (item.type === 'iframe' && item.url))\r\n\t\t}\r\n\t\tif (arr.length) {\r\n\t\t\temits('openSideBar', arr[0], props.index)\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tdeep: true\r\n\t}\r\n)\r\n\r\nconst emits = defineEmits<{\r\n\t(e: 'copy', index: number): void\r\n\t(e: 'retry', index: number): void\r\n\t(e: 'like', index: number): void\r\n\t(e: 'dislike', index: number): void\r\n\t(e: 'quote', item: any, index: number): void\r\n\t(e: 'contentRendered', element: HTMLElement): void\r\n\t(e: 'completeRendered', chatId: string): void\r\n\t(e: 'toggle-sidebar', item: any, index: number): void\r\n\t(e: 'openSideBar', item: any, index: number): void\r\n\t(e: 'send', sendVal: string): void\r\n}>()\r\n\r\nconst collapse = ref(true)\r\nconst isShowAvatar = ref(true)\r\nconst aiAvatarPath = ref(aiAvatarBase)\r\nconst components = inject<Record<string, any>>('components', {}) // 指定类型并提供默认值 {}\r\nconst a2uiProps = inject<Record<string, any>>('a2uiProps', {}) // 指定类型并提供默认值 {}\r\nconst avatar = inject<boolean>('avatar', true)\r\nconst scripts = inject<any[]>('scripts', [])\r\nconst layout = inject<string>('layout', 'side, think, upload, chain')\r\nconst chainAble = layout.includes('chain')\r\nconst showComponent = ref(false)\r\nconst showFn = ref(false)\r\n\r\nconst init = () => {\r\n\tisShowAvatar.value = avatar\r\n}\r\n\r\nconst componentName = computed(() => {\r\n\tconst slotMap = components\r\n\r\n\t// 明确newMap的类型,允许字符串索引\r\n\tconst newMap: Record<string, any> = {\r\n\t\t...slotMap,\r\n\t\t...componentMap\r\n\t}\r\n\treturn newMap[props.item.componentName as string] || null\r\n})\r\n\r\nconst thinkContentShow = computed(() => {\r\n\treturn props.item.thinkContent\r\n\t// && !props.item.componentName;\r\n})\r\n\r\nconst reasoningContentShow = computed(() => {\r\n\treturn props.item.reasoningContent\r\n})\r\n\r\nconst processedContent = computed(() => {\r\n\treturn props.item.content ? markdown?.render(props.item.content, { isReasoning: false }) || '' : ''\r\n})\r\n\r\nconst getProcessedContent = (node: any) => {\r\n\treturn node.content ? markdown?.render(node.content, { isReasoning: false }) || '' : ''\r\n}\r\n\r\nconst processedThinkContent = computed(() => {\r\n\treturn props.item.thinkContent ? markdown?.render(props.item.thinkContent, { isReasoning: true }) || '' : ''\r\n})\r\n\r\nconst processedReasoningContent = computed(() => {\r\n\treturn props.item.reasoningContent ? markdown?.render(props.item.reasoningContent, { isReasoning: true }) || '' : ''\r\n})\r\n\r\nconst contentShow = computed(() => {\r\n\treturn props.item.content || props.item.msgList?.length\r\n})\r\n\r\nconst handleSend = (sendVal: string) => {\r\n\temits('send', sendVal)\r\n}\r\n\r\nconst toggleSidebarClick = (item: ChatMessage, index: number) => {\r\n\temits('toggle-sidebar', item, index)\r\n}\r\n\r\nonMounted(() => {\r\n\tinit()\r\n})\r\n\r\nconst completeCompentent = () => {\r\n\temits('completeRendered', props.item?.chatId || '')\r\n\tshowFn.value = true\r\n}\r\nconst completeLetter = () => {\r\n\tshowComponent.value = true\r\n\tif (!props.item.componentName) {\r\n\t\temits('completeRendered', props.item?.chatId || '')\r\n\t\tshowFn.value = true\r\n\t}\r\n}\r\n\r\nconst startCompentent = () => {\r\n\tconsole.log('startCompentent')\r\n}\r\nconst startLetter = () => {\r\n\tshowComponent.value = false\r\n\tshowFn.value = false\r\n}\r\n\r\nconst onCopy = () => emits('copy', props.index)\r\nconst onRetry = () => emits('retry', props.index)\r\nconst onLike = () => emits('like', props.index)\r\nconst onDislike = () => emits('dislike', props.index)\r\nconst onQuote = () => emits('quote', props.item, props.index)\r\n</script>\r\n"],"names":["FileView","ImageView","LinkView","CardView","Face","MeterialPrepare","watch","ref","aiAvatarBase","inject","computed","markdown","onMounted","_createElementBlock","_createCommentVNode","_createElementVNode","_renderSlot","_normalizeClass","_createTextVNode","_toDisplayString","_Fragment","_createVNode","_Transition","_vShow","_unref","ThoughtChain","_openBlock","_renderList","_createBlock","_resolveDynamicComponent","_mergeProps","TouchA2ui","Letter","MessageActions"],"mappings":"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"}
|