@acedatacloud/nexior 3.2.2 → 3.4.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.12cc7be5.js +1 -0
- package/dist/assets/Callback.734b5a11.js +1 -0
- package/dist/assets/{Chatdoc.e3a25d38.js → Chatdoc.f7ad2e25.js} +1 -1
- package/dist/assets/Console.5279ab94.js +1 -0
- package/dist/assets/{Conversation.7a1052e9.js → Conversation.bdf70cd4.js} +1 -1
- package/dist/assets/{Conversation.d0fea332.js → Conversation.ca582900.js} +1 -1
- package/dist/assets/{CopyToClipboard.ff135372.js → CopyToClipboard.d8ea70c0.js} +1 -1
- package/dist/assets/Detail.dbd67b08.js +1 -0
- package/dist/assets/{EditArray.fe3be781.js → EditArray.d2770a6b.js} +1 -1
- package/dist/assets/Extra.ab32060e.js +1 -0
- package/dist/assets/History.9915a651.js +1 -0
- package/dist/assets/{ImagePreview.ed465056.js → ImagePreview.c5dbea05.js} +1 -1
- package/dist/assets/Index.16d36149.js +1 -0
- package/dist/assets/Index.24e5c4af.js +1 -0
- package/dist/assets/Index.30107071.js +1 -0
- package/dist/assets/Index.3909ada8.js +1 -0
- package/dist/assets/Index.41586f5d.js +1 -0
- package/dist/assets/Index.4a370bae.js +1 -0
- package/dist/assets/Index.66cf2e75.js +1 -0
- package/dist/assets/Index.6dca1a46.js +1 -0
- package/dist/assets/Index.792a52b5.js +1 -0
- package/dist/assets/{Index.736050cd.js → Index.b5fdded1.js} +2 -2
- package/dist/assets/Index.b6d67e56.js +1 -0
- package/dist/assets/Index.c0d15e5c.js +1 -0
- package/dist/assets/Index.ff12eb5c.js +1 -0
- package/dist/assets/{InfoIcon.172685bc.js → InfoIcon.a5ac0a75.js} +1 -1
- package/dist/assets/Invitees.05887d5b.js +1 -0
- package/dist/assets/KaTeX_AMS-Regular.0cdd387c.woff2 +0 -0
- package/dist/assets/KaTeX_AMS-Regular.30da91e8.woff +0 -0
- package/dist/assets/KaTeX_AMS-Regular.68534840.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold.07d8e303.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold.1ae6bd74.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold.de7701e4.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular.3398dd02.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular.5d53e70a.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular.ed0b7437.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold.74444efd.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold.9163df9c.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold.9be7ceb8.woff +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular.1e6f9579.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular.51814d27.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular.5e28753b.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold.0f60d1b8.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Bold.138ac28d.ttf +0 -0
- package/dist/assets/KaTeX_Main-Bold.c76c5d69.woff +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic.70ee1f64.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic.99cd42a3.woff2 +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic.a6f7ec0d.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic.0d85ae7c.ttf +0 -0
- package/dist/assets/KaTeX_Main-Italic.97479ca6.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Italic.f1d6ef86.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular.c2342cd8.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular.c6368d87.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular.d0332f52.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic.850c0af5.woff +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic.dc47344d.woff2 +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic.f9377ab0.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic.08ce98e5.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic.7af58c5e.woff2 +0 -0
- package/dist/assets/KaTeX_Math-Italic.8a8d2445.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold.1ece03f7.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold.e99ae511.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold.ece03cfd.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic.00b26ac8.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic.3931dd81.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic.91ee6750.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular.11e4dc8a.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular.68e8c73e.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular.f36ea897.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular.036d4e95.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular.1c67f068.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular.d96cdf2b.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular.6b47c401.woff2 +0 -0
- package/dist/assets/KaTeX_Size1-Regular.95b6d2f1.ttf +0 -0
- package/dist/assets/KaTeX_Size1-Regular.c943cc98.woff +0 -0
- package/dist/assets/KaTeX_Size2-Regular.2014c523.woff +0 -0
- package/dist/assets/KaTeX_Size2-Regular.a6b2099f.ttf +0 -0
- package/dist/assets/KaTeX_Size2-Regular.d04c5421.woff2 +0 -0
- package/dist/assets/KaTeX_Size3-Regular.500e04d5.ttf +0 -0
- package/dist/assets/KaTeX_Size3-Regular.6ab6b62e.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular.99f9c675.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular.a4af7d41.woff2 +0 -0
- package/dist/assets/KaTeX_Size4-Regular.c647367d.ttf +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular.71d517d6.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular.e14fed02.woff +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular.f01f3e87.ttf +0 -0
- package/dist/assets/List.243253b5.js +1 -0
- package/dist/assets/List.51dc0131.js +1 -0
- package/dist/assets/List.db09cfa2.js +1 -0
- package/dist/assets/Login.1c60ad3a.js +1 -0
- package/dist/assets/Main.0297906b.js +1 -0
- package/dist/assets/Manage.85cea796.js +1 -0
- package/dist/assets/MarkdownRenderer.8973deb6.js +1 -0
- package/dist/assets/{Navigator.afc902fd.js → Navigator.fe99f65f.js} +1 -1
- package/dist/assets/{Pagination.8b289687.js → Pagination.0ba2e8a8.js} +1 -1
- package/dist/assets/Setting.5c64a79d.js +1 -0
- package/dist/assets/{Status.262204eb.js → Status.b99d05d8.js} +1 -1
- package/dist/assets/Subscribe.50e8102e.js +1 -0
- package/dist/assets/{distribution.b731316d.js → distribution.4ec51377.js} +1 -1
- package/dist/assets/index.184d52f7.js +3 -0
- package/dist/assets/index.9d20d705.css +1 -0
- package/dist/assets/{order.87c1d91b.js → order.458da799.js} +1 -1
- package/dist/assets/{price.4ab7e0ad.js → price.f93b8cf3.js} +1 -1
- package/dist/assets/{vendor-@vue.8cef8b94.js → vendor-@vue.30126b18.js} +1 -1
- package/dist/assets/{vendor-element-plus.7eade167.js → vendor-element-plus.b61d898b.js} +1 -1
- package/dist/assets/{vendor-fortawesome.0d8f27df.js → vendor-fortawesome.a228a0e7.js} +1 -1
- package/dist/assets/vendor-markdown.64d20655.js +15 -0
- package/dist/assets/vendor-others.32a9cc65.js +376 -0
- package/dist/assets/vendor-others.7742907f.css +1 -0
- package/dist/assets/{vendor-qrcode.ef88fffc.js → vendor-qrcode.38ad4424.js} +1 -1
- package/dist/assets/{vendor-vue-dark-switch.869ebb1e.js → vendor-vue-dark-switch.bf0d8693.js} +1 -1
- package/dist/index.html +9 -8
- package/package.json +5 -3
- package/dist/assets/Auth.61f24ff8.js +0 -1
- package/dist/assets/Callback.0f3d8c09.js +0 -1
- package/dist/assets/Console.153b0c1e.js +0 -1
- package/dist/assets/Detail.82a87828.js +0 -1
- package/dist/assets/Extra.19da7140.js +0 -1
- package/dist/assets/History.2b971672.js +0 -1
- package/dist/assets/Index.03691b6d.js +0 -1
- package/dist/assets/Index.4d821bfb.js +0 -1
- package/dist/assets/Index.5907ea1f.js +0 -1
- package/dist/assets/Index.635f6d80.js +0 -1
- package/dist/assets/Index.85bdd5ac.js +0 -1
- package/dist/assets/Index.88dff53d.js +0 -1
- package/dist/assets/Index.8c9ae33c.js +0 -1
- package/dist/assets/Index.a56f5f7e.js +0 -1
- package/dist/assets/Index.cc3dec50.js +0 -1
- package/dist/assets/Index.d18d4500.js +0 -1
- package/dist/assets/Index.df31918d.js +0 -1
- package/dist/assets/Index.fec053d3.js +0 -1
- package/dist/assets/Invitees.36f0ec98.js +0 -1
- package/dist/assets/List.303bb7ef.js +0 -1
- package/dist/assets/List.756698f8.js +0 -1
- package/dist/assets/List.d580198f.js +0 -1
- package/dist/assets/Login.d85ce254.js +0 -1
- package/dist/assets/Main.e9324ada.js +0 -1
- package/dist/assets/Manage.c1a074b7.js +0 -1
- package/dist/assets/MarkdownRenderer.f3bc9b58.js +0 -1
- package/dist/assets/Setting.b0b24d3c.js +0 -1
- package/dist/assets/Subscribe.c3b26945.js +0 -1
- package/dist/assets/index.56bf2312.css +0 -1
- package/dist/assets/index.af944887.js +0 -3
- package/dist/assets/vendor-markdown.4f590479.js +0 -16
- package/dist/assets/vendor-others.e28a6fa7.js +0 -110
- package/dist/assets/vendor-others.fbff9a31.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{_}from"./index.184d52f7.js";import{d as s,e as c}from"./vendor-element-plus.b61d898b.js";import{H as i,al as e,L as p,M as o,o as m,V as t}from"./vendor-@vue.30126b18.js";import"./vendor-markdown.64d20655.js";import"./vendor-axios.168e6950.js";import"./vendor-qrcode.38ad4424.js";import"./vendor-fortawesome.a228a0e7.js";const l=i({name:"LayoutAuth",components:{ElContainer:s,ElMain:c}});function u(d,f,v,h,x,w){const n=e("router-view"),r=e("el-main"),a=e("el-container");return m(),p(a,null,{default:o(()=>[t(r,null,{default:o(()=>[t(n)]),_:1})]),_:1})}var L=_(l,[["render",u],["__scopeId","data-v-8e16c232"],["__file","/home/runner/work/Nexior/Nexior/src/layouts/Auth.vue"]]);export{L as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{_ as r}from"./index.184d52f7.js";import{H as t}from"./vendor-@vue.30126b18.js";import"./vendor-element-plus.b61d898b.js";import"./vendor-markdown.64d20655.js";import"./vendor-axios.168e6950.js";import"./vendor-qrcode.38ad4424.js";import"./vendor-fortawesome.a228a0e7.js";const a=t({name:"AuthCallback",data(){var e;return{redirect:(e=this.$route.query.redirect)==null?void 0:e.toString()}},async mounted(){this.redirect?await this.$router.push(this.redirect):await this.$router.push("/")}});var n=r(a,[["__scopeId","data-v-4aa7f9d0"],["__file","/home/runner/work/Nexior/Nexior/src/pages/auth/Callback.vue"]]);export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./vendor-others.
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{aj as v,ai as y,_ as C}from"./index.184d52f7.js";import{ar as $}from"./vendor-fortawesome.a228a0e7.js";import{q as w,r as g}from"./vendor-element-plus.b61d898b.js";import{H as k,al as n,o as s,e as d,L as l,M as p,f as r,V as N,T as u,U as x,ai as A,S as I,R as M,I as E}from"./vendor-@vue.30126b18.js";const R=k({name:"LayoutChatdoc",components:{ElMenu:w,ElMenuItem:g,FontAwesomeIcon:$},data(){var e,t;return{repositoryId:(t=(e=this.$route.params)==null?void 0:e.repositoryId)==null?void 0:t.toString(),drawer:!1,menuItems:[{index:"chat",title:this.$t("chatdoc.nav.chat"),route:{name:v}},{index:"manage",title:this.$t("chatdoc.nav.manage"),route:{name:y}}]}},computed:{activeMenu(){var t;const e=this.menuItems.filter(o=>{var a;return((a=o.route)==null?void 0:a.name)===this.$route.name});if(e)return(t=e[0])==null?void 0:t.index},repository(){var e,t,o;return(o=(t=(e=this.$store.state)==null?void 0:e.chatdoc)==null?void 0:t.repositories)==null?void 0:o.find(a=>a.id===this.repositoryId)}},async mounted(){await this.getService(),await this.onGetApplications(),await this.onGetRepositories()},methods:{async getService(){await this.$store.dispatch("chatdoc/getService")},async onGetApplications(){await this.$store.dispatch("chatdoc/getApplications")},async onGetRepositories(){await this.$store.dispatch("chatdoc/getRepositories")},async onClickMenu(e){this.activeMenu=e.index,e.route&&await this.$router.push({...e.route,params:{id:this.repositoryId}})}}}),S={class:"main"},T={class:"repository"},O={class:"chatdoc"};function V(e,t,o,a,G,L){const m=n("font-awesome-icon"),h=n("el-menu-item"),_=n("el-menu");return s(),d("div",S,[e.repositoryId?(s(),l(_,{key:0,"default-active":e.activeMenu,mode:"horizontal",ellipsis:!1,class:"menu"},{default:p(()=>{var c;return[r("div",T,[N(m,{class:"mr-2",icon:["fas","book"]}),r("span",null,u((c=e.repository)==null?void 0:c.name),1)]),(s(!0),d(x,null,A(e.menuItems,(i,f)=>(s(),l(h,{key:f,index:i.index,onClick:B=>e.onClickMenu(i)},{default:p(()=>[I(u(i.title),1)]),_:2},1032,["index","onClick"]))),128))]}),_:1},8,["default-active"])):M("v-if",!0),r("div",O,[E(e.$slots,"chatdoc",{},void 0,!0)])])}var j=C(R,[["render",V],["__scopeId","data-v-35d9dd71"],["__file","/home/runner/work/Nexior/Nexior/src/layouts/Chatdoc.vue"]]);export{j as L};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{N as v}from"./Navigator.fe99f65f.js";import{i as h,R as $,a as w,b as N,c as g,_}from"./index.184d52f7.js";import{ar as x}from"./vendor-fortawesome.a228a0e7.js";import{H as m,al as a,o as t,e as i,f as s,U as C,ai as L,P as O,V as r,T as y,L as E,R as k}from"./vendor-@vue.30126b18.js";import"./vendor-element-plus.b61d898b.js";import"./vendor-markdown.64d20655.js";import"./EditArray.d2770a6b.js";import"./vendor-axios.168e6950.js";import"./vendor-qrcode.38ad4424.js";const S=m({name:"Navigator",components:{FontAwesomeIcon:x},computed:{isOfficial(){return h()},active(){return this.$route.matched[0].path},user(){return this.$store.getters.user},links(){return[{key:"application-list",text:this.$t("console.menu.applicationList"),name:$,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:w,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:N,icon:"fa-solid fa-rotate-left"}]}},mounted(){},methods:{onHome(){this.$router.push({name:g})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href&&window.open(e.href,"_blank")}}}),I={class:"side-panel"},T={class:"links"},R=["onClick"],b={class:"icon"},P={class:"text"},U={class:"outer"};function A(e,c,d,p,u,f){const n=a("font-awesome-icon");return t(),i("div",I,[s("div",T,[(t(!0),i(C,null,L(e.links,(o,l)=>(t(),i("a",{key:l,class:O({link:!0,active:e.$route.name===o.name}),onClick:H=>e.onNavigate(o)},[s("span",b,[r(n,{icon:o.icon,class:"text-sm"},null,8,["icon"])]),s("span",P,y(o.text),1),s("span",U,[!o.name&&o.href?(t(),E(n,{key:0,icon:"fa-solid fa-up-right-from-square",class:"text-sm ml-2"})):k("v-if",!0)]),c[0]||(c[0]=s("span",{class:"suffix"},null,-1))],10,R))),128))])])}var B=_(S,[["render",A],["__scopeId","data-v-3859f1b5"],["__file","/home/runner/work/Nexior/Nexior/src/components/console/SidePanel.vue"]]);const V=m({name:"LayoutConsole",components:{SidePanel:B,Navigator:v},data(){return{mobile:window.innerWidth<768}},mounted(){window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})}}),D={class:"wrapper"},z={class:"main"};function F(e,c,d,p,u,f){const n=a("side-panel"),o=a("router-view"),l=a("navigator");return t(),i("div",D,[s("div",z,[r(n,{class:"side"}),r(o,{class:"panel"})]),r(l,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"])])}var Z=_(V,[["render",F],["__scopeId","data-v-44569c68"],["__file","/home/runner/work/Nexior/Nexior/src/layouts/Console.vue"]]);export{Z as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ad as L}from"./vendor-others.e28a6fa7.js";import{L as P}from"./Chatdoc.e3a25d38.js";import{ak as F,am as b,an as A,_ as I,M as T,O as q,P as H,Q as z,T as G,U as K,V as W,W as v,X as N,a0 as O,a2 as Q,N as J,ao as j}from"./index.af944887.js";import{a as X}from"./vendor-axios.168e6950.js";import{ar as D}from"./vendor-fortawesome.0d8f27df.js";import{t as V,H as Y,I as Z,u as x}from"./vendor-element-plus.7eade167.js";import{H as E,al as l,o,e as c,L as h,f as i,V as m,T as k,U as R,ai as M,P as S,as as U,R as f,$ as w,M as B,S as ee}from"./vendor-@vue.8cef8b94.js";import{M as se}from"./MarkdownRenderer.f3bc9b58.js";import{C as te}from"./CopyToClipboard.ff135372.js";import{A as oe}from"./Status.262204eb.js";import"./vendor-qrcode.ef88fffc.js";import"./vendor-markdown.4f590479.js";import"./vendor-highlight.js.6ee9ffbc.js";var $=(e=>(e.PENDING="pending",e.ANSWERING="answering",e.FINISHED="finished",e.FAILED="failed",e))($||{});const ie=E({name:"SidePanel",components:{ElInput:V,FontAwesomeIcon:D,ElSkeleton:Y},props:{},emits:["click"],computed:{repositoryId(){var e,t;return(t=(e=this.$route.params)==null?void 0:e.repositoryId)==null?void 0:t.toString()},conversationId(){var e,t;return(t=(e=this.$route.params)==null?void 0:e.conversationId)==null?void 0:t.toString()},repository(){var e,t,n;return(n=(t=(e=this.$store.state)==null?void 0:e.chatdoc)==null?void 0:t.repositories)==null?void 0:n.find(d=>d.id===this.repositoryId)},conversations(){var e;return(e=this.repository)==null?void 0:e.conversations},application(){return this.$store.state.chatdoc.application}},methods:{async onNewConversation(){this.$router.push({name:F,params:{repositoryId:this.repositoryId}})},async onConfirm(e){e!=null&&e.deleting?(await b.deleteConversation(e.id),await this.$store.dispatch("chat/getConversations")):e!=null&&e.editing?(await b.updateConversation(e),await this.$store.dispatch("chat/getConversations")):e.editing=!0},onClick(e){!e||(this.$router.push({name:A,params:{repositoryId:this.repositoryId,conversationId:e}}),this.$emit("click",e))}}}),ne={class:"panel"},ae={key:1,class:"conversations"},re={class:"icons"},le={class:"title"},de=["onClick"],ce={class:"icons"},ue={class:"title"},pe={key:0},he={key:1},me={key:2},_e={class:"operations"};function ge(e,t,n,d,r,y){const u=l("el-skeleton"),a=l("font-awesome-icon"),_=l("el-input");return o(),c("div",ne,[e.conversations===void 0?(o(),h(u,{key:0})):(o(),c("div",ae,[i("div",{class:"conversation",onClick:t[0]||(t[0]=(...s)=>e.onNewConversation&&e.onNewConversation(...s))},[i("div",re,[m(a,{icon:"fa-solid fa-plus",class:"icon"})]),i("div",le,k(e.$t("chatdoc.message.startNewChat")),1)]),(o(!0),c(R,null,M(e.conversations,(s,C)=>{var p;return o(),c("div",{key:C,class:S({conversation:!0,active:s.id===e.conversationId}),onClick:g=>e.onClick(s.id)},[i("div",ce,[m(a,{icon:"fa-regular fa-comment",class:"icon"})]),i("div",ue,[s!=null&&s.deleting?(o(),c("span",pe,k(`${e.$t("chatdoc.message.confirmDelete")}?`),1)):s!=null&&s.editing?(o(),c("span",he,[m(_,{modelValue:s.title,"onUpdate:modelValue":g=>s.title=g,onKeydown:U(g=>e.onConfirm(s),["enter"])},null,8,["modelValue","onUpdate:modelValue","onKeydown"])])):(s==null?void 0:s.title)||(s==null?void 0:s.messages)?(o(),c("span",me,k((s==null?void 0:s.title)||((p=s==null?void 0:s.messages[(s==null?void 0:s.messages.length)-1])==null?void 0:p.content)),1)):f("v-if",!0)]),i("div",_e,[!(s!=null&&s.editing)&&!s.deleting?(o(),h(a,{key:0,icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:w(g=>s.editing=!0,["stop"])},null,8,["onClick"])):f("v-if",!0),!(s!=null&&s.editing)&&!s.deleting?(o(),h(a,{key:1,icon:"fa-solid fa-trash",class:"icon icon-delete",onClick:w(g=>s.deleting=!0,["stop"])},null,8,["onClick"])):f("v-if",!0),(s==null?void 0:s.editing)||s.deleting?(o(),h(a,{key:2,icon:"fa-solid fa-check",class:"icon icon-confirm",onClick:w(g=>e.onConfirm(s),["stop"])},null,8,["onClick"])):f("v-if",!0),(s==null?void 0:s.editing)||s.deleting?(o(),h(a,{key:3,icon:"fa-solid fa-xmark",class:"icon icon-cancel",onClick:w(g=>{s.editing=!1,s.deleting=!1},["stop"])},null,8,["onClick"])):f("v-if",!0)])],10,de)}),128))]))])}var fe=I(ie,[["render",ge],["__scopeId","data-v-2282a6e1"],["__file","/home/runner/work/Nexior/Nexior/src/components/chatdoc/Conversations.vue"]]);const ye=E({name:"AnsweringMark",data(){return{}},computed:{conversationId(){var e,t;return(t=(e=this.$route.params)==null?void 0:e.conversationId)==null?void 0:t.toString()}}}),$e={class:"mark"};function Ce(e,t,n,d,r,y){return o(),c("div",$e)}var we=I(ye,[["render",Ce],["__file","/home/runner/work/Nexior/Nexior/src/components/chatdoc/AnsweringMark.vue"]]);const ke=E({name:"Message",components:{CopyToClipboard:te,AnsweringMark:we,MarkdownRenderer:se,ElAlert:Z,ElButton:x},props:{message:{type:Object,required:!0}},emits:["stop"],data(){return{copied:!1,messageState:$}},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 v:return this.$t("chatdoc.message.errorUsedUp");case W:return this.$t("chatdoc.message.errorApiError");case K:return this.$t("chatdoc.message.errorBadRequest");case G:return this.$t("chatdoc.message.errorTimeout");case z:return this.$t("chatdoc.message.errorTooManyRequests");case H:return this.$t("chatdoc.message.errorContentTooLarge");case q:return this.$t("chatdoc.message.errorNotApplied");case T:default:return this.$t("chatdoc.message.errorUnknown")}},showBuyMore(){var e;return this.message.role===N&&((e=this.message.error)==null?void 0:e.code)===v}},methods:{onCopy(){L(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){}}}),Ie=["role"],Ee={class:"content"},Ne={class:"operations"};function Re(e,t,n,d,r,y){var p;const u=l("markdown-renderer"),a=l("answering-mark"),_=l("copy-to-clipboard"),s=l("el-alert"),C=l("el-button");return o(),c(R,null,[i("div",{class:S({message:!0,[e.message.role]:!0,hidden:e.errorText&&e.message.role==="assistant"}),role:e.message.role},[i("div",Ee,[m(u,{content:(p=e.message)==null?void 0:p.content},null,8,["content"]),e.message.state===e.messageState.PENDING?(o(),h(a,{key:0})):f("v-if",!0)]),i("div",Ne,[m(_,{content:e.message.content,class:"btn-copy"},null,8,["content"])])],10,Ie),e.errorText?(o(),h(s,{key:0,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):f("v-if",!0),e.showBuyMore?(o(),h(C,{key:1,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:B(()=>[ee(k(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):f("v-if",!0)],64)}var be=I(ke,[["render",Re],["__scopeId","data-v-95a62450"],["__file","/home/runner/work/Nexior/Nexior/src/components/chatdoc/Message.vue"]]);const Se=E({name:"InputBox",components:{ElInput:V,FontAwesomeIcon:D},props:{disabled:{type:Boolean,required:!1,default:!1},question:{type:String,required:!0}},emits:["update:question","submit"],data(){return{questionValue:this.question,fileList:[]}},computed:{model(){return this.$store.state.chat.model}},watch:{questionValue(e){this.$emit("update:question",e)},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){e.length===0&&(this.fileList=[])}},methods:{onSubmit(){!this.question||this.$emit("submit")}}}),ve={class:"input-box"},Oe={class:"info"};function Ae(e,t,n,d,r,y){const u=l("font-awesome-icon"),a=l("el-input");return o(),c(R,null,[i("div",ve,[i("span",{class:S({btn:!0,"btn-send":!0,disabled:!e.question}),onClick:t[0]||(t[0]=(..._)=>e.onSubmit&&e.onSubmit(..._))},[m(u,{icon:"fa-solid fa-location-arrow",class:"icon icon-send"})],2),m(a,{modelValue:e.questionValue,"onUpdate:modelValue":t[1]||(t[1]=_=>e.questionValue=_),disabled:e.disabled,class:"input",type:"textarea",placeholder:e.$t("chat.message.newMessagePlaceholder"),onKeydown:U(w(e.onSubmit,["exact","prevent"]),["enter"])},null,8,["modelValue","disabled","placeholder","onKeydown"])]),i("p",Oe,k(e.$t("chat.message.howToUse")),1)],64)}var Te=I(Se,[["render",Ae],["__scopeId","data-v-7ed35c20"],["__file","/home/runner/work/Nexior/Nexior/src/components/chatdoc/InputBox.vue"]]);const qe=E({name:"ChatdocConversation",components:{Layout:P,Conversations:fe,Message:be,InputBox:Te,ApplicationStatus:oe},data(){return{loading:!1,repositoryId:this.$route.params.repositoryId.toString(),answering:!1,question:""}},computed:{messages:{get(){var e,t;return((t=(e=this.conversations)==null?void 0:e.find(n=>{var d;return n.id===((d=this.$route.params.conversationId)==null?void 0:d.toString())}))==null?void 0:t.messages)||[]},set(e){console.debug("set messages",e)}},repository(){var e,t,n;return(n=(t=(e=this.$store.state)==null?void 0:e.chatdoc)==null?void 0:t.repositories)==null?void 0:n.find(d=>d.id===this.repositoryId)},conversations(){var e;return(e=this.repository)==null?void 0:e.conversations},conversationId(){var e;return(e=this.$route.params.conversationId)==null?void 0:e.toString()},application(){return this.$store.state.chatdoc.application},credential(){return this.$store.state.chatdoc.credential},needApply(){return this.$store.state.chatdoc.status.getApplications===O.Success&&!this.application},initializing(){return this.$store.state.chatdoc.status.getApplications===O.Request},service(){return this.$store.state.chatdoc.service}},async mounted(){console.debug("start get conversations"),this.loading=!0,this.$store.dispatch("chatdoc/getConversations",{repositoryId:this.repositoryId}).finally(()=>{this.loading=!1})},methods:{async onSubmit(){this.messages.push({content:this.question,role:Q}),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 d;const e=(d=this.credential)==null?void 0:d.token,t=this.question;if(console.debug(this.onFetchAnswer,"validated",t),this.question="",!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:q},role:N,state:$.FAILED});return}let n=this.conversationId;this.messages.push({content:"",role:N,state:$.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,b.chatConversation({repositoryId:this.repositoryId,question:t,id:this.conversationId},{token:e,stream:r=>{this.messages[this.messages.length-1]={role:N,content:r.answer,state:$.ANSWERING},n=r.id,this.onScrollDown()}}).then(async()=>{console.debug("finished fetch answer"),this.messages[this.messages.length-1].state=$.FINISHED,await this.$store.dispatch("chatdoc/setConversation",{id:n,messages:this.messages,repositoryId:this.repositoryId}),this.answering=!1,this.conversationId||(console.debug("push to conversation",n),await this.$router.push({name:A,params:{conversationId:n,repositoryId:this.repositoryId}})),this.onScrollDown(),await this.$store.dispatch("chatdoc/getConversations",{repositoryId:this.repositoryId})}).catch(r=>{var y,u;if(this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=$.FAILED),console.error(r),X.isCancel(r))this.messages[this.messages.length-1].error={code:J};else if((y=r==null?void 0:r.response)!=null&&y.data){let a=(u=r==null?void 0:r.response)==null?void 0:u.data;j(a)&&(a=JSON.parse(a)),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error=a.error)}else this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:T});this.answering=!1})}}}),De={class:"wrapper"},Ve={class:"chat"},Me={class:"status"},Ue={class:"dialogue"},Be={class:"messages"},Le={class:"bottom"};function Pe(e,t,n,d,r,y){const u=l("conversations"),a=l("application-status"),_=l("message"),s=l("input-box"),C=l("layout");return o(),h(C,null,{chatdoc:B(()=>[i("div",De,[m(u,{class:"side"}),i("div",Ve,[i("div",Me,[m(a,{"show-price":!1,initializing:e.initializing,application:e.application,"need-apply":e.needApply,service:e.service,onRefresh:t[0]||(t[0]=p=>e.$store.dispatch("chatdoc/getApplications"))},null,8,["initializing","application","need-apply","service"])]),i("div",Ue,[i("div",Be,[(o(!0),c(R,null,M(e.messages,(p,g)=>(o(),h(_,{key:g,message:p,class:"message"},null,8,["message"]))),128))])]),i("div",Le,[m(s,{disabled:e.answering,question:e.question,"onUpdate:question":t[1]||(t[1]=p=>e.question=p),onSubmit:e.onSubmit},null,8,["disabled","question","onSubmit"])])])])]),_:1})}var es=I(qe,[["render",Pe],["__scopeId","data-v-24089614"],["__file","/home/runner/work/Nexior/Nexior/src/pages/chatdoc/Conversation.vue"]]);export{es as default};
|
|
1
|
+
import{ak as L}from"./vendor-others.32a9cc65.js";import{L as P}from"./Chatdoc.f7ad2e25.js";import{aj as F,al as b,am as A,_ as I,M as T,O as q,P as H,Q as z,T as G,U as K,V as W,W as v,X as N,a0 as O,a2 as Q,N as j,an as J}from"./index.184d52f7.js";import{a as X}from"./vendor-axios.168e6950.js";import{ar as D}from"./vendor-fortawesome.a228a0e7.js";import{t as V,H as Y,I as Z,u as x}from"./vendor-element-plus.b61d898b.js";import{H as E,al as l,o,e as c,L as h,f as i,V as m,T as k,U as R,ai as M,P as S,as as U,R as f,$ as w,M as B,S as ee}from"./vendor-@vue.30126b18.js";import{M as se}from"./MarkdownRenderer.8973deb6.js";import{C as te}from"./CopyToClipboard.d8ea70c0.js";import{A as oe}from"./Status.b99d05d8.js";import"./vendor-markdown.64d20655.js";import"./vendor-qrcode.38ad4424.js";import"./vendor-highlight.js.6ee9ffbc.js";var $=(e=>(e.PENDING="pending",e.ANSWERING="answering",e.FINISHED="finished",e.FAILED="failed",e))($||{});const ie=E({name:"SidePanel",components:{ElInput:V,FontAwesomeIcon:D,ElSkeleton:Y},props:{},emits:["click"],computed:{repositoryId(){var e,t;return(t=(e=this.$route.params)==null?void 0:e.repositoryId)==null?void 0:t.toString()},conversationId(){var e,t;return(t=(e=this.$route.params)==null?void 0:e.conversationId)==null?void 0:t.toString()},repository(){var e,t,n;return(n=(t=(e=this.$store.state)==null?void 0:e.chatdoc)==null?void 0:t.repositories)==null?void 0:n.find(d=>d.id===this.repositoryId)},conversations(){var e;return(e=this.repository)==null?void 0:e.conversations},application(){return this.$store.state.chatdoc.application}},methods:{async onNewConversation(){this.$router.push({name:F,params:{repositoryId:this.repositoryId}})},async onConfirm(e){e!=null&&e.deleting?(await b.deleteConversation(e.id),await this.$store.dispatch("chat/getConversations")):e!=null&&e.editing?(await b.updateConversation(e),await this.$store.dispatch("chat/getConversations")):e.editing=!0},onClick(e){!e||(this.$router.push({name:A,params:{repositoryId:this.repositoryId,conversationId:e}}),this.$emit("click",e))}}}),ne={class:"panel"},ae={key:1,class:"conversations"},re={class:"icons"},le={class:"title"},de=["onClick"],ce={class:"icons"},ue={class:"title"},pe={key:0},he={key:1},me={key:2},_e={class:"operations"};function ge(e,t,n,d,r,y){const u=l("el-skeleton"),a=l("font-awesome-icon"),_=l("el-input");return o(),c("div",ne,[e.conversations===void 0?(o(),h(u,{key:0})):(o(),c("div",ae,[i("div",{class:"conversation",onClick:t[0]||(t[0]=(...s)=>e.onNewConversation&&e.onNewConversation(...s))},[i("div",re,[m(a,{icon:"fa-solid fa-plus",class:"icon"})]),i("div",le,k(e.$t("chatdoc.message.startNewChat")),1)]),(o(!0),c(R,null,M(e.conversations,(s,C)=>{var p;return o(),c("div",{key:C,class:S({conversation:!0,active:s.id===e.conversationId}),onClick:g=>e.onClick(s.id)},[i("div",ce,[m(a,{icon:"fa-regular fa-comment",class:"icon"})]),i("div",ue,[s!=null&&s.deleting?(o(),c("span",pe,k(`${e.$t("chatdoc.message.confirmDelete")}?`),1)):s!=null&&s.editing?(o(),c("span",he,[m(_,{modelValue:s.title,"onUpdate:modelValue":g=>s.title=g,onKeydown:U(g=>e.onConfirm(s),["enter"])},null,8,["modelValue","onUpdate:modelValue","onKeydown"])])):(s==null?void 0:s.title)||(s==null?void 0:s.messages)?(o(),c("span",me,k((s==null?void 0:s.title)||((p=s==null?void 0:s.messages[(s==null?void 0:s.messages.length)-1])==null?void 0:p.content)),1)):f("v-if",!0)]),i("div",_e,[!(s!=null&&s.editing)&&!s.deleting?(o(),h(a,{key:0,icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:w(g=>s.editing=!0,["stop"])},null,8,["onClick"])):f("v-if",!0),!(s!=null&&s.editing)&&!s.deleting?(o(),h(a,{key:1,icon:"fa-solid fa-trash",class:"icon icon-delete",onClick:w(g=>s.deleting=!0,["stop"])},null,8,["onClick"])):f("v-if",!0),(s==null?void 0:s.editing)||s.deleting?(o(),h(a,{key:2,icon:"fa-solid fa-check",class:"icon icon-confirm",onClick:w(g=>e.onConfirm(s),["stop"])},null,8,["onClick"])):f("v-if",!0),(s==null?void 0:s.editing)||s.deleting?(o(),h(a,{key:3,icon:"fa-solid fa-xmark",class:"icon icon-cancel",onClick:w(g=>{s.editing=!1,s.deleting=!1},["stop"])},null,8,["onClick"])):f("v-if",!0)])],10,de)}),128))]))])}var fe=I(ie,[["render",ge],["__scopeId","data-v-2282a6e1"],["__file","/home/runner/work/Nexior/Nexior/src/components/chatdoc/Conversations.vue"]]);const ye=E({name:"AnsweringMark",data(){return{}},computed:{conversationId(){var e,t;return(t=(e=this.$route.params)==null?void 0:e.conversationId)==null?void 0:t.toString()}}}),$e={class:"mark"};function Ce(e,t,n,d,r,y){return o(),c("div",$e)}var we=I(ye,[["render",Ce],["__file","/home/runner/work/Nexior/Nexior/src/components/chatdoc/AnsweringMark.vue"]]);const ke=E({name:"Message",components:{CopyToClipboard:te,AnsweringMark:we,MarkdownRenderer:se,ElAlert:Z,ElButton:x},props:{message:{type:Object,required:!0}},emits:["stop"],data(){return{copied:!1,messageState:$}},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 v:return this.$t("chatdoc.message.errorUsedUp");case W:return this.$t("chatdoc.message.errorApiError");case K:return this.$t("chatdoc.message.errorBadRequest");case G:return this.$t("chatdoc.message.errorTimeout");case z:return this.$t("chatdoc.message.errorTooManyRequests");case H:return this.$t("chatdoc.message.errorContentTooLarge");case q:return this.$t("chatdoc.message.errorNotApplied");case T:default:return this.$t("chatdoc.message.errorUnknown")}},showBuyMore(){var e;return this.message.role===N&&((e=this.message.error)==null?void 0:e.code)===v}},methods:{onCopy(){L(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){}}}),Ie=["role"],Ee={class:"content"},Ne={class:"operations"};function Re(e,t,n,d,r,y){var p;const u=l("markdown-renderer"),a=l("answering-mark"),_=l("copy-to-clipboard"),s=l("el-alert"),C=l("el-button");return o(),c(R,null,[i("div",{class:S({message:!0,[e.message.role]:!0,hidden:e.errorText&&e.message.role==="assistant"}),role:e.message.role},[i("div",Ee,[m(u,{content:(p=e.message)==null?void 0:p.content},null,8,["content"]),e.message.state===e.messageState.PENDING?(o(),h(a,{key:0})):f("v-if",!0)]),i("div",Ne,[m(_,{content:e.message.content,class:"btn-copy"},null,8,["content"])])],10,Ie),e.errorText?(o(),h(s,{key:0,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):f("v-if",!0),e.showBuyMore?(o(),h(C,{key:1,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:B(()=>[ee(k(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):f("v-if",!0)],64)}var be=I(ke,[["render",Re],["__scopeId","data-v-95a62450"],["__file","/home/runner/work/Nexior/Nexior/src/components/chatdoc/Message.vue"]]);const Se=E({name:"InputBox",components:{ElInput:V,FontAwesomeIcon:D},props:{disabled:{type:Boolean,required:!1,default:!1},question:{type:String,required:!0}},emits:["update:question","submit"],data(){return{questionValue:this.question,fileList:[]}},computed:{model(){return this.$store.state.chat.model}},watch:{questionValue(e){this.$emit("update:question",e)},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){e.length===0&&(this.fileList=[])}},methods:{onSubmit(){!this.question||this.$emit("submit")}}}),ve={class:"input-box"},Oe={class:"info"};function Ae(e,t,n,d,r,y){const u=l("font-awesome-icon"),a=l("el-input");return o(),c(R,null,[i("div",ve,[i("span",{class:S({btn:!0,"btn-send":!0,disabled:!e.question}),onClick:t[0]||(t[0]=(..._)=>e.onSubmit&&e.onSubmit(..._))},[m(u,{icon:"fa-solid fa-location-arrow",class:"icon icon-send"})],2),m(a,{modelValue:e.questionValue,"onUpdate:modelValue":t[1]||(t[1]=_=>e.questionValue=_),disabled:e.disabled,class:"input",type:"textarea",placeholder:e.$t("chat.message.newMessagePlaceholder"),onKeydown:U(w(e.onSubmit,["exact","prevent"]),["enter"])},null,8,["modelValue","disabled","placeholder","onKeydown"])]),i("p",Oe,k(e.$t("chat.message.howToUse")),1)],64)}var Te=I(Se,[["render",Ae],["__scopeId","data-v-7ed35c20"],["__file","/home/runner/work/Nexior/Nexior/src/components/chatdoc/InputBox.vue"]]);const qe=E({name:"ChatdocConversation",components:{Layout:P,Conversations:fe,Message:be,InputBox:Te,ApplicationStatus:oe},data(){return{loading:!1,repositoryId:this.$route.params.repositoryId.toString(),answering:!1,question:""}},computed:{messages:{get(){var e,t;return((t=(e=this.conversations)==null?void 0:e.find(n=>{var d;return n.id===((d=this.$route.params.conversationId)==null?void 0:d.toString())}))==null?void 0:t.messages)||[]},set(e){console.debug("set messages",e)}},repository(){var e,t,n;return(n=(t=(e=this.$store.state)==null?void 0:e.chatdoc)==null?void 0:t.repositories)==null?void 0:n.find(d=>d.id===this.repositoryId)},conversations(){var e;return(e=this.repository)==null?void 0:e.conversations},conversationId(){var e;return(e=this.$route.params.conversationId)==null?void 0:e.toString()},application(){return this.$store.state.chatdoc.application},credential(){return this.$store.state.chatdoc.credential},needApply(){return this.$store.state.chatdoc.status.getApplications===O.Success&&!this.application},initializing(){return this.$store.state.chatdoc.status.getApplications===O.Request},service(){return this.$store.state.chatdoc.service}},async mounted(){console.debug("start get conversations"),this.loading=!0,this.$store.dispatch("chatdoc/getConversations",{repositoryId:this.repositoryId}).finally(()=>{this.loading=!1})},methods:{async onSubmit(){this.messages.push({content:this.question,role:Q}),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 d;const e=(d=this.credential)==null?void 0:d.token,t=this.question;if(console.debug(this.onFetchAnswer,"validated",t),this.question="",!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:q},role:N,state:$.FAILED});return}let n=this.conversationId;this.messages.push({content:"",role:N,state:$.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,b.chatConversation({repositoryId:this.repositoryId,question:t,id:this.conversationId},{token:e,stream:r=>{this.messages[this.messages.length-1]={role:N,content:r.answer,state:$.ANSWERING},n=r.id,this.onScrollDown()}}).then(async()=>{console.debug("finished fetch answer"),this.messages[this.messages.length-1].state=$.FINISHED,await this.$store.dispatch("chatdoc/setConversation",{id:n,messages:this.messages,repositoryId:this.repositoryId}),this.answering=!1,this.conversationId||(console.debug("push to conversation",n),await this.$router.push({name:A,params:{conversationId:n,repositoryId:this.repositoryId}})),this.onScrollDown(),await this.$store.dispatch("chatdoc/getConversations",{repositoryId:this.repositoryId})}).catch(r=>{var y,u;if(this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=$.FAILED),console.error(r),X.isCancel(r))this.messages[this.messages.length-1].error={code:j};else if((y=r==null?void 0:r.response)!=null&&y.data){let a=(u=r==null?void 0:r.response)==null?void 0:u.data;J(a)&&(a=JSON.parse(a)),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error=a.error)}else this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:T});this.answering=!1})}}}),De={class:"wrapper"},Ve={class:"chat"},Me={class:"status"},Ue={class:"dialogue"},Be={class:"messages"},Le={class:"bottom"};function Pe(e,t,n,d,r,y){const u=l("conversations"),a=l("application-status"),_=l("message"),s=l("input-box"),C=l("layout");return o(),h(C,null,{chatdoc:B(()=>[i("div",De,[m(u,{class:"side"}),i("div",Ve,[i("div",Me,[m(a,{"show-price":!1,initializing:e.initializing,application:e.application,"need-apply":e.needApply,service:e.service,onRefresh:t[0]||(t[0]=p=>e.$store.dispatch("chatdoc/getApplications"))},null,8,["initializing","application","need-apply","service"])]),i("div",Ue,[i("div",Be,[(o(!0),c(R,null,M(e.messages,(p,g)=>(o(),h(_,{key:g,message:p,class:"message"},null,8,["message"]))),128))])]),i("div",Le,[m(s,{disabled:e.answering,question:e.question,"onUpdate:question":t[1]||(t[1]=p=>e.question=p),onSubmit:e.onSubmit},null,8,["disabled","question","onSubmit"])])])])]),_:1})}var es=I(qe,[["render",Pe],["__scopeId","data-v-24089614"],["__file","/home/runner/work/Nexior/Nexior/src/pages/chatdoc/Conversation.vue"]]);export{es as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as le}from"./vendor-axios.168e6950.js";import{ad as de}from"./vendor-others.e28a6fa7.js";import{_ as D,K as J,L as N,M as oe,N as ne,O as B,P as ce,Q as ue,T as pe,U as me,V as he,W as Z,X as O,H as ge,A as _e,Y as j,Z as x,$ as ee,a0 as Q,a1 as H,a2 as K,a3 as fe,a4 as $e,a5 as ye}from"./index.af944887.js";import{H as I,o as n,e as u,al as l,L as f,M as C,V as m,f as r,O as M,W,T as R,R as w,av as ve,U as L,ai as U,as as X,$ as T,S as z,P as G,aw as we,a0 as Ce,I as se}from"./vendor-@vue.8cef8b94.js";import{M as ke}from"./MarkdownRenderer.f3bc9b58.js";import{C as be}from"./CopyToClipboard.ff135372.js";import{ar as A}from"./vendor-fortawesome.0d8f27df.js";import{s as Y,P as Ee,I as Re,u as ae,m as Se,t as ie,x as qe,y as te,h as De,i as Ie,j as Ne,H as Ge,Q as Ae}from"./vendor-element-plus.7eade167.js";import{I as Oe}from"./ImagePreview.ed465056.js";import"./vendor-qrcode.ef88fffc.js";import"./vendor-markdown.4f590479.js";import"./vendor-highlight.js.6ee9ffbc.js";const Te=I({name:"AnsweringMark",data(){return{}},computed:{conversationId(){var e,s;return(s=(e=this.$route.params)==null?void 0:e.id)==null?void 0:s.toString()}}}),Me={class:"mark"};function Le(e,s,o,p,h,a){return n(),u("div",Me)}var Ue=D(Te,[["render",Le],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/AnsweringMark.vue"]]);const Pe=I({name:"CopyToClipboard",components:{FontAwesomeIcon:A,ElTooltip:Y},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function Ve(e,s,o,p,h,a){const i=l("font-awesome-icon"),c=l("el-tooltip");return n(),f(c,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:C(()=>[m(i,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}var Fe=D(Pe,[["render",Ve],["__scopeId","data-v-18116778"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/RestartToGenerate.vue"]]);const He=I({name:"EditMessage",components:{FontAwesomeIcon:A,ElTooltip:Y},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["click"],data(){return{copied:!1}},methods:{onEdit(){this.$emit("click")}}});function Be(e,s,o,p,h,a){const i=l("font-awesome-icon"),c=l("el-tooltip");return n(),u("span",null,[m(c,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:C(()=>[m(i,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.onEdit},null,8,["onClick"])]),_:1},8,["content"])])}var We=D(He,[["render",Be],["__scopeId","data-v-5c26bf56"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/EditMessage.vue"]]);const je=I({name:"FilePreview",components:{FontAwesomeIcon:A,ElProgress:Ee},props:{name:{type:String,required:!0},percentage:{type:Number,required:!0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"],methods:{isImageUrl:J}}),Ke={class:"file"},ze={class:"left"},Qe={class:"wrapper"},Je={class:"right"},Xe={class:"text-xs font-bold truncate"},Ye={key:0,class:"close"};function Ze(e,s,o,p,h,a){const i=l("font-awesome-icon"),c=l("el-progress");return n(),u("div",Ke,[r("div",ze,[r("div",Qe,[m(i,{icon:"fa-regular fa-file-alt"}),M(m(c,{type:"circle","stroke-width":3,percentage:e.percentage,width:25},null,8,["percentage"]),[[W,e.percentage&&e.percentage<100]])])]),r("div",Je,[r("span",Xe,R(e.name),1)]),e.closable?(n(),u("div",Ye,[m(i,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:s[0]||(s[0]=$=>e.$emit("remove"))})])):w("v-if",!0)])}var re=D(je,[["render",Ze],["__scopeId","data-v-0b782a78"],["__file","/home/runner/work/Nexior/Nexior/src/components/common/FilePreview.vue"]]);const xe=I({name:"Message",components:{EditMessage:We,CopyToClipboard:be,RestartToGenerate:Fe,AnsweringMark:Ue,MarkdownRenderer:ke,ElAlert:Re,FilePreview:re,ElButton:ae,ElImage:Se,ElInput:ie},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:N}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},errorText(){var e,s,o;if(console.debug("error",this.message.error),!(!this.message.error||!((e=this.message.error)!=null&&e.code))){if((s=this.message.error)!=null&&s.message)return this.message.error.message;switch((o=this.message.error)==null?void 0:o.code){case Z:return this.$t("chat.message.errorUsedUp");case he:return this.$t("chat.message.errorApiError");case me:return this.$t("chat.message.errorBadRequest");case pe:return this.$t("chat.message.errorTimeout");case ue:return this.$t("chat.message.errorTooManyRequests");case ce:return this.$t("chat.message.errorContentTooLarge");case B:return this.$t("chat.message.errorNotApplied");case ne:return;case oe:default:return this.$t("chat.message.errorUnknown")}}},showBuyMore(){var e;return this.message.role===O&&((e=this.message.error)==null?void 0:e.code)===Z}},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(){de(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){var e;this.$router.push({name:ge,params:{id:(e=this.application)==null?void 0:e.id}})}}}),es=["role"],ss={class:"author"},ts={key:0,class:"main"},os={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"},ns={key:0,class:"message-content"},as={key:1},is=["src"],rs={key:1,class:"edits"},ls={class:"flex justify-end"},ds={class:"operations"};function cs(e,s,o,p,h,a){var E;const i=l("el-image"),c=l("markdown-renderer"),$=l("file-preview"),y=l("el-input"),d=l("el-button"),t=l("answering-mark"),k=l("edit-message"),S=l("copy-to-clipboard"),g=l("restart-to-generate"),_=l("el-alert"),q=ve("motion");return n(),u("div",{class:G({message:!0,[e.message.role]:!0}),role:e.message.role},[r("div",ss,[e.message.role==="assistant"?(n(),f(i,{key:0,src:e.modelGroup.icon,fit:"cover",class:"avatar"},null,8,["src"])):w("v-if",!0)]),e.errorText?(n(),f(_,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(n(),u("div",ts,[M((n(),u("div",os,[e.isEditing?(n(),u("div",rs,[m(y,{modelValue:e.questionValue,"onUpdate:modelValue":s[0]||(s[0]=v=>e.questionValue=v),type:"textarea",class:"mb-2",onKeydown:X(T(e.onEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),r("div",ls,[m(d,{round:"",onClick:e.cancelEdit},{default:C(()=>[z(R(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),m(d,{type:"primary",class:"btn-confirm",round:"",onClick:e.onEdit},{default:C(()=>[z(R(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(n(),u("div",ns,[Array.isArray(e.message.content)?(n(),u("div",as,[(n(!0),u(L,null,U(e.message.content,(v,P)=>{var V,F;return n(),u("div",{key:P},[v.type==="image_url"?(n(),u("img",{key:0,src:typeof(v==null?void 0:v.image_url)=="string"?v.image_url:(V=v.image_url)==null?void 0:V.url,fit:"cover",class:"image"},null,8,is)):w("v-if",!0),v.file_url?(n(),f($,{key:1,name:typeof(v==null?void 0:v.file_url)=="string"?v.file_url:(F=v.file_url)==null?void 0:F.url,percentage:0,closable:!1,class:"mt-2"},null,8,["name"])):w("v-if",!0),v.type==="text"?(n(),f(c,{key:P,content:v.text},null,8,["content"])):w("v-if",!0)])}),128))])):(n(),f(c,{key:0,content:(E=e.message)==null?void 0:E.content},null,8,["content"]))])),e.message.state===e.messageState.PENDING?(n(),f(t,{key:2})):w("v-if",!0)])),[[q]]),r("div",ds,[e.message.role==="user"&&!e.isEditing&&!Array.isArray(e.message.content)?(n(),f(k,{key:0,class:"btn-edit",onClick:e.startEditing},null,8,["onClick"])):w("v-if",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(n(),f(S,{key:1,content:e.message.content,class:"btn-copy"},null,8,["content"])):w("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]?(n(),f(g,{key:2,class:"btn-restart",messages:e.messages,onRestart:e.onRestart},null,8,["messages","onRestart"])):w("v-if",!0)])])),e.showBuyMore?(n(),f(d,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:C(()=>[z(R(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):w("v-if",!0)],10,es)}var us=D(xe,[["render",cs],["__scopeId","data-v-f0476f80"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Message.vue"]]);const ps=I({name:"Composer",components:{FilePreview:re,ImagePreview:Oe,ElTooltip:Y,FontAwesomeIcon:A,ElUpload:qe},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:_e()+"/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 s;return(s=e==null?void 0:e.response)==null?void 0:s.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:J,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,s,o){console.debug("File upload progress:",s.name,e.loaded,e.total)},onExceed(){te.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){te.error(this.$t("chat.message.uploadReferencesError"))}}}),ms={class:"composer"},hs={class:"tools"},gs=["disabled","placeholder"];function _s(e,s,o,p,h,a){const i=l("image-preview"),c=l("file-preview"),$=l("font-awesome-icon"),y=l("el-tooltip"),d=l("el-upload");return n(),u("div",ms,[r("div",hs,[m(d,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=t=>e.fileList=t),class:G({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:C(({file:t})=>{var k;return[e.isImageUrl(t.name)?(n(),f(i,{key:0,url:t.url||((k=t.response)==null?void 0:k.file_url),name:t.name,percentage:t.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,["url","name","percentage","onRemove"])):(n(),f(c,{key:1,name:t.name,percentage:t.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,["name","percentage","onRemove"]))]}),default:C(()=>[m(y,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"bottom"},{default:C(()=>[r("span",{class:G({btn:!0,"btn-upload":!0,disabled:!e.model.isFileSupported||e.disabled})},[m($,{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(r("span",{class:G({btn:!0,"btn-send":!0,disabled:!e.questionValue}),onClick:s[1]||(s[1]=(...t)=>e.onSubmit&&e.onSubmit(...t))},[m($,{icon:"fa-solid fa-location-arrow",class:"icon icon-send"})],2),[[W,!e.disabled]]),M(r("span",{class:G({btn:!0,"btn-stop":!0,disabled:!e.disabled}),onClick:s[2]||(s[2]=(...t)=>e.onStop&&e.onStop(...t))},[m($,{icon:"fa-solid fa-stop",class:"icon icon-stop"})],2),[[W,e.disabled]]),M(r("textarea",{ref:"textarea","onUpdate:modelValue":s[3]||(s[3]=t=>e.questionValue=t),disabled:e.disabled,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:Ce({height:e.inputHeight}),onKeydown:s[4]||(s[4]=X(T((...t)=>e.onSubmit&&e.onSubmit(...t),["exact","prevent"]),["enter"])),onInput:s[5]||(s[5]=(...t)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...t))},null,44,gs),[[we,e.questionValue]])])}var fs=D(ps,[["render",_s],["__scopeId","data-v-a443d292"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Composer.vue"]]);const $s=I({name:"ModelSelector",components:{ElDropdown:De,ElDropdownMenu:Ie,ElDropdownItem:Ne,FontAwesomeIcon:A},emits:["update:modelValue","select","model-group-changed","model-changed"],data(){return{options:[j,x,ee]}},computed:{model(){return console.log("model",this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){var e;return((e=this.$route.meta)==null?void 0:e.modelGroup)||j}},watch:{modelGroup(e){console.debug("modelGroup from route changed",e),this.$store.dispatch("chat/setModelGroup",e),this.$store.dispatch("chat/setModel",e.models[0])}},mounted(){console.debug("ModelSelector mounted, checking model group");const s=[j,x,ee].find(o=>o.name===this.modelGroup.name);console.debug("Found model group:",s),s&&(this.$store.dispatch("chat/setModelGroup",s),this.$store.dispatch("chat/setModel",s.models[0]))},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)}}}),ys={class:"selector"},vs={class:"flex justify-center mr-1"},ws={class:"icon"},Cs=["src"],ks={class:"name"},bs={class:"angle"},Es={class:"item"},Rs={class:"icon"},Ss=["src"],qs={class:"info"},Ds={class:"name"},Is={class:"description"},Ns={class:"flex justify-center"},Gs={class:"name"},As={class:"angle"},Os={class:"item"},Ts={class:"info"},Ms={key:0,class:"name"},Ls={key:1,class:"description"};function Us(e,s,o,p,h,a){const i=l("font-awesome-icon"),c=l("el-dropdown-item"),$=l("el-dropdown-menu"),y=l("el-dropdown");return n(),u("div",ys,[M(m(y,{trigger:"click","popper-class":"popper"},{dropdown:C(()=>[m($,null,{default:C(()=>[(n(!0),u(L,null,U(e.options,(d,t)=>(n(),f(c,{key:t,onClick:k=>e.onModelGroupChange(d)},{default:C(()=>[r("div",Es,[r("div",Rs,[r("img",{src:d.icon},null,8,Ss)]),r("div",qs,[r("p",Ds,R(d.getDisplayName()),1),r("p",Is,R(d.getDescription()),1)])])]),_:2},1032,["onClick"]))),128))]),_:1})]),default:C(()=>{var d;return[r("div",vs,[r("span",ws,[r("img",{src:e.modelGroup.icon},null,8,Cs)]),r("span",ks,R((d=e.modelGroup)==null?void 0:d.getDisplayName()),1),r("span",bs,[m(i,{icon:"fa-solid fa-angle-down"})])])]}),_:1},512),[[W,!1]]),m(y,{trigger:"click","popper-class":"popper"},{dropdown:C(()=>[e.modelGroup&&e.modelGroup.models?(n(),f($,{key:0},{default:C(()=>[(n(!0),u(L,null,U(e.modelGroup.models,(d,t)=>(n(),f(c,{key:t,onClick:k=>e.onModelChange(d)},{default:C(()=>[r("div",Os,[r("div",Ts,[d.getDisplayName?(n(),u("p",Ms,R(d.getDisplayName()),1)):w("v-if",!0),d.getDescription?(n(),u("p",Ls,R(d.getDescription()),1)):w("v-if",!0)])])]),_:2},1032,["onClick"]))),128))]),_:1})):w("v-if",!0)]),default:C(()=>{var d;return[r("div",Ns,[r("span",Gs,R((d=e.model)==null?void 0:d.getDisplayName()),1),r("span",As,[m(i,{icon:"fa-solid fa-angle-down"})])])]}),_:1})])}var Ps=D($s,[["render",Us],["__scopeId","data-v-358d65be"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/ModelSelector.vue"]]);const Vs={},Fs={class:"disclaimer"};function Hs(e,s){return n(),u("p",Fs,R(e.$t("chat.message.howToUse")),1)}var Bs=D(Vs,[["render",Hs],["__scopeId","data-v-42e751f2"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Disclaimer.vue"]]);const Ws=I({name:"SidePanel",components:{ElInput:ie,FontAwesomeIcon:A,ElSkeleton:Ge},props:{},emits:["change-conversation"],computed:{modelGroup(){return this.$store.state.chat.modelGroup},conversationId(){var e,s,o;return console.debug("conversationId in side",(e=this.$route.params)==null?void 0:e.id),(o=(s=this.$route.params)==null?void 0:s.id)==null?void 0:o.toString()},conversationGroups(){var i,c,$,y,d,t,k,S;let e=this.$store.state.chat.conversations;console.debug("conversations",e),console.debug("modelGroup",this.modelGroup),e=e==null?void 0:e.filter(g=>{var _,q;return g.model&&((q=(_=this.modelGroup.models)==null?void 0:_.map(E=>E.name))==null?void 0:q.includes(g.model))}),console.debug("filtered conversations",e);const s=new Date;s.setHours(0,0,0,0);const o=new Date(s);o.setDate(o.getDate()-1);const p=new Date(s);p.setDate(p.getDate()-s.getDay());const h=new Date(p);h.setDate(h.getDate()-7);const a=e==null?void 0:e.reduce((g,_)=>{const q=new Date(_.updated_at*1e3);return q>=s?g.today.push(_):q>=o?g.yesterday.push(_):q>=p?g.thisWeek.push(_):g.earlier.push(_),g},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...((i=a==null?void 0:a.today)==null?void 0:i.length)>0?{today:(c=a==null?void 0:a.today)==null?void 0:c.sort((g,_)=>_.updated_at-g.updated_at)}:{},...(($=a==null?void 0:a.yesterday)==null?void 0:$.length)>0?{yesterday:(y=a==null?void 0:a.yesterday)==null?void 0:y.sort((g,_)=>_.updated_at-g.updated_at)}:{},...((d=a==null?void 0:a.thisWeek)==null?void 0:d.length)>0?{thisWeek:(t=a==null?void 0:a.thisWeek)==null?void 0:t.sort((g,_)=>_.updated_at-g.updated_at)}:{},...((k=a==null?void 0:a.earlier)==null?void 0:k.length)>0?{earlier:(S=a==null?void 0:a.earlier)==null?void 0:S.sort((g,_)=>_.updated_at-g.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===Q.Request},token(){var e,s;return(s=(e=this.$store.state.chat)==null?void 0:e.credential)==null?void 0:s.token}},methods:{async onNewConversation(){console.debug("onNewConversation from side panel"),this.$emit("change-conversation",void 0)},async onConfirm(e){const s=this.token;if(!s){console.error("Token is not found");return}(e==null?void 0:e.deleting)&&e.id?(await H.deleteConversation(e.id,{token:s}),await this.$store.dispatch("chat/getConversations")):e!=null&&e.editing?(await H.updateConversation(e,{token:s}),await this.$store.dispatch("chat/getConversations")):e.editing=!0},onClickConversation(e){console.debug("onClickConversation in side panel",e),this.$emit("change-conversation",e)}}}),js={class:"panel"},Ks={key:1,class:"conversations"},zs={class:"icons"},Qs={class:"title"},Js={class:"key"},Xs=["onClick"],Ys={class:"title"},Zs={key:0},xs={key:1},et={key:2},st={class:"operations"};function tt(e,s,o,p,h,a){const i=l("el-skeleton"),c=l("font-awesome-icon"),$=l("el-input");return n(),u("div",js,[e.loading&&e.conversationGroups===void 0?(n(),f(i,{key:0})):(n(),u("div",Ks,[r("div",{class:"conversation",onClick:s[0]||(s[0]=(...y)=>e.onNewConversation&&e.onNewConversation(...y))},[r("div",zs,[m(c,{icon:"fa-solid fa-plus",class:"icon"})]),r("div",Qs,R(e.$t("chat.message.startNewChat")),1)]),(n(!0),u(L,null,U(e.conversationGroups,(y,d)=>(n(),u("div",{key:d,class:"group"},[r("div",Js,R(e.$t(`chat.group.${d}`)),1),(n(!0),u(L,null,U(y,(t,k)=>{var S,g,_,q;return n(),u("div",{key:k,class:G({conversation:!0,active:t.id===e.conversationId}),onClick:E=>e.onClickConversation(t.id)},[r("div",Ys,[t!=null&&t.deleting?(n(),u("span",Zs,R(`${e.$t("chat.message.confirmDelete")}?`),1)):t!=null&&t.editing?(n(),u("span",xs,[m($,{modelValue:t.title,"onUpdate:modelValue":E=>t.title=E,onKeydown:X(E=>e.onConfirm(t),["enter"])},null,8,["modelValue","onUpdate:modelValue","onKeydown"])])):(t==null?void 0:t.title)||(t==null?void 0:t.messages)?(n(),u("span",et,R((t==null?void 0:t.title)||((g=(S=t==null?void 0:t.messages)==null?void 0:S[(t==null?void 0:t.messages.length)-1])==null?void 0:g.content)||((q=(_=t==null?void 0:t.messages)==null?void 0:_[0])==null?void 0:q.content)),1)):w("v-if",!0)]),r("div",st,[!(t!=null&&t.editing)&&!t.deleting?(n(),f(c,{key:0,icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:T(E=>t.editing=!0,["stop"])},null,8,["onClick"])):w("v-if",!0),!(t!=null&&t.editing)&&!t.deleting?(n(),f(c,{key:1,icon:"fa-solid fa-trash",class:"icon icon-delete",onClick:T(E=>t.deleting=!0,["stop"])},null,8,["onClick"])):w("v-if",!0),(t==null?void 0:t.editing)||t.deleting?(n(),f(c,{key:2,icon:"fa-solid fa-check",class:"icon icon-confirm",onClick:T(E=>e.onConfirm(t),["stop"])},null,8,["onClick"])):w("v-if",!0),(t==null?void 0:t.editing)||t.deleting?(n(),f(c,{key:3,icon:"fa-solid fa-xmark",class:"icon icon-cancel",onClick:T(E=>{t.editing=!1,t.deleting=!1},["stop"])},null,8,["onClick"])):w("v-if",!0)])],10,Xs)}),128))]))),128))]))])}var ot=D(Ws,[["render",tt],["__scopeId","data-v-d866c834"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/SidePanel.vue"]]);const nt=I({name:"LayoutChat",components:{SidePanel:ot,ElDrawer:Ae,ElButton:ae,FontAwesomeIcon:A},emits:["change-conversation"],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug("onChangeConversation in layout",e),this.$emit("change-conversation",e)}}}),at={class:"main"},it={class:"side"},rt={class:"chat"};function lt(e,s,o,p,h,a){const i=l("side-panel"),c=l("font-awesome-icon"),$=l("el-button"),y=l("el-drawer");return n(),u("div",at,[r("div",it,[se(e.$slots,"side",{},()=>[m(i,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])],!0)]),r("div",rt,[se(e.$slots,"chat",{},void 0,!0)]),m($,{round:"",class:"menu",onClick:s[0]||(s[0]=d=>e.drawer=!0)},{default:C(()=>[m(c,{icon:"fa-solid fa-bars",class:"icon-menu"})]),_:1}),m(y,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=d=>e.drawer=d),"with-header":!1,size:"290px",class:"drawer"},{default:C(()=>[m(i)]),_:1},8,["modelValue"])])}var dt=D(nt,[["render",lt],["__scopeId","data-v-8d7a06d2"],["__file","/home/runner/work/Nexior/Nexior/src/layouts/Chat.vue"]]);const ct=I({name:"ChatConversation",components:{Composer:fs,Disclaimer:Bs,ModelSelector:Ps,Message:us,Layout:dt},data(){var e,s;return{drawer:!1,question:"",references:[],upload:!1,answering:!1,canceler:void 0,messages:((s=(e=this.$store.state.chat.conversations)==null?void 0:e.find(o=>{var p;return o.id===((p=this.$route.params.id)==null?void 0:p.toString())}))==null?void 0:s.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(s=>s.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===Q.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===Q.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 c,$,y,d,t,k,S,g,_,q,E,v,P,V,F;const s=this.messages.findIndex(b=>b===e),o=this.messages[s-1];let p=[];if(s!==-1){if(p=this.messages.slice(0,s-1),this.messages=this.messages.slice(0,s),this.references=[],typeof o.content=="string")this.question=o.content;else if(Array.isArray(o.content))for(let b=0;b<(o==null?void 0:o.content.length);b++)o.content[b].type==="image_url"&&(typeof(($=(c=o==null?void 0:o.content)==null?void 0:c[b])==null?void 0:$.image_url)=="string"?this.references.push((d=(y=o==null?void 0:o.content)==null?void 0:y[b])==null?void 0:d.image_url):this.references.push((S=(k=(t=o==null?void 0:o.content)==null?void 0:t[b])==null?void 0:k.image_url)==null?void 0:S.url)),o.content[b].type==="file_url"&&(typeof((_=(g=o==null?void 0:o.content)==null?void 0:g[b])==null?void 0:_.file_url)=="string"?this.references.push((E=(q=o==null?void 0:o.content)==null?void 0:q[b])==null?void 0:E.file_url):this.references.push((V=(P=(v=o==null?void 0:o.content)==null?void 0:v[b])==null?void 0:P.file_url)==null?void 0:V.url)),o.content[b].type==="text"&&(this.question=o.content[b].text)}console.debug("onRestart!",this.question,JSON.stringify(this.references));const h=(F=this.credential)==null?void 0:F.token,a=this.question;if(!h||!a){console.error("no token or endpoint or question"),this.messages.push({error:{code:B},role:O,state:N.FAILED});return}let i=this.conversationId;H.updateConversation({id:this.conversationId,messages:p},{token:h}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:i,messages:this.messages}),console.debug("finished update conversation",this.messages),console.debug("onRestart",this.question),await this.onRequest()}).catch(b=>{this.handleRequestError(b)})},async onEdit(e,s){var a;const o=this.messages.findIndex(i=>i===e);o!==-1&&(this.messages=this.messages.slice(0,o)),this.question=s;const p=(a=this.credential)==null?void 0:a.token;if(!p){console.error("no token or endpoint or question"),this.messages.push({error:{code:B},role:O,state:N.FAILED});return}let h=this.conversationId;H.updateConversation({id:this.conversationId,messages:this.messages},{token:p}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:h,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:K}),console.debug("onEdit",this.question),await this.onRequest()}).catch(i=>{this.handleRequestError(i)})},async onNewConversation(){this.$router.push({params:{id:""}}),this.messages=[],this.question="",this.references=[]},async onRestoreConversation(e){var i;console.debug("onRestoreConversation id",e),console.debug("onRestoreConversation route",this.$route);const s=this.$router.resolve({path:this.$route.path,params:{id:e}});console.debug("onRestoreConversation newRoute",s),this.$router.push(s);const o=(i=this.conversations)==null?void 0:i.find(c=>c.id===e),p=o==null?void 0:o.model;console.debug("conversation model",p);const h=fe.find(c=>c.name===p);console.debug("target model",h);const a=$e.find(c=>c.name===(h==null?void 0:h.modelGroup));console.debug("target model group",a),this.$store.dispatch("chat/setModelGroup",a),this.$store.dispatch("chat/setModel",h),this.messages=(o==null?void 0:o.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 s=0;s<this.references.length;s++)J(this.references[s])?e.push({type:"image_url",image_url:this.references[s]}):e.push({type:"file_url",file_url:this.references[s]});this.messages.push({content:e,role:K})}else this.messages.push({content:this.question,role:K});console.debug("onSubmit",this.question,this.references),await this.onRequest()},async onRequest(){var h;console.debug("start to get answer",this.messages);const e=(h=this.credential)==null?void 0:h.token,s=this.question,o=this.references;if(console.debug("validated",s,o),this.question="",this.references=[],!e||!s){console.error("no token or endpoint or question"),this.messages.push({error:{code:B},role:O,state:N.FAILED});return}let p=this.conversationId;this.messages.push({content:"",role:O,state:N.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,H.chatConversation({question:s,model:this.model.name,references:o,id:this.conversationId,stateful:!0},{token:e,stream:a=>{console.debug("stream response",a);const i=this.messages[this.messages.length-1];this.messages[this.messages.length-1]={role:O,content:a.answer,state:(i==null?void 0:i.state)!==N.FINISHED?N.ANSWERING:i==null?void 0:i.state},p=a==null?void 0:a.id},signal:this.canceler.signal}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=N.FINISHED,console.debug("finished fetch answer",JSON.stringify(this.messages)),await this.$store.dispatch("chat/setConversation",{id:p,messages:this.messages}),this.answering=!1,p&&await this.$router.push({params:{id:p}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(a=>{this.handleRequestError(a)})},async handleRequestError(e){if(console.error("error happened",e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=N.FAILED),e.name==="AbortError"){console.error("aborted");return}else e instanceof ye?(console.debug("BaseError",e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):le.isCancel(e)?this.messages[this.messages.length-1].error={code:ne}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:oe});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)}}}),ut={key:0,class:"messages"},pt={class:"starter"};function mt(e,s,o,p,h,a){const i=l("model-selector"),c=l("message"),$=l("composer"),y=l("disclaimer"),d=l("layout");return n(),f(d,{onChangeConversation:s[4]||(s[4]=t=>e.onChangeConversation(t))},{chat:C(()=>[m(i,{class:"selector",onModelGroupChanged:s[0]||(s[0]=t=>e.onChangeConversation(void 0))}),r("div",{class:G({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(n(),u("div",ut,[(n(!0),u(L,null,U(e.messages,(t,k)=>(n(),f(c,{key:k,message:t,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":s[1]||(s[1]=S=>e.question=S),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))])):w("v-if",!0),r("div",pt,[m($,{question:e.question,"onUpdate:question":s[2]||(s[2]=t=>e.question=t),disabled:e.answering,references:e.references,"onUpdate:references":s[3]||(s[3]=t=>e.references=t),onSubmit:e.onSubmit,onStop:e.onStop},null,8,["question","disabled","references","onSubmit","onStop"]),m(y,{class:"disclaimer"})])],2)]),_:1})}var Rt=D(ct,[["render",mt],["__scopeId","data-v-3ab2fb26"],["__file","/home/runner/work/Nexior/Nexior/src/pages/chat/Conversation.vue"]]);export{Rt as default};
|
|
1
|
+
import{a as le}from"./vendor-axios.168e6950.js";import{ak as de}from"./vendor-others.32a9cc65.js";import{_ as D,K as J,L as N,M as oe,N as ne,O as B,P as ce,Q as ue,T as pe,U as me,V as he,W as Z,X as O,H as ge,A as _e,Y as j,Z as x,$ as ee,a0 as Q,a1 as H,a2 as K,a3 as fe,a4 as $e,a5 as ye}from"./index.184d52f7.js";import{H as I,o as n,e as u,al as l,L as f,M as C,V as m,f as r,O as M,W,T as R,R as w,av as ve,U as L,ai as U,as as X,$ as T,S as z,P as G,aw as we,a0 as Ce,I as se}from"./vendor-@vue.30126b18.js";import{M as ke}from"./MarkdownRenderer.8973deb6.js";import{C as be}from"./CopyToClipboard.d8ea70c0.js";import{ar as A}from"./vendor-fortawesome.a228a0e7.js";import{s as Y,P as Ee,I as Re,u as ae,m as Se,t as ie,x as qe,y as te,h as De,i as Ie,j as Ne,H as Ge,Q as Ae}from"./vendor-element-plus.b61d898b.js";import{I as Oe}from"./ImagePreview.c5dbea05.js";import"./vendor-markdown.64d20655.js";import"./vendor-qrcode.38ad4424.js";import"./vendor-highlight.js.6ee9ffbc.js";const Te=I({name:"AnsweringMark",data(){return{}},computed:{conversationId(){var e,s;return(s=(e=this.$route.params)==null?void 0:e.id)==null?void 0:s.toString()}}}),Me={class:"mark"};function Le(e,s,o,p,h,a){return n(),u("div",Me)}var Ue=D(Te,[["render",Le],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/AnsweringMark.vue"]]);const Pe=I({name:"CopyToClipboard",components:{FontAwesomeIcon:A,ElTooltip:Y},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function Ve(e,s,o,p,h,a){const i=l("font-awesome-icon"),c=l("el-tooltip");return n(),f(c,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:C(()=>[m(i,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}var Fe=D(Pe,[["render",Ve],["__scopeId","data-v-18116778"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/RestartToGenerate.vue"]]);const He=I({name:"EditMessage",components:{FontAwesomeIcon:A,ElTooltip:Y},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["click"],data(){return{copied:!1}},methods:{onEdit(){this.$emit("click")}}});function Be(e,s,o,p,h,a){const i=l("font-awesome-icon"),c=l("el-tooltip");return n(),u("span",null,[m(c,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:C(()=>[m(i,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.onEdit},null,8,["onClick"])]),_:1},8,["content"])])}var We=D(He,[["render",Be],["__scopeId","data-v-5c26bf56"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/EditMessage.vue"]]);const je=I({name:"FilePreview",components:{FontAwesomeIcon:A,ElProgress:Ee},props:{name:{type:String,required:!0},percentage:{type:Number,required:!0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"],methods:{isImageUrl:J}}),Ke={class:"file"},ze={class:"left"},Qe={class:"wrapper"},Je={class:"right"},Xe={class:"text-xs font-bold truncate"},Ye={key:0,class:"close"};function Ze(e,s,o,p,h,a){const i=l("font-awesome-icon"),c=l("el-progress");return n(),u("div",Ke,[r("div",ze,[r("div",Qe,[m(i,{icon:"fa-regular fa-file-alt"}),M(m(c,{type:"circle","stroke-width":3,percentage:e.percentage,width:25},null,8,["percentage"]),[[W,e.percentage&&e.percentage<100]])])]),r("div",Je,[r("span",Xe,R(e.name),1)]),e.closable?(n(),u("div",Ye,[m(i,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:s[0]||(s[0]=$=>e.$emit("remove"))})])):w("v-if",!0)])}var re=D(je,[["render",Ze],["__scopeId","data-v-0b782a78"],["__file","/home/runner/work/Nexior/Nexior/src/components/common/FilePreview.vue"]]);const xe=I({name:"Message",components:{EditMessage:We,CopyToClipboard:be,RestartToGenerate:Fe,AnsweringMark:Ue,MarkdownRenderer:ke,ElAlert:Re,FilePreview:re,ElButton:ae,ElImage:Se,ElInput:ie},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:N}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},errorText(){var e,s,o;if(console.debug("error",this.message.error),!(!this.message.error||!((e=this.message.error)!=null&&e.code))){if((s=this.message.error)!=null&&s.message)return this.message.error.message;switch((o=this.message.error)==null?void 0:o.code){case Z:return this.$t("chat.message.errorUsedUp");case he:return this.$t("chat.message.errorApiError");case me:return this.$t("chat.message.errorBadRequest");case pe:return this.$t("chat.message.errorTimeout");case ue:return this.$t("chat.message.errorTooManyRequests");case ce:return this.$t("chat.message.errorContentTooLarge");case B:return this.$t("chat.message.errorNotApplied");case ne:return;case oe:default:return this.$t("chat.message.errorUnknown")}}},showBuyMore(){var e;return this.message.role===O&&((e=this.message.error)==null?void 0:e.code)===Z}},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(){de(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){var e;this.$router.push({name:ge,params:{id:(e=this.application)==null?void 0:e.id}})}}}),es=["role"],ss={class:"author"},ts={key:0,class:"main"},os={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"},ns={key:0,class:"message-content"},as={key:1},is=["src"],rs={key:1,class:"edits"},ls={class:"flex justify-end"},ds={class:"operations"};function cs(e,s,o,p,h,a){var E;const i=l("el-image"),c=l("markdown-renderer"),$=l("file-preview"),y=l("el-input"),d=l("el-button"),t=l("answering-mark"),k=l("edit-message"),S=l("copy-to-clipboard"),g=l("restart-to-generate"),_=l("el-alert"),q=ve("motion");return n(),u("div",{class:G({message:!0,[e.message.role]:!0}),role:e.message.role},[r("div",ss,[e.message.role==="assistant"?(n(),f(i,{key:0,src:e.modelGroup.icon,fit:"cover",class:"avatar"},null,8,["src"])):w("v-if",!0)]),e.errorText?(n(),f(_,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(n(),u("div",ts,[M((n(),u("div",os,[e.isEditing?(n(),u("div",rs,[m(y,{modelValue:e.questionValue,"onUpdate:modelValue":s[0]||(s[0]=v=>e.questionValue=v),type:"textarea",class:"mb-2",onKeydown:X(T(e.onEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),r("div",ls,[m(d,{round:"",onClick:e.cancelEdit},{default:C(()=>[z(R(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),m(d,{type:"primary",class:"btn-confirm",round:"",onClick:e.onEdit},{default:C(()=>[z(R(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(n(),u("div",ns,[Array.isArray(e.message.content)?(n(),u("div",as,[(n(!0),u(L,null,U(e.message.content,(v,P)=>{var V,F;return n(),u("div",{key:P},[v.type==="image_url"?(n(),u("img",{key:0,src:typeof(v==null?void 0:v.image_url)=="string"?v.image_url:(V=v.image_url)==null?void 0:V.url,fit:"cover",class:"image"},null,8,is)):w("v-if",!0),v.file_url?(n(),f($,{key:1,name:typeof(v==null?void 0:v.file_url)=="string"?v.file_url:(F=v.file_url)==null?void 0:F.url,percentage:0,closable:!1,class:"mt-2"},null,8,["name"])):w("v-if",!0),v.type==="text"?(n(),f(c,{key:P,content:v.text},null,8,["content"])):w("v-if",!0)])}),128))])):(n(),f(c,{key:0,content:(E=e.message)==null?void 0:E.content},null,8,["content"]))])),e.message.state===e.messageState.PENDING?(n(),f(t,{key:2})):w("v-if",!0)])),[[q]]),r("div",ds,[e.message.role==="user"&&!e.isEditing&&!Array.isArray(e.message.content)?(n(),f(k,{key:0,class:"btn-edit",onClick:e.startEditing},null,8,["onClick"])):w("v-if",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(n(),f(S,{key:1,content:e.message.content,class:"btn-copy"},null,8,["content"])):w("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]?(n(),f(g,{key:2,class:"btn-restart",messages:e.messages,onRestart:e.onRestart},null,8,["messages","onRestart"])):w("v-if",!0)])])),e.showBuyMore?(n(),f(d,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:C(()=>[z(R(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):w("v-if",!0)],10,es)}var us=D(xe,[["render",cs],["__scopeId","data-v-f0476f80"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Message.vue"]]);const ps=I({name:"Composer",components:{FilePreview:re,ImagePreview:Oe,ElTooltip:Y,FontAwesomeIcon:A,ElUpload:qe},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:_e()+"/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 s;return(s=e==null?void 0:e.response)==null?void 0:s.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:J,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,s,o){console.debug("File upload progress:",s.name,e.loaded,e.total)},onExceed(){te.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){te.error(this.$t("chat.message.uploadReferencesError"))}}}),ms={class:"composer"},hs={class:"tools"},gs=["disabled","placeholder"];function _s(e,s,o,p,h,a){const i=l("image-preview"),c=l("file-preview"),$=l("font-awesome-icon"),y=l("el-tooltip"),d=l("el-upload");return n(),u("div",ms,[r("div",hs,[m(d,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=t=>e.fileList=t),class:G({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:C(({file:t})=>{var k;return[e.isImageUrl(t.name)?(n(),f(i,{key:0,url:t.url||((k=t.response)==null?void 0:k.file_url),name:t.name,percentage:t.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,["url","name","percentage","onRemove"])):(n(),f(c,{key:1,name:t.name,percentage:t.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,["name","percentage","onRemove"]))]}),default:C(()=>[m(y,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"bottom"},{default:C(()=>[r("span",{class:G({btn:!0,"btn-upload":!0,disabled:!e.model.isFileSupported||e.disabled})},[m($,{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(r("span",{class:G({btn:!0,"btn-send":!0,disabled:!e.questionValue}),onClick:s[1]||(s[1]=(...t)=>e.onSubmit&&e.onSubmit(...t))},[m($,{icon:"fa-solid fa-location-arrow",class:"icon icon-send"})],2),[[W,!e.disabled]]),M(r("span",{class:G({btn:!0,"btn-stop":!0,disabled:!e.disabled}),onClick:s[2]||(s[2]=(...t)=>e.onStop&&e.onStop(...t))},[m($,{icon:"fa-solid fa-stop",class:"icon icon-stop"})],2),[[W,e.disabled]]),M(r("textarea",{ref:"textarea","onUpdate:modelValue":s[3]||(s[3]=t=>e.questionValue=t),disabled:e.disabled,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:Ce({height:e.inputHeight}),onKeydown:s[4]||(s[4]=X(T((...t)=>e.onSubmit&&e.onSubmit(...t),["exact","prevent"]),["enter"])),onInput:s[5]||(s[5]=(...t)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...t))},null,44,gs),[[we,e.questionValue]])])}var fs=D(ps,[["render",_s],["__scopeId","data-v-a443d292"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Composer.vue"]]);const $s=I({name:"ModelSelector",components:{ElDropdown:De,ElDropdownMenu:Ie,ElDropdownItem:Ne,FontAwesomeIcon:A},emits:["update:modelValue","select","model-group-changed","model-changed"],data(){return{options:[j,x,ee]}},computed:{model(){return console.log("model",this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){var e;return((e=this.$route.meta)==null?void 0:e.modelGroup)||j}},watch:{modelGroup(e){console.debug("modelGroup from route changed",e),this.$store.dispatch("chat/setModelGroup",e),this.$store.dispatch("chat/setModel",e.models[0])}},mounted(){console.debug("ModelSelector mounted, checking model group");const s=[j,x,ee].find(o=>o.name===this.modelGroup.name);console.debug("Found model group:",s),s&&(this.$store.dispatch("chat/setModelGroup",s),this.$store.dispatch("chat/setModel",s.models[0]))},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)}}}),ys={class:"selector"},vs={class:"flex justify-center mr-1"},ws={class:"icon"},Cs=["src"],ks={class:"name"},bs={class:"angle"},Es={class:"item"},Rs={class:"icon"},Ss=["src"],qs={class:"info"},Ds={class:"name"},Is={class:"description"},Ns={class:"flex justify-center"},Gs={class:"name"},As={class:"angle"},Os={class:"item"},Ts={class:"info"},Ms={key:0,class:"name"},Ls={key:1,class:"description"};function Us(e,s,o,p,h,a){const i=l("font-awesome-icon"),c=l("el-dropdown-item"),$=l("el-dropdown-menu"),y=l("el-dropdown");return n(),u("div",ys,[M(m(y,{trigger:"click","popper-class":"popper"},{dropdown:C(()=>[m($,null,{default:C(()=>[(n(!0),u(L,null,U(e.options,(d,t)=>(n(),f(c,{key:t,onClick:k=>e.onModelGroupChange(d)},{default:C(()=>[r("div",Es,[r("div",Rs,[r("img",{src:d.icon},null,8,Ss)]),r("div",qs,[r("p",Ds,R(d.getDisplayName()),1),r("p",Is,R(d.getDescription()),1)])])]),_:2},1032,["onClick"]))),128))]),_:1})]),default:C(()=>{var d;return[r("div",vs,[r("span",ws,[r("img",{src:e.modelGroup.icon},null,8,Cs)]),r("span",ks,R((d=e.modelGroup)==null?void 0:d.getDisplayName()),1),r("span",bs,[m(i,{icon:"fa-solid fa-angle-down"})])])]}),_:1},512),[[W,!1]]),m(y,{trigger:"click","popper-class":"popper"},{dropdown:C(()=>[e.modelGroup&&e.modelGroup.models?(n(),f($,{key:0},{default:C(()=>[(n(!0),u(L,null,U(e.modelGroup.models,(d,t)=>(n(),f(c,{key:t,onClick:k=>e.onModelChange(d)},{default:C(()=>[r("div",Os,[r("div",Ts,[d.getDisplayName?(n(),u("p",Ms,R(d.getDisplayName()),1)):w("v-if",!0),d.getDescription?(n(),u("p",Ls,R(d.getDescription()),1)):w("v-if",!0)])])]),_:2},1032,["onClick"]))),128))]),_:1})):w("v-if",!0)]),default:C(()=>{var d;return[r("div",Ns,[r("span",Gs,R((d=e.model)==null?void 0:d.getDisplayName()),1),r("span",As,[m(i,{icon:"fa-solid fa-angle-down"})])])]}),_:1})])}var Ps=D($s,[["render",Us],["__scopeId","data-v-358d65be"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/ModelSelector.vue"]]);const Vs={},Fs={class:"disclaimer"};function Hs(e,s){return n(),u("p",Fs,R(e.$t("chat.message.howToUse")),1)}var Bs=D(Vs,[["render",Hs],["__scopeId","data-v-42e751f2"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/Disclaimer.vue"]]);const Ws=I({name:"SidePanel",components:{ElInput:ie,FontAwesomeIcon:A,ElSkeleton:Ge},props:{},emits:["change-conversation"],computed:{modelGroup(){return this.$store.state.chat.modelGroup},conversationId(){var e,s,o;return console.debug("conversationId in side",(e=this.$route.params)==null?void 0:e.id),(o=(s=this.$route.params)==null?void 0:s.id)==null?void 0:o.toString()},conversationGroups(){var i,c,$,y,d,t,k,S;let e=this.$store.state.chat.conversations;console.debug("conversations",e),console.debug("modelGroup",this.modelGroup),e=e==null?void 0:e.filter(g=>{var _,q;return g.model&&((q=(_=this.modelGroup.models)==null?void 0:_.map(E=>E.name))==null?void 0:q.includes(g.model))}),console.debug("filtered conversations",e);const s=new Date;s.setHours(0,0,0,0);const o=new Date(s);o.setDate(o.getDate()-1);const p=new Date(s);p.setDate(p.getDate()-s.getDay());const h=new Date(p);h.setDate(h.getDate()-7);const a=e==null?void 0:e.reduce((g,_)=>{const q=new Date(_.updated_at*1e3);return q>=s?g.today.push(_):q>=o?g.yesterday.push(_):q>=p?g.thisWeek.push(_):g.earlier.push(_),g},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...((i=a==null?void 0:a.today)==null?void 0:i.length)>0?{today:(c=a==null?void 0:a.today)==null?void 0:c.sort((g,_)=>_.updated_at-g.updated_at)}:{},...(($=a==null?void 0:a.yesterday)==null?void 0:$.length)>0?{yesterday:(y=a==null?void 0:a.yesterday)==null?void 0:y.sort((g,_)=>_.updated_at-g.updated_at)}:{},...((d=a==null?void 0:a.thisWeek)==null?void 0:d.length)>0?{thisWeek:(t=a==null?void 0:a.thisWeek)==null?void 0:t.sort((g,_)=>_.updated_at-g.updated_at)}:{},...((k=a==null?void 0:a.earlier)==null?void 0:k.length)>0?{earlier:(S=a==null?void 0:a.earlier)==null?void 0:S.sort((g,_)=>_.updated_at-g.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===Q.Request},token(){var e,s;return(s=(e=this.$store.state.chat)==null?void 0:e.credential)==null?void 0:s.token}},methods:{async onNewConversation(){console.debug("onNewConversation from side panel"),this.$emit("change-conversation",void 0)},async onConfirm(e){const s=this.token;if(!s){console.error("Token is not found");return}(e==null?void 0:e.deleting)&&e.id?(await H.deleteConversation(e.id,{token:s}),await this.$store.dispatch("chat/getConversations")):e!=null&&e.editing?(await H.updateConversation(e,{token:s}),await this.$store.dispatch("chat/getConversations")):e.editing=!0},onClickConversation(e){console.debug("onClickConversation in side panel",e),this.$emit("change-conversation",e)}}}),js={class:"panel"},Ks={key:1,class:"conversations"},zs={class:"icons"},Qs={class:"title"},Js={class:"key"},Xs=["onClick"],Ys={class:"title"},Zs={key:0},xs={key:1},et={key:2},st={class:"operations"};function tt(e,s,o,p,h,a){const i=l("el-skeleton"),c=l("font-awesome-icon"),$=l("el-input");return n(),u("div",js,[e.loading&&e.conversationGroups===void 0?(n(),f(i,{key:0})):(n(),u("div",Ks,[r("div",{class:"conversation",onClick:s[0]||(s[0]=(...y)=>e.onNewConversation&&e.onNewConversation(...y))},[r("div",zs,[m(c,{icon:"fa-solid fa-plus",class:"icon"})]),r("div",Qs,R(e.$t("chat.message.startNewChat")),1)]),(n(!0),u(L,null,U(e.conversationGroups,(y,d)=>(n(),u("div",{key:d,class:"group"},[r("div",Js,R(e.$t(`chat.group.${d}`)),1),(n(!0),u(L,null,U(y,(t,k)=>{var S,g,_,q;return n(),u("div",{key:k,class:G({conversation:!0,active:t.id===e.conversationId}),onClick:E=>e.onClickConversation(t.id)},[r("div",Ys,[t!=null&&t.deleting?(n(),u("span",Zs,R(`${e.$t("chat.message.confirmDelete")}?`),1)):t!=null&&t.editing?(n(),u("span",xs,[m($,{modelValue:t.title,"onUpdate:modelValue":E=>t.title=E,onKeydown:X(E=>e.onConfirm(t),["enter"])},null,8,["modelValue","onUpdate:modelValue","onKeydown"])])):(t==null?void 0:t.title)||(t==null?void 0:t.messages)?(n(),u("span",et,R((t==null?void 0:t.title)||((g=(S=t==null?void 0:t.messages)==null?void 0:S[(t==null?void 0:t.messages.length)-1])==null?void 0:g.content)||((q=(_=t==null?void 0:t.messages)==null?void 0:_[0])==null?void 0:q.content)),1)):w("v-if",!0)]),r("div",st,[!(t!=null&&t.editing)&&!t.deleting?(n(),f(c,{key:0,icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:T(E=>t.editing=!0,["stop"])},null,8,["onClick"])):w("v-if",!0),!(t!=null&&t.editing)&&!t.deleting?(n(),f(c,{key:1,icon:"fa-solid fa-trash",class:"icon icon-delete",onClick:T(E=>t.deleting=!0,["stop"])},null,8,["onClick"])):w("v-if",!0),(t==null?void 0:t.editing)||t.deleting?(n(),f(c,{key:2,icon:"fa-solid fa-check",class:"icon icon-confirm",onClick:T(E=>e.onConfirm(t),["stop"])},null,8,["onClick"])):w("v-if",!0),(t==null?void 0:t.editing)||t.deleting?(n(),f(c,{key:3,icon:"fa-solid fa-xmark",class:"icon icon-cancel",onClick:T(E=>{t.editing=!1,t.deleting=!1},["stop"])},null,8,["onClick"])):w("v-if",!0)])],10,Xs)}),128))]))),128))]))])}var ot=D(Ws,[["render",tt],["__scopeId","data-v-d866c834"],["__file","/home/runner/work/Nexior/Nexior/src/components/chat/SidePanel.vue"]]);const nt=I({name:"LayoutChat",components:{SidePanel:ot,ElDrawer:Ae,ElButton:ae,FontAwesomeIcon:A},emits:["change-conversation"],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug("onChangeConversation in layout",e),this.$emit("change-conversation",e)}}}),at={class:"main"},it={class:"side"},rt={class:"chat"};function lt(e,s,o,p,h,a){const i=l("side-panel"),c=l("font-awesome-icon"),$=l("el-button"),y=l("el-drawer");return n(),u("div",at,[r("div",it,[se(e.$slots,"side",{},()=>[m(i,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])],!0)]),r("div",rt,[se(e.$slots,"chat",{},void 0,!0)]),m($,{round:"",class:"menu",onClick:s[0]||(s[0]=d=>e.drawer=!0)},{default:C(()=>[m(c,{icon:"fa-solid fa-bars",class:"icon-menu"})]),_:1}),m(y,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=d=>e.drawer=d),"with-header":!1,size:"290px",class:"drawer"},{default:C(()=>[m(i)]),_:1},8,["modelValue"])])}var dt=D(nt,[["render",lt],["__scopeId","data-v-8d7a06d2"],["__file","/home/runner/work/Nexior/Nexior/src/layouts/Chat.vue"]]);const ct=I({name:"ChatConversation",components:{Composer:fs,Disclaimer:Bs,ModelSelector:Ps,Message:us,Layout:dt},data(){var e,s;return{drawer:!1,question:"",references:[],upload:!1,answering:!1,canceler:void 0,messages:((s=(e=this.$store.state.chat.conversations)==null?void 0:e.find(o=>{var p;return o.id===((p=this.$route.params.id)==null?void 0:p.toString())}))==null?void 0:s.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(s=>s.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===Q.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===Q.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 c,$,y,d,t,k,S,g,_,q,E,v,P,V,F;const s=this.messages.findIndex(b=>b===e),o=this.messages[s-1];let p=[];if(s!==-1){if(p=this.messages.slice(0,s-1),this.messages=this.messages.slice(0,s),this.references=[],typeof o.content=="string")this.question=o.content;else if(Array.isArray(o.content))for(let b=0;b<(o==null?void 0:o.content.length);b++)o.content[b].type==="image_url"&&(typeof(($=(c=o==null?void 0:o.content)==null?void 0:c[b])==null?void 0:$.image_url)=="string"?this.references.push((d=(y=o==null?void 0:o.content)==null?void 0:y[b])==null?void 0:d.image_url):this.references.push((S=(k=(t=o==null?void 0:o.content)==null?void 0:t[b])==null?void 0:k.image_url)==null?void 0:S.url)),o.content[b].type==="file_url"&&(typeof((_=(g=o==null?void 0:o.content)==null?void 0:g[b])==null?void 0:_.file_url)=="string"?this.references.push((E=(q=o==null?void 0:o.content)==null?void 0:q[b])==null?void 0:E.file_url):this.references.push((V=(P=(v=o==null?void 0:o.content)==null?void 0:v[b])==null?void 0:P.file_url)==null?void 0:V.url)),o.content[b].type==="text"&&(this.question=o.content[b].text)}console.debug("onRestart!",this.question,JSON.stringify(this.references));const h=(F=this.credential)==null?void 0:F.token,a=this.question;if(!h||!a){console.error("no token or endpoint or question"),this.messages.push({error:{code:B},role:O,state:N.FAILED});return}let i=this.conversationId;H.updateConversation({id:this.conversationId,messages:p},{token:h}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:i,messages:this.messages}),console.debug("finished update conversation",this.messages),console.debug("onRestart",this.question),await this.onRequest()}).catch(b=>{this.handleRequestError(b)})},async onEdit(e,s){var a;const o=this.messages.findIndex(i=>i===e);o!==-1&&(this.messages=this.messages.slice(0,o)),this.question=s;const p=(a=this.credential)==null?void 0:a.token;if(!p){console.error("no token or endpoint or question"),this.messages.push({error:{code:B},role:O,state:N.FAILED});return}let h=this.conversationId;H.updateConversation({id:this.conversationId,messages:this.messages},{token:p}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:h,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:K}),console.debug("onEdit",this.question),await this.onRequest()}).catch(i=>{this.handleRequestError(i)})},async onNewConversation(){this.$router.push({params:{id:""}}),this.messages=[],this.question="",this.references=[]},async onRestoreConversation(e){var i;console.debug("onRestoreConversation id",e),console.debug("onRestoreConversation route",this.$route);const s=this.$router.resolve({path:this.$route.path,params:{id:e}});console.debug("onRestoreConversation newRoute",s),this.$router.push(s);const o=(i=this.conversations)==null?void 0:i.find(c=>c.id===e),p=o==null?void 0:o.model;console.debug("conversation model",p);const h=fe.find(c=>c.name===p);console.debug("target model",h);const a=$e.find(c=>c.name===(h==null?void 0:h.modelGroup));console.debug("target model group",a),this.$store.dispatch("chat/setModelGroup",a),this.$store.dispatch("chat/setModel",h),this.messages=(o==null?void 0:o.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 s=0;s<this.references.length;s++)J(this.references[s])?e.push({type:"image_url",image_url:this.references[s]}):e.push({type:"file_url",file_url:this.references[s]});this.messages.push({content:e,role:K})}else this.messages.push({content:this.question,role:K});console.debug("onSubmit",this.question,this.references),await this.onRequest()},async onRequest(){var h;console.debug("start to get answer",this.messages);const e=(h=this.credential)==null?void 0:h.token,s=this.question,o=this.references;if(console.debug("validated",s,o),this.question="",this.references=[],!e||!s){console.error("no token or endpoint or question"),this.messages.push({error:{code:B},role:O,state:N.FAILED});return}let p=this.conversationId;this.messages.push({content:"",role:O,state:N.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,H.chatConversation({question:s,model:this.model.name,references:o,id:this.conversationId,stateful:!0},{token:e,stream:a=>{console.debug("stream response",a);const i=this.messages[this.messages.length-1];this.messages[this.messages.length-1]={role:O,content:a.answer,state:(i==null?void 0:i.state)!==N.FINISHED?N.ANSWERING:i==null?void 0:i.state},p=a==null?void 0:a.id},signal:this.canceler.signal}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=N.FINISHED,console.debug("finished fetch answer",JSON.stringify(this.messages)),await this.$store.dispatch("chat/setConversation",{id:p,messages:this.messages}),this.answering=!1,p&&await this.$router.push({params:{id:p}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(a=>{this.handleRequestError(a)})},async handleRequestError(e){if(console.error("error happened",e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=N.FAILED),e.name==="AbortError"){console.error("aborted");return}else e instanceof ye?(console.debug("BaseError",e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):le.isCancel(e)?this.messages[this.messages.length-1].error={code:ne}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:oe});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)}}}),ut={key:0,class:"messages"},pt={class:"starter"};function mt(e,s,o,p,h,a){const i=l("model-selector"),c=l("message"),$=l("composer"),y=l("disclaimer"),d=l("layout");return n(),f(d,{onChangeConversation:s[4]||(s[4]=t=>e.onChangeConversation(t))},{chat:C(()=>[m(i,{class:"selector",onModelGroupChanged:s[0]||(s[0]=t=>e.onChangeConversation(void 0))}),r("div",{class:G({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(n(),u("div",ut,[(n(!0),u(L,null,U(e.messages,(t,k)=>(n(),f(c,{key:k,message:t,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":s[1]||(s[1]=S=>e.question=S),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))])):w("v-if",!0),r("div",pt,[m($,{question:e.question,"onUpdate:question":s[2]||(s[2]=t=>e.question=t),disabled:e.answering,references:e.references,"onUpdate:references":s[3]||(s[3]=t=>e.references=t),onSubmit:e.onSubmit,onStop:e.onStop},null,8,["question","disabled","references","onSubmit","onStop"]),m(y,{class:"disclaimer"})])],2)]),_:1})}var Rt=D(ct,[["render",mt],["__scopeId","data-v-3ab2fb26"],["__file","/home/runner/work/Nexior/Nexior/src/pages/chat/Conversation.vue"]]);export{Rt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ak as s}from"./vendor-others.32a9cc65.js";import{ar as i}from"./vendor-fortawesome.a228a0e7.js";import{_ as m}from"./index.184d52f7.js";import{s as l}from"./vendor-element-plus.b61d898b.js";import{H as d,al as n,o as c,L as a,M as p,V as r}from"./vendor-@vue.30126b18.js";const _=d({name:"CopyToClipboard",components:{FontAwesomeIcon:i,ElTooltip:l},props:{content:{type:String,required:!0}},data(){return{copied:!1}},methods:{onCopy(){s(this.content,{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}}});function f(o,u,C,y,b,k){const e=n("font-awesome-icon"),t=n("el-tooltip");return o.copied?(c(),a(t,{key:1,visible:o.copied,effect:"dark",content:o.$t("common.message.copied"),placement:"bottom"},{default:p(()=>[r(e,{icon:"fa-solid fa-check",class:"icon-check"})]),_:1},8,["visible","content"])):(c(),a(t,{key:0,effect:"dark",content:o.$t("common.button.copy"),placement:"bottom"},{default:p(()=>[r(e,{icon:"fa-regular fa-copy",class:"icon-copy",onClick:o.onCopy},null,8,["onClick"])]),_:1},8,["content"]))}var w=m(_,[["render",f],["__scopeId","data-v-1ba27772"],["__file","/home/runner/work/Nexior/Nexior/src/components/common/CopyToClipboard.vue"]]);export{w as C};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{o as P}from"./order.458da799.js";import{_ as S,I as K}from"./index.184d52f7.js";import{O as w}from"./order.aa35b6fb.js";import{Q as M}from"./vendor-qrcode.38ad4424.js";import{E as z,A as j,B as U,u as X,F as Y,H as Z,l as x,I as ee,J as ae,K as te}from"./vendor-element-plus.b61d898b.js";import{H as C,al as i,o,L as u,M as a,V as t,f as c,R as n,T as l,e as d,U as re,S as $,P as H}from"./vendor-@vue.30126b18.js";import{g as oe}from"./price.f93b8cf3.js";import{C as se}from"./CopyToClipboard.d8ea70c0.js";import"./vendor-markdown.64d20655.js";import"./vendor-axios.168e6950.js";import"./vendor-fortawesome.a228a0e7.js";const ie=C({name:"PayOrderDialog",components:{ElDialog:z,QrCode:M,ElRow:j,ElCol:U},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}P.refresh(this.modelValue.id).then(({data:e})=>{e.state!==w.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},2e3)})}}}),le={class:"paycode wechat"},ne={class:"help-text"};function de(e,r,D,E,T,I){const p=i("qr-code"),m=i("el-col"),k=i("el-row"),W=i("el-dialog");return o(),u(W,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:a(()=>[t(k,{class:"paycodes"},{default:a(()=>[t(m,{span:12},{default:a(()=>{var f,b;return[c("div",le,[(f=e.modelValue)!=null&&f.pay_url?(o(),u(p,{key:0,value:(b=e.modelValue)==null?void 0:b.pay_url,size:200,class:"qrcode m-auto"},null,8,["value"])):n("v-if",!0),c("p",ne,l(e.$t("order.message.wechatPayHelp")),1)])]}),_:1}),t(m,{span:12},{default:a(()=>r[0]||(r[0]=[c("div",{class:"help-img"},[c("img",{src:"https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg"})],-1)])),_:1,__:[0]})]),_:1})]),_:1},8,["model-value","title"])}var pe=S(ie,[["render",de],["__scopeId","data-v-875060be"],["__file","/home/runner/work/Nexior/Nexior/src/components/order/WechatPay.vue"]]);const ye=C({name:"PayOrderDialog",components:{ElDialog:z},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}P.refresh(this.modelValue.id).then(({data:e})=>{e.state!==w.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),ue={class:"text-center"};function ce(e,r,D,E,T,I){const p=i("el-dialog");return o(),u(p,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:a(()=>[c("p",ue,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}var me=S(ye,[["render",ce],["__scopeId","data-v-85959ecc"],["__file","/home/runner/work/Nexior/Nexior/src/components/order/StripePay.vue"]]);var L=(e=>(e.WechatPay="WechatPay",e.Stripe="Stripe",e.AliPay="AliPay",e))(L||{});const fe=C({name:"ConsoleOrderDetail",components:{ElButton:X,CopyToClipboard:se,ElRow:j,ElCard:Y,ElCol:U,ElSkeleton:Z,ElDivider:x,ElAlert:ee,ElDescriptions:ae,ElDescriptionsItem:te,WechatPayOrder:pe,StripePayOrder:me},data(){return{PayWay:L,payWay:"WechatPay",OrderState:w,order:void 0,showPayWays:!0,loading:!1,paying:!1,prepaying:!1,applicationType:K}},computed:{id(){var e,r;return(r=(e=this.$route.params)==null?void 0:e.id)==null?void 0:r.toString()},redirect(){var e;return(e=this.$route.query)==null?void 0:e.redirect}},watch:{order:{handler(e){if((e==null?void 0:e.state)===w.PAID){setTimeout(()=>{var r;this.redirect&&window.location.replace((r=this.redirect)==null?void 0:r.toString())},2e3);return}},deep:!0}},mounted(){this.onFetchData()},methods:{getPriceString:oe,onFetchData(){this.loading=!0,P.refresh(this.id).then(({data:e})=>{this.order=e,e.pay_way&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.loading=!1})},onRepay(){this.paying=!0},onPay(){this.prepaying=!0,P.pay(this.id,{pay_way:this.payWay}).then(({data:e})=>{this.prepaying=!1,this.order=e,this.order.price&&this.order.price>0&&(this.paying=!0)}).catch(()=>{this.prepaying=!1})}}}),he={class:"title"},_e={key:0,class:"pt-5"},ve={key:1,class:"order"},ge={key:0},$e={key:1},be={key:0,class:"price unfree"},Pe={key:1,class:"price free"},we={key:0,class:"payways mb-6"},ke={class:"payname"};const We={class:"payname"},Ve={key:1},Se={key:2};function Ce(e,r,D,E,T,I){const p=i("el-col"),m=i("el-row"),k=i("el-skeleton"),W=i("copy-to-clipboard"),f=i("el-descriptions-item"),b=i("el-descriptions"),V=i("el-divider"),N=i("el-alert"),O=i("el-button"),Q=i("el-card"),G=i("wechat-pay-order"),J=i("stripe-pay-order");return o(),d(re,null,[t(m,{class:"panel"},{default:a(()=>[t(p,{span:24},{default:a(()=>[t(m,null,{default:a(()=>[t(p,{span:24},{default:a(()=>[c("h2",he,l(e.$t("order.title.info")),1)]),_:1})]),_:1}),t(m,null,{default:a(()=>[t(p,{span:24},{default:a(()=>[t(Q,{shadow:"hover"},{default:a(()=>{var h,A,R,B,q;return[t(m,null,{default:a(()=>[t(p,{span:16,offset:4},{default:a(()=>[e.loading?(o(),d("div",_e,[t(k,{animated:""})])):(o(),d("div",ve,[t(b,{column:1},{default:a(()=>{var v,g,F;return[t(f,{label:e.$t("order.field.id")},{default:a(()=>{var s,y,_;return[c("span",null,l((s=e.order)==null?void 0:s.id),1),(y=e.order)!=null&&y.id?(o(),u(W,{key:0,content:(_=e.order)==null?void 0:_.id,class:"inline-block"},null,8,["content"])):n("v-if",!0)]}),_:1},8,["label"]),t(f,{label:e.$t("order.field.description")},{default:a(()=>{var s;return[$(l((s=e.order)==null?void 0:s.description),1)]}),_:1},8,["label"]),(g=(v=e.order)==null?void 0:v.application)!=null&&g.service?(o(),u(f,{key:0,label:e.$t("order.field.api")},{default:a(()=>{var s,y,_;return[$(l((_=(y=(s=e.order)==null?void 0:s.application)==null?void 0:y.service)==null?void 0:_.title),1)]}),_:1},8,["label"])):n("v-if",!0),(F=e.order)!=null&&F.pay_way?(o(),u(f,{key:1,label:e.$t("order.field.payWay")},{default:a(()=>{var s,y;return[((s=e.order)==null?void 0:s.pay_way)===e.PayWay.WechatPay?(o(),d("span",ge,l(e.$t("order.title.wechatPay")),1)):n("v-if",!0),((y=e.order)==null?void 0:y.pay_way)===e.PayWay.Stripe?(o(),d("span",$e,l(e.$t("order.title.stripe")),1)):n("v-if",!0)]}),_:1},8,["label"])):n("v-if",!0),t(f,{label:e.$t("order.field.createdAt")},{default:a(()=>{var s;return[$(l(e.$dayjs.format((s=e.order)==null?void 0:s.created_at)),1)]}),_:1},8,["label"]),t(f,{label:e.$t("order.field.price")},{default:a(()=>{var s,y,_;return[((s=e.order)==null?void 0:s.price)&&((y=e.order)==null?void 0:y.price)>0?(o(),d("span",be,l(e.getPriceString({value:(_=e.order)==null?void 0:_.price})),1)):(o(),d("span",Pe,l(e.$t("order.message.free")),1))]}),_:1},8,["label"])]}),_:1})]))]),_:1})]),_:1}),((h=e.order)==null?void 0:h.state)===e.OrderState.PAID||((A=e.order)==null?void 0:A.state)===e.OrderState.FINISHED?(o(),u(m,{key:0,class:"mb-5"},{default:a(()=>[t(p,{span:16,offset:4},{default:a(()=>[t(V,{"border-style":"dashed"}),t(N,{title:e.$t("order.message.paidSuccessfully"),type:"success","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):n("v-if",!0),((R=e.order)==null?void 0:R.state)===e.OrderState.EXPIRED?(o(),u(m,{key:1,class:"mb-5"},{default:a(()=>[t(p,{span:16,offset:4},{default:a(()=>[t(V,{"border-style":"dashed"}),t(N,{title:e.$t("order.message.orderExpired"),type:"error","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):n("v-if",!0),((B=e.order)==null?void 0:B.state)===e.OrderState.PENDING||((q=e.order)==null?void 0:q.state)===e.OrderState.FAILED?(o(),u(m,{key:2},{default:a(()=>[t(p,{span:16,offset:4},{default:a(()=>{var v;return[t(V,{"border-style":"dashed"}),e.showPayWays&&e.order.price&&e.order.price>0&&!e.order.pay_way?(o(),d("div",we,[(o(),d("div",{key:0,class:H({payway:!0,wechatpay:!0,active:e.payWay===e.PayWay.WechatPay}),onClick:r[0]||(r[0]=g=>e.payWay=e.PayWay.WechatPay)},[r[7]||(r[7]=c("span",{class:"payicon wechatpay"},null,-1)),c("span",ke,l(e.$t("order.title.wechatPay")),1)],2)),n("v-if",!0),(o(),d("div",{key:2,class:H({payway:!0,stripe:!0,active:e.payWay===e.PayWay.Stripe}),onClick:r[2]||(r[2]=g=>e.payWay=e.PayWay.Stripe)},[r[9]||(r[9]=c("span",{class:"payicon stripe"},null,-1)),c("span",We,l(e.$t("order.title.stripe")),1)],2))])):n("v-if",!0),(v=e.order)!=null&&v.pay_way?(o(),d("div",Se,[t(O,{type:"primary",round:"",size:"large",class:"btn-repay",onClick:e.onRepay},{default:a(()=>[$(l(e.$t("common.button.repay")),1)]),_:1},8,["onClick"])])):(o(),d("div",Ve,[t(O,{loading:e.prepaying,round:"",type:"primary",size:"large",class:"btn-pay",onClick:e.onPay},{default:a(()=>[$(l(e.$t("common.button.pay")),1)]),_:1},8,["loading","onClick"])]))]}),_:1})]),_:1})):n("v-if",!0)]}),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e.order&&e.payWay===e.PayWay.WechatPay?(o(),u(G,{key:0,modelValue:e.order,"onUpdate:modelValue":r[3]||(r[3]=h=>e.order=h),visible:e.paying,onHide:r[4]||(r[4]=h=>e.paying=!1)},null,8,["modelValue","visible"])):n("v-if",!0),e.order&&e.payWay===e.PayWay.Stripe?(o(),u(J,{key:1,modelValue:e.order,"onUpdate:modelValue":r[5]||(r[5]=h=>e.order=h),visible:e.paying,onHide:r[6]||(r[6]=h=>e.paying=!1)},null,8,["modelValue","visible"])):n("v-if",!0)],64)}var ze=S(fe,[["render",Ce],["__scopeId","data-v-2d1dc98e"],["__file","/home/runner/work/Nexior/Nexior/src/pages/console/order/Detail.vue"]]);export{ze as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./vendor-others.
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{E as C,t as U,u as $,k as V,w as E,x as B,y,b as T}from"./vendor-element-plus.b61d898b.js";import{_ as k,A}from"./index.184d52f7.js";import{H as b,al as i,o as m,e as g,V as n,M as o,f as s,S as a,T as r,U as h,ai as L,L as v,as as M}from"./vendor-@vue.30126b18.js";import{ar as z}from"./vendor-fortawesome.a228a0e7.js";const K=b({name:"EditText",components:{ElDialog:C,ElInput:U,ElButton:$,ElIcon:V,Edit:E},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.value),this.editing=!1}}}),O={class:"dialog-footer"};function D(e,t,w,I,N,S){const c=i("el-input"),u=i("el-button"),p=i("el-dialog"),f=i("edit"),_=i("el-icon");return m(),g(h,null,[n(p,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=d=>e.editing=d),title:e.title,width:"400px"},{footer:o(()=>[s("span",O,[n(u,{round:"",onClick:e.onCancel},{default:o(()=>[a(r(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(u,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[a(r(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",null,[n(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),placeholder:e.placeholder},null,8,["modelValue","placeholder"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=d=>e.editing=!0)},[n(_,{class:"icon"},{default:o(()=>[n(f)]),_:1})])],64)}var te=k(K,[["render",D],["__file","/home/runner/work/Nexior/Nexior/src/components/site/EditText.vue"]]);const F=b({name:"EditImage",components:{ElDialog:C,ElButton:$,FontAwesomeIcon:z,ElIcon:V,Edit:E,ElUpload:B},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},tip:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue,fileList:[],uploadUrl:A()+"/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})}},methods:{onCancel(){this.editing=!1},onConfirm(){var e;this.$emit("confirm",(e=this.urls)==null?void 0:e[0]),this.editing=!1},onExceed(){y.warning(this.$t("site.message.uploadImageExceed"))},onError(){y.error(this.$t("site.message.uploadImageError"))}}}),J={class:"el-upload__tip"},H={class:"dialog-footer"};function P(e,t,w,I,N,S){const c=i("font-awesome-icon"),u=i("el-button"),p=i("el-upload"),f=i("el-dialog"),_=i("edit"),d=i("el-icon");return m(),g(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px"},{footer:o(()=>[s("span",H,[n(u,{round:"",onClick:e.onCancel},{default:o(()=>[a(r(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(u,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[a(r(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",null,[n(p,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",limit:5,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{tip:o(()=>[s("div",J,r(e.tip),1)]),default:o(()=>[n(u,{round:"",type:"primary",class:"btn btn-upload"},{default:o(()=>[n(c,{icon:"fa-solid fa-upload",class:"icon mr-2"}),a(" "+r(e.$t("site.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(d,{class:"icon"},{default:o(()=>[n(_)]),_:1})])],64)}var oe=k(F,[["render",P],["__file","/home/runner/work/Nexior/Nexior/src/components/site/EditImage.vue"]]);const j=b({name:"EditText",components:{ElDialog:C,ElInput:U,ElButton:$,ElIcon:V,ElTag:T,Edit:E},props:{modelValue:{type:Array,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0},tip:{type:String,default:void 0},min:{type:Number,default:void 0},minErrorMessage:{type:String,default:void 0}},emits:["confirm","cancel"],data(){return{inputVisible:!1,inputValue:"",editing:!1,value:JSON.parse(JSON.stringify(this.modelValue))}},methods:{onCancel(){this.editing=!1},onConfirm(){if(this.min!==void 0&&this.value.length<this.min){y.error(this.minErrorMessage);return}this.$emit("confirm",this.value),this.editing=!1},onClose(e){this.value.splice(this.value.indexOf(e),1)},onInputConfirm(){const e=this.inputValue;e&&this.value.push(e),this.inputVisible=!1,this.inputValue=""},onNewItem(){this.inputVisible=!0,this.$nextTick(()=>{this.$refs.input.focus()})}}}),G={class:"block tip"},Q={class:"dialog-footer"};function R(e,t,w,I,N,S){const c=i("el-tag"),u=i("el-input"),p=i("el-button"),f=i("el-dialog"),_=i("edit"),d=i("el-icon");return m(),g(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px"},{footer:o(()=>[s("span",Q,[n(p,{round:"",onClick:e.onCancel},{default:o(()=>[a(r(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(p,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[a(r(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[(m(!0),g(h,null,L(e.value,(l,q)=>(m(),v(c,{key:q,closable:"",round:"",class:"mr-2 mb-2","disable-transitions":!1,onClose:W=>e.onClose(l)},{default:o(()=>[a(r(l),1)]),_:2},1032,["onClose"]))),128)),e.inputVisible?(m(),v(u,{key:0,ref:"input",modelValue:e.inputValue,"onUpdate:modelValue":t[0]||(t[0]=l=>e.inputValue=l),class:"block",size:"small",onKeyup:M(e.onInputConfirm,["enter"]),onBlur:e.onInputConfirm},null,8,["modelValue","onKeyup","onBlur"])):(m(),v(p,{key:1,round:"",class:"block",size:"small",onClick:e.onNewItem},{default:o(()=>t[3]||(t[3]=[a(" + ")])),_:1,__:[3]},8,["onClick"])),s("span",G,r(e.tip),1)]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(d,{class:"icon"},{default:o(()=>[n(_)]),_:1})])],64)}var ne=k(j,[["render",R],["__file","/home/runner/work/Nexior/Nexior/src/components/site/EditArray.vue"]]);export{te as E,oe as a,ne as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{I as G}from"./api.f60246f3.js";import{_ as V,E as W,F as Q,G as X}from"./index.184d52f7.js";import{g as A}from"./price.f93b8cf3.js";import{H as R,o as t,e as l,T as s,U as B,ai as F,S as y,R as f,al as d,L as $,M as i,V as n,f as T,O as j,P as J,W as H}from"./vendor-@vue.30126b18.js";import{o as Y}from"./order.458da799.js";import{H as Z,A as x,B as ee,F as ae,n as te,o as ie,u as se,l as re,L as ne,M as oe,y as le}from"./vendor-element-plus.b61d898b.js";import"./vendor-markdown.64d20655.js";import"./vendor-axios.168e6950.js";import"./vendor-qrcode.38ad4424.js";import"./vendor-fortawesome.a228a0e7.js";const ce=R({name:"ApiPrice",props:{price:{type:Number,required:!1,default:0},unit:{type:String,required:!1,default:void 0},start:{type:Boolean,required:!1,default:!1}},methods:{getPriceString:A}}),pe={class:"price-text"},ue={key:0,class:"unfree"},de={key:1,class:"free"};function fe(e,a,p,_,b,E){return t(),l("div",pe,[e.price>0?(t(),l("span",ue,s(e.getPriceString({value:e.price}))+" "+s(e.unit?` / ${e.unit}`:"")+s(e.start?e.$t("common.message.startPrice"):""),1)):(t(),l("span",de,s(e.$t("common.message.free")),1))])}var he=V(ce,[["render",fe],["__scopeId","data-v-d195ccd6"],["__file","/home/runner/work/Nexior/Nexior/src/components/common/Price.vue"]]);const me=R({name:"ServiceEstimation",components:{},props:{service:{type:Object,required:!0},package:{type:Object,required:!0}},methods:{getPriceString:A}}),_e={class:"estimation"},ge={key:0,class:"item"},ve={key:0},ke={key:1},$e={key:2},ye={key:0},be={key:1};function Ee(e,a,p,_,b,E){var h;return t(),l("div",_e,[(t(!0),l(B,null,F((h=e.service)==null?void 0:h.apis,(u,v)=>(t(),l("div",{key:v},[(t(!0),l(B,null,F(u==null?void 0:u.estimation,(c,S)=>{var g,P;return t(),l("div",{key:S,class:"items"},[((g=e.package)==null?void 0:g.amount)&&(c==null?void 0:c.cost)?(t(),l("p",ge,[y(" \u2248 "+s(c.name)+" "+s(Math.round(e.package.amount/c.cost))+" "+s(e.$t("api.unit.count"))+" ",1),e.package.price>0?(t(),l("span",ve," - "+s(e.getPriceString({value:e.package.price/(e.package.amount/c.cost),fractionDigits:3})+" / "+e.$t("api.unit.count")),1)):f("v-if",!0),c.remark?(t(),l("span",ke," ("+s(c.remark)+") ",1)):f("v-if",!0),((P=c==null?void 0:c.comparisons)==null?void 0:P.length)>0?(t(),l("span",$e," - ")):f("v-if",!0),(t(!0),l(B,null,F(c==null?void 0:c.comparisons,(o,O)=>{var C,N;return t(),l("span",{key:O,class:"comparison"},[(o==null?void 0:o.value)<0?(t(),l("i",ye,s(e.$t("api.message.cheaperThan").replace("$[[value]]",(C=o==null?void 0:o.target)==null?void 0:C.toString()))+" "+s(Math.abs(o==null?void 0:o.value)*100)+"% ",1)):f("v-if",!0),(o==null?void 0:o.value)>0?(t(),l("i",be,s(e.$t("api.message.moreExpensiveThan").replace("$[[value]]",(N=o==null?void 0:o.target)==null?void 0:N.toString()))+" "+s(Math.abs(o==null?void 0:o.value)*100)+"% ",1)):f("v-if",!0)])}),128))])):f("v-if",!0)])}),128))]))),128))])}var Se=V(me,[["render",Ee],["__scopeId","data-v-10c89755"],["__file","/home/runner/work/Nexior/Nexior/src/components/service/Estimation.vue"]]);const Ce=R({name:"ConsoleApplicationBuy",components:{ElSkeleton:Z,ElRow:x,ElCol:ee,ElCard:ae,ElForm:te,ElFormItem:ie,ElButton:se,ElDivider:re,ElRadioGroup:ne,ElRadioButton:oe,Price:he,ServiceEstimation:Se},data(){return{lang:this.$i18n.locale,application:void 0,loading:!1,type:G.USAGE,form:{packageId:void 0,amount:void 0},creating:!1}},computed:{applicationId(){var e,a;return(a=(e=this.$route.params)==null?void 0:e.id)==null?void 0:a.toString()},id(){var e,a;return(a=(e=this.$route.params)==null?void 0:e.id)==null?void 0:a.toString()},price(){var e,a,p;return((a=(e=this.application)==null?void 0:e.service)==null?void 0:a.price)&&this.form.amount?this.form.amount*((p=this.application.service)==null?void 0:p.price):0},packages(){var e,a,p;return(p=(a=(e=this.application)==null?void 0:e.service)==null?void 0:a.packages)==null?void 0:p.filter(_=>_.type===G.USAGE)},package(){if(this.packages&&this.form.packageId){const e=this.packages.filter(a=>a.id===this.form.packageId);if(e.length>0)return e[0]}}},mounted(){this.onFetchApplication()},methods:{getDiscount(e){var a,p,_;return this.packages&&this.packages.length>0?(a=this.lang)!=null&&a.startsWith("zh")?(10*(e==null?void 0:e.price)/(e==null?void 0:e.amount)/(this.packages[0].price/((p=this.packages[0])==null?void 0:p.amount))).toFixed(1)+"\u6298":Math.round(100-100*(e==null?void 0:e.price)/(e==null?void 0:e.amount)/(this.packages[0].price/((_=this.packages[0])==null?void 0:_.amount)))+"% OFF":""},onSubscribe(){this.$router.push({name:W,params:this.$route.params})},getPriceString:A,onFetchApplication(){this.loading=!0,Q.get(this.id).then(({data:e})=>{var a,p;this.application=e,this.loading=!1,this.form.packageId=(p=(a=this.packages)==null?void 0:a[0])==null?void 0:p.id}).catch(()=>{this.loading=!1})},onChangeType(){this.$router.push({name:W,params:this.$route.params})},onCreateOrder(){var a,p,_,b,E,h,u,v;if(!((a=this.application)!=null&&a.id))return;this.creating=!0;const e=this.$t(`service.unit.${(_=(p=this.application)==null?void 0:p.service)==null?void 0:_.unit}s`);Y.create({application_id:(b=this.application)==null?void 0:b.id,amount:(E=this.package)==null?void 0:E.amount,...this.form.packageId!=="custom"&&this.package?{package_id:this.package.id}:{},description:`${(u=(h=this.application)==null?void 0:h.service)==null?void 0:u.title} x ${(v=this.package)==null?void 0:v.amount} ${e}`}).then(({data:c})=>{this.creating=!1;const S=c;this.$router.push({name:X,params:{id:S.id}})}).catch(()=>{le.error(this.$t("order.message.createFailed")),this.creating=!1})}}}),Ie={class:"title"},Pe={key:0,class:"ml-2"},Oe={key:1,class:J({price:!0,free:!0})};function Ne(e,a,p,_,b,E){const h=d("el-col"),u=d("el-row"),v=d("el-radio-button"),c=d("el-radio-group"),S=d("el-skeleton"),g=d("el-form-item"),P=d("service-estimation"),o=d("price"),O=d("el-divider"),C=d("el-button"),N=d("el-form"),K=d("el-card");return t(),$(u,{class:"panel"},{default:i(()=>[n(h,{span:24},{default:i(()=>[n(u,null,{default:i(()=>[n(h,{span:24},{default:i(()=>[T("h2",Ie,s(e.$t("common.title.buyMore")),1)]),_:1})]),_:1}),n(u,null,{default:i(()=>[n(h,{span:24},{default:i(()=>[n(K,{shadow:"hover"},{default:i(()=>[j(n(u,null,{default:i(()=>[n(h,{class:"text-center"},{default:i(()=>[e.applicationId?(t(),$(c,{key:0,modelValue:e.type,"onUpdate:modelValue":a[0]||(a[0]=w=>e.type=w),size:"large",class:"mb-4",onChange:e.onChangeType},{default:i(()=>[n(v,{label:"Period"},{default:i(()=>[y(s(e.$t("application.type.period")),1)]),_:1}),n(v,{label:"Usage"},{default:i(()=>[y(s(e.$t("application.type.usage")),1)]),_:1})]),_:1},8,["modelValue","onChange"])):f("v-if",!0)]),_:1})]),_:1},512),[[H,!1]]),n(u,null,{default:i(()=>[n(h,{span:16,offset:4},{default:i(()=>[e.loading?(t(),$(S,{key:0})):e.application?(t(),$(N,{key:1,"label-width":"100px"},{default:i(()=>{var w,U,D,M,L,q;return[n(g,{label:e.$t("application.field.service")},{default:i(()=>{var r,m;return[y(s((m=(r=e.application)==null?void 0:r.service)==null?void 0:m.title),1)]}),_:1},8,["label"]),n(g,{label:e.$t("application.field.package"),class:"mb-0"},{default:i(()=>[e.packages?(t(),$(c,{key:0,modelValue:e.form.packageId,"onUpdate:modelValue":a[1]||(a[1]=r=>e.form.packageId=r)},{default:i(()=>[(t(!0),l(B,null,F(e.packages,(r,m)=>(t(),$(v,{key:m,label:r.id,class:"mb-2"},{default:i(()=>{var k,I;return[j(T("span",{class:"corner"},s(e.getDiscount(r)),513),[[H,m!==0]]),y(" "+s(r.amount)+" "+s(e.$t(`service.unit.${(I=(k=e.application)==null?void 0:k.service)==null?void 0:I.unit}s`)),1)]}),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):f("v-if",!0)]),_:1},8,["label"]),((U=(w=e.application)==null?void 0:w.service)==null?void 0:U.apis)&&((q=(L=(M=(D=e.application)==null?void 0:D.service)==null?void 0:M.apis)==null?void 0:L.map(r=>r==null?void 0:r.estimation).filter(r=>!!r))==null?void 0:q.length)>0?(t(),$(g,{key:0},{default:i(()=>{var r;return[(r=e.application)!=null&&r.service?(t(),$(P,{key:0,service:e.application.service,package:e.package},null,8,["service","package"])):f("v-if",!0)]}),_:1})):f("v-if",!0),n(g,{label:e.$t("service.field.price")},{default:i(()=>{var r,m,k,I,z;return[n(o,{price:(r=e.package)==null?void 0:r.price},null,8,["price"]),e.package?(t(),l("span",Pe,"("+s(e.getPriceString({value:((m=e.package)==null?void 0:m.price)/((k=e.package)==null?void 0:k.amount)})+" / "+e.$t(`service.unit.${(z=(I=e.application)==null?void 0:I.service)==null?void 0:z.unit}`))+") ",1)):f("v-if",!0)]}),_:1},8,["label"]),n(O,{"border-style":"dashed"}),n(g,{label:e.$t("application.field.shouldPayPrice")},{default:i(()=>{var r,m,k;return[e.package?(t(),l("span",{key:0,class:J({price:!0,unfree:((r=e.package)==null?void 0:r.price)>0,free:((m=e.package)==null?void 0:m.price)===0})},s(e.getPriceString({value:(k=e.package)==null?void 0:k.price})),3)):(t(),l("span",Oe," $ 0 "))]}),_:1},8,["label"]),n(g,null,{default:i(()=>[n(C,{type:"primary",size:"large",class:"btn-create",loading:e.creating,round:"",onClick:e.onCreateOrder},{default:i(()=>[y(s(e.$t("application.button.createOrder")),1)]),_:1},8,["loading","onClick"])]),_:1}),n(O,{"border-style":"dashed"}),n(g,{label:""},{default:i(()=>[T("span",null,s(e.$t("console.message.doNotWantExtra")),1),n(C,{type:"primary",class:"btn btn-subscribe",round:"",size:"small",onClick:e.onSubscribe},{default:i(()=>[y(s(e.$t("console.message.subscribe")),1)]),_:1},8,["onClick"])]),_:1})]}),_:1})):f("v-if",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var qe=V(Ce,[["render",Ne],["__scopeId","data-v-3eeec565"],["__file","/home/runner/work/Nexior/Nexior/src/pages/console/application/Extra.vue"]]);export{qe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{P as w}from"./Pagination.0ba2e8a8.js";import{C as y}from"./CopyToClipboard.d8ea70c0.js";import{b as v}from"./distribution.4ec51377.js";import{_ as $}from"./index.184d52f7.js";import{g as C}from"./price.f93b8cf3.js";import{A as H,B as D,C as P,D as S,F}from"./vendor-element-plus.b61d898b.js";import{H as k,al as s,av as E,L as _,M as o,o as m,V as e,f as a,T as n,O as B}from"./vendor-@vue.30126b18.js";import"./vendor-markdown.64d20655.js";import"./vendor-fortawesome.a228a0e7.js";import"./vendor-axios.168e6950.js";import"./vendor-qrcode.38ad4424.js";const N=k({name:"ConsoleDistributionList",components:{Pagination:w,CopyToClipboard:y,ElRow:H,ElCol:D,ElTable:P,ElTableColumn:S,ElCard:F},data(){return{distributionHistories:[],distributionStatus:void 0,loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){var t;return parseInt(((t=this.$route.query.page)==null?void 0:t.toString())||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{getPriceString:C,onPageChange(t){var p;this.$router.push({name:(p=this.$route.name)==null?void 0:p.toString(),query:{page:t}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchDistributionHistory()]).finally(()=>{this.loading=!1})},async onFetchDistributionHistory(){const{data:t}=await v.getAll({user_id:this.$store.getters.user.id,ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit});this.distributionHistories=t.items,this.total=t.count}}}),T={class:"title"},q={class:"key"},A={class:"copy"},I={class:"key"},V={class:"copy"},z={class:"price"},L={class:"description"},O={class:"description"},j={class:"created-at"},M={class:"pagination m-v-lg"};function R(t,p,G,J,K,Q){const d=s("el-col"),c=s("el-row"),u=s("copy-to-clipboard"),r=s("el-table-column"),h=s("el-table"),f=s("el-card"),g=s("pagination"),b=E("loading");return m(),_(c,{class:"panel"},{default:o(()=>[e(d,{span:24},{default:o(()=>[e(c,null,{default:o(()=>[e(d,{span:24},{default:o(()=>[a("h2",T,n(t.$t("common.title.distributionHistory")),1)]),_:1})]),_:1}),e(c,null,{default:o(()=>[e(d,{span:24},{default:o(()=>[e(f,{shadow:"hover"},{default:o(()=>[B((m(),_(h,{data:t.distributionHistories,stripe:""},{default:o(()=>[e(r,{prop:"id",label:t.$t("distribution.field.id"),"class-name":"text-center",width:"350px"},{default:o(i=>[a("span",q,n(i.row.id),1),a("span",A,[e(u,{content:i.row.id},null,8,["content"])])]),_:1},8,["label"]),e(r,{prop:"id",label:t.$t("distribution.field.userId"),"class-name":"text-center",width:"350px"},{default:o(i=>[a("span",I,n(i.row.user_id),1),a("span",V,[e(u,{content:i.row.user_id},null,8,["content"])])]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.price"),width:"100px"},{default:o(i=>{var l;return[a("span",z,n(t.getPriceString({value:(l=i.row)==null?void 0:l.price})),1)]}),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.reward"),width:"100px"},{default:o(i=>{var l;return[a("span",L,n(t.getPriceString({value:(l=i.row)==null?void 0:l.reward})),1)]}),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.percentage"),width:"120px"},{default:o(i=>[a("span",O,n(i.row.percentage)+"%",1)]),_:1},8,["label"]),e(r,{label:t.$t("distribution.field.createdAt"),width:"200px"},{default:o(i=>[a("span",j,n(t.$dayjs.format(i.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[b,t.loading]])]),_:1})]),_:1})]),_:1}),e(c,null,{default:o(()=>[e(d,{span:10,offset:14},{default:o(()=>[a("div",M,[e(g,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}var nt=$(N,[["render",R],["__scopeId","data-v-63f0e9ed"],["__file","/home/runner/work/Nexior/Nexior/src/pages/distribution/History.vue"]]);export{nt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./vendor-others.
|
|
1
|
+
import"./vendor-others.32a9cc65.js";import{ar as c}from"./vendor-fortawesome.a228a0e7.js";import{_ as m}from"./index.184d52f7.js";import{P as p}from"./vendor-element-plus.b61d898b.js";import{H as l,al as r,o as s,e as t,f as _,O as d,W as u,V as n,$ as f,R as v}from"./vendor-@vue.30126b18.js";const g=l({name:"ImagePreview",components:{FontAwesomeIcon:c,ElProgress:p},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"]}),w={class:"image"},h=["src","alt"],y={key:0,class:"close"};function k(e,o,I,$,N,P){const a=r("el-progress"),i=r("font-awesome-icon");return s(),t("div",w,[_("img",{class:"size-10",src:e.url,alt:e.name},null,8,h),d(n(a,{type:"circle","stroke-width":3,percentage:e.percentage,width:30},null,8,["percentage"]),[[u,e.percentage&&e.percentage<100]]),e.closable?(s(),t("div",y,[n(i,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:o[0]||(o[0]=f(q=>e.$emit("remove"),["stop"]))})])):v("v-if",!0)])}var E=m(g,[["render",k],["__scopeId","data-v-01c5f551"],["__file","/home/runner/work/Nexior/Nexior/src/components/common/ImagePreview.vue"]]);export{E as I};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{am as ve}from"./vendor-others.32a9cc65.js";import{ar as K}from"./vendor-fortawesome.a228a0e7.js";import{_ as k,aD as ge,aE as $e,aF as ye,A as Q,a0 as B,F as be,ac as ke,aG as we,W as Ie}from"./index.184d52f7.js";import{Q as Ve,u as R,p as W,x as J,y,t as Se,m as Ee,I as Ue,s as Ce,H as Le,V as Pe}from"./vendor-element-plus.b61d898b.js";import{H as w,al as n,o as r,e as p,f as l,I as H,V as s,M as m,T as i,S as v,L as P,R as g,P as q,U as fe,ai as he}from"./vendor-@vue.30126b18.js";import{I as A}from"./InfoIcon.a5ac0a75.js";import{C as Ne}from"./CopyToClipboard.d8ea70c0.js";import"./vendor-markdown.64d20655.js";import"./vendor-axios.168e6950.js";import"./vendor-qrcode.38ad4424.js";const Te=w({name:"LayoutLuma",components:{ElDrawer:Ve,ElButton:R,FontAwesomeIcon:K},data(){return{drawer:!1}}}),Ae={class:"main"},Re={class:"config"},Ge={class:"result"};function De(e,t,o,a,f,h){const c=n("font-awesome-icon"),u=n("el-button"),d=n("el-drawer");return r(),p("div",Ae,[l("div",Re,[H(e.$slots,"config",{},void 0,!0)]),l("div",Ge,[H(e.$slots,"result",{},void 0,!0)]),s(u,{round:"",class:"menu",onClick:t[0]||(t[0]=_=>e.drawer=!0)},{default:m(()=>[s(c,{icon:"fa-solid fa-gear",class:"icon-menu"})]),_:1}),s(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=_=>e.drawer=_),"with-header":!1,size:"340px",class:"drawer"},{default:m(()=>[H(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}var ze=k(Te,[["render",De],["__scopeId","data-v-234cfb9c"],["__file","/home/runner/work/Nexior/Nexior/src/layouts/Luma.vue"]]);const Fe=w({name:"EnhancementSelector",components:{ElSwitch:W,InfoIcon:A},computed:{value:{get(){var e,t;return(t=(e=this.$store.state.luma)==null?void 0:e.config)==null?void 0:t.enhancement},set(e){var t;console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...(t=this.$store.state.luma)==null?void 0:t.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=ge)}}),Me={class:"field"},Oe={class:"title font-bold"};function je(e,t,o,a,f,h){const c=n("el-switch"),u=n("info-icon");return r(),p("div",Me,[l("h2",Oe,i(e.$t("luma.name.enhancement")),1),s(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"]),s(u,{content:e.$t("luma.description.enhancement"),class:"info"},null,8,["content"])])}var qe=k(Fe,[["render",je],["__scopeId","data-v-175365a0"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/config/EnhancementSelector.vue"]]);const Be=w({name:"CustomSelector",components:{ElSwitch:W,InfoIcon:A},computed:{value:{get(){var e,t;return(t=(e=this.$store.state.luma)==null?void 0:e.config)==null?void 0:t.custom},set(e){var t;console.debug("set custom",e),this.$store.commit("luma/setConfig",{...(t=this.$store.state.luma)==null?void 0:t.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=$e)}}),He={class:"field"},Ke={class:"title font-bold"};function Qe(e,t,o,a,f,h){const c=n("el-switch"),u=n("info-icon");return r(),p("div",He,[l("h2",Ke,i(e.$t("luma.name.custom")),1),s(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"]),s(u,{content:e.$t("luma.description.custom"),class:"info"},null,8,["content"])])}var We=k(Be,[["render",Qe],["__scopeId","data-v-5ac2addb"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/config/CustomSelector.vue"]]);const Je=w({name:"LoopSelector",components:{ElSwitch:W,InfoIcon:A},computed:{value:{get(){var e,t;return(t=(e=this.$store.state.luma)==null?void 0:e.config)==null?void 0:t.loop},set(e){var t;console.debug("set loop",e),this.$store.commit("luma/setConfig",{...(t=this.$store.state.luma)==null?void 0:t.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=ye)}}),Xe={class:"field"},Ye={class:"title font-bold"};function Ze(e,t,o,a,f,h){const c=n("el-switch"),u=n("info-icon");return r(),p("div",Xe,[l("h2",Ye,i(e.$t("luma.name.loop")),1),s(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"]),s(u,{content:e.$t("luma.description.loop"),class:"info"},null,8,["content"])])}var xe=k(Je,[["render",Ze],["__scopeId","data-v-69cccd4e"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/config/LoopSelector.vue"]]);const et=w({name:"ContentInput",components:{ElUpload:J,ElButton:R,InfoIcon:A},data(){return{fileList:[],uploadUrl:Q()+"/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})},value:{get(){var e,t;return(t=(e=this.$store.state.luma)==null?void 0:e.config)==null?void 0:t.end_image_url},set(e){var o,a;const t=(o=this.urls)==null?void 0:o[0];this.$store.commit("luma/setConfig",{...(a=this.$store.state.luma)==null?void 0:a.config,end_image_url:t})}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){y.warning(this.$t("luma.message.uploadEndImageExceed"))},onError(){y.error(this.$t("luma.message.uploadEndImageError"))},onSetEndImageUrl(){var t,o;const e=(t=this.urls)==null?void 0:t[0];this.$store.commit("luma/setConfig",{...(o=this.$store.state.luma)==null?void 0:o.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),tt={class:"field"},ot={class:"title font-bold"},st={class:"upload-wrapper"};function nt(e,t,o,a,f,h){const c=n("el-button"),u=n("el-upload"),d=n("info-icon");return r(),p("div",tt,[l("h2",ot,i(e.$t("luma.name.endImageUrl")),1),l("div",st,[s(u,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:m(()=>[s(c,{size:"small",type:"primary",round:""},{default:m(()=>[v(i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),s(d,{content:e.$t("luma.description.endImageUrl"),class:"info"},null,8,["content"])])}var at=k(et,[["render",nt],["__scopeId","data-v-97900bb4"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/config/EndImageUrlInput.vue"]]);const lt=w({name:"StartImageUrlInput",components:{ElUpload:J,ElButton:R,InfoIcon:A},data(){return{fileList:[],uploadUrl:Q()+"/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})},value:{get(){var e,t;return(t=(e=this.$store.state.luma)==null?void 0:e.config)==null?void 0:t.start_image_url},set(e){var o,a;const t=(o=this.urls)==null?void 0:o[0];this.$store.commit("luma/setConfig",{...(a=this.$store.state.luma)==null?void 0:a.config,start_image_url:t})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){y.warning(this.$t("luma.message.uploadStartImageExceed"))},onError(){y.error(this.$t("luma.message.uploadStartImageError"))},async onRemove(){y.error(this.$t("luma.message.uploadStartImageError"))},onSetStartImageUrl(){var t,o;const e=(t=this.urls)==null?void 0:t[0];this.$store.commit("luma/setConfig",{...(o=this.$store.state.luma)==null?void 0:o.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),it={class:"field"},rt={class:"title font-bold"},ct={class:"upload-wrapper"};function ut(e,t,o,a,f,h){const c=n("el-button"),u=n("el-upload"),d=n("info-icon");return r(),p("div",it,[l("h2",rt,i(e.$t("luma.name.startImageUrl")),1),l("div",ct,[s(u,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{default:m(()=>[s(c,{size:"small",type:"primary",round:""},{default:m(()=>[v(i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),s(d,{content:e.$t("luma.description.startImageUrl"),class:"info"},null,8,["content"])])}var dt=k(lt,[["render",ut],["__scopeId","data-v-5440a4bf"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/config/StartImageUrlInput.vue"]]);const mt=w({name:"UploadVideo",components:{ElUpload:J,ElButton:R,InfoIcon:A},data(){return{fileList:[],uploadUrl:Q()+"/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})},value:{get(){var e,t;return(t=(e=this.$store.state.luma)==null?void 0:e.config)==null?void 0:t.video_url},set(e){var o,a;const t=(o=this.urls)==null?void 0:o[0];this.$store.commit("luma/setConfig",{...(a=this.$store.state.luma)==null?void 0:a.config,video_url:t})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){y.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){y.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",o=e.size/1024/1024<10;return t?o?!0:(y.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(y.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){var t,o;const e=(t=this.urls)==null?void 0:t[0];this.$store.commit("luma/setConfig",{...(o=this.$store.state.luma)==null?void 0:o.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),pt={class:"field"},_t={class:"title font-bold"},ft={class:"upload-wrapper"};function ht(e,t,o,a,f,h){const c=n("el-button"),u=n("el-upload"),d=n("info-icon");return r(),p("div",pt,[l("h2",_t,i(e.$t("luma.name.videoUrl")),1),l("div",ft,[s(u,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:m(()=>[s(c,{size:"small",type:"primary",round:""},{default:m(()=>[v(i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])]),s(d,{content:e.$t("luma.description.videoUrl"),class:"info"},null,8,["content"])])}var vt=k(mt,[["render",ht],["__scopeId","data-v-46c66c9f"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/config/UploadVideo.vue"]]);const gt="",$t=w({name:"PromptInput",components:{ElInput:Se,InfoIcon:A},computed:{prompt:{get(){var e,t;return(t=(e=this.$store.state.luma)==null?void 0:e.config)==null?void 0:t.prompt},set(e){var t;console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...(t=this.$store.state.luma)==null?void 0:t.config,prompt:e})}}},mounted(){this.value||(this.value=gt)}}),yt={class:"field"},bt={class:"box"},kt={class:"title font-bold"};function wt(e,t,o,a,f,h){const c=n("info-icon"),u=n("el-input");return r(),p("div",yt,[l("div",bt,[l("h2",kt,i(e.$t("luma.name.prompt")),1),s(c,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),s(u,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt"),maxlength:2e3,"show-word-limit":""},null,8,["modelValue","placeholder"])])}var It=k($t,[["render",wt],["__scopeId","data-v-19a7446b"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/config/PromptInput.vue"]]);const Vt=w({name:"ExtendFromInput",components:{VuePlyr:ve},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){var e;return(e=this.$store.state.luma)==null?void 0:e.config}}}),St={class:"field"},Et={class:"box"},Ut={class:"title font-bold"},Ct={class:"task"},Lt=["data-poster"],Pt=["src"];function Nt(e,t,o,a,f,h){const c=n("vue-plyr");return r(),p("div",St,[l("div",Et,[l("h2",Ut,i(e.$t("luma.name.extend")),1)]),l("div",Ct,[l("div",null,[s(c,{options:e.options,class:"video"},{default:m(()=>{var u,d;return[l("video",{controls:"",crossorigin:"",playsinline:"","data-poster":(u=e.config)==null?void 0:u.thumbnail_url},[l("source",{size:"1080",src:(d=e.config)==null?void 0:d.video_url,type:"video/mp4"},null,8,Pt)],8,Lt)]}),_:1},8,["options"])])])])}var Tt=k(Vt,[["render",Nt],["__scopeId","data-v-1cefb16b"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/config/ExtendFromInput.vue"]]);const At=w({name:"PresetPanel",components:{LoopSelector:xe,StartImageUrlInput:dt,EndImageUrlInput:at,EnhancementSelector:qe,ElButton:R,FontAwesomeIcon:K,PromptInput:It,ExtendFromInput:Tt,CustomSelector:We,UploadVideo:vt},emits:["generate"],computed:{config(){var e;return(e=this.$store.state.luma)==null?void 0:e.config}},methods:{onGenerate(){this.$emit("generate")}}}),Rt={class:"panel"},Gt={class:"config"},Dt={class:"actions"};function zt(e,t,o,a,f,h){var L,V,T,G,D,z,F,M,O;const c=n("extend-from-input"),u=n("prompt-input"),d=n("custom-selector"),_=n("upload-video"),$=n("start-image-url-input"),S=n("end-image-url-input"),E=n("enhancement-selector"),N=n("loop-selector"),U=n("font-awesome-icon"),C=n("el-button");return r(),p("div",Rt,[l("div",Gt,[((L=e.config)==null?void 0:L.video_id)||((V=e.config)==null?void 0:V.video_url)?(r(),P(c,{key:0,class:"mb-4"})):g("v-if",!0),s(u,{class:"mb-4"}),(T=e.config)!=null&&T.video_id?g("v-if",!0):(r(),P(d,{key:1,class:"mb-4"})),(G=e.config)!=null&&G.custom?(r(),P(_,{key:2,class:"mb-4"})):g("v-if",!0),!(((D=e.config)==null?void 0:D.video_id)||((z=e.config)==null?void 0:z.video_url))&&!((F=e.config)!=null&&F.custom)?(r(),P($,{key:3,class:"mb-4"})):g("v-if",!0),s(S,{class:"mb-4"}),s(E,{class:"mb-4"}),s(N,{class:"mb-4"}),l("div",Dt,[((M=e.config)==null?void 0:M.video_url)!==void 0||((O=e.config)==null?void 0:O.custom)?(r(),P(C,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[s(U,{icon:"fa-solid fa-magic",class:"mr-2"}),v(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(r(),P(C,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[s(U,{icon:"fa-solid fa-magic",class:"mr-2"}),v(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])])}var Ft=k(At,[["render",zt],["__scopeId","data-v-951b4cc0"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/ConfigPanel.vue"]]);const Mt=w({name:"VideoPlayer",components:{VuePlyr:ve},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),Ot=["data-poster"],jt=["src"];function qt(e,t,o,a,f,h){const c=n("vue-plyr");return r(),p("div",null,[s(c,{options:e.options,class:"video"},{default:m(()=>{var u,d,_,$;return[l("video",{controls:"",crossorigin:"",playsinline:"","data-poster":(d=(u=e.modelValue)==null?void 0:u.response)==null?void 0:d.thumbnail_url},[l("source",{size:"1080",src:($=(_=e.modelValue)==null?void 0:_.response)==null?void 0:$.video_url,type:"video/mp4"},null,8,jt)],8,Ot)]}),_:1},8,["options"])])}var Bt=k(Mt,[["render",qt],["__scopeId","data-v-759e400c"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/VideoPlayer.vue"]]);const Ht=w({name:"TaskPreview",components:{ElImage:Ee,CopyToClipboard:Ne,FontAwesomeIcon:K,ElAlert:Ue,VideoPlayer:Bt,ElTooltip:Ce,ElButton:R},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){var e;return(e=this.$store.state.luma)==null?void 0:e.application},config(){var e;return(e=this.$store.state.luma)==null?void 0:e.config}},methods:{onExtend(e,t){var o;e.stopPropagation(),console.debug("set config",t),this.$store.commit("luma/setConfig",{...(o=this.$store.state.luma)==null?void 0:o.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url})},onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,o=new URL(t.src),a=o.searchParams.get("retry");if(!a)o.searchParams.set("retry","1");else if(parseInt(a)<2)o.searchParams.set("retry",(parseInt(a)+1).toString());else return;t.src=o.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),Kt={class:"preview"},Qt={class:"left"},Wt={class:"main"},Jt={class:"bot"},Xt={class:"datetime"},Yt={class:"info"},Zt={key:0,class:"prompt mt-2"},xt={key:0},eo={key:1},to={key:0,class:q({content:!0,failed:!0})},oo={class:"image-wrapper"},so={key:0,class:q({operations:!0,"mt-2":!0})},no={class:"description"},ao={key:1,class:q({content:!0})},lo={class:"description"},io={class:"description"},ro={class:"description"},co={key:2,class:q({content:!0})},uo={class:"description"};function mo(e,t,o,a,f,h){var N,U,C,L,V,T,G,D,z,F,M,O,X,Y,Z,x,ee,te,oe,se,ne,ae,le;const c=n("el-image"),u=n("VideoPlayer"),d=n("el-button"),_=n("el-tooltip"),$=n("font-awesome-icon"),S=n("copy-to-clipboard"),E=n("el-alert");return r(),p("div",Kt,[l("div",Qt,[s(c,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),l("div",Wt,[l("div",Jt,[v(i(e.$t("luma.name.lumaBot"))+" ",1),l("span",Xt,i(e.$dayjs.format(""+new Date(parseFloat(((N=e.modelValue)==null?void 0:N.created_at)||"")*1e3))),1)]),l("div",Yt,[(C=(U=e.modelValue)==null?void 0:U.request)!=null&&C.prompt?(r(),p("p",Zt,[v(i((V=(L=e.modelValue)==null?void 0:L.request)==null?void 0:V.prompt)+" ",1),(T=e.modelValue)!=null&&T.response?g("v-if",!0):(r(),p("span",xt," - ("+i(e.$t("luma.status.pending"))+") ",1)),((D=(G=e.modelValue)==null?void 0:G.response)==null?void 0:D.state)==="processing"||((F=(z=e.modelValue)==null?void 0:z.response)==null?void 0:F.state)==="pending"?(r(),p("span",eo," - ("+i(e.$t("luma.status.processing"))+") ",1)):g("v-if",!0)])):g("v-if",!0)]),g(" Display success message "),((O=(M=e.modelValue)==null?void 0:M.response)==null?void 0:O.success)===!0?(r(),p("div",to,[l("div",oo,[s(u,{"model-value":e.modelValue},null,8,["model-value"])]),((X=e.modelValue)==null?void 0:X.response)&&!((Y=e.config)!=null&&Y.custom)?(r(),p("div",so,[s(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:m(()=>[s(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=I=>{var b;return e.onExtend(I,(b=e.modelValue)==null?void 0:b.response)})},{default:m(()=>[v(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),s(_,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:m(()=>[s(d,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=I=>{var b,j;return e.onDownload(I,(j=(b=e.modelValue)==null?void 0:b.response)==null?void 0:j.video_url)})},{default:m(()=>[v(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):g("v-if",!0),s(E,{closable:!1,class:"mt-2 success"},{default:m(()=>{var I,b;return[l("p",no,[s($,{icon:"fa-solid fa-magic",class:"mr-1"}),v(" "+i(e.$t("luma.name.taskId"))+": "+i((I=e.modelValue)==null?void 0:I.id)+" ",1),s(S,{content:(b=e.modelValue)==null?void 0:b.id,class:"btn-copy"},null,8,["content"])])]}),_:1})])):g("v-if",!0),g(" Display error message "),((x=(Z=e.modelValue)==null?void 0:Z.response)==null?void 0:x.state)==="failed"||((te=(ee=e.modelValue)==null?void 0:ee.response)==null?void 0:te.success)===!1?(r(),p("div",ao,[s(E,{closable:!1,class:"failure"},{template:m(()=>[s($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),v(" "+i(e.$t("luma.name.failure")),1)]),default:m(()=>{var I,b,j,ie,re,ce,ue,de,me,pe,_e;return[l("p",lo,[s($,{icon:"fa-solid fa-magic",class:"mr-1"}),v(" "+i(e.$t("luma.name.taskId"))+": "+i((I=e.modelValue)==null?void 0:I.id)+" ",1),s(S,{content:(b=e.modelValue)==null?void 0:b.id,class:"btn-copy"},null,8,["content"])]),l("p",io,[s($,{icon:"fa-solid fa-circle-info",class:"mr-1"}),v(" "+i(e.$t("luma.name.failureReason"))+": "+i((re=(ie=(j=e.modelValue)==null?void 0:j.response)==null?void 0:ie.error)==null?void 0:re.message)+" ",1),s(S,{content:(de=(ue=(ce=e.modelValue)==null?void 0:ce.response)==null?void 0:ue.error)==null?void 0:de.message,class:"btn-copy"},null,8,["content"])]),l("p",ro,[s($,{icon:"fa-solid fa-hashtag",class:"mr-1"}),v(" "+i(e.$t("luma.name.traceId"))+": "+i((me=e.modelValue)==null?void 0:me.trace_id)+" ",1),s(S,{content:(_e=(pe=e.modelValue)==null?void 0:pe.response)==null?void 0:_e.trace_id,class:"btn-copy"},null,8,["content"])])]}),_:1})])):g("v-if",!0),g(" Display error message "),!((oe=e.modelValue)!=null&&oe.response)||((ne=(se=e.modelValue)==null?void 0:se.response)==null?void 0:ne.state)==="processing"||((le=(ae=e.modelValue)==null?void 0:ae.response)==null?void 0:le.state)==="pending"?(r(),p("div",co,[s(E,{closable:!1,class:"info"},{template:m(()=>[s($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),v(" "+i(e.$t("luma.name.failure")),1)]),default:m(()=>{var I,b;return[l("p",uo,[s($,{icon:"fa-solid fa-magic",class:"mr-1"}),v(" "+i(e.$t("luma.name.taskId"))+": "+i((I=e.modelValue)==null?void 0:I.id)+" ",1),s(S,{content:(b=e.modelValue)==null?void 0:b.id,class:"btn-copy"},null,8,["content"])])]}),_:1})])):g("v-if",!0)])])}var po=k(Ht,[["render",mo],["__scopeId","data-v-077795a0"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/task/Preview.vue"]]);const _o=w({name:"RecentPanel",components:{TaskPreview:po,ElSkeleton:Le,ElSkeletonItem:Pe},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){var e,t,o,a;return{...(e=this.$store.state.luma)==null?void 0:e.tasks,items:(a=(o=(t=this.$store.state.luma)==null?void 0:t.tasks)==null?void 0:o.items)==null?void 0:a.slice()}}},methods:{onHandleScroll(){const e=this.$refs.panel;console.log("reach-top reach-top reach-top"),e.scrollTop===0&&this.$emit("reach-top")}}}),fo={key:0,class:"tasks"},ho={class:"left"},vo={class:"main"},go={key:1,class:"tasks"},$o={key:2,class:"description"};function yo(e,t,o,a,f,h){var _,$,S,E,N,U,C,L;const c=n("el-skeleton-item"),u=n("el-skeleton"),d=n("task-preview");return r(),p("div",{ref:"panel",class:"panel recent",onScroll:t[0]||(t[0]=(...V)=>e.onHandleScroll&&e.onHandleScroll(...V))},[((_=e.tasks)==null?void 0:_.items)===void 0?(r(),p("div",fo,[(r(),p(fe,null,he(3,V=>l("div",{key:V,class:"task placeholder"},[l("div",ho,[s(u,{animated:""},{template:m(()=>[s(c,{variant:"image",class:"avatar"})]),_:1})]),l("div",vo,[s(u,{animated:""},{template:m(()=>[s(c,{variant:"p",class:"title"}),s(c,{variant:"image",class:"icon"})]),_:1})])])),64))])):((S=($=e.tasks)==null?void 0:$.items)==null?void 0:S.length)&&((N=(E=e.tasks)==null?void 0:E.items)==null?void 0:N.length)>0?(r(),p("div",go,[(r(!0),p(fe,null,he((U=e.tasks)==null?void 0:U.items,(V,T)=>(r(),P(d,{key:T,"model-value":V,class:"preview"},null,8,["model-value"]))),128))])):g("v-if",!0),((L=(C=e.tasks)==null?void 0:C.items)==null?void 0:L.length)===0?(r(),p("p",$o,i(e.$t("luma.message.noTasks")),1)):g("v-if",!0)],544)}var bo=k(_o,[["render",yo],["__scopeId","data-v-2f8302a7"],["__file","/home/runner/work/Nexior/Nexior/src/components/luma/RecentPanel.vue"]]);const ko="https://webhook.acedata.cloud/luma",wo=w({name:"LumaIndex",components:{ConfigPanel:Ft,Layout:ze,RecentPanel:bo},data(){return{task:void 0,job:0,timer:void 0}},computed:{loading(){var e,t;return((t=(e=this.$store.state.luma)==null?void 0:e.status)==null?void 0:t.getApplications)===B.Request},service(){return this.$store.state.luma.service},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},initializing(){return this.$store.state.luma.status.getApplications===B.Request},needApply(){return this.$store.state.luma.status.getApplications===B.Success&&!this.application},application(){return this.$store.state.luma.application},applications(){return this.$store.state.luma.applications},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){var o,a;((o=e==null?void 0:e.items)==null?void 0:o.length)>((a=t==null?void 0:t.items)==null?void 0:a.length)&&console.debug("new tasks detected")},deep:!0}},async mounted(){await this.onGetService(),await this.onGetApplication(),await this.onScrollDown(),await this.onGetTasks(),this.job=setInterval(()=>{this.onGetTasks()},5e3)},async unmounted(){clearInterval(this.job),clearInterval(this.timer)},methods:{async onReachTop(){var e,t,o;console.debug("reached top"),await this.onGetTasks({createdAtMax:(o=(t=(e=this.tasks)==null?void 0:e.items)==null?void 0:t[0])==null?void 0:o.created_at})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){be.create({application:this.application}).then(({data:e})=>{this.application=e,y.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{var t,o;((o=(t=e==null?void 0:e.response)==null?void 0:t.data)==null?void 0:o.code)===ke&&y.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".recent");e&&(e.scrollTop=e.scrollHeight)},500)},async onGetTasks(e){if(this.loading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:o,createdAtMax:a}=e||{};console.debug("limit",t,"createdAtMin",o,"createdAtMax",a),await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:o,createdAtMax:a})},async onGenerate(){var o;const e={...this.config,callback_url:ko},t=(o=this.credential)==null?void 0:o.token;if(!t){console.error("no token specified");return}y.info(this.$t("luma.message.startingTask")),we.generate(e,{token:t}).then(()=>{y.success(this.$t("luma.message.startTaskSuccess")),this.$store.commit("luma/setConfig",{config:void 0})}).catch(a=>{var h,c;const f=(h=a==null?void 0:a.response)==null?void 0:h.data;((c=f==null?void 0:f.error)==null?void 0:c.code)===Ie?y.error(this.$t("luma.message.usedUp")):y.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}});function Io(e,t,o,a,f,h){const c=n("config-panel"),u=n("recent-panel"),d=n("layout");return r(),P(d,null,{config:m(()=>[s(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[s(u,{class:"panel recent",onReachTop:e.onReachTop},null,8,["onReachTop"])]),_:1})}var Ro=k(wo,[["render",Io],["__scopeId","data-v-c45e0af8"],["__file","/home/runner/work/Nexior/Nexior/src/pages/luma/Index.vue"]]);export{Ro as default};
|