@acedatacloud/nexior 2.20.2 → 2.20.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Auth.6cca0fab.js → Auth.0925d6d4.js} +1 -1
- package/dist/assets/{Callback.14695fed.js → Callback.99ea5bf6.js} +1 -1
- package/dist/assets/{Chatdoc.ad673737.js → Chatdoc.b6492d4a.js} +1 -1
- package/dist/assets/{Console.8af9e37e.js → Console.be569d2e.js} +1 -1
- package/dist/assets/{Conversation.e721b0e3.css → Conversation.24698768.css} +1 -1
- package/dist/assets/{Conversation.788f9175.js → Conversation.51b8eb0b.js} +1 -1
- package/dist/assets/Conversation.dc128ba7.js +1 -0
- package/dist/assets/{CopyToClipboard.52cd5f15.js → CopyToClipboard.d2c28170.js} +1 -1
- package/dist/assets/{Detail.da5709c8.js → Detail.087cc359.js} +1 -1
- package/dist/assets/{EditArray.0b1a73f5.js → EditArray.014f27be.js} +1 -1
- package/dist/assets/{Extra.11fc923a.js → Extra.f16d3cf1.js} +1 -1
- package/dist/assets/{History.5d5f9ba8.js → History.d98a78a1.js} +1 -1
- package/dist/assets/{ImageNavigator.21f9d870.js → ImageNavigator.8c411bf9.js} +1 -1
- package/dist/assets/{Index.3e584b7e.js → Index.0530c753.js} +1 -1
- package/dist/assets/{Index.7964ac96.js → Index.12c4d65d.js} +1 -1
- package/dist/assets/{Index.ef23f2c2.js → Index.1a7feaa1.js} +1 -1
- package/dist/assets/{Index.2076f6c2.js → Index.1cbc22dd.js} +1 -1
- package/dist/assets/{Index.d075cd68.js → Index.21c3fffc.js} +1 -1
- package/dist/assets/{Index.c6cb1e50.js → Index.2b2b294f.js} +1 -1
- package/dist/assets/{Index.0703c443.js → Index.366dd619.js} +1 -1
- package/dist/assets/{Index.cc623c8c.js → Index.660b2552.js} +1 -1
- package/dist/assets/{Index.918b8fcd.js → Index.75b7513d.js} +1 -1
- package/dist/assets/{Index.2c9ed623.js → Index.8962cdb6.js} +1 -1
- package/dist/assets/{Index.3caa8f61.js → Index.93797997.js} +1 -1
- package/dist/assets/{Index.0db094dc.js → Index.a2f258f0.js} +1 -1
- package/dist/assets/{Index.2f005d12.js → Index.a6e349c1.js} +1 -1
- package/dist/assets/{Index.c9762e65.js → Index.b2da801d.js} +1 -1
- package/dist/assets/{Index.a1992c96.js → Index.d11066b3.js} +1 -1
- package/dist/assets/{InfoIcon.225370af.js → InfoIcon.329799b2.js} +1 -1
- package/dist/assets/{Invitees.94613c97.js → Invitees.e4e8b2f8.js} +1 -1
- package/dist/assets/{List.1668d8a8.js → List.48ea87f6.js} +1 -1
- package/dist/assets/{List.c9b56df2.js → List.e71602b9.js} +1 -1
- package/dist/assets/{List.f3e655ed.js → List.ef0903a0.js} +1 -1
- package/dist/assets/{Login.f8af00b7.js → Login.99c67df9.js} +1 -1
- package/dist/assets/{Main.9d06d035.js → Main.33bc9bc9.js} +1 -1
- package/dist/assets/{Manage.ca0b9d17.js → Manage.5760b608.js} +1 -1
- package/dist/assets/{MarkdownRenderer.5ea5feeb.js → MarkdownRenderer.74675f58.js} +1 -1
- package/dist/assets/{Navigator.5cc4e1f4.js → Navigator.8016fbe9.js} +1 -1
- package/dist/assets/{Pagination.76f292a1.js → Pagination.ef8fafe0.js} +1 -1
- package/dist/assets/{Setting.c27e8802.js → Setting.c5471955.js} +1 -1
- package/dist/assets/{Status.9b29934c.js → Status.546232e5.js} +1 -1
- package/dist/assets/{Subscribe.33bb3a1e.js → Subscribe.be316f52.js} +1 -1
- package/dist/assets/{VideoNavigator.834a1651.js → VideoNavigator.c157aa03.js} +1 -1
- package/dist/assets/{distribution.51fc0fc3.js → distribution.d3f5efb4.js} +1 -1
- package/dist/assets/index.38557f2d.css +1 -0
- package/dist/assets/{index.65a34a3c.js → index.e160e9a8.js} +1 -1
- package/dist/assets/{order.8abe108a.js → order.250bb40b.js} +1 -1
- package/dist/assets/{price.5e7bcedb.js → price.5338eefd.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/Conversation.deb2cf30.js +0 -1
- package/dist/assets/index.8f0a4606.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var i=Object.defineProperty;var n=(r,t,e)=>t in r?i(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var s=(r,t,e)=>(n(r,typeof t!="symbol"?t+"":t,e),e);import{B as a}from"./index.
|
|
1
|
+
var i=Object.defineProperty;var n=(r,t,e)=>t in r?i(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var s=(r,t,e)=>(n(r,typeof t!="symbol"?t+"":t,e),e);import{B as a}from"./index.e160e9a8.js";class y{constructor(){s(this,"key","orders")}async getAll(t){return await a.get(`/${this.key}/`,{params:t})}async get(t){return await a.get(`/${this.key}/${t}`)}async create(t){return await a.post(`/${this.key}/`,t)}async update(t,e){return await a.put(`/${this.key}/${t}`,e)}async refresh(t){return await a.post(`/${this.key}/${t}/refresh/`)}async pay(t,e){return await a.post(`/${this.key}/${t}/pay/`,e)}async updatePrice(t,e){return await a.post(`/${this.key}/${t}/update-price/`,e)}async finish(t){return await a.post(`/${this.key}/${t}/finish/`)}async delete(t){return await a.delete(`/${this.key}/${t}`)}}const c=new y;export{c as o};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as a,D as i}from"./index.
|
|
1
|
+
import{C as a,D as i}from"./index.e160e9a8.js";const l=o=>{const e=a.state.exchange;let{value:t,currency:r=a.state.currency||"usd"}=o;const c=i[r];if(!e)return{value:t,currency:r,label:c};const n=`usd-${r}`,s=e[n];return s&&(t=t*s),console.log("new price",{value:t,currency:r}),{value:t,currency:r,label:c}},g=o=>{var n;let{value:e,defaultValue:t,fractionDigits:r=2}=o;if(e===void 0&&(e=t),e===void 0)return"";const c=l({value:e});return`${c.label}${(n=c.value)==null?void 0:n.toFixed(r)}`};export{g};
|
package/dist/index.html
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
s.parentNode.insertBefore(hm, s);
|
|
17
17
|
})();
|
|
18
18
|
</script>
|
|
19
|
-
<script type="module" crossorigin src="/assets/index.
|
|
19
|
+
<script type="module" crossorigin src="/assets/index.e160e9a8.js"></script>
|
|
20
20
|
<link rel="modulepreload" href="/assets/vendor-@vue.66ea933c.js">
|
|
21
21
|
<link rel="modulepreload" href="/assets/vendor-element-plus.6158e0fe.js">
|
|
22
22
|
<link rel="modulepreload" href="/assets/vendor-others.2105a885.js">
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<link rel="modulepreload" href="/assets/vendor-qrcode.46bc4fb1.js">
|
|
25
25
|
<link rel="modulepreload" href="/assets/vendor-fortawesome.fe21f86d.js">
|
|
26
26
|
<link rel="stylesheet" href="/assets/vendor-others.fbff9a31.css">
|
|
27
|
-
<link rel="stylesheet" href="/assets/index.
|
|
27
|
+
<link rel="stylesheet" href="/assets/index.38557f2d.css">
|
|
28
28
|
</head>
|
|
29
29
|
<body>
|
|
30
30
|
<div id="app">
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as Ne}from"./vendor-axios.168e6950.js";import{ad as Re,a9 as _e,a3 as Te}from"./vendor-others.2105a885.js";import{_ as I,K as ie,L as U,M as ge,N as fe,O as z,P as De,Q as Ae,T as qe,U as Oe,V as Ge,W as de,X as j,H as Le,Y as Ue,Z as se,$ as ce,a0 as ue,g as $e,S as Me,s as Fe,a1 as Q,b as Ve,A as Pe,a2 as ne,a3 as K,a4 as oe,h as He,j as me,a5 as Be,a6 as je,a7 as We}from"./index.65a34a3c.js";import{H as N,o as a,e as _,al as i,L as b,M as p,V as o,f as l,O as M,W as B,T as g,R as S,av as Ke,U as G,ai as F,as as ae,$ as H,S as R,P,aw as ze,a0 as Qe,I as pe}from"./vendor-@vue.66ea933c.js";import{M as Je}from"./MarkdownRenderer.5ea5feeb.js";import{C as Xe}from"./CopyToClipboard.52cd5f15.js";import{ar as L,as as Ye,at as Ze,au as xe,av as et,ac as tt}from"./vendor-fortawesome.fe21f86d.js";import{t as re,M as ve,B as st,l as ye,s as le,N as be,O as ot,J as he,d as J,f as X,e as Y,P as we,Q as ke,A as Ce,F as Z,G as x,R as nt,E as it,y as at,S as rt}from"./vendor-element-plus.6158e0fe.js";import{d as lt}from"./avatar.34ead943.js";import{E as ee,a as Se,b as Ee}from"./EditArray.0b1a73f5.js";import"./vendor-qrcode.46bc4fb1.js";import"./vendor-markdown.b22db477.js";import"./vendor-highlight.js.6ee9ffbc.js";const dt=N({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()}}}),ct={class:"mark"};function ut(e,t,n,c,v,d){return a(),_("div",ct)}var mt=I(dt,[["render",ut],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/AnsweringMark.vue"]]);const pt=N({name:"CopyToClipboard",components:{FontAwesomeIcon:L,ElTooltip:re},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function ht(e,t,n,c,v,d){const r=i("font-awesome-icon"),h=i("el-tooltip");return a(),b(h,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:p(()=>[o(r,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}var _t=I(pt,[["render",ht],["__scopeId","data-v-18116778"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/RestartToGenerate.vue"]]);const gt=N({name:"EditMessage",components:{FontAwesomeIcon:L,ElTooltip:re},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["click"],data(){return{copied:!1}},methods:{onEdit(){this.$emit("click")}}});function ft(e,t,n,c,v,d){const r=i("font-awesome-icon"),h=i("el-tooltip");return a(),_("span",null,[o(h,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:p(()=>[o(r,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.onEdit},null,8,["onClick"])]),_:1},8,["content"])])}var $t=I(gt,[["render",ft],["__scopeId","data-v-5c26bf56"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/EditMessage.vue"]]);const vt=N({name:"FilePreview",components:{FontAwesomeIcon:L,ElProgress:ve},props:{name:{type:String,required:!0},percentage:{type:Number,required:!0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"],methods:{isImageUrl:ie}}),yt={class:"file"},bt={class:"left"},wt={class:"wrapper"},kt={class:"right"},Ct={class:"text-xs font-bold truncate"},St={key:0,class:"close"};function Et(e,t,n,c,v,d){const r=i("font-awesome-icon"),h=i("el-progress");return a(),_("div",yt,[l("div",bt,[l("div",wt,[o(r,{icon:"fa-regular fa-file-alt"}),M(o(h,{type:"circle","stroke-width":3,percentage:e.percentage,width:25},null,8,["percentage"]),[[B,e.percentage&&e.percentage<100]])])]),l("div",kt,[l("span",Ct,g(e.name),1)]),e.closable?(a(),_("div",St,[o(r,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:t[0]||(t[0]=$=>e.$emit("remove"))})])):S("v-if",!0)])}var Ie=I(vt,[["render",Et],["__scopeId","data-v-5e8b97e5"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/FilePreview.vue"]]);const It=N({name:"Message",components:{EditMessage:$t,CopyToClipboard:Xe,RestartToGenerate:_t,AnsweringMark:mt,MarkdownRenderer:Je,ElAlert:st,FilePreview:Ie,ElButton:ye,ElImage:le,ElInput:be},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:U}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},errorText(){var e,t,n;if(console.debug("error",this.message.error),!(!this.message.error||!((e=this.message.error)!=null&&e.code))){if((t=this.message.error)!=null&&t.message)return this.message.error.message;switch((n=this.message.error)==null?void 0:n.code){case de:return this.$t("chat.message.errorUsedUp");case Ge:return this.$t("chat.message.errorApiError");case Oe:return this.$t("chat.message.errorBadRequest");case qe:return this.$t("chat.message.errorTimeout");case Ae:return this.$t("chat.message.errorTooManyRequests");case De:return this.$t("chat.message.errorContentTooLarge");case z:return this.$t("chat.message.errorNotApplied");case fe:return;case ge:default:return this.$t("chat.message.errorUnknown")}}},showBuyMore(){var e;return this.message.role===j&&((e=this.message.error)==null?void 0:e.code)===de}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug("start to get answer",this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit("restart",this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onSubmit(){this.$emit("edit",this.message,this.questionValue)},onCopy(){Re(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){var e;this.$router.push({name:Le,params:{id:(e=this.application)==null?void 0:e.id}})}}}),Nt=["role"],Rt={class:"author"},Tt={key:0,class:"main"},Dt={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:200,duration:300,layout:!0,transition:{enter:{delay:.2,duration:.5},layout:{duration:.3,easing:"ease-in-out"}},class:"content"},At={key:0,class:"message-content"},qt={key:1},Ot=["src"],Gt={key:1,class:"edits"},Lt={class:"flex justify-end"},Ut={class:"operations"};function Mt(e,t,n,c,v,d){var A;const r=i("el-image"),h=i("markdown-renderer"),$=i("file-preview"),f=i("el-input"),u=i("el-button"),s=i("answering-mark"),m=i("edit-message"),y=i("copy-to-clipboard"),w=i("restart-to-generate"),k=i("el-alert"),q=Ke("motion");return a(),_("div",{class:P({message:!0,[e.message.role]:!0}),role:e.message.role},[l("div",Rt,[e.message.role==="assistant"?(a(),b(r,{key:0,src:e.modelGroup.icon,fit:"cover",class:"avatar"},null,8,["src"])):S("v-if",!0)]),e.errorText?(a(),b(k,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(a(),_("div",Tt,[M((a(),_("div",Dt,[e.isEditing?(a(),_("div",Gt,[o(f,{modelValue:e.questionValue,"onUpdate:modelValue":t[0]||(t[0]=E=>e.questionValue=E),type:"textarea",class:"mb-2",onKeydown:ae(H(e.onEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),l("div",Lt,[o(u,{round:"",onClick:e.cancelEdit},{default:p(()=>[R(g(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),o(u,{type:"primary",class:"btn-confirm",round:"",onClick:e.onEdit},{default:p(()=>[R(g(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(a(),_("div",At,[Array.isArray(e.message.content)?(a(),_("div",qt,[(a(!0),_(G,null,F(e.message.content,(E,V)=>{var T,D;return a(),_("div",{key:V},[E.type==="image_url"?(a(),_("img",{key:0,src:typeof(E==null?void 0:E.image_url)=="string"?E.image_url:(T=E.image_url)==null?void 0:T.url,fit:"cover",class:"image"},null,8,Ot)):S("v-if",!0),E.file_url?(a(),b($,{key:1,name:typeof(E==null?void 0:E.file_url)=="string"?E.file_url:(D=E.file_url)==null?void 0:D.url,percentage:0,closable:!1,class:"mt-2"},null,8,["name"])):S("v-if",!0),E.type==="text"?(a(),b(h,{key:V,content:E.text},null,8,["content"])):S("v-if",!0)])}),128))])):(a(),b(h,{key:0,content:(A=e.message)==null?void 0:A.content},null,8,["content"]))])),e.message.state===e.messageState.PENDING?(a(),b(s,{key:2})):S("v-if",!0)])),[[q]]),l("div",Ut,[e.message.role==="user"&&!e.isEditing&&!Array.isArray(e.message.content)?(a(),b(m,{key:0,class:"btn-edit",onClick:e.startEditing},null,8,["onClick"])):S("v-if",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(a(),b(y,{key:1,content:e.message.content,class:"btn-copy"},null,8,["content"])):S("v-if",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)&&e.message.role==="assistant"&&e.message===e.messages[e.messages.length-1]?(a(),b(w,{key:2,class:"btn-restart",messages:e.messages,onRestart:e.onRestart},null,8,["messages","onRestart"])):S("v-if",!0)])])),e.showBuyMore?(a(),b(u,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:p(()=>[R(g(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):S("v-if",!0)],10,Nt)}var Ft=I(It,[["render",Mt],["__scopeId","data-v-f0476f80"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Message.vue"]]);const Vt=N({name:"ImagePreview",components:{FontAwesomeIcon:L,ElProgress:ve},props:{url:{type:String,required:!0},name:{type:String,required:!0},percentage:{type:Number,required:!0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"]}),Pt={class:"image"},Ht=["src","alt"],Bt={key:0,class:"close"};function jt(e,t,n,c,v,d){const r=i("el-progress"),h=i("font-awesome-icon");return a(),_("div",Pt,[l("img",{class:"size-10",src:e.url,alt:e.name},null,8,Ht),M(o(r,{type:"circle","stroke-width":3,percentage:e.percentage,width:30},null,8,["percentage"]),[[B,e.percentage&&e.percentage<100]]),e.closable?(a(),_("div",Bt,[o(h,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:t[0]||(t[0]=H($=>e.$emit("remove"),["stop"]))})])):S("v-if",!0)])}var Wt=I(Vt,[["render",jt],["__scopeId","data-v-11203584"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/ImagePreview.vue"]]);const Kt=N({name:"Composer",components:{FilePreview:Ie,ImagePreview:Wt,ElTooltip:re,FontAwesomeIcon:L,ElUpload:ot},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","stop"],data(){return{inputHeight:"35px",questionValue:this.question,fileList:[],uploadUrl:Ue()+"/api/v1/files/"}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},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})}},watch:{urls(e){console.debug("File URLs:",e),e.length>0&&this.$emit("update:references",e)},questionValue(e){this.$emit("update:question",e)},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug("References updated:",e),e.length===0&&(this.fileList=[])}},methods:{isImageUrl:ie,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")},onStop(){this.$emit("stop")},onProgress(e,t,n){console.debug("File upload progress:",t.name,e.loaded,e.total)},onExceed(){he.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){he.error(this.$t("chat.message.uploadReferencesError"))}}}),zt={class:"composer"},Qt={class:"tools"},Jt=["disabled","placeholder"];function Xt(e,t,n,c,v,d){const r=i("image-preview"),h=i("file-preview"),$=i("font-awesome-icon"),f=i("el-tooltip"),u=i("el-upload");return a(),_("div",zt,[l("div",Qt,[o(u,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=s=>e.fileList=s),class:P({upload:!0,disabled:!e.model.isFileSupported||e.disabled}),disabled:!e.model.isFileSupported||e.disabled,name:"file",limit:10,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-progress":e.onProgress,headers:e.headers},{file:p(({file:s})=>{var m;return[e.isImageUrl(s.name)?(a(),b(r,{key:0,url:s.url||((m=s.response)==null?void 0:m.file_url),name:s.name,percentage:s.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(s),1)},null,8,["url","name","percentage","onRemove"])):(a(),b(h,{key:1,name:s.name,percentage:s.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(s),1)},null,8,["name","percentage","onRemove"]))]}),default:p(()=>[o(f,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"bottom"},{default:p(()=>[l("span",{class:P({btn:!0,"btn-upload":!0,disabled:!e.model.isFileSupported||e.disabled})},[o($,{icon:"fa-solid fa-plus",class:"icon icon-attachment"})],2)]),_:1},8,["content"])]),_:1},8,["file-list","class","disabled","action","on-exceed","on-error","on-progress","headers"])]),M(l("span",{class:P({btn:!0,"btn-send":!0,disabled:!e.questionValue}),onClick:t[1]||(t[1]=(...s)=>e.onSubmit&&e.onSubmit(...s))},[o($,{icon:"fa-solid fa-location-arrow",class:"icon icon-send"})],2),[[B,!e.disabled]]),M(l("span",{class:P({btn:!0,"btn-stop":!0,disabled:!e.disabled}),onClick:t[2]||(t[2]=(...s)=>e.onStop&&e.onStop(...s))},[o($,{icon:"fa-solid fa-stop",class:"icon icon-stop"})],2),[[B,e.disabled]]),M(l("textarea",{ref:"textarea","onUpdate:modelValue":t[3]||(t[3]=s=>e.questionValue=s),disabled:e.disabled,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:Qe({height:e.inputHeight}),onKeydown:t[4]||(t[4]=ae(H((...s)=>e.onSubmit&&e.onSubmit(...s),["exact","prevent"]),["enter"])),onInput:t[5]||(t[5]=(...s)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...s))},null,44,Jt),[[ze,e.questionValue]])])}var Yt=I(Kt,[["render",Xt],["__scopeId","data-v-a443d292"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Composer.vue"]]);const Zt=N({name:"ModelSelector",components:{ElDropdown:J,ElDropdownMenu:X,ElDropdownItem:Y,FontAwesomeIcon:L},emits:["update:modelValue","select","model-group-changed","model-changed"],data(){return{options:[se,ce,ue]}},computed:{modelGroup(){return console.log("modelGroup",this.$store.state.chat.modelGroup),this.$store.state.chat.modelGroup},model(){return console.log("model",this.$store.state.chat.model),this.$store.state.chat.model}},watch:{modelGroup(e){console.debug("ModelSelector modelGroup changed",e),this.$store.dispatch("chat/setModel",e.models[0])}},mounted(){if(!this.modelGroup)console.debug("ModelSelector mounted, setting default model group"),this.$store.dispatch("chat/setModelGroup",se);else{console.debug("ModelSelector mounted, checking model group");const t=[se,ce,ue].find(n=>n.name===this.modelGroup.name);t&&this.$store.dispatch("chat/setModelGroup",t)}},methods:{onModelGroupChange(e){this.$store.dispatch("chat/setModelGroup",e),this.$emit("model-group-changed",e)},onModelChange(e){this.$store.dispatch("chat/setModel",e),this.$emit("model-changed",e)}}}),xt={class:"selector"},es={class:"flex justify-center mr-1"},ts={class:"icon"},ss=["src"],os={class:"name"},ns={class:"angle"},is={class:"item"},as={class:"icon"},rs=["src"],ls={class:"info"},ds={class:"name"},cs={class:"description"},us={class:"flex justify-center"},ms={class:"name"},ps={class:"angle"},hs={class:"item"},_s={class:"info"},gs={key:0,class:"name"},fs={key:1,class:"description"};function $s(e,t,n,c,v,d){const r=i("font-awesome-icon"),h=i("el-dropdown-item"),$=i("el-dropdown-menu"),f=i("el-dropdown");return a(),_("div",xt,[o(f,{trigger:"click","popper-class":"popper"},{dropdown:p(()=>[o($,null,{default:p(()=>[(a(!0),_(G,null,F(e.options,(u,s)=>(a(),b(h,{key:s,onClick:m=>e.onModelGroupChange(u)},{default:p(()=>[l("div",is,[l("div",as,[l("img",{src:u.icon},null,8,rs)]),l("div",ls,[l("p",ds,g(u.getDisplayName()),1),l("p",cs,g(u.getDescription()),1)])])]),_:2},1032,["onClick"]))),128))]),_:1})]),default:p(()=>{var u;return[l("div",es,[l("span",ts,[l("img",{src:e.modelGroup.icon},null,8,ss)]),l("span",os,g((u=e.modelGroup)==null?void 0:u.getDisplayName()),1),l("span",ns,[o(r,{icon:"fa-solid fa-angle-down"})])])]}),_:1}),o(f,{trigger:"click","popper-class":"popper"},{dropdown:p(()=>[e.modelGroup&&e.modelGroup.models?(a(),b($,{key:0},{default:p(()=>[(a(!0),_(G,null,F(e.modelGroup.models,(u,s)=>(a(),b(h,{key:s,onClick:m=>e.onModelChange(u)},{default:p(()=>[l("div",hs,[l("div",_s,[u.getDisplayName?(a(),_("p",gs,g(u.getDisplayName()),1)):S("v-if",!0),u.getDescription?(a(),_("p",fs,g(u.getDescription()),1)):S("v-if",!0)])])]),_:2},1032,["onClick"]))),128))]),_:1})):S("v-if",!0)]),default:p(()=>{var u;return[l("div",us,[l("span",ms,g((u=e.model)==null?void 0:u.getDisplayName()),1),l("span",ps,[o(r,{icon:"fa-solid fa-angle-down"})])])]}),_:1})])}var vs=I(Zt,[["render",$s],["__scopeId","data-v-358d65be"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/ModelSelector.vue"]]);const ys={},bs={class:"disclaimer"};function ws(e,t){return a(),_("p",bs,g(e.$t("chat.message.howToUse")),1)}var ks=I(ys,[["render",ws],["__scopeId","data-v-42e751f2"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Disclaimer.vue"]]);const Cs=N({name:"UserAvatar",data(){return{defaultAvatar:lt}},computed:{user(){var e;return(e=this.$store.getters)==null?void 0:e.user}}}),Ss=["src"];function Es(e,t,n,c,v,d){var r;return a(),_("img",{src:((r=e.user)==null?void 0:r.avatar)||e.defaultAvatar,class:"avatar"},null,8,Ss)}var Is=I(Cs,[["render",Es],["__scopeId","data-v-1dac1046"],["__file","/home/runner/work/Nexior/Nexior/src/components/user/Avatar.vue"]]);const Ns=N({name:"ThemeSelector",components:{ArrowDown:we,ElDropdown:J,ElDropdownMenu:X,ElDropdownItem:Y,ElIcon:ke},data(){return{theme:"light"}},computed:{currentLabel(){return this.theme==="dark"?this.$t("common.theme.dark"):this.$t("common.theme.light")}},mounted(){this.theme=this.loadFromCookie(),this.applyTheme()},methods:{onSelect(e){this.theme=e,this.applyTheme()},applyTheme(){_e("THEME",this.theme,{path:"/",domain:$e()}),this.theme==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")},loadFromCookie(){return Te("THEME")==="dark"?"dark":"light"}}}),Rs={class:"el-dropdown-link"};function Ts(e,t,n,c,v,d){const r=i("arrow-down"),h=i("el-icon"),$=i("el-dropdown-item"),f=i("el-dropdown-menu"),u=i("el-dropdown");return a(),b(u,{trigger:"click",onCommand:e.onSelect},{dropdown:p(()=>[o(f,null,{default:p(()=>[o($,{command:"light"},{default:p(()=>[R(g(e.$t("common.theme.light")),1)]),_:1}),o($,{command:"dark"},{default:p(()=>[R(g(e.$t("common.theme.dark")),1)]),_:1})]),_:1})]),default:p(()=>[l("span",Rs,[R(g(e.currentLabel)+" ",1),o(h,{class:"el-icon--right"},{default:p(()=>[o(r)]),_:1})])]),_:1},8,["onCommand"])}var Ds=I(Ns,[["render",Ts],["__scopeId","data-v-0dfaf416"],["__file","/home/runner/work/Nexior/Nexior/src/components/user/Theme.vue"]]);const As=N({name:"LocaleSelector",components:{ElDropdown:J,ElDropdownMenu:X,ElDropdownItem:Y,ElIcon:ke,ArrowDown:we},data(){return{locales:Me}},computed:{value(){return this.$i18n.locale},currentLabel(){const e=this.locales.find(t=>t.value===this.value);return e?e.label:this.value}},methods:{async onSelectLocale(e){this.$router.push({query:{...this.$route.query,locale:void 0}}),await Fe(e),_e("LOCALE",e,{path:"/",domain:$e()})}}}),qs={class:"el-dropdown-link"};function Os(e,t,n,c,v,d){const r=i("arrow-down"),h=i("el-icon"),$=i("el-dropdown-item"),f=i("el-dropdown-menu"),u=i("el-dropdown");return a(),b(u,{trigger:"click",onCommand:e.onSelectLocale},{dropdown:p(()=>[o(f,null,{default:p(()=>[(a(!0),_(G,null,F(e.locales,(s,m)=>(a(),b($,{key:m,command:s.value},{default:p(()=>[R(g(s.label),1)]),_:2},1032,["command"]))),128))]),_:1})]),default:p(()=>[l("span",qs,[R(g(e.currentLabel)+" ",1),o(h,{class:"el-icon--right"},{default:p(()=>[o(r)]),_:1})])]),_:1},8,["onCommand"])}var Gs=I(As,[["render",Os],["__scopeId","data-v-572cdc5e"],["__file","/home/runner/work/Nexior/Nexior/src/components/user/Locale.vue"]]);const Ls=N({name:"GeneralSettings",components:{ThemeSwitcher:Ds,LocaleSwitcher:Gs}}),Us={class:"flex justify-between items-center mb-4"},Ms={class:"block mb-2 text-sm font-medium"},Fs={class:"flex justify-between items-center mb-4"},Vs={class:"block mb-2 text-sm font-medium"};function Ps(e,t,n,c,v,d){const r=i("theme-switcher"),h=i("locale-switcher");return a(),_(G,null,[l("div",Us,[l("label",Ms,g(e.$t("common.settings.theme")),1),o(r)]),l("div",Fs,[l("label",Vs,g(e.$t("common.settings.language")),1),o(h)])],64)}var Hs=I(Ls,[["render",Ps],["__file","/home/runner/work/Nexior/Nexior/src/components/setting/General.vue"]]);const Bs=N({name:"SiteIndex",components:{EditText:ee,EditImage:Se,EditArray:Ee,ElDivider:Ce,ElImage:le,ElForm:Z,ElFormItem:x},data(){return{editing:{title:!1}}},computed:{site(){return this.$store.getters.site}},methods:{onSave(e){var n;const t={...this.site,...e};Q.update((n=this.site)==null?void 0:n.id,t).then(()=>{var c;console.debug("getSite for id",(c=this.site)==null?void 0:c.id),this.$store.dispatch("getSite")})}}}),js={class:"block w-full"},Ws={class:"block tip"},Ks={class:"block w-full"},zs={class:"block tip"},Qs={class:"block w-full"},Js={class:"block tip"},Xs={class:"block w-full"},Ys={class:"block tip"},Zs={class:"block w-full"},xs={class:"block tip"};function eo(e,t,n,c,v,d){const r=i("el-form-item"),h=i("edit-text"),$=i("el-image"),f=i("edit-image"),u=i("el-divider"),s=i("edit-array"),m=i("el-form");return a(),b(m,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:p(()=>[o(r,{label:e.$t("site.field.origin")},{default:p(()=>[l("span",js,g(e.site.origin),1),l("span",Ws,g(e.$t("site.message.originTip")),1)]),_:1},8,["label"]),o(r,{label:e.$t("site.field.title")},{default:p(()=>[l("span",Ks,[R(g(e.site.title)+" ",1),o(h,{"model-value":e.site.title,title:e.$t("site.title.editTitle"),placeholder:e.$t("site.placeholder.title"),onConfirm:t[0]||(t[0]=y=>e.onSave({title:y}))},null,8,["model-value","title","placeholder"])]),l("span",zs,g(e.$t("site.message.titleTip")),1)]),_:1},8,["label"]),o(r,{label:e.$t("site.field.logo")},{default:p(()=>[l("span",Qs,[o($,{src:e.site.logo,class:"logo"},null,8,["src"]),o(f,{"model-value":e.site.logo,title:e.$t("site.title.editLogo"),tip:e.$t("site.message.editLogoTip"),onConfirm:t[1]||(t[1]=y=>e.onSave({logo:y}))},null,8,["model-value","title","tip"])]),l("span",Js,g(e.$t("site.message.logoTip")),1)]),_:1},8,["label"]),o(r,{label:e.$t("site.field.favicon")},{default:p(()=>[l("span",Xs,[o($,{src:e.site.favicon,class:"favicon"},null,8,["src"]),o(f,{"model-value":e.site.favicon,title:e.$t("site.title.editFavicon"),tip:e.$t("site.message.editFaviconTip"),onConfirm:t[2]||(t[2]=y=>e.onSave({favicon:y}))},null,8,["model-value","title","tip"])]),l("span",Ys,g(e.$t("site.message.faviconTip")),1)]),_:1},8,["label"]),o(u,{"border-style":"dashed"}),o(r,{label:e.$t("site.field.admins")},{default:p(()=>{var y,w;return[l("span",Zs,[R(g((y=e.site.admins)==null?void 0:y.join(", "))+" ",1),o(s,{"model-value":((w=e.site)==null?void 0:w.admins)||[],title:e.$t("site.title.editAdmins"),placeholder:e.$t("site.placeholder.admins"),tip:e.$t("site.message.adminsTip2"),min:1,"min-error-message":e.$t("site.message.atLeastOneAdmin"),onConfirm:t[3]||(t[3]=k=>e.onSave({admins:k}))},null,8,["model-value","title","placeholder","tip","min-error-message"])]),l("span",xs,g(e.$t("site.message.adminsTip")),1)]}),_:1},8,["label"])]),_:1},8,["model"])}var to=I(Bs,[["render",eo],["__scopeId","data-v-e38df654"],["__file","/home/runner/work/Nexior/Nexior/src/components/setting/Site.vue"]]);const so=N({name:"SettingSeo",components:{EditText:ee,EditArray:Ee,ElForm:Z,ElFormItem:x},data(){return{editing:{title:!1}}},computed:{site(){return this.$store.getters.site}},methods:{onSave(e){var n;const t={...this.site,...e};Q.update((n=this.site)==null?void 0:n.id,t).then(()=>{var c;console.debug("getSite for id",(c=this.site)==null?void 0:c.id),this.$store.dispatch("getSite")})}}}),oo={class:"block w-full"},no={class:"block tip"},io={class:"block w-full"},ao={class:"block tip"};function ro(e,t,n,c,v,d){const r=i("edit-text"),h=i("el-form-item"),$=i("edit-array"),f=i("el-form");return a(),b(f,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:p(()=>[o(h,{label:e.$t("site.field.description")},{default:p(()=>[l("span",oo,[R(g(e.site.description)+" ",1),o(r,{"model-value":e.site.description,title:e.$t("site.title.editDescription"),placeholder:e.$t("site.placeholder.description"),onConfirm:t[0]||(t[0]=u=>e.onSave({description:u}))},null,8,["model-value","title","placeholder"])]),l("span",no,g(e.$t("site.message.descriptionTip")),1)]),_:1},8,["label"]),o(h,{label:e.$t("site.field.keywords")},{default:p(()=>{var u,s;return[l("span",io,[R(g((u=e.site.keywords)==null?void 0:u.join(", "))+" ",1),o($,{"model-value":((s=e.site)==null?void 0:s.keywords)||[],title:e.$t("site.title.editKeywords"),placeholder:e.$t("site.placeholder.keywords"),tip:e.$t("site.message.keywordsTip2"),onConfirm:t[1]||(t[1]=m=>e.onSave({keywords:m}))},null,8,["model-value","title","placeholder","tip"])]),l("span",ao,g(e.$t("site.message.keywordsTip")),1)]}),_:1},8,["label"])]),_:1},8,["model"])}var lo=I(so,[["render",ro],["__scopeId","data-v-57cb41c4"],["__file","/home/runner/work/Nexior/Nexior/src/components/setting/Seo.vue"]]);const co=N({name:"SiteIndex",components:{EditText:ee,ElForm:Z,ElFormItem:x},data(){return{editing:{title:!1}}},computed:{site(){return this.$store.getters.site}},methods:{onSave(e){var n;const t={...this.site,...e};Q.update((n=this.site)==null?void 0:n.id,t).then(()=>{var c;console.debug("getSite for id",(c=this.site)==null?void 0:c.id),this.$store.dispatch("getSite")})}}}),uo={class:"block tip"},mo={class:"block tip"};function po(e,t,n,c,v,d){const r=i("edit-text"),h=i("el-form-item"),$=i("el-form");return a(),b($,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:p(()=>[o(h,{label:e.$t("site.field.distributionDefaultInviterId")},{default:p(()=>{var f,u;return[R(g((f=e.site.distribution)==null?void 0:f.default_inviter_id)+" ",1),o(r,{"model-value":(u=e.site.distribution)==null?void 0:u.default_inviter_id,title:e.$t("site.title.editDistributionDefaultInviterId"),placeholder:e.$t("site.placeholder.editDistributionDefaultInviterId"),onConfirm:t[0]||(t[0]=s=>e.onSave({distribution:{...e.site.distribution,default_inviter_id:s}}))},null,8,["model-value","title","placeholder"]),l("span",uo,g(e.$t("site.message.distributionDefaultInviterIdTip")),1)]}),_:1},8,["label"]),o(h,{label:e.$t("site.field.distributionForceInviterId")},{default:p(()=>{var f,u;return[R(g((f=e.site.distribution)==null?void 0:f.force_inviter_id)+" ",1),o(r,{"model-value":(u=e.site.distribution)==null?void 0:u.force_inviter_id,title:e.$t("site.title.editDistributionForceInviterId"),placeholder:e.$t("site.placeholder.editDistributionForceInviterId"),onConfirm:t[1]||(t[1]=s=>e.onSave({distribution:{...e.site.distribution,force_inviter_id:s}}))},null,8,["model-value","title","placeholder"]),l("span",mo,g(e.$t("site.message.distributionForceInviterIdTip")),1)]}),_:1},8,["label"])]),_:1},8,["model"])}var ho=I(co,[["render",po],["__scopeId","data-v-4ed92693"],["__file","/home/runner/work/Nexior/Nexior/src/components/setting/Distribution.vue"]]);const _o=N({name:"SiteIndex",components:{EditText:ee,EditImage:Se,ElImage:le,ElForm:Z,ElSwitch:nt,ElFormItem:x},data(){return{editing:{title:!1}}},computed:{site(){return this.$store.getters.site}},methods:{onSave(e){var n;const t={...this.site,...e};Q.update((n=this.site)==null?void 0:n.id,t).then(()=>{var c;console.debug("getSite for id",(c=this.site)==null?void 0:c.id),this.$store.dispatch("getSite")})}}}),go={class:"w-full"},fo={class:"block tip w-full"},$o={key:0},vo={class:"block w-full"},yo={class:"block w-full"};function bo(e,t,n,c,v,d){const r=i("el-switch"),h=i("el-form-item"),$=i("el-image"),f=i("edit-image"),u=i("edit-text"),s=i("el-form");return a(),b(s,{model:e.site,class:"form","label-width":"auto",style:{"max-width":"600px"}},{default:p(()=>[(a(),_(G,null,F(["chat","midjourney","qrart","suno","luma","pika","kling","flux","hailuo","headshots","support"],(m,y)=>o(h,{key:y,label:e.$t("site.field.features"+m.charAt(0).toUpperCase()+m.slice(1))},{default:p(()=>{var w,k,q,A,E,V;return[l("div",go,[o(r,{"model-value":((w=e.site.features[m])==null?void 0:w.enabled)||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":T=>e.onSave({features:{...e.site.features,[m]:{...e.site.features[m],enabled:T}}})},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),l("span",fo,g(e.$t("site.message.features"+m.charAt(0).toUpperCase()+m.slice(1))),1),m==="support"?M((a(),_("div",$o,[o(h,{label:"WeChat"},{default:p(()=>{var T,D;return[o(r,{"model-value":((D=(T=e.site.features[m])==null?void 0:T.wechat)==null?void 0:D.enabled)||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":C=>{var O;return e.onSave({features:{...e.site.features,[m]:{...e.site.features[m],wechat:{...(O=e.site.features[m])==null?void 0:O.wechat,enabled:C}}}})}},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]}),_:2},1024),M(o(h,{label:e.$t("site.field.qr")},{default:p(()=>{var T,D,C,O;return[l("span",vo,[o($,{src:(D=(T=e.site.features[m])==null?void 0:T.wechat)==null?void 0:D.qr},null,8,["src"]),o(f,{"model-value":(O=(C=e.site.features[m])==null?void 0:C.wechat)==null?void 0:O.qr,title:e.$t("site.title.editQR"),tip:e.$t("site.message.editQRTip"),onConfirm:te=>{var W;return e.onSave({features:{...e.site.features,[m]:{...e.site.features[m],wechat:{...(W=e.site.features[m])==null?void 0:W.wechat,qr:te}}}})}},null,8,["model-value","title","tip","onConfirm"])])]}),_:2},1032,["label"]),[[B,(q=(k=e.site.features[m])==null?void 0:k.wechat)==null?void 0:q.enabled]]),o(h,{label:"Discord"},{default:p(()=>{var T,D;return[o(r,{"model-value":((D=(T=e.site.features[m])==null?void 0:T.discord)==null?void 0:D.enabled)||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":C=>{var O;return e.onSave({features:{...e.site.features,[m]:{...e.site.features[m],discord:{...(O=e.site.features[m])==null?void 0:O.discord,enabled:C}}}})}},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]}),_:2},1024),M(o(h,{label:e.$t("site.field.url")},{default:p(()=>{var T,D,C,O;return[l("span",yo,[R(g((D=(T=e.site.features[m])==null?void 0:T.discord)==null?void 0:D.url)+" ",1),o(u,{"model-value":(O=(C=e.site.features[m])==null?void 0:C.discord)==null?void 0:O.url,title:e.$t("site.title.editUrl"),placeholder:e.$t("site.placeholder.editUrl"),onConfirm:te=>{var W;return e.onSave({features:{...e.site.features,[m]:{...e.site.features[m],discord:{...(W=e.site.features[m])==null?void 0:W.discord,url:te}}}})}},null,8,["model-value","title","placeholder","onConfirm"])])]}),_:2},1032,["label"]),[[B,(E=(A=e.site.features[m])==null?void 0:A.discord)==null?void 0:E.enabled]])],512)),[[B,(V=e.site.features[m])==null?void 0:V.enabled]]):S("v-if",!0)]}),_:2},1032,["label"])),64))]),_:1},8,["model"])}var wo=I(_o,[["render",bo],["__scopeId","data-v-7089d567"],["__file","/home/runner/work/Nexior/Nexior/src/components/setting/Function.vue"]]);const ko=N({name:"UserSetting",components:{ElDialog:it,FontAwesomeIcon:L,GeneralSetting:Hs,SiteSetting:to,SeoSetting:lo,DistributionSetting:ho,FunctionSetting:wo},props:{visible:{type:Boolean,default:!1}},emits:["update:visible"],data(){return{activeTab:"general",showSuggestions:!0,navItems:[{key:"general",label:this.$t("common.settings.general"),icon:Ye},{key:"site",label:this.$t("common.settings.site"),icon:Ze},{key:"seo",label:this.$t("common.settings.seo"),icon:xe},{key:"distribution",label:this.$t("common.settings.distribution"),icon:et},{key:"function",label:this.$t("common.settings.function"),icon:tt}]}},computed:{currentTabTitle(){const e=this.navItems.find(t=>t.key===this.activeTab);return e?e.label:""},isSiteAdmin(){var e,t,n,c,v;return!!((v=(n=(t=(e=this.$store)==null?void 0:e.state)==null?void 0:t.site)==null?void 0:n.admins)!=null&&v.includes((c=this.$store.getters.user)==null?void 0:c.id))}},methods:{onClose(){this.$emit("update:visible",!1)}}}),Co={class:"flex settings"},So={class:"w-56 border-r"},Eo={class:"flex flex-col p-2 space-y-1"},Io=["onClick"],No={class:"flex-1 p-6 overflow-y-auto"},Ro={key:0},To={key:1},Do={key:2},Ao={key:3},qo={key:4};function Oo(e,t,n,c,v,d){const r=i("font-awesome-icon"),h=i("general-setting"),$=i("site-setting"),f=i("seo-setting"),u=i("distribution-setting"),s=i("function-setting"),m=i("el-dialog");return a(),b(m,{"model-value":e.visible,onClose:e.onClose},{default:p(()=>[l("div",Co,[l("aside",So,[l("nav",Eo,[(a(!0),_(G,null,F(e.navItems,(y,w)=>(a(),_("button",{key:w,class:P(["flex items-center px-4 py-2 text-sm rounded-lg cursor-pointer",e.activeTab===y.key?"active":""]),onClick:k=>e.activeTab=y.key},[o(r,{icon:y.icon,class:"mr-2"},null,8,["icon"]),R(" "+g(y.label),1)],10,Io))),128))])]),l("main",No,[e.activeTab==="general"?(a(),_("div",Ro,[o(h)])):e.activeTab==="site"&&e.isSiteAdmin?(a(),_("div",To,[o($)])):e.activeTab==="seo"&&e.isSiteAdmin?(a(),_("div",Do,[o(f)])):e.activeTab==="distribution"&&e.isSiteAdmin?(a(),_("div",Ao,[o(u)])):e.activeTab==="function"&&e.isSiteAdmin?(a(),_("div",qo,[o(s)])):S("v-if",!0)])])]),_:1},8,["model-value","onClose"])}var Go=I(ko,[["render",Oo],["__scopeId","data-v-17be4dfc"],["__file","/home/runner/work/Nexior/Nexior/src/components/user/Setting.vue"]]);const Lo=N({name:"UserCenter",components:{UserAvatar:Is,UserSetting:Go,FontAwesomeIcon:L,ElDivider:Ce,ElDropdownMenu:X,ElDropdownItem:Y,ElDropdown:J},data(){return{showMenu:!1,showSetting:!1}},computed:{user(){var e;return(e=this.$store.getters)==null?void 0:e.user}},mounted(){document.addEventListener("click",this.closeMenu)},unmounted(){document.removeEventListener("click",this.closeMenu)},methods:{toggleMenu(){this.showMenu=!this.showMenu},closeMenu(e){const t=e.target;this.$el.contains(t)||(this.showMenu=!1)},async onLogout(){await this.$store.dispatch("logout")},onConsole(){this.$router.push({name:Ve})},onDistribution(){this.$router.push({name:Pe})},onSettings(){this.showSetting=!0}}}),Uo={class:"center"},Mo={key:0,class:"px-4 py-4 text-sm font-medium"};function Fo(e,t,n,c,v,d){const r=i("user-avatar"),h=i("el-divider"),$=i("font-awesome-icon"),f=i("el-dropdown-item"),u=i("el-dropdown-menu"),s=i("el-dropdown"),m=i("user-setting");return a(),_("div",Uo,[o(s,{trigger:"click"},{dropdown:p(()=>{var y;return[e.user.email?(a(),_("div",Mo,g((y=e.user)==null?void 0:y.email),1)):S("v-if",!0),e.user.email?(a(),b(h,{key:1,class:"mb-1 mt-1"})):S("v-if",!0),o(u,null,{default:p(()=>[o(f,{class:"py-2",onClick:e.onSettings},{default:p(()=>[o($,{icon:"fa-solid fa-cog",class:"mr-1"}),R(" "+g(e.$t("common.nav.setting")),1)]),_:1},8,["onClick"]),o(f,{class:"py-2",onClick:e.onDistribution},{default:p(()=>[o($,{icon:"fa-solid fa-coins",class:"mr-1"}),R(" "+g(e.$t("common.nav.distribution")),1)]),_:1},8,["onClick"]),o(f,{class:"py-2",onClick:e.onConsole},{default:p(()=>[o($,{icon:"fa-solid fa-compass",class:"mr-1"}),R(" "+g(e.$t("common.nav.console")),1)]),_:1},8,["onClick"]),o(f,{class:"py-2",onClick:e.onLogout},{default:p(()=>[o($,{icon:"fa-solid fa-arrow-right-from-bracket",class:"mr-1"}),R(" "+g(e.$t("common.nav.logOut")),1)]),_:1},8,["onClick"])]),_:1})]}),default:p(()=>[o(r,{class:"cursor-pointer"})]),_:1}),o(m,{visible:e.showSetting,"onUpdate:visible":t[0]||(t[0]=y=>e.showSetting=y)},null,8,["visible"])])}var Vo=I(Lo,[["render",Fo],["__file","/home/runner/work/Nexior/Nexior/src/components/user/Center.vue"]]);const Po=N({name:"SidePanel",components:{ElInput:be,FontAwesomeIcon:L,ElSkeleton:at},props:{},emits:["change-conversation"],computed:{conversationId(){var e,t,n;return console.debug("conversationId in side",(e=this.$route.params)==null?void 0:e.id),(n=(t=this.$route.params)==null?void 0:t.id)==null?void 0:n.toString()},conversationGroups(){var r,h,$,f,u,s,m,y;const e=this.$store.state.chat.conversations,t=new Date;t.setHours(0,0,0,0);const n=new Date(t);n.setDate(n.getDate()-1);const c=new Date(t);c.setDate(c.getDate()-t.getDay());const v=new Date(c);v.setDate(v.getDate()-7);const d=e==null?void 0:e.reduce((w,k)=>{const q=new Date(k.updated_at*1e3);return q>=t?w.today.push(k):q>=n?w.yesterday.push(k):q>=c?w.thisWeek.push(k):w.earlier.push(k),w},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...((r=d==null?void 0:d.today)==null?void 0:r.length)>0?{today:(h=d==null?void 0:d.today)==null?void 0:h.sort((w,k)=>k.updated_at-w.updated_at)}:{},...(($=d==null?void 0:d.yesterday)==null?void 0:$.length)>0?{yesterday:(f=d==null?void 0:d.yesterday)==null?void 0:f.sort((w,k)=>k.updated_at-w.updated_at)}:{},...((u=d==null?void 0:d.thisWeek)==null?void 0:u.length)>0?{thisWeek:(s=d==null?void 0:d.thisWeek)==null?void 0:s.sort((w,k)=>k.updated_at-w.updated_at)}:{},...((m=d==null?void 0:d.earlier)==null?void 0:m.length)>0?{earlier:(y=d==null?void 0:d.earlier)==null?void 0:y.sort((w,k)=>k.updated_at-w.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===ne.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(){console.debug("onNewConversation from side panel"),this.$emit("change-conversation",void 0)},async onConfirm(e){const t=this.token;if(!t){console.error("Token is not found");return}(e==null?void 0:e.deleting)&&e.id?(await K.deleteConversation(e.id,{token:t}),await this.$store.dispatch("chat/getConversations")):e!=null&&e.editing?(await K.updateConversation(e,{token:t}),await this.$store.dispatch("chat/getConversations")):e.editing=!0},onClickConversation(e){console.debug("onClickConversation in side panel",e),this.$emit("change-conversation",e)}}}),Ho={class:"panel"},Bo={key:1,class:"conversations"},jo={class:"icons"},Wo={class:"title"},Ko={class:"key"},zo=["onClick"],Qo={class:"title"},Jo={key:0},Xo={key:1},Yo={key:2},Zo={class:"operations"};function xo(e,t,n,c,v,d){const r=i("el-skeleton"),h=i("font-awesome-icon"),$=i("el-input");return a(),_("div",Ho,[e.loading&&e.conversationGroups===void 0?(a(),b(r,{key:0})):(a(),_("div",Bo,[l("div",{class:"conversation",onClick:t[0]||(t[0]=(...f)=>e.onNewConversation&&e.onNewConversation(...f))},[l("div",jo,[o(h,{icon:"fa-solid fa-plus",class:"icon"})]),l("div",Wo,g(e.$t("chat.message.startNewChat")),1)]),(a(!0),_(G,null,F(e.conversationGroups,(f,u)=>(a(),_("div",{key:u,class:"group"},[l("div",Ko,g(e.$t(`chat.group.${u}`)),1),(a(!0),_(G,null,F(f,(s,m)=>{var y,w,k,q;return a(),_("div",{key:m,class:P({conversation:!0,active:s.id===e.conversationId}),onClick:A=>e.onClickConversation(s.id)},[l("div",Qo,[s!=null&&s.deleting?(a(),_("span",Jo,g(`${e.$t("chat.message.confirmDelete")}?`),1)):s!=null&&s.editing?(a(),_("span",Xo,[o($,{modelValue:s.title,"onUpdate:modelValue":A=>s.title=A,onKeydown:ae(A=>e.onConfirm(s),["enter"])},null,8,["modelValue","onUpdate:modelValue","onKeydown"])])):(s==null?void 0:s.title)||(s==null?void 0:s.messages)?(a(),_("span",Yo,g((s==null?void 0:s.title)||((w=(y=s==null?void 0:s.messages)==null?void 0:y[(s==null?void 0:s.messages.length)-1])==null?void 0:w.content)||((q=(k=s==null?void 0:s.messages)==null?void 0:k[0])==null?void 0:q.content)),1)):S("v-if",!0)]),l("div",Zo,[!(s!=null&&s.editing)&&!s.deleting?(a(),b(h,{key:0,icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:H(A=>s.editing=!0,["stop"])},null,8,["onClick"])):S("v-if",!0),!(s!=null&&s.editing)&&!s.deleting?(a(),b(h,{key:1,icon:"fa-solid fa-trash",class:"icon icon-delete",onClick:H(A=>s.deleting=!0,["stop"])},null,8,["onClick"])):S("v-if",!0),(s==null?void 0:s.editing)||s.deleting?(a(),b(h,{key:2,icon:"fa-solid fa-check",class:"icon icon-confirm",onClick:H(A=>e.onConfirm(s),["stop"])},null,8,["onClick"])):S("v-if",!0),(s==null?void 0:s.editing)||s.deleting?(a(),b(h,{key:3,icon:"fa-solid fa-xmark",class:"icon icon-cancel",onClick:H(A=>{s.editing=!1,s.deleting=!1},["stop"])},null,8,["onClick"])):S("v-if",!0)])],10,zo)}),128))]))),128))]))])}var en=I(Po,[["render",xo],["__scopeId","data-v-d866c834"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/SidePanel.vue"]]);const tn=N({name:"LayoutChat",components:{SidePanel:en,ElDrawer:rt,UserCenter:Vo,ElButton:ye,FontAwesomeIcon:L},emits:["change-conversation"],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug("onChangeConversation in layout",e),this.$emit("change-conversation",e)}}}),sn={class:"main"},on={class:"side"},nn={class:"chat"};function an(e,t,n,c,v,d){const r=i("side-panel"),h=i("user-center"),$=i("font-awesome-icon"),f=i("el-button"),u=i("el-drawer");return a(),_("div",sn,[l("div",on,[pe(e.$slots,"side",{},()=>[o(r,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])],!0)]),l("div",nn,[pe(e.$slots,"chat",{},void 0,!0)]),o(h,{class:"absolute right-2 top-2"}),o(f,{round:"",class:"menu",onClick:t[0]||(t[0]=s=>e.drawer=!0)},{default:p(()=>[o($,{icon:"fa-solid fa-bars",class:"icon-menu"})]),_:1}),o(u,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=s=>e.drawer=s),"with-header":!1,size:"290px",class:"drawer"},{default:p(()=>[o(r)]),_:1},8,["modelValue"])])}var rn=I(tn,[["render",an],["__scopeId","data-v-8d7a06d2"],["__file","/home/runner/work/Nexior/Nexior/src/layouts/Chat.vue"]]);const ln=N({name:"ChatConversation",components:{Composer:Yt,Disclaimer:ks,ModelSelector:vs,Message:Ft,Layout:rn},data(){var e,t;return{drawer:!1,question:"",references:[],upload:!1,answering:!1,canceler:void 0,messages:((t=(e=this.$store.state.chat.conversations)==null?void 0:e.find(n=>{var c;return n.id===((c=this.$route.params.id)==null?void 0:c.toString())}))==null?void 0:t.messages)||[]}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},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},applications(){return this.$store.state.chat.applications},credential(){var e;return(e=this.$store.state.chat)==null?void 0:e.credential},needApply(){return this.$store.state.chat.status.getApplications===ne.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===ne.Request}},watch:{async references(e){console.log("references changed",e)},async modelGroup(e){console.debug("modelGroup changed",e)},async conversationId(e){console.debug("conversationId changed",e)}},async mounted(){await this.onGetService(),await this.onGetApplication(),await this.onGetConversations()},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 onStop(){this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){var h,$,f,u,s,m,y,w,k,q,A,E,V,T,D;const t=this.messages.findIndex(C=>C===e),n=this.messages[t-1];let c=[];if(t!==-1){if(c=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof n.content=="string")this.question=n.content;else if(Array.isArray(n.content))for(let C=0;C<(n==null?void 0:n.content.length);C++)n.content[C].type==="image_url"&&(typeof(($=(h=n==null?void 0:n.content)==null?void 0:h[C])==null?void 0:$.image_url)=="string"?this.references.push((u=(f=n==null?void 0:n.content)==null?void 0:f[C])==null?void 0:u.image_url):this.references.push((y=(m=(s=n==null?void 0:n.content)==null?void 0:s[C])==null?void 0:m.image_url)==null?void 0:y.url)),n.content[C].type==="file_url"&&(typeof((k=(w=n==null?void 0:n.content)==null?void 0:w[C])==null?void 0:k.file_url)=="string"?this.references.push((A=(q=n==null?void 0:n.content)==null?void 0:q[C])==null?void 0:A.file_url):this.references.push((T=(V=(E=n==null?void 0:n.content)==null?void 0:E[C])==null?void 0:V.file_url)==null?void 0:T.url)),n.content[C].type==="text"&&(this.question=n.content[C].text)}console.debug("onRestart!",this.question,JSON.stringify(this.references));const v=(D=this.credential)==null?void 0:D.token,d=this.question;if(!v||!d){console.error("no token or endpoint or question"),this.messages.push({error:{code:z},role:j,state:U.FAILED});return}let r=this.conversationId;K.updateConversation({id:this.conversationId,messages:c},{token:v}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:r,messages:this.messages}),console.debug("finished update conversation",this.messages),console.debug("onRestart",this.question),await this.onRequest()}).catch(C=>{this.handleRequestError(C)})},async onEdit(e,t){var d;const n=this.messages.findIndex(r=>r===e);n!==-1&&(this.messages=this.messages.slice(0,n)),this.question=t;const c=(d=this.credential)==null?void 0:d.token;if(!c){console.error("no token or endpoint or question"),this.messages.push({error:{code:z},role:j,state:U.FAILED});return}let v=this.conversationId;K.updateConversation({id:this.conversationId,messages:this.messages},{token:c}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:v,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:oe}),console.debug("onEdit",this.question),await this.onRequest()}).catch(r=>{this.handleRequestError(r)})},async onNewConversation(){this.$router.push({name:He}),this.messages=[],this.question="",this.references=[]},async onRestoreConversation(e){var d;this.$router.push({name:me,params:{id:e}});const t=(d=this.conversations)==null?void 0:d.find(r=>r.id===e),n=t==null?void 0:t.model;console.debug("conversation model",n);const c=Be.find(r=>r.name===n);console.debug("target model",c);const v=je.find(r=>r.name===(c==null?void 0:c.modelGroup));console.debug("target model group",v),this.$store.dispatch("chat/setModelGroup",v),this.$store.dispatch("chat/setModel",c),this.messages=(t==null?void 0:t.messages)||[],this.onScrollDown()},async onChangeConversation(e){console.log("onChangeConversation in conversation",e),e?this.onRestoreConversation(e):this.onNewConversation()},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++)ie(this.references[t])?e.push({type:"image_url",image_url:this.references[t]}):e.push({type:"file_url",file_url:this.references[t]});this.messages.push({content:e,role:oe})}else this.messages.push({content:this.question,role:oe});console.debug("onSubmit",this.question,this.references),await this.onRequest()},async onRequest(){var v;console.debug("start to get answer",this.messages);const e=(v=this.credential)==null?void 0:v.token,t=this.question,n=this.references;if(console.debug("validated",t,n),this.question="",this.references=[],!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:z},role:j,state:U.FAILED});return}let c=this.conversationId;this.messages.push({content:"",role:j,state:U.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,K.chatConversation({question:t,model:this.model.name,references:n,id:this.conversationId,stateful:!0},{token:e,stream:d=>{console.debug("stream response",d);const r=this.messages[this.messages.length-1];this.messages[this.messages.length-1]={role:j,content:d.answer,state:(r==null?void 0:r.state)!==U.FINISHED?U.ANSWERING:r==null?void 0:r.state},c=d==null?void 0:d.id},signal:this.canceler.signal}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=U.FINISHED,console.debug("finished fetch answer",JSON.stringify(this.messages)),await this.$store.dispatch("chat/setConversation",{id:c,messages:this.messages}),this.answering=!1,c&&await this.$router.push({name:me,params:{id:c}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(d=>{this.handleRequestError(d)})},async handleRequestError(e){if(console.error("error happened",e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=U.FAILED),e.name==="AbortError"){console.error("aborted");return}else e instanceof We?(console.debug("BaseError",e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):Ne.isCancel(e)?this.messages[this.messages.length-1].error={code:fe}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:ge});this.answering=!1},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".messages");!e||!this.messages||this.messages.length===0||(e.scrollTop=e==null?void 0:e.scrollHeight)},0)}}}),dn={key:0,class:"messages"},cn={class:"starter"};function un(e,t,n,c,v,d){const r=i("model-selector"),h=i("message"),$=i("composer"),f=i("disclaimer"),u=i("layout");return a(),b(u,{onChangeConversation:t[4]||(t[4]=s=>e.onChangeConversation(s))},{chat:p(()=>[o(r,{class:"selector",onModelGroupChanged:t[0]||(t[0]=s=>e.onChangeConversation(void 0))}),l("div",{class:P({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(a(),_("div",dn,[(a(!0),_(G,null,F(e.messages,(s,m)=>(a(),b(h,{key:m,message:s,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":t[1]||(t[1]=y=>e.question=y),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))])):S("v-if",!0),l("div",cn,[o($,{question:e.question,"onUpdate:question":t[2]||(t[2]=s=>e.question=s),disabled:e.answering,references:e.references,"onUpdate:references":t[3]||(t[3]=s=>e.references=s),onSubmit:e.onSubmit,onStop:e.onStop},null,8,["question","disabled","references","onSubmit","onStop"]),o(f,{class:"disclaimer"})])],2)]),_:1})}var Sn=I(ln,[["render",un],["__scopeId","data-v-3ab2fb26"],["__file","/home/runner/work/Nexior/Nexior/src/pages/chat/Conversation.vue"]]);export{Sn as default};
|