Sidebar.CCm1f45F.js 8.4 KB

1
  1. import{d as s,a as e,au as a,t,av as i,S as o,aw as n,aj as l,ax as r,ah as d,ai as u,x as c,ar as m,Q as p,s as _,P as f,q as v}from"./element-plus.Coxisi3K.js";import{M as j,aD as g,aZ as h,aL as y,u as w,au as b,v as k,I as C,bJ as x,t as I,F as S,bk as z,aX as B,bb as D,bL as L,bB as T,bO as q,H as A,aU as E,q as F}from"./@vue.DbmRtknU.js";import{a as H}from"./vue-router.yxIMtaxH.js";import{u as M,n as O,_ as V}from"./index.Zdt67uUk.js";import"./lodash-es.DaM9m3L-.js";import"./async-validator.j0i5Y79Y.js";import"./@popperjs.DxtSUbXb.js";import"./@ctrl.BEgk5vdO.js";import"./dayjs.DCWbrgJ0.js";import"./memoize-one.BAtLgO95.js";import"./normalize-wheel-es.TzhA1irr.js";import"./@floating-ui.8vigAAFV.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.js";import"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./nprogress.BTjJXJ-u.js";import"./codemirror.CYSLATvI.js";import"./diff-match-patch.DkK4wJpa.js";import"./vue-web-terminal.D-rog7dz.js";import"./vue.MGxsMDTR.js";/* empty css */import"./axios.Da-QW0H8.js";import"./qs.BQjOrGHM.js";import"./side-channel.4q28KFJj.js";import"./es-errors.DTEWvbA_.js";import"./object-inspect.DvQZIv3_.js";import"./side-channel-list.Do0-XmF5.js";import"./side-channel-map.DNHQ53lO.js";import"./get-intrinsic.Bbe5x-9b.js";import"./es-object-atoms.CyiuHMUS.js";import"./math-intrinsics.pM-JTNwN.js";import"./gopd.BudZp56J.js";import"./es-define-property.F0aoeP8o.js";import"./has-symbols.BcO-SUVM.js";import"./get-proto.Cb_fpw-j.js";import"./dunder-proto.WEH3rgQR.js";import"./call-bind-apply-helpers.DJjIjCF_.js";import"./function-bind.DrnB-baK.js";import"./hasown.BXcyoiLU.js";import"./call-bound.22gFUC2Q.js";import"./side-channel-weakmap.DpSeWE6i.js";import"./pinia-plugin-persistedstate.COWkwNh5.js";const J={class:"sidebar-header"},P={class:"logo-section"},U={key:0,class:"project-name"},G={class:"sidebar-content"},K={class:"new-session-section"},Q={class:"history-section"},R={class:"search-section"},X={class:"history-groups"},Z=["onClick"],N={class:"session-list"},W=["onClick"],Y={class:"session-title"},$={key:0,class:"empty-state"},ss={class:"sidebar-footer"},es={key:0,class:"user-info"},as={class:"user-details"},ts={class:"user-name"},is={key:1,class:"collapsed-user"},os=V(j({__name:"Sidebar",props:{currentSessionId:{},isCollapsed:{type:Boolean,default:!1}},emits:["select-session","new-session"],setup(j,{expose:V,emit:os}){const ns=os,ls=H(),rs=M(),ds=E([]),us=E(""),cs=E(new Set),ms=F(()=>({id:rs.basicInfo.id||0,name:rs.basicInfo.name||"用户",username:rs.basicInfo.username||"",avatar:rs.basicInfo.avatar||"",email:rs.basicInfo.email||""})),ps=F(()=>{if(!us.value.trim())return ds.value;const s=us.value.toLowerCase();return ds.value.filter(e=>(e.title||"").toLowerCase().includes(s))}),_s=F(()=>{const s=new Date;s.setHours(0,0,0,0);const e=s.getTime(),a=e-864e5,t=e-6048e5,i=[],o=[],n=[],l=[];ps.value.forEach(s=>{if(!s.updated_at)return;const r=1e3*s.updated_at;r>=e?i.push(s):r>=a?o.push(s):r>=t?n.push(s):l.push(s)});const r=[];return i.length>0&&r.push({id:"today",title:"今天",sessions:i}),o.length>0&&r.push({id:"yesterday",title:"昨天",sessions:o}),n.length>0&&r.push({id:"week",title:"本周",sessions:n}),l.length>0&&r.push({id:"earlier",title:"更早",sessions:l}),r}),fs=()=>{},vs=()=>{ns("new-session")},js=s=>{"profile"===s?ls.push("/profile"):"settings"===s?v.info("设置功能开发中"):"logout"===s&&rs.logout().then(()=>{ls.push("/login")})},gs=async()=>{try{const s=(await O.getSessionList({page_no:1,page_size:100})).data,e=null==s?void 0:s.data;(null==e?void 0:e.items)&&Array.isArray(e.items)&&(ds.value=e.items.filter(s=>void 0!==s.session_id).map(s=>{var e,a,t,i;return{id:s.session_id,title:(null==(e=s.session_data)?void 0:e.session_name)||(null==(a=s.session_id)?void 0:a.slice(0,8))||"新会话",created_at:s.created_at,updated_at:s.updated_at,message_count:(null==(t=s.runs)?void 0:t.length)||0,session_id:s.session_id,session_type:s.session_type,agent_id:s.agent_id,user_id:s.user_id,team_id:s.team_id,team_name:s.team_name,workflow_id:s.workflow_id,summary:s.summary,metadata:s.metadata,runs:s.runs,session_data:s.session_data,agent_data:s.agent_data,team_data:s.team_data,workflow_data:s.workflow_data,created_time:s.created_at?new Date(1e3*s.created_at).toISOString():null,updated_time:s.updated_at?new Date(1e3*s.updated_at).toISOString():null,messages:(null==(i=s.runs)?void 0:i.flatMap(s=>s.messages||[]))||[]}}))}catch(s){}};return g(()=>{gs()}),V({loadSessions:gs}),(g,E)=>{const F=h("ChatDotRound"),H=s,M=e,V=t,os=u,ls=d,rs=l,gs=c,hs=m;return y(),w("div",{class:b(["sidebar",{collapsed:j.isCollapsed}])},[k("div",J,[k("div",P,[C(H,{class:"logo-icon",size:28},{default:x(()=>[C(F)]),_:1}),j.isCollapsed?I("",!0):(y(),w("span",U,"FA智能助手"))])]),k("div",G,[j.isCollapsed?I("",!0):(y(),w(S,{key:0},[k("div",K,[C(M,{type:"primary",class:"new-session-btn",onClick:vs},{default:x(()=>[C(H,{class:"btn-icon"},{default:x(()=>[C(z(a))]),_:1}),E[2]||(E[2]=k("span",null,"开启新对话",-1))]),_:1})]),k("div",Q,[k("div",R,[C(V,{modelValue:us.value,"onUpdate:modelValue":E[0]||(E[0]=s=>us.value=s),placeholder:"搜索会话历史","prefix-icon":z(i),clearable:"",onInput:fs},null,8,["modelValue","prefix-icon"])]),k("div",X,[(y(!0),w(S,null,B(_s.value,s=>(y(),w("div",{key:s.title,class:"history-group"},[k("div",{class:"group-title",onClick:e=>(s=>{const e=new Set(cs.value);e.has(s)?e.delete(s):e.add(s),cs.value=e})(s.title)},[k("span",null,D(s.title),1),C(H,{class:b(["collapse-icon",{collapsed:cs.value.has(s.title)}])},{default:x(()=>[C(z(o))]),_:1},8,["class"])],8,Z),L(k("div",N,[(y(!0),w(S,null,B(s.sessions,s=>{var e;return y(),w("div",{key:s.id,class:b(["session-item",{active:j.currentSessionId===s.id}]),onClick:e=>(s=>{ns("select-session",s)})(s)},[C(H,{class:"session-icon"},{default:x(()=>[C(z(n))]),_:1}),k("span",Y,D(s.title||(null==(e=s.session_data)?void 0:e.session_name)||"未命名会话"),1),C(rs,{trigger:"click",onCommand:e=>(async(s,e)=>{if("rename"===s)try{const{value:s}=await f.prompt("请输入新的会话名称","重命名",{confirmButtonText:"确定",cancelButtonText:"取消",inputPattern:/.+/,inputErrorMessage:"会话名称不能为空"});await O.updateSession(e.id,{title:s}),e.title=s,v.success("重命名成功")}catch(a){"cancel"!==a?v.error("重命名失败"):v.info("已取消重命名")}else if("delete"===s)try{await f.confirm("确定要删除此会话吗?","确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await O.deleteSession([e.id]);const s=ds.value.findIndex(s=>s.id===e.id);s>-1&&ds.value.splice(s,1),v.success("删除成功")}catch(a){"cancel"!==a?v.error("删除失败"):v.info("已取消删除")}})(e,s)},{dropdown:x(()=>[C(ls,null,{default:x(()=>[C(os,{command:"rename"},{default:x(()=>[...E[3]||(E[3]=[A("重命名",-1)])]),_:1}),C(os,{command:"delete",divided:""},{default:x(()=>[...E[4]||(E[4]=[A("删除",-1)])]),_:1})]),_:1})]),default:x(()=>[C(H,{class:"more-icon",onClick:E[1]||(E[1]=q(()=>{},["stop"]))},{default:x(()=>[C(z(r))]),_:1})]),_:1},8,["onCommand"])],10,W)}),128))],512),[[T,!cs.value.has(s.title)]])]))),128)),0===ps.value.length?(y(),w("div",$,[C(gs,{description:"暂无会话历史","image-size":60})])):I("",!0)])])],64))]),k("div",ss,[j.isCollapsed?(y(),w("div",is,[C(rs,{trigger:"click",onCommand:js},{dropdown:x(()=>[C(ls,null,{default:x(()=>[C(os,{command:"profile"},{default:x(()=>[...E[9]||(E[9]=[A("个人中心",-1)])]),_:1}),C(os,{command:"settings"},{default:x(()=>[...E[10]||(E[10]=[A("设置",-1)])]),_:1}),C(os,{command:"logout",divided:""},{default:x(()=>[...E[11]||(E[11]=[A("退出登录",-1)])]),_:1})]),_:1})]),default:x(()=>[C(hs,{size:32,src:ms.value.avatar},{default:x(()=>[C(H,null,{default:x(()=>[C(z(p))]),_:1})]),_:1},8,["src"])]),_:1})])):(y(),w("div",es,[C(hs,{size:32,src:ms.value.avatar},{default:x(()=>[C(H,null,{default:x(()=>[C(z(p))]),_:1})]),_:1},8,["src"]),k("div",as,[k("div",ts,D(ms.value.name),1),E[5]||(E[5]=k("div",{class:"user-status"},"在线",-1))]),C(rs,{trigger:"click",onCommand:js},{dropdown:x(()=>[C(ls,null,{default:x(()=>[C(os,{command:"profile"},{default:x(()=>[...E[6]||(E[6]=[A("个人中心",-1)])]),_:1}),C(os,{command:"settings"},{default:x(()=>[...E[7]||(E[7]=[A("设置",-1)])]),_:1}),C(os,{command:"logout",divided:""},{default:x(()=>[...E[8]||(E[8]=[A("退出登录",-1)])]),_:1})]),_:1})]),default:x(()=>[C(H,{class:"user-menu-icon"},{default:x(()=>[C(z(_))]),_:1})]),_:1})]))])],2)}}}),[["__scopeId","data-v-0cca7386"]]);export{os as default};