@acedatacloud/nexior 2.8.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Auth.0ab7a42b.js → Auth.89df5630.js} +1 -1
- package/dist/assets/{Buy.bca71bf8.js → Buy.264cb3cc.js} +1 -1
- package/dist/assets/{Buy.a9312c76.js → Buy.b35a4608.js} +1 -1
- package/dist/assets/{Callback.db8a3b8c.js → Callback.1550b4fb.js} +1 -1
- package/dist/assets/{Chatdoc.322d56b7.js → Chatdoc.4ecbde8c.js} +1 -1
- package/dist/assets/{Console.ae003280.js → Console.d6a2d54a.js} +1 -1
- package/dist/assets/{Conversation.5b74853a.js → Conversation.24a29c4a.js} +1 -1
- package/dist/assets/Conversation.40256853.js +1 -0
- package/dist/assets/{CopyToClipboard.9458c7ff.js → CopyToClipboard.ea7371f9.js} +1 -1
- package/dist/assets/{DarkSelector.20da3ddd.js → DarkSelector.74484611.js} +1 -1
- package/dist/assets/{Detail.a54bf995.js → Detail.059927ab.js} +1 -1
- package/dist/assets/{History.3d4724fd.js → History.2ecb6709.js} +1 -1
- package/dist/assets/{Index.92bec00e.js → Index.21f0acb6.js} +1 -1
- package/dist/assets/{Index.3feb39ad.js → Index.33ec294a.js} +1 -1
- package/dist/assets/{Index.8bf38d75.js → Index.3d197146.js} +1 -1
- package/dist/assets/{Index.0dbc4202.js → Index.543f512b.js} +1 -1
- package/dist/assets/{Index.d42f1974.js → Index.a4f3bc6b.js} +1 -1
- package/dist/assets/{Index.39074534.js → Index.a6cf54a8.js} +1 -1
- package/dist/assets/{Index.6f2c0d82.js → Index.d05038cb.js} +1 -1
- package/dist/assets/{Index.8bc7c157.js → Index.eafcdcce.js} +1 -1
- package/dist/assets/{Index.cf1296ab.js → Index.fae75142.js} +1 -1
- package/dist/assets/{InfoIcon.16163325.js → InfoIcon.0d0f5ca4.js} +1 -1
- package/dist/assets/{Invitees.8dd2bf95.js → Invitees.b31942e4.js} +1 -1
- package/dist/assets/{List.6e0bac98.js → List.01bc3137.js} +1 -1
- package/dist/assets/{List.71801dbf.js → List.60d228e9.js} +1 -1
- package/dist/assets/{List.54dabcaf.js → List.e2820d82.js} +1 -1
- package/dist/assets/{Login.029adcbd.js → Login.321b3469.js} +1 -1
- package/dist/assets/{Main.a63936c7.js → Main.c30d96ad.js} +1 -1
- package/dist/assets/{Manage.39acab72.js → Manage.5dd3fd7b.js} +1 -1
- package/dist/assets/{MarkdownRenderer.7e0ac07f.js → MarkdownRenderer.56756919.js} +1 -1
- package/dist/assets/{Navigator.ed427897.js → Navigator.16d21799.js} +1 -1
- package/dist/assets/{Pagination.f7cb85aa.js → Pagination.e50e6b6d.js} +1 -1
- package/dist/assets/{Setting.1088ad6f.js → Setting.8e31edce.js} +1 -1
- package/dist/assets/{Status.04dd9835.js → Status.4b9e05de.js} +1 -1
- package/dist/assets/{distribution.d79c000a.js → distribution.084a9507.js} +1 -1
- package/dist/assets/{index.59dae3bf.js → index.4841e0d4.js} +1 -1
- package/dist/assets/{order.16fb5c61.js → order.ebf6fe39.js} +1 -1
- package/dist/assets/{price.c915742c.js → price.54a51779.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/Conversation.665a276f.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var ue=Object.defineProperty;var Z=Object.getOwnPropertySymbols;var he=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable;var x=(e,t,i)=>t in e?ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,M=(e,t)=>{for(var i in t||(t={}))he.call(t,i)&&x(e,i,t[i]);if(Z)for(var i of Z(t))me.call(t,i)&&x(e,i,t[i]);return e};import{a as P}from"./vendor-axios.168e6950.js";import{I as pe}from"./vendor-others.45931466.js";import{_ as I,A as E,D,u as _e,E as ge,F as z,G as ee,H as te,J as se,K as oe,L as j,i as re,N as V,j as le,O as U}from"./index.59dae3bf.js";import{H as S,o as n,e as p,al as d,L as f,M as y,V as _,f as c,S as k,W as N,ai as T,as as K,$ as O,T as H,U as C,Q as B,O as fe,aw as $e,a0 as J,I as ne}from"./vendor-@vue.f0bb489b.js";import{M as ye,i as F}from"./MarkdownRenderer.7e0ac07f.js";import{aj as q}from"./vendor-fortawesome.d80f1808.js";import{C as we}from"./CopyToClipboard.9458c7ff.js";import{s as Q,C as ve,k as de,q as ke,L as ce,M as Ce,K as ae,f as be,N as Ee,j as Ie,e as Se,d as Re,A as Ne,O as qe}from"./vendor-element-plus.0968c254.js";import{E as G,a as L,b as Ae,c as De,d as Oe,e as Te,f as Me,g as ie,A as Ve,h as W}from"./Status.04dd9835.js";import"./vendor-qrcode.40fbc994.js";import"./vendor-markdown.cc2fe066.js";import"./vendor-highlight.js.6ee9ffbc.js";const Ue=S({name:"AnsweringMark",data(){return{}},computed:{conversationId(){var e,t;return(t=(e=this.$route.params)==null?void 0:e.id)==null?void 0:t.toString()}}}),Ge={class:"mark"};function Le(e,t,i,u,$,o){return n(),p("div",Ge)}var Be=I(Ue,[["render",Le],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/AnsweringMark.vue"]]);const Pe=S({name:"CopyToClipboard",components:{FontAwesomeIcon:q,ElTooltip:Q},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function He(e,t,i,u,$,o){const a=d("font-awesome-icon"),r=d("el-tooltip");return n(),f(r,{effect:"dark",content:e.$t("common.button.restart"),placement:"top-start"},{default:y(()=>[_(a,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}var Fe=I(Pe,[["render",He],["__scopeId","data-v-11fc7fcb"],["__file","/home/runner/work/Nexior/Nexior/src/components/common/RestartToGenerate.vue"]]);const We=S({name:"Message",components:{CopyToClipboard:we,RestartToGenerate:Fe,AnsweringMark:Be,MarkdownRenderer:ye,ElAlert:ve,ElButton:de,ElImage:ke,ElTooltip:Q,FontAwesomeIcon:q,ElInput:ce},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0}},emits:["stop","edit","restart"],data(){return{copied:!1,isEditing:!1,questionValue:this.message.content,messageState:E}},computed:{errorText(){var e,t;if(!(!this.message.error||!((e=this.message.error)!=null&&e.code)))switch((t=this.message.error)==null?void 0:t.code){case ie:return this.$t("chat.message.errorUsedUp");case Me:return this.$t("chat.message.errorApiError");case Te:return this.$t("chat.message.errorBadRequest");case Oe:return this.$t("chat.message.errorTimeout");case De:return this.$t("chat.message.errorTooManyRequests");case Ae:return this.$t("chat.message.errorContentTooLarge");case L:return this.$t("chat.message.errorNotApplied");case G:default:return this.$t("chat.message.errorUnknown")}},showBuyMore(){var e;return this.message.role===D&&((e=this.message.error)==null?void 0:e.code)===ie}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug("start to get answer",this.message)},cancelEdit(){this.isEditing=!1},sendRestart(){this.$emit("restart",this.message)},sendEdit(){this.isEditing=!1,this.onSubmit()},onSubmit(){this.$emit("edit",this.message,this.questionValue)},onCopy(){pe(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){var e;this.$router.push({name:_e,params:{id:(e=this.application)==null?void 0:e.id}})}}}),ze=["role"],je={class:"author"},Ke={key:0,class:"main"},Je={class:"content"},Qe={class:"edit-left"},Xe={key:0,class:"message-content"},Ye={key:1},Ze=["src"],xe={key:1,class:"chat-container"},et={class:"button-group"},tt={class:"operations"};function st(e,t,i,u,$,o){var A;const a=d("el-image"),r=d("font-awesome-icon"),m=d("el-tooltip"),l=d("markdown-renderer"),h=d("el-input"),s=d("el-button"),v=d("answering-mark"),R=d("copy-to-clipboard"),g=d("restart-to-generate"),w=d("el-alert");return n(),p("div",{class:B({message:!0,[e.message.role]:!0}),role:e.message.role},[c("div",je,[e.message.role==="assistant"?(n(),f(a,{key:0,src:"https://cdn.acedata.cloud/7dljuv.png",fit:"cover",class:"avatar"})):k("v-if",!0)]),e.errorText?(n(),f(w,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(n(),p("div",Ke,[c("div",Je,[c("div",Qe,[e.message.role==="user"&&!e.isEditing?(n(),f(m,{key:0,effect:"dark",content:e.$t("chat.button.edit"),placement:"bottom"},{default:y(()=>[_(r,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.startEditing},null,8,["onClick"])]),_:1},8,["content"])):k("v-if",!0)]),e.isEditing?(n(),p("div",xe,[_(h,{modelValue:e.questionValue,"onUpdate:modelValue":t[0]||(t[0]=b=>e.questionValue=b),type:"textarea",class:"chat-input",onKeydown:K(O(e.sendEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),c("div",et,[_(s,{size:"small",round:"",onClick:e.cancelEdit},{default:y(()=>[H(C(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),_(s,{type:"primary",size:"small",round:"",onClick:e.sendEdit},{default:y(()=>[H(C(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(n(),p("div",Xe,[Array.isArray(e.message.content)?(n(),p("div",Ye,[(n(!0),p(N,null,T(e.message.content,(b,X)=>{var Y;return n(),p("div",{key:X},[b.type==="image_url"?(n(),p("img",{key:0,src:typeof(b==null?void 0:b.image_url)=="string"?b.image_url:(Y=b.image_url)==null?void 0:Y.url,fit:"cover",class:"image"},null,8,Ze)):k("v-if",!0),b.type==="text"?(n(),f(l,{key:X,content:b.text},null,8,["content"])):k("v-if",!0)])}),128))])):(n(),f(l,{key:0,content:(A=e.message)==null?void 0:A.content},null,8,["content"]))])),e.message.state===e.messageState.PENDING?(n(),f(v,{key:2})):k("v-if",!0)]),c("div",tt,[Array.isArray(e.message.content)?k("v-if",!0):(n(),f(R,{key:0,content:e.message.content,class:"btn-copy"},null,8,["content"])),!Array.isArray(e.message.content)&&e.message.role==="assistant"&&e.message===e.messages[e.messages.length-1]?(n(),f(g,{key:1,class:"btn-restart",messages:e.messages,onRestart:e.sendRestart},null,8,["messages","onRestart"])):k("v-if",!0)])])),e.showBuyMore?(n(),f(s,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:y(()=>[H(C(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):k("v-if",!0)],10,ze)}var ot=I(We,[["render",st],["__scopeId","data-v-f0476f80"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Message.vue"]]);const nt=S({name:"InputBox",components:{ElTooltip:Q,FontAwesomeIcon:q,ElUpload:Ce},props:{disabled:{type:Boolean,required:!1,default:!1},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:["update:question","update:references","submit"],data(){return{inputHeight:"35px",questionValue:this.question,fileList:[],uploadUrl:ge()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>{var t;return(t=e==null?void 0:e.response)==null?void 0:t.file_url})},canUpload(){return[z.name].includes(this.model.name)},model(){return this.$store.state.chat.model}},watch:{urls(e){this.$emit("update:references",e)},questionValue(e){this.$emit("update:question",e)},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){e.length===0&&(this.fileList=[])}},methods:{adjustTextareaHeight(){this.$nextTick(()=>{const e=this.$refs.textarea;e&&(e.style.height="35px",e.style.height=e.scrollHeight+"px")})},onSubmit(){!this.question||this.$emit("submit")},onExceed(){ae.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){ae.error(this.$t("chat.message.uploadReferencesError"))}}}),at={class:"input-box"},it={class:"btn btn-upload"},rt=["disabled","placeholder"],lt={class:"info"};function dt(e,t,i,u,$,o){const a=d("font-awesome-icon"),r=d("el-tooltip"),m=d("el-upload");return n(),p(N,null,[c("div",at,[_(m,{"file-list":e.fileList,"onUpdate:file-list":t[0]||(t[0]=l=>e.fileList=l),class:B({upload:!0,disabled:!e.canUpload}),disabled:!e.canUpload,name:"file","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{default:y(()=>[_(r,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"top"},{default:y(()=>[c("span",it,[_(a,{icon:"fa-solid fa-paperclip",class:"icon icon-attachment"})])]),_:1},8,["content"])]),_:1},8,["file-list","class","disabled","action","on-exceed","on-error","headers"]),c("span",{class:B({btn:!0,"btn-send":!0,disabled:!e.questionValue}),onClick:t[1]||(t[1]=(...l)=>e.onSubmit&&e.onSubmit(...l))},[_(a,{icon:"fa-solid fa-location-arrow",class:"icon icon-send"})],2),k(" add this textarea "),fe(c("textarea",{ref:"textarea","onUpdate:modelValue":t[2]||(t[2]=l=>e.questionValue=l),disabled:e.disabled,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:J({height:e.inputHeight}),onKeydown:t[3]||(t[3]=K(O((...l)=>e.onSubmit&&e.onSubmit(...l),["exact","prevent"]),["enter"])),onInput:t[4]||(t[4]=(...l)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...l))},null,44,rt),[[$e,e.questionValue]])]),c("p",lt,C(e.$t("chat.message.howToUse")),1)],64)}var ct=I(nt,[["render",dt],["__scopeId","data-v-020f4eb8"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/InputBox.vue"]]);const ut=S({name:"ModelSelector",components:{ElDropdown:be,ElDropdownMenu:Ee,ElDropdownItem:Ie,FontAwesomeIcon:q},emits:["update:modelValue","select"],data(){return{options:[{icon:"fa-solid fa-bolt",color:"#ff9900",model:ee},{icon:"fa-solid fa-bolt",color:"#ff9900",model:te},{icon:"fa-solid fa-wand-magic-sparkles",color:"#ce65e6",model:se},{icon:"fa-solid fa-wand-magic-sparkles",color:"#ce65e6",model:oe},{icon:"fa-solid fa-wand-magic-sparkles",color:"#ce65e6",model:z}]}},computed:{model(){const e=this.$store.state.chat.model.name;return[ee,te,se,oe,z].find(i=>i.name===e)}},methods:{onCommandChange(e){this.$emit("select",e),this.$store.dispatch("chat/setModel",e)}}}),ht={class:"selector"},mt={class:"name"},pt={class:"angle"},_t={class:"item"},gt={class:"info"},ft={class:"name"},$t={class:"description"};function yt(e,t,i,u,$,o){const a=d("font-awesome-icon"),r=d("el-dropdown-item"),m=d("el-dropdown-menu"),l=d("el-dropdown");return n(),p("div",ht,[_(l,{trigger:"click","popper-class":"popper"},{dropdown:y(()=>[_(m,null,{default:y(()=>[(n(!0),p(N,null,T(e.options,(h,s)=>(n(),f(r,{key:s,onClick:v=>e.onCommandChange(h.model)},{default:y(()=>[c("div",_t,[c("div",{class:"icon",style:J({color:h.color})},[_(a,{icon:h.icon},null,8,["icon"])],4),c("div",gt,[c("p",ft,C(h.model.getDisplayName()),1),c("p",$t,C(h.model.getDescription()),1)])])]),_:2},1032,["onClick"]))),128))]),_:1})]),default:y(()=>{var h;return[c("div",null,[c("span",mt,C((h=e.model)==null?void 0:h.getDisplayName()),1),c("span",pt,[_(a,{icon:"fa-solid fa-angle-down"})])])]}),_:1})])}var wt=I(ut,[["render",yt],["__scopeId","data-v-358d65be"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/ModelSelector.vue"]]);const vt=S({name:"ConversationIntroductionItem",components:{FontAwesomeIcon:q},props:{content:{type:String,required:!0},icon:{type:String,required:!0},color:{type:String,default:"rgb(0, 0, 0)"}},data(){return{}},computed:{}}),kt={class:"item"},Ct={class:"icon"},bt={class:"content"};function Et(e,t,i,u,$,o){const a=d("font-awesome-icon");return n(),p("div",kt,[c("div",Ct,[_(a,{icon:e.icon,style:J({color:e.color})},null,8,["icon","style"])]),c("div",bt,C(e.content),1)])}var It=I(vt,[["render",Et],["__scopeId","data-v-bc919b38"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/IntroductionItem.vue"]]);const St=S({name:"ConversationIntroduction",components:{IntroductionItem:It,ElRow:Se,ElCol:Re},emits:["draft"],data(){return{items:[{icon:"fa-solid fa-pen-nib",content:this.$t("chat.message.question1"),color:"rgb(226, 197, 65)"},{icon:"fa-solid fa-laptop-code",content:this.$t("chat.message.question2"),color:"rgb(203, 139, 208)"},{icon:"fa-solid fa-fan",content:this.$t("chat.message.question3"),color:"rgb(118, 208, 235)"},{icon:"fa-solid fa-plane-departure",content:this.$t("chat.message.question4"),color:"rgb(237, 98, 98)"}].sort(()=>Math.random()-.5)}},computed:{}}),Rt={class:"introduction"};function Nt(e,t,i,u,$,o){const a=d("introduction-item"),r=d("el-col"),m=d("el-row");return n(),p("div",Rt,[_(m,{class:"items",justify:"center",gutter:15},{default:y(()=>[(n(!0),p(N,null,T(e.items,(l,h)=>(n(),f(r,{key:h,md:6,sm:12,xs:12},{default:y(()=>[_(a,{content:l.content,icon:l.icon,color:l.color,class:"cursor-pointer",onClick:s=>e.$emit("draft",l.content)},null,8,["content","icon","color","onClick"])]),_:2},1024))),128))]),_:1})])}var qt=I(St,[["render",Nt],["__scopeId","data-v-52040931"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Introduction.vue"]]);const At=S({name:"SidePanel",components:{ElInput:ce,FontAwesomeIcon:q,ElSkeleton:Ne},props:{},emits:["click"],computed:{conversationId(){var e,t;return(t=(e=this.$route.params)==null?void 0:e.id)==null?void 0:t.toString()},conversationGroups(){var a,r,m,l,h,s,v,R;const e=this.$store.state.chat.conversations,t=new Date;t.setHours(0,0,0,0);const i=new Date(t);i.setDate(i.getDate()-1);const u=new Date(t);u.setDate(u.getDate()-t.getDay());const $=new Date(u);$.setDate($.getDate()-7);const o=e==null?void 0:e.reduce((g,w)=>{const A=new Date(w.updated_at*1e3);return A>=t?g.today.push(w):A>=i?g.yesterday.push(w):A>=u?g.thisWeek.push(w):g.earlier.push(w),g},{today:[],yesterday:[],thisWeek:[],earlier:[]});return M(M(M(M({},((a=o==null?void 0:o.today)==null?void 0:a.length)>0?{today:(r=o==null?void 0:o.today)==null?void 0:r.sort((g,w)=>w.updated_at-g.updated_at)}:{}),((m=o==null?void 0:o.yesterday)==null?void 0:m.length)>0?{yesterday:(l=o==null?void 0:o.yesterday)==null?void 0:l.sort((g,w)=>w.updated_at-g.updated_at)}:{}),((h=o==null?void 0:o.thisWeek)==null?void 0:h.length)>0?{thisWeek:(s=o==null?void 0:o.thisWeek)==null?void 0:s.sort((g,w)=>w.updated_at-g.updated_at)}:{}),((v=o==null?void 0:o.earlier)==null?void 0:v.length)>0?{earlier:(R=o==null?void 0:o.earlier)==null?void 0:R.sort((g,w)=>w.updated_at-g.updated_at)}:{})},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===j.Request},token(){var e,t;return(t=(e=this.$store.state.chat)==null?void 0:e.credential)==null?void 0:t.token}},methods:{async onNewConversation(){this.$router.push({name:re})},async onConfirm(e){const t=this.token;if(!t){console.error("Token is not found");return}e!=null&&e.deleting?(await V.deleteConversation(e.id,{token:t}),await this.$store.dispatch("chat/getConversations")):e!=null&&e.editing?(await V.updateConversation(e,{token:t}),await this.$store.dispatch("chat/getConversations")):e.editing=!0},onClick(e){!e||(this.$router.push({name:le,params:{id:e}}),this.$emit("click",e))}}}),Dt={class:"panel"},Ot={key:1,class:"conversations"},Tt={class:"icons"},Mt={class:"title"},Vt={class:"key"},Ut=["onClick"],Gt={class:"title"},Lt={key:0},Bt={key:1},Pt={key:2},Ht={class:"operations"};function Ft(e,t,i,u,$,o){const a=d("el-skeleton"),r=d("font-awesome-icon"),m=d("el-input");return n(),p("div",Dt,[e.loading&&e.conversationGroups===void 0?(n(),f(a,{key:0})):(n(),p("div",Ot,[c("div",{class:"conversation",onClick:t[0]||(t[0]=(...l)=>e.onNewConversation&&e.onNewConversation(...l))},[c("div",Tt,[_(r,{icon:"fa-solid fa-plus",class:"icon"})]),c("div",Mt,C(e.$t("chat.message.startNewChat")),1)]),(n(!0),p(N,null,T(e.conversationGroups,(l,h)=>(n(),p("div",{key:h,class:"group"},[c("div",Vt,C(e.$t(`chat.group.${h}`)),1),(n(!0),p(N,null,T(l,(s,v)=>{var R;return n(),p("div",{key:v,class:B({conversation:!0,active:s.id===e.conversationId}),onClick:g=>e.onClick(s.id)},[c("div",Gt,[s!=null&&s.deleting?(n(),p("span",Lt,C(`${e.$t("chat.message.confirmDelete")}?`),1)):s!=null&&s.editing?(n(),p("span",Bt,[_(m,{modelValue:s.title,"onUpdate:modelValue":g=>s.title=g,onKeydown:K(g=>e.onConfirm(s),["enter"])},null,8,["modelValue","onUpdate:modelValue","onKeydown"])])):(s==null?void 0:s.title)||(s==null?void 0:s.messages)?(n(),p("span",Pt,C((s==null?void 0:s.title)||((R=s==null?void 0:s.messages[(s==null?void 0:s.messages.length)-1])==null?void 0:R.content)),1)):k("v-if",!0)]),c("div",Ht,[!(s!=null&&s.editing)&&!s.deleting?(n(),f(r,{key:0,icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:O(g=>s.editing=!0,["stop"])},null,8,["onClick"])):k("v-if",!0),!(s!=null&&s.editing)&&!s.deleting?(n(),f(r,{key:1,icon:"fa-solid fa-trash",class:"icon icon-delete",onClick:O(g=>s.deleting=!0,["stop"])},null,8,["onClick"])):k("v-if",!0),(s==null?void 0:s.editing)||s.deleting?(n(),f(r,{key:2,icon:"fa-solid fa-check",class:"icon icon-confirm",onClick:O(g=>e.onConfirm(s),["stop"])},null,8,["onClick"])):k("v-if",!0),(s==null?void 0:s.editing)||s.deleting?(n(),f(r,{key:3,icon:"fa-solid fa-xmark",class:"icon icon-cancel",onClick:O(g=>{s.editing=!1,s.deleting=!1},["stop"])},null,8,["onClick"])):k("v-if",!0)])],10,Ut)}),128))]))),128))]))])}var Wt=I(At,[["render",Ft],["__scopeId","data-v-d866c834"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/SidePanel.vue"]]);const zt=S({name:"LayoutChat",components:{SidePanel:Wt,ElDrawer:qe,ElButton:de,FontAwesomeIcon:q},data(){return{drawer:!1}}}),jt={class:"main"},Kt={class:"side"},Jt={class:"chat"};function Qt(e,t,i,u,$,o){const a=d("side-panel"),r=d("font-awesome-icon"),m=d("el-button"),l=d("el-drawer");return n(),p("div",jt,[c("div",Kt,[ne(e.$slots,"side",{},()=>[_(a)],!0)]),c("div",Jt,[ne(e.$slots,"chat",{},void 0,!0)]),_(m,{round:"",class:"menu",onClick:t[0]||(t[0]=h=>e.drawer=!0)},{default:y(()=>[_(r,{icon:"fa-solid fa-bars",class:"icon-menu"})]),_:1}),_(l,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=h=>e.drawer=h),"with-header":!1,size:"290px",class:"drawer"},{default:y(()=>[_(a)]),_:1},8,["modelValue"])])}var Xt=I(zt,[["render",Qt],["__scopeId","data-v-8d7a06d2"],["__file","/home/runner/work/Nexior/Nexior/src/layouts/Chat.vue"]]);const Yt=S({name:"ChatConversation",components:{InputBox:ct,Introduction:qt,ModelSelector:wt,Message:ot,ApplicationStatus:Ve,Layout:Xt},data(){var e,t;return{drawer:!1,question:"",references:[],answering:!1,messages:((t=(e=this.$store.state.chat.conversations)==null?void 0:e.find(i=>{var u;return i.id===((u=this.$route.params.id)==null?void 0:u.toString())}))==null?void 0:t.messages)||[]}},computed:{model(){return this.$store.state.chat.model},conversationId(){var e;return(e=this.$route.params.id)==null?void 0:e.toString()},conversation(){var e;return(e=this.$store.state.chat.conversations)==null?void 0:e.find(t=>t.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},credential(){var e;return(e=this.$store.state.chat)==null?void 0:e.credential},needApply(){return this.$store.state.chat.status.getApplications===j.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===j.Request}},watch:{model(e){e&&this.onModelChanged()},conversationId(e){var t,i;e?(this.messages=((i=(t=this.conversations)==null?void 0:t.find(u=>u.id===e))==null?void 0:i.messages)||[],this.onScrollDown()):this.messages=[]}},async mounted(){await this.onGetService(),await this.onGetApplication(),await this.onGetConversations(),await this.onScrollDown()},methods:{async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("chat/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("chat/getApplications"),console.debug("end onGetApplication")},async onGetConversations(){console.debug("start onGetConversations"),await this.$store.dispatch("chat/getConversations"),console.debug("end onGetConversations")},async onDraft(e){this.question=e,this.onSubmit()},async onRestart(e){var a;const t=this.messages.findIndex(r=>r===e),i=this.messages[t-1];t!==-1&&(this.messages=this.messages.slice(0,t-1),this.question=i.content);const u=(a=this.credential)==null?void 0:a.token,$=this.question;if(!u||!$){console.error("no token or endpoint or question"),this.messages.push({error:{code:L},role:D,state:E.FAILED});return}let o=this.conversationId;V.updateConversation({id:this.conversationId,messages:this.messages},{token:u}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:o,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:U}),console.debug("onRestart",this.question),await this.onFetchAnswer()}).catch(r=>{var m,l;if(this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=E.FAILED),console.error(r),P.isCancel(r))this.messages[this.messages.length-1].error={code:W};else if((m=r==null?void 0:r.response)!=null&&m.data){let h=(l=r==null?void 0:r.response)==null?void 0:l.data;F(h)&&(h=JSON.parse(h)),console.debug("error",h),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error=h.error)}else this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:G});this.answering=!1})},async onEdit(e,t){var o;const i=this.messages.findIndex(a=>a===e);i!==-1&&(this.messages=this.messages.slice(0,i)),this.question=t;const u=(o=this.credential)==null?void 0:o.token;if(!u){console.error("no token or endpoint or question"),this.messages.push({error:{code:L},role:D,state:E.FAILED});return}let $=this.conversationId;V.updateConversation({id:this.conversationId,messages:this.messages},{token:u}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:$,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:U}),console.debug("onEdit",this.question),await this.onFetchAnswer()}).catch(a=>{var r,m;if(this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=E.FAILED),console.error(a),P.isCancel(a))this.messages[this.messages.length-1].error={code:W};else if((r=a==null?void 0:a.response)!=null&&r.data){let l=(m=a==null?void 0:a.response)==null?void 0:m.data;F(l)&&(l=JSON.parse(l)),console.debug("error",l),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error=l.error)}else this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:G});this.answering=!1})},async onCreateNewConversation(){await this.$router.push({name:re})},async onModelChanged(){await this.onCreateNewConversation(),await this.$store.dispatch("chat/getApplications")},async onSubmit(){if(this.references.length>0){let e=[];e.push({type:"text",text:this.question});for(let t=0;t<this.references.length;t++)e.push({type:"image_url",image_url:this.references[t]});this.messages.push({content:e,role:U})}else this.messages.push({content:this.question,role:U});console.debug("onSubmit",this.question,this.references),await this.onFetchAnswer()},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".dialogue");!e||!this.messages||this.messages.length===0||(e.scrollTop=e==null?void 0:e.scrollHeight)},0)},async onFetchAnswer(){var $;console.debug("start to get answer",this.messages);const e=($=this.credential)==null?void 0:$.token,t=this.question,i=this.references;if(console.debug("validated",t,i),this.question="",this.references=[],!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:L},role:D,state:E.FAILED});return}let u=this.conversationId;this.messages.push({content:"",role:D,state:E.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,V.chatConversation({question:t,model:this.model.name,references:i,id:this.conversationId,stateful:!0},{token:e,stream:o=>{console.debug("stream response",o),this.messages[this.messages.length-1]={role:D,content:o.answer,state:E.ANSWERING},u=o==null?void 0:o.id,this.onScrollDown()}}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=E.FINISHED,await this.$store.dispatch("chat/setConversation",{id:u,messages:this.messages}),console.log("messages",JSON.stringify(this.messages)),this.answering=!1,this.conversationId||await this.$router.push({name:le,params:{id:u}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(o=>{var a,r;if(this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=E.FAILED),console.error(o),P.isCancel(o))this.messages[this.messages.length-1].error={code:W};else if((a=o==null?void 0:o.response)!=null&&a.data){let m=(r=o==null?void 0:o.response)==null?void 0:r.data;F(m)&&(m=JSON.parse(m)),console.debug("error",m),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error=m.error)}else this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:G});this.answering=!1})}}}),Zt={class:"dialogue"},xt={key:1,class:"messages"},es={class:"bottom"};function ts(e,t,i,u,$,o){const a=d("model-selector"),r=d("application-status"),m=d("introduction"),l=d("message"),h=d("input-box"),s=d("layout");return n(),f(s,null,{chat:y(()=>[_(a,{class:"selector"}),_(r,{initializing:e.initializing,application:e.application,"need-apply":e.needApply,service:e.service,onRefresh:t[0]||(t[0]=v=>e.$store.dispatch("chat/getApplications"))},null,8,["initializing","application","need-apply","service"]),c("div",Zt,[e.messages.length===0?(n(),f(m,{key:0,onDraft:e.onDraft},null,8,["onDraft"])):(n(),p("div",xt,[(n(!0),p(N,null,T(e.messages,(v,R)=>(n(),f(l,{key:R,message:v,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":t[1]||(t[1]=g=>e.question=g),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))]))]),c("div",es,[_(h,{disabled:e.answering,question:e.question,references:e.references,"onUpdate:question":t[2]||(t[2]=v=>e.question=v),"onUpdate:references":t[3]||(t[3]=v=>e.references=v),onSubmit:e.onSubmit},null,8,["disabled","question","references","onSubmit"])])]),_:1})}var _s=I(Yt,[["render",ts],["__scopeId","data-v-3ab2fb26"],["__file","/home/runner/work/Nexior/Nexior/src/pages/chat/Conversation.vue"]]);export{_s as default};
|