chatlab-cli 0.22.0 → 0.23.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.
Files changed (77) hide show
  1. package/dist/{chunk-3UBWLWXB.mjs → chunk-3MX7VF2B.mjs} +2 -2
  2. package/dist/chunk-5ADKYYNA.mjs +28 -0
  3. package/dist/chunk-5ADKYYNA.mjs.map +1 -0
  4. package/dist/{chunk-4U45E7TO.mjs → chunk-643S2N2U.mjs} +2 -2
  5. package/dist/{chunk-AMMSVJG4.mjs → chunk-D2BR3MFN.mjs} +132 -43
  6. package/dist/chunk-D2BR3MFN.mjs.map +1 -0
  7. package/dist/{chunk-6NB475AA.mjs → chunk-FJ35V3TE.mjs} +2 -17
  8. package/dist/chunk-FJ35V3TE.mjs.map +1 -0
  9. package/dist/{chunk-QJQJIUUS.mjs → chunk-G7Q7EQ3V.mjs} +618 -108
  10. package/dist/chunk-G7Q7EQ3V.mjs.map +1 -0
  11. package/dist/{chunk-6GLMVWGA.mjs → chunk-NTWDG52H.mjs} +66 -68
  12. package/dist/chunk-NTWDG52H.mjs.map +1 -0
  13. package/dist/{chunk-D2XJ4Z7G.mjs → chunk-WTQ7LAZR.mjs} +2 -2
  14. package/dist/cli.mjs +4 -3
  15. package/dist/{http-R5UECMPJ.mjs → http-2DN3XOXO.mjs} +8 -7
  16. package/dist/{import-3LOWRXWA.mjs → import-LCBSBLYF.mjs} +4 -4
  17. package/dist/index.mjs +10 -9
  18. package/dist/{mcp-WBHNLED2.mjs → mcp-AR7HBIK4.mjs} +8 -6
  19. package/dist/{mcp-WBHNLED2.mjs.map → mcp-AR7HBIK4.mjs.map} +1 -1
  20. package/dist/service-WNEVPQ4N.mjs +258 -0
  21. package/dist/service-WNEVPQ4N.mjs.map +1 -0
  22. package/dist/{src-UHM2UDRD.mjs → src-EGXULYFQ.mjs} +2 -2
  23. package/dist/{stream-import-V6Z7DXSW.mjs → stream-import-QM5R5FDG.mjs} +3 -3
  24. package/dist/{update-checker-MQMQ6A4B.mjs → update-checker-JG5K67O2.mjs} +3 -2
  25. package/dist/{update-checker-MQMQ6A4B.mjs.map → update-checker-JG5K67O2.mjs.map} +1 -1
  26. package/dist-web/assets/{DebugToolsPanel-DkbsB6lr.css → DebugToolsPanel-D9O_4J04.css} +1 -1
  27. package/dist-web/assets/DebugToolsPanel.vue_vue_type_script_setup_true_lang-hp9Mjpub.js +161 -0
  28. package/dist-web/assets/{EChartWordcloud-Ubal_aYg.js → EChartWordcloud-Cenbzcyj.js} +1 -1
  29. package/dist-web/assets/MessageExportModal-CvocO88D.js +1 -0
  30. package/dist-web/assets/electron-DpE69lO4.js +1 -0
  31. package/dist-web/assets/electron-SyPZX9OU.js +1 -0
  32. package/dist-web/assets/{fetch-BS4SlQjA.js → fetch-B7OBmANJ.js} +1 -1
  33. package/dist-web/assets/{fetch-o5NJ2uWE.js → fetch-BikSxuED.js} +1 -1
  34. package/dist-web/assets/fetch-BwMZFwbF.js +1 -0
  35. package/dist-web/assets/fetch-CfTcWxqG.js +1 -0
  36. package/dist-web/assets/fetch-DTP8Q782.js +17 -0
  37. package/dist-web/assets/{fetch-W43zfemj.js → fetch-LBHcBBkv.js} +1 -1
  38. package/dist-web/assets/http-C741fIwb.js +1 -0
  39. package/dist-web/assets/index-B6dkyIiA.js +2 -0
  40. package/dist-web/assets/index-CALU1QPF.js +163 -0
  41. package/dist-web/assets/{index-BJUGnYn5.js → index-CHkXbqMb.js} +1 -1
  42. package/dist-web/assets/index-CvuHOeoU.css +1 -0
  43. package/dist-web/assets/{index-BE64tUWq.css → index-CxMP0DNd.css} +1 -1
  44. package/dist-web/assets/index-DOS5o2_H.js +7 -0
  45. package/dist-web/assets/{index-CbQMfheg.css → index-DuepdDzz.css} +1 -1
  46. package/dist-web/assets/index-niwrSprs.js +173 -0
  47. package/dist-web/assets/model-catalog-DUuKjIVU.js +1 -0
  48. package/dist-web/assets/{vendor-nuxt-ui-7OAuiz_i.js → vendor-nuxt-ui-CuCZ1aRl.js} +2 -2
  49. package/dist-web/assets/vendor-reka-ui-BrTYuIfH.js +11 -0
  50. package/dist-web/assets/{web-CZe0Ismu.js → web-DGd63PrV.js} +1 -1
  51. package/dist-web/index.html +4 -4
  52. package/package.json +1 -1
  53. package/dist/chunk-6GLMVWGA.mjs.map +0 -1
  54. package/dist/chunk-6NB475AA.mjs.map +0 -1
  55. package/dist/chunk-AMMSVJG4.mjs.map +0 -1
  56. package/dist/chunk-QJQJIUUS.mjs.map +0 -1
  57. package/dist-web/assets/DebugToolsPanel.vue_vue_type_script_setup_true_lang-CxYyne-Q.js +0 -147
  58. package/dist-web/assets/MessageExportModal-De5_tX6a.js +0 -1
  59. package/dist-web/assets/electron-8qi0d92j.js +0 -1
  60. package/dist-web/assets/electron-H65bUnhW.js +0 -1
  61. package/dist-web/assets/fetch-CclRWOHf.js +0 -1
  62. package/dist-web/assets/fetch-Q-PqsiMb.js +0 -17
  63. package/dist-web/assets/fetch-cFjLAPG2.js +0 -1
  64. package/dist-web/assets/http-CeXMt-Fv.js +0 -1
  65. package/dist-web/assets/index-B_31fXeB.js +0 -2
  66. package/dist-web/assets/index-CbOwHYzO.css +0 -1
  67. package/dist-web/assets/index-DKMUn8F5.js +0 -173
  68. package/dist-web/assets/index-D_ksezTw.js +0 -163
  69. package/dist-web/assets/index-Dhg3SDb6.js +0 -7
  70. package/dist-web/assets/vendor-reka-ui-CW2cIgMu.js +0 -11
  71. /package/dist/{chunk-3UBWLWXB.mjs.map → chunk-3MX7VF2B.mjs.map} +0 -0
  72. /package/dist/{chunk-4U45E7TO.mjs.map → chunk-643S2N2U.mjs.map} +0 -0
  73. /package/dist/{chunk-D2XJ4Z7G.mjs.map → chunk-WTQ7LAZR.mjs.map} +0 -0
  74. /package/dist/{http-R5UECMPJ.mjs.map → http-2DN3XOXO.mjs.map} +0 -0
  75. /package/dist/{import-3LOWRXWA.mjs.map → import-LCBSBLYF.mjs.map} +0 -0
  76. /package/dist/{src-UHM2UDRD.mjs.map → src-EGXULYFQ.mjs.map} +0 -0
  77. /package/dist/{stream-import-V6Z7DXSW.mjs.map → stream-import-QM5R5FDG.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- import{e as de,a as le,k as ce,b as se,g as ue,r as ge}from"./vendor-nuxt-ui-7OAuiz_i.js";import{u as J,d as ne,T as ye,h as ie,f as ve,H as me,b as xe,x as he,w as O,j as pe}from"./index-Dhg3SDb6.js";import{p as X,J as Q,w as W,d as re,G as l,P as u,a5 as t,R as T,T as n,u as y,L as I,K as R,Z as N,a3 as Z,H as Y,U as H,bA as ae,bB as oe,b as $,h as P,bE as fe,a0 as q,a9 as ke,Q as te,n as be,by as _e,W as we,bp as G}from"./vendor-reka-ui-CW2cIgMu.js";import{c as $e}from"./DebugToolsPanel.vue_vue_type_script_setup_true_lang-CxYyne-Q.js";import"./vendor-snapdom-XnBoh1gd.js";import"./index-BJUGnYn5.js";import"./vendor-echarts-wordcloud-CZ9gsX8l.js";import"./vendor-echarts-C5u62NnM.js";import"./vendor-zrender-DFl4U2Oe.js";const Se={class:"p-4 space-y-6"},Ie={class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},Ce={class:"text-gray-500 text-xs ml-1"},Te={class:"flex gap-2 mb-2"},Me={key:0,class:"flex flex-wrap gap-2"},ze=["onClick"],De={class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},Le={class:"space-y-2"},Be={key:0,class:"flex gap-2 items-center"},Fe={class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},Ue={class:"text-gray-500 text-xs ml-1"},Re={class:"max-h-60 overflow-y-auto border border-gray-200 dark:border-gray-700 rounded-md"},Pe={key:0,class:"p-4 text-center text-gray-500"},Ve={key:1,class:"p-4 text-center text-gray-500 text-sm"},He={key:2,class:"divide-y divide-gray-100 dark:divide-gray-700"},je=["checked","onChange"],Ee={class:"text-sm text-gray-700 dark:text-gray-300 truncate"},Ne={class:"text-xs text-gray-400 ml-auto"},Ae={key:0,class:"mt-2 text-xs text-gray-500"},Ke={class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},Ye={class:"text-gray-500 text-xs ml-1"},We=X({__name:"ConditionPanel",props:{keywords:{default:()=>[]},keywordsModifiers:{},timeRange:{default:null},timeRangeModifiers:{},senderIds:{default:()=>[]},senderIdsModifiers:{},contextSize:{default:10},contextSizeModifiers:{}},emits:["update:keywords","update:timeRange","update:senderIds","update:contextSize"],setup(v){const{t:C}=J(),M=ne(),h=Q(v,"keywords"),m=Q(v,"timeRange"),w=Q(v,"senderIds"),z=Q(v,"contextSize"),L=$(""),r=$([]),p=$(!1),k=$("all"),x=$(""),D=$(""),B=[{id:"all",label:"analysis.filter.allTime"},{id:"today",label:"analysis.filter.today"},{id:"week",label:"analysis.filter.lastWeek"},{id:"month",label:"analysis.filter.lastMonth"},{id:"3months",label:"analysis.filter.last3Months"},{id:"year",label:"analysis.filter.lastYear"},{id:"custom",label:"analysis.filter.customTime"}],F=P(()=>B.map(s=>({label:C(s.label),value:s.id})));W(k,()=>{a()});const j=$(null);async function E(){const s=M.currentSessionId;if(s){p.value=!0;try{r.value=await ie().getMembers(s)}catch(e){console.error("加载成员失败:",e)}finally{p.value=!1}}}async function V(){const s=M.currentSessionId;if(s)try{const e=await ie().getTimeRange(s);e&&(j.value=e)}catch(e){console.error("加载时间范围失败:",e)}}function U(){const s=L.value.trim();s&&!h.value.includes(s)&&(h.value=[...h.value,s],L.value="")}function c(s){h.value=h.value.filter(e=>e!==s)}function g(s){s.key==="Enter"&&(s.preventDefault(),U())}function o(s){w.value.includes(s)?w.value=w.value.filter(e=>e!==s):w.value=[...w.value,s]}function a(){const s=Math.floor(Date.now()/1e3),e=new Date;e.setHours(0,0,0,0);const d=Math.floor(e.getTime()/1e3);switch(k.value){case"all":m.value=null;break;case"today":m.value={start:d,end:s};break;case"week":m.value={start:s-10080*60,end:s};break;case"month":m.value={start:s-720*60*60,end:s};break;case"3months":m.value={start:s-2160*60*60,end:s};break;case"year":m.value={start:s-365*24*60*60,end:s};break;case"custom":if(x.value&&D.value){const f=new Date(x.value).getTime()/1e3,i=new Date(D.value).getTime()/1e3+86399;m.value={start:f,end:i}}break}}const b=$(""),A=P(()=>{if(!b.value)return r.value;const s=b.value.toLowerCase();return r.value.filter(e=>e.accountName?.toLowerCase().includes(s)||e.groupNickname?.toLowerCase().includes(s)||e.platformId.toLowerCase().includes(s)||e.aliases.some(d=>d.toLowerCase().includes(s)))});return re(()=>{E(),V()}),(s,e)=>{const d=de,f=le,i=se,S=ce;return l(),u("div",Se,[t("div",null,[t("label",Ie,[T(n(y(C)("analysis.filter.keywords"))+" ",1),t("span",Ce,"("+n(y(C)("analysis.filter.keywordsHint"))+")",1)]),t("div",Te,[I(d,{modelValue:L.value,"onUpdate:modelValue":e[0]||(e[0]=_=>L.value=_),placeholder:y(C)("analysis.filter.keywordPlaceholder"),class:"flex-1",onKeydown:g},null,8,["modelValue","placeholder"]),I(f,{size:"sm",onClick:U},{default:R(()=>[T(n(y(C)("common.add")),1)]),_:1})]),h.value.length>0?(l(),u("div",Me,[(l(!0),u(N,null,Z(h.value,_=>(l(),Y(S,{key:_,color:"primary",variant:"subtle",class:"gap-1"},{default:R(()=>[T(n(_)+" ",1),t("button",{class:"ml-1 hover:text-red-500",onClick:K=>c(_)},[I(i,{name:"i-heroicons-x-mark",class:"w-3 h-3"})],8,ze)]),_:2},1024))),128))])):H("",!0)]),t("div",null,[t("label",De,n(y(C)("analysis.filter.timeRange")),1),t("div",Le,[I(ye,{modelValue:k.value,"onUpdate:modelValue":e[1]||(e[1]=_=>k.value=_),items:F.value,size:"sm"},null,8,["modelValue","items"]),k.value==="custom"?(l(),u("div",Be,[ae(t("input",{"onUpdate:modelValue":e[2]||(e[2]=_=>x.value=_),type:"date",class:"flex-1 px-3 py-1.5 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800",onChange:a},null,544),[[oe,x.value]]),e[6]||(e[6]=t("span",{class:"text-gray-500"},"~",-1)),ae(t("input",{"onUpdate:modelValue":e[3]||(e[3]=_=>D.value=_),type:"date",class:"flex-1 px-3 py-1.5 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800",onChange:a},null,544),[[oe,D.value]])])):H("",!0)])]),t("div",null,[t("label",Fe,[T(n(y(C)("analysis.filter.senders"))+" ",1),t("span",Ue,"("+n(y(C)("analysis.filter.sendersHint"))+")",1)]),I(d,{modelValue:b.value,"onUpdate:modelValue":e[4]||(e[4]=_=>b.value=_),placeholder:y(C)("analysis.filter.searchMember"),icon:"i-heroicons-magnifying-glass",size:"sm",class:"mb-2"},null,8,["modelValue","placeholder"]),t("div",Re,[p.value?(l(),u("div",Pe,[I(i,{name:"i-heroicons-arrow-path",class:"w-5 h-5 animate-spin"})])):A.value.length===0?(l(),u("div",Ve,n(y(C)("analysis.filter.noMembers")),1)):(l(),u("div",He,[(l(!0),u(N,null,Z(A.value,_=>(l(),u("label",{key:_.id,class:"flex items-center gap-2 px-3 py-2 hover:bg-gray-50 dark:hover:bg-gray-800 cursor-pointer"},[t("input",{type:"checkbox",checked:w.value.includes(_.id),class:"text-primary-500 rounded",onChange:K=>o(_.id)},null,40,je),t("span",Ee,n(_.groupNickname||_.accountName||_.platformId),1),t("span",Ne,"("+n(_.messageCount)+")",1)]))),128))]))]),w.value.length>0?(l(),u("div",Ae,n(y(C)("analysis.filter.selectedCount",{count:w.value.length})),1)):H("",!0)]),t("div",null,[t("label",Ke,[T(n(y(C)("analysis.filter.contextSize"))+" ",1),t("span",Ye,"±"+n(z.value)+" "+n(y(C)("analysis.filter.messages")),1)]),ae(t("input",{"onUpdate:modelValue":e[5]||(e[5]=_=>z.value=_),type:"range",min:"0",max:"50",step:"5",class:"w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-lg appearance-none cursor-pointer"},null,512),[[oe,z.value,void 0,{number:!0}]]),e[7]||(e[7]=t("div",{class:"flex justify-between text-xs text-gray-400 mt-1"},[t("span",null,"0"),t("span",null,"25"),t("span",null,"50")],-1))])])}}}),Oe={class:"p-4 flex flex-col h-full min-h-0"},Ge={key:0,class:"flex-none mb-2 text-sm text-primary-500"},Qe={class:"flex-1 min-h-0"},Ze={key:0,class:"flex items-center justify-center h-full"},qe={key:1,class:"flex items-center justify-center h-full text-gray-500 text-sm"},Je=["onClick"],Xe={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},et={class:"flex items-center gap-2"},tt={class:"text-xs text-gray-500"},st=["checked","onChange"],nt=["checked","onChange"],at={class:"flex-1 min-w-0"},ot={class:"flex items-center gap-2"},lt={class:"text-sm text-gray-700 dark:text-gray-300"},rt={class:"flex items-center gap-2 text-xs text-gray-500"},it=X({__name:"SessionPanel",props:{selectedIds:{default:()=>[]},selectedIdsModifiers:{}},emits:["update:selectedIds"],setup(v){const{t:C}=J(),M=ne(),h=Q(v,"selectedIds"),m=$(new Set);W(h,c=>{m.value=new Set(c)},{immediate:!0});const w=$([]),z=$(!1),L=$(null),r=P(()=>{const c={};for(const a of w.value){const b=new Date(a.startTs*1e3).toLocaleDateString();c[b]||(c[b]=[]),c[b].push(a)}const g=Object.keys(c).sort((a,b)=>new Date(b).getTime()-new Date(a).getTime()),o=[];for(const a of g){o.push({type:"date",date:a,sessionCount:c[a].length});for(const b of c[a])o.push({type:"session",session:b,date:a})}return o}),p=fe(P(()=>({count:r.value.length,getScrollElement:()=>L.value,estimateSize:c=>r.value[c]?.type==="date"?36:56,overscan:10}))),k=P(()=>p.value.getVirtualItems());async function x(){const c=M.currentSessionId;if(c){z.value=!0;try{w.value=await ve().getSessions(c)}catch(g){console.error("加载会话失败:",g)}finally{z.value=!1}}}function D(c){return m.value.has(c)}function B(c){const g=new Set(m.value);g.has(c)?g.delete(c):g.add(c),m.value=g,h.value=Array.from(g)}function F(c){return r.value.filter(g=>g.type==="session"&&g.date===c).map(g=>g.session.id)}function j(c){const g=F(c),o=g.every(b=>m.value.has(b)),a=new Set(m.value);if(o)for(const b of g)a.delete(b);else for(const b of g)a.add(b);m.value=a,h.value=Array.from(a)}function E(c){const g=F(c);return g.length>0&&g.every(o=>m.value.has(o))}function V(c){return new Date(c*1e3).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})}function U(c,g){const o=g-c;return o<60?`${o}秒`:o<3600?`${Math.floor(o/60)}分钟`:`${Math.floor(o/3600)}小时${Math.floor(o%3600/60)}分钟`}return re(()=>{x()}),(c,g)=>{const o=se;return l(),u("div",Oe,[h.value.length>0?(l(),u("div",Ge,n(y(C)("analysis.filter.selectedSessions",{count:h.value.length})),1)):H("",!0),t("div",Qe,[z.value?(l(),u("div",Ze,[I(o,{name:"i-heroicons-arrow-path",class:"w-6 h-6 animate-spin text-gray-400"})])):w.value.length===0?(l(),u("div",qe,n(y(C)("analysis.filter.noSessions")),1)):(l(),u("div",{key:2,ref_key:"scrollContainerRef",ref:L,class:"h-full overflow-y-auto"},[t("div",{style:q({height:`${y(p).getTotalSize()}px`,position:"relative"})},[(l(!0),u(N,null,Z(k.value,a=>(l(),u("div",{key:String(a.key),style:q({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${a.start}px)`})},[r.value[a.index].type==="date"?(l(),u("div",{key:0,class:"flex items-center justify-between px-2 py-1.5 bg-gray-100 dark:bg-gray-800 rounded-md cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700",onClick:b=>j(r.value[a.index].date)},[t("span",Xe,n(r.value[a.index].date),1),t("div",et,[t("span",tt,n(r.value[a.index].sessionCount)+" 个会话",1),t("input",{type:"checkbox",checked:E(r.value[a.index].date),class:"text-primary-500 rounded",onClick:g[0]||(g[0]=ke(()=>{},["stop"])),onChange:b=>j(r.value[a.index].date)},null,40,st)])],8,Je)):(l(),u("label",{key:1,class:te(["flex items-center gap-3 px-3 py-2 ml-2 rounded-md hover:bg-gray-50 dark:hover:bg-gray-800 cursor-pointer border border-transparent",{"border-primary-300 bg-primary-50 dark:border-primary-600 dark:bg-primary-900/20":D(r.value[a.index].session.id)}])},[t("input",{type:"checkbox",checked:D(r.value[a.index].session.id),class:"text-primary-500 rounded",onChange:b=>B(r.value[a.index].session.id)},null,40,nt),t("div",at,[t("div",ot,[t("span",lt,n(V(r.value[a.index].session.startTs))+" - "+n(V(r.value[a.index].session.endTs)),1)]),t("div",rt,[t("span",null,n(r.value[a.index].session.messageCount)+" 条消息",1),g[1]||(g[1]=t("span",null,"·",-1)),t("span",null,n(U(r.value[a.index].session.startTs,r.value[a.index].session.endTs)),1)])])],2))],4))),128))],4)],512))])])}}}),dt={class:"flex-1 flex flex-col overflow-hidden bg-gray-50 dark:bg-gray-900"},ct={key:0,class:"flex-none px-4 py-3 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700"},ut={class:"flex items-center justify-between mb-2"},ft={class:"flex items-center gap-6 text-sm"},gt={class:"text-gray-600 dark:text-gray-400"},yt={class:"font-medium text-gray-900 dark:text-white"},vt={class:"text-gray-600 dark:text-gray-400"},mt={class:"font-medium text-gray-900 dark:text-white"},xt={class:"text-gray-600 dark:text-gray-400"},ht={class:"font-medium text-primary-500"},pt={class:"text-gray-600 dark:text-gray-400"},kt={class:"font-medium text-gray-900 dark:text-white"},bt={class:"flex-1 min-h-0 flex overflow-hidden"},_t={key:1,class:"w-full h-full flex items-center justify-center"},wt={class:"text-center text-gray-400"},$t={key:2,class:"flex-1 flex items-center justify-center"},St={class:"text-center text-gray-400"},It={class:"w-64 flex-none border-r border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 flex flex-col"},Ct={class:"flex-none px-3 py-2 border-b border-gray-200 dark:border-gray-700"},Tt={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Mt=["onClick"],zt={class:"flex items-center justify-between mb-1"},Dt={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Lt={key:0,class:"text-xs text-primary-500"},Bt={class:"text-xs text-gray-500"},Ft={class:"flex items-center gap-2 text-xs text-gray-400 mt-1"},Ut={key:0,class:"py-3 text-center text-sm text-gray-500 dark:text-gray-400 border-t border-gray-100 dark:border-gray-700"},Rt={key:1,class:"py-3 text-center text-xs text-gray-400 dark:text-gray-500"},Pt={class:"flex-1 overflow-hidden"},Vt={key:1,class:"flex items-center justify-center h-full text-gray-400"},Ht=X({__name:"PreviewPanel",props:{result:{},isLoading:{type:Boolean},isLoadingMore:{type:Boolean}},emits:["load-more"],setup(v,{emit:C}){const{t:M}=J(),h=v,m=C,w=$(0);let z=!1;const L=$(null),r=$(null),p=$(null);function k(s){if(!h.result)return null;const e=h.result.blocks.length-1-s;return h.result.blocks[e]}const x=P(()=>h.result?.blocks.length??0),D=fe(P(()=>({count:x.value,getScrollElement:()=>p.value,estimateSize:()=>72,overscan:5}))),B=P(()=>D.value.getVirtualItems()),F=P(()=>{if(x.value===0)return[];const s=k(w.value);return s?s.messages.map(e=>({id:e.id,senderName:e.senderName,senderPlatformId:e.senderPlatformId,senderAliases:e.senderAliases,senderAvatar:e.senderAvatar,content:e.content,timestamp:e.timestamp,type:e.type,replyToMessageId:e.replyToMessageId,replyToContent:e.replyToContent,replyToSenderName:e.replyToSenderName})):[]}),j=P(()=>{if(x.value===0)return[];const s=k(w.value);return s?s.messages.filter(e=>e.isHit).map(e=>e.id):[]}),E={startTs:0,endTs:0},V=P(()=>{if(!h.result||h.result.blocks.length===0)return!1;const s=h.result.blocks,e=new Date(s[0].startTs*1e3).getFullYear(),d=new Date(s[s.length-1].endTs*1e3).getFullYear();return e!==d});function U(s){const e={month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"};return V.value&&(e.year="numeric"),new Date(s*1e3).toLocaleString("zh-CN",e)}function c(s,e){const d=e-s;return d<60?`${d}秒`:d<3600?`${Math.floor(d/60)}分钟`:`${Math.floor(d/3600)}h${Math.floor(d%3600/60)}m`}function g(s){w.value=s;const e=k(s);if(e){const d=e.messages.find(f=>f.isHit);d&&(L.value=d.id)}}function o(){z||x.value!==0&&w.value<x.value-1&&(z=!0,w.value++,b(w.value),setTimeout(()=>{z=!1},300))}function a(){}function b(s){D.value.scrollToIndex(s,{align:"center"})}W(()=>h.result,()=>{w.value=0,L.value=null}),W(L,async s=>{s!==null&&(await be(),setTimeout(()=>{r.value?.scrollToMessage(s),L.value=null},100))});function A(s){const e=s.target;if(!e||!h.result?.pagination?.hasMore||h.isLoadingMore)return;const d=100,{scrollTop:f,scrollHeight:i,clientHeight:S}=e;i-f-S<d&&m("load-more")}return(s,e)=>{const d=se;return l(),u("div",dt,[v.result&&v.result.blocks.length>0?(l(),u("div",ct,[t("div",ut,[t("div",ft,[t("span",gt,[T(n(y(M)("analysis.filter.stats.blocks"))+": ",1),t("span",yt,[T(n(v.result.blocks.length)+" ",1),v.result.pagination&&v.result.pagination.totalBlocks>v.result.blocks.length?(l(),u(N,{key:0},[T(" / "+n(v.result.pagination.totalBlocks),1)],64)):H("",!0)])]),t("span",vt,[T(n(y(M)("analysis.filter.stats.messages"))+": ",1),t("span",mt,n(v.result.stats.totalMessages),1)]),t("span",xt,[T(n(y(M)("analysis.filter.stats.hits"))+": ",1),t("span",ht,n(v.result.pagination?.totalHits??v.result.stats.hitMessages),1)]),t("span",pt,[T(n(y(M)("analysis.filter.stats.chars"))+": ",1),t("span",kt,n(v.result.stats.totalChars.toLocaleString()),1)])])])])):H("",!0),t("div",bt,[v.isLoading?(l(),Y($e,{key:0,variant:"page",text:y(M)("analysis.filter.filtering")},null,8,["text"])):v.result?v.result.blocks.length===0?(l(),u("div",$t,[t("div",St,[I(d,{name:"i-heroicons-magnifying-glass",class:"w-12 h-12 mb-3 mx-auto"}),t("p",null,n(y(M)("analysis.filter.noResults")),1)])])):(l(),u(N,{key:3},[t("div",It,[t("div",Ct,[t("span",Tt,[T(n(y(M)("analysis.filter.stats.blocks"))+" ("+n(v.result.blocks.length)+" ",1),v.result.pagination&&v.result.pagination.totalBlocks>v.result.blocks.length?(l(),u(N,{key:0},[T(" /"+n(v.result.pagination.totalBlocks),1)],64)):H("",!0),e[1]||(e[1]=T(" ) ",-1))])]),t("div",{ref_key:"blockListRef",ref:p,class:"flex-1 overflow-y-auto",onScroll:A},[t("div",{style:q({height:`${y(D).getTotalSize()}px`,position:"relative"})},[(l(!0),u(N,null,Z(B.value,f=>(l(),u("div",{key:String(f.key),style:q({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${f.start}px)`})},[t("div",{class:te(["px-3 py-2 cursor-pointer border-b border-gray-100 dark:border-gray-700 transition-colors",w.value===f.index?"bg-primary-50 dark:bg-primary-900/30 border-l-2 border-l-primary-500":"hover:bg-gray-50 dark:hover:bg-gray-700/50"]),onClick:i=>g(f.index)},[t("div",zt,[t("span",Dt," #"+n(f.index+1),1),(k(f.index)?.hitCount??0)>0?(l(),u("span",Lt," 含 "+n(k(f.index)?.hitCount)+" 个结果 ",1)):H("",!0)]),t("div",Bt,n(U(k(f.index)?.startTs??0)),1),t("div",Ft,[t("span",null,n(k(f.index)?.messages.length??0)+" 条",1),e[2]||(e[2]=t("span",null,"·",-1)),t("span",null,n(c(k(f.index)?.startTs??0,k(f.index)?.endTs??0)),1)])],10,Mt)],4))),128))],4),v.result.pagination?.hasMore?(l(),u("div",Ut,[v.isLoadingMore?(l(),u(N,{key:0},[I(d,{name:"i-heroicons-arrow-path",class:"w-4 h-4 animate-spin inline mr-1"}),T(" "+n(y(M)("common.loading")),1)],64)):(l(),u("button",{key:1,class:"text-primary-500 hover:text-primary-600",onClick:e[0]||(e[0]=f=>m("load-more"))},n(y(M)("analysis.filter.loadMore")),1))])):v.result.pagination&&v.result.blocks.length>=v.result.pagination.totalBlocks?(l(),u("div",Rt,n(y(M)("analysis.filter.allLoaded")),1)):H("",!0)],544)]),t("div",Pt,[F.value.length>0?(l(),Y(me,{key:0,ref_key:"messageListRef",ref:r,query:E,"external-messages":F.value,"hit-message-ids":j.value,class:"h-full",onReachBottom:o,onReachTop:a},null,8,["external-messages","hit-message-ids"])):(l(),u("div",Vt,n(y(M)("analysis.filter.noResults")),1))])],64)):(l(),u("div",_t,[t("div",wt,[I(d,{name:"i-heroicons-funnel",class:"w-12 h-12 mb-3 mx-auto"}),t("p",null,n(y(M)("analysis.filter.emptyHint")),1)])]))])])}}}),jt={class:"flex items-center justify-between"},Et={class:"text-lg font-semibold"},Nt={class:"max-h-96 overflow-y-auto"},At={key:0,class:"py-8 text-center text-gray-500"},Kt={key:1,class:"divide-y divide-gray-200 dark:divide-gray-700"},Yt={class:"flex items-start justify-between gap-2"},Wt={class:"flex-1 min-w-0"},Ot={key:0,class:"flex items-center gap-2 mb-1"},Gt={key:1,class:"flex items-center gap-2 mb-1"},Qt={class:"font-medium text-gray-900 dark:text-white"},Zt=["onClick"],qt={class:"text-sm text-gray-600 dark:text-gray-400 truncate"},Jt={class:"text-xs text-gray-400 mt-1"},Xt={class:"flex items-center gap-1"},es=X({__name:"FilterHistory",props:{open:{type:Boolean,default:!1},openModifiers:{}},emits:we(["load"],["update:open"]),setup(v,{expose:C,emit:M}){const{t:h}=J(),m=ne(),w=xe(),z=Q(v,"open"),L=M,r=$([]);let p=[];const k=$(null),x=$("");async function D(){try{p=(await w.getPreferences()).filterHistory??[],r.value=p.filter(a=>a.sessionId===m.currentSessionId)}catch(o){console.error("Failed to load filter history:",o)}}function B(){p=[...p.filter(a=>a.sessionId!==m.currentSessionId),...r.value],w.savePreferences({filterHistory:p}).catch(a=>{console.error("Failed to save filter history:",a)})}function F(o){r.value=r.value.filter(a=>a.id!==o),B()}function j(o){L("load",{mode:o.mode,conditionFilter:o.conditionFilter,selectedSessionIds:o.selectedSessionIds})}function E(o){k.value=o.id,x.value=o.name}function V(o){o.name=x.value||o.name,k.value=null,B()}function U(){k.value=null}function c(o){return new Date(o).toLocaleString()}function g(o){if(o.mode==="condition"){const a=[];return o.conditionFilter?.keywords.length&&a.push(`关键词: ${o.conditionFilter.keywords.join(", ")}`),o.conditionFilter?.senderIds.length&&a.push(`${o.conditionFilter.senderIds.length} 位成员`),a.join(" | ")||"无条件"}else return`${o.selectedSessionIds?.length||0} 个会话`}return W(z,o=>{o&&D()}),re(()=>{D()}),C({saveCondition(o){const a={id:`filter_${Date.now()}`,sessionId:m.currentSessionId||"",createdAt:Date.now(),name:`筛选 ${r.value.length+1}`,...o};r.value.unshift(a),r.value=r.value.slice(0,20),B()}}),(o,a)=>{const b=le,A=de,s=ce,e=se,d=ge,f=ue;return l(),Y(f,{open:z.value,"onUpdate:open":a[2]||(a[2]=i=>z.value=i)},{content:R(()=>[I(d,null,{header:R(()=>[t("div",jt,[t("h3",Et,n(y(h)("analysis.filter.historyTitle")),1),I(b,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:a[0]||(a[0]=i=>z.value=!1)})])]),default:R(()=>[t("div",Nt,[r.value.length===0?(l(),u("div",At,n(y(h)("analysis.filter.noHistory")),1)):(l(),u("div",Kt,[(l(!0),u(N,null,Z(r.value,i=>(l(),u("div",{key:i.id,class:"py-3 hover:bg-gray-50 dark:hover:bg-gray-800 px-2 rounded-md"},[t("div",Yt,[t("div",Wt,[k.value===i.id?(l(),u("div",Ot,[I(A,{modelValue:x.value,"onUpdate:modelValue":a[1]||(a[1]=S=>x.value=S),size:"sm",class:"flex-1",onKeydown:_e(S=>V(i),["enter"])},null,8,["modelValue","onKeydown"]),I(b,{size:"xs",onClick:S=>V(i)},{default:R(()=>[T(n(y(h)("common.save")),1)]),_:1},8,["onClick"]),I(b,{size:"xs",variant:"ghost",onClick:U},{default:R(()=>[T(n(y(h)("common.cancel")),1)]),_:1})])):(l(),u("div",Gt,[t("span",Qt,n(i.name),1),I(s,{color:i.mode==="condition"?"primary":"green",size:"xs"},{default:R(()=>[T(n(i.mode==="condition"?"条件":"会话"),1)]),_:2},1032,["color"]),t("button",{class:"text-gray-400 hover:text-gray-600",onClick:S=>E(i)},[I(e,{name:"i-heroicons-pencil",class:"w-3 h-3"})],8,Zt)])),t("p",qt,n(g(i)),1),t("p",Jt,n(c(i.createdAt)),1)]),t("div",Xt,[I(b,{size:"xs",variant:"soft",onClick:S=>j(i)},{default:R(()=>[T(n(y(h)("common.load")),1)]),_:1},8,["onClick"]),I(b,{size:"xs",variant:"ghost",color:"red",onClick:S=>F(i.id)},{default:R(()=>[I(e,{name:"i-heroicons-trash",class:"w-4 h-4"})]),_:1},8,["onClick"])])])]))),128))]))])]),_:1})]),_:1},8,["open"])}}}),ts={class:"flex h-[85vh] flex-col overflow-hidden bg-white dark:bg-gray-900"},ss={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},ns={class:"flex items-center gap-4"},as={class:"text-lg font-semibold text-gray-900 dark:text-white"},os={class:"flex items-center gap-1 rounded-lg bg-gray-100 p-1 dark:bg-gray-800"},ls={class:"flex items-center gap-2"},rs={class:"flex flex-1 overflow-hidden"},is={class:"flex w-80 flex-none flex-col border-r border-gray-200 dark:border-gray-700"},ds={class:"min-h-0 flex-1 overflow-y-auto"},cs={class:"flex-none border-t border-gray-200 bg-white p-4 dark:border-gray-700 dark:bg-gray-900"},us={class:"flex flex-1 flex-col overflow-hidden"},fs={key:0,class:"flex flex-none flex-col gap-2 border-t border-gray-200 bg-gray-50 px-4 py-3 dark:border-gray-700 dark:bg-gray-800"},gs={key:0,class:"w-full"},ys={class:"mb-1 flex items-center justify-between text-sm text-gray-600 dark:text-gray-400"},vs={class:"h-2 w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},ms={class:"flex items-center justify-end gap-3"},ee=50,Is=X({__name:"MessageExportModal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(v,{emit:C}){const M=v,h=C,{t:m}=J(),w=he(),z=ne(),L=P({get:()=>M.modelValue,set:s=>h("update:modelValue",s)}),r=$("condition"),p=$({keywords:[],timeRange:null,senderIds:[],contextSize:10}),k=$([]),x=$(null),D=$(!1),B=$(!1),F=$(!1),j=P(()=>D.value?!1:r.value==="condition"?p.value.keywords.length>0||p.value.senderIds.length>0||p.value.timeRange!==null:k.value.length>0);async function E(){const s=z.currentSessionId;if(s){D.value=!0,x.value=null;try{if(r.value==="condition"){const e=G(p.value),d=e.keywords.length>0?[...e.keywords]:void 0,f=e.timeRange?{startTs:e.timeRange.start,endTs:e.timeRange.end}:void 0,i=e.senderIds.length>0?[...e.senderIds]:void 0,S=e.contextSize,_=await O().filterMessagesWithContext(s,d,f,i,S,1,ee);x.value=_}else{if(k.value.length===0)return;const e=[...G(k.value)],d=await O().getMultipleSessionsMessages(s,e,1,ee);x.value=d}}catch(e){console.error("筛选失败:",e)}finally{D.value=!1}}}async function V(){const s=z.currentSessionId;if(!s||!x.value||!x.value.pagination.hasMore||B.value)return;B.value=!0;const e=x.value.pagination.page+1;try{let d;if(r.value==="condition"){const f=G(p.value),i=f.keywords.length>0?[...f.keywords]:void 0,S=f.timeRange?{startTs:f.timeRange.start,endTs:f.timeRange.end}:void 0,_=f.senderIds.length>0?[...f.senderIds]:void 0,K=f.contextSize;d=await O().filterMessagesWithContext(s,i,S,_,K,e,ee)}else{const f=[...G(k.value)];d=await O().getMultipleSessionsMessages(s,f,e,ee)}d&&d.blocks.length>0&&(x.value={blocks:[...x.value.blocks,...d.blocks],stats:x.value.stats,pagination:d.pagination})}catch(d){console.error("加载更多失败:",d)}finally{B.value=!1}}const U=$(!1),c=$(null);let g=null;function o(){g=O().onExportProgress(s=>{c.value={percentage:s.percentage,message:s.message},(s.stage==="done"||s.stage==="error")&&(c.value=null)})}function a(){g&&(g(),g=null),c.value=null}async function b(){if(!x.value||x.value.blocks.length===0)return;const s=z.currentSessionId;if(!s)return;const d=z.currentSession?.name||"未知会话",f=await pe().showOpenDialog({title:"选择保存目录",properties:["openDirectory","createDirectory"]});if(f.canceled||!f.filePaths[0])return;const i=f.filePaths[0];U.value=!0,c.value={percentage:0,message:m("analysis.filter.exportPreparing")},o();try{const S=G(p.value),_={sessionId:s,sessionName:d,outputDir:i,filterMode:r.value,keywords:S.keywords.length>0?[...S.keywords]:void 0,timeFilter:S.timeRange?{startTs:S.timeRange.start,endTs:S.timeRange.end}:void 0,senderIds:S.senderIds.length>0?[...S.senderIds]:void 0,contextSize:S.contextSize,chatSessionIds:r.value==="session"?[...G(k.value)]:void 0},K=await O().exportFilterResultToFile(_);K.success&&K.filePath?w.success(m("analysis.filter.exportSuccess"),{description:K.filePath}):w.fail(m("analysis.filter.exportFailed"),{description:K.error||m("common.error.unknown")})}catch(S){console.error("导出失败:",S),w.fail(m("analysis.filter.exportFailed"),{description:String(S)})}finally{a(),U.value=!1}}W(r,()=>{x.value=null}),W(L,s=>{s||(x.value=null,a())});function A(s){r.value=s.mode,s.mode==="condition"&&s.conditionFilter?p.value={...s.conditionFilter}:s.mode==="session"&&s.selectedSessionIds&&(k.value=[...s.selectedSessionIds]),F.value=!1}return(s,e)=>{const d=le,f=ue;return l(),Y(f,{open:L.value,"onUpdate:open":e[10]||(e[10]=i=>L.value=i),ui:{content:"sm:max-w-[95vw]"}},{content:R(()=>[t("div",ts,[t("div",ss,[t("div",ns,[t("h2",as,n(y(m)("analysis.messageExport.title")),1),t("div",os,[t("button",{class:te(["rounded-md px-3 py-1.5 text-sm font-medium transition-colors",r.value==="condition"?"bg-white text-gray-900 shadow-sm dark:bg-gray-700 dark:text-white":"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"]),onClick:e[0]||(e[0]=i=>r.value="condition")},n(y(m)("analysis.filter.conditionMode")),3),t("button",{class:te(["rounded-md px-3 py-1.5 text-sm font-medium transition-colors",r.value==="session"?"bg-white text-gray-900 shadow-sm dark:bg-gray-700 dark:text-white":"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"]),onClick:e[1]||(e[1]=i=>r.value="session")},n(y(m)("analysis.filter.sessionMode")),3)])]),t("div",ls,[I(d,{variant:"ghost",icon:"i-heroicons-clock",size:"sm",onClick:e[2]||(e[2]=i=>F.value=!0)},{default:R(()=>[T(n(y(m)("analysis.filter.history")),1)]),_:1}),I(d,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:e[3]||(e[3]=i=>L.value=!1)})])]),t("div",rs,[t("div",is,[t("div",ds,[r.value==="condition"?(l(),Y(We,{key:0,keywords:p.value.keywords,"onUpdate:keywords":e[4]||(e[4]=i=>p.value.keywords=i),"time-range":p.value.timeRange,"onUpdate:timeRange":e[5]||(e[5]=i=>p.value.timeRange=i),"sender-ids":p.value.senderIds,"onUpdate:senderIds":e[6]||(e[6]=i=>p.value.senderIds=i),"context-size":p.value.contextSize,"onUpdate:contextSize":e[7]||(e[7]=i=>p.value.contextSize=i)},null,8,["keywords","time-range","sender-ids","context-size"])):(l(),Y(it,{key:1,"selected-ids":k.value,"onUpdate:selectedIds":e[8]||(e[8]=i=>k.value=i)},null,8,["selected-ids"]))]),t("div",cs,[I(d,{block:"",color:"primary",loading:D.value,disabled:!j.value,onClick:E},{default:R(()=>[T(n(y(m)("analysis.filter.execute")),1)]),_:1},8,["loading","disabled"])])]),t("div",us,[I(Ht,{result:x.value,"is-loading":D.value,"is-loading-more":B.value,onLoadMore:V},null,8,["result","is-loading","is-loading-more"]),x.value&&x.value.blocks.length>0?(l(),u("div",fs,[U.value&&c.value?(l(),u("div",gs,[t("div",ys,[t("span",null,n(c.value.message),1),t("span",null,n(c.value.percentage)+"%",1)]),t("div",vs,[t("div",{class:"h-full bg-primary-500 transition-all duration-300",style:q({width:`${c.value.percentage}%`})},null,4)])])):H("",!0),t("div",ms,[I(d,{variant:"outline",icon:"i-heroicons-document-arrow-down",loading:U.value,disabled:U.value,onClick:b},{default:R(()=>[T(n(y(m)("analysis.filter.export")),1)]),_:1},8,["loading","disabled"])])])):H("",!0)])]),I(es,{open:F.value,"onUpdate:open":e[9]||(e[9]=i=>F.value=i),onLoad:A},null,8,["open"])])]),_:1},8,["open"])}}});export{Is as default};
@@ -1 +0,0 @@
1
- class w{async getConversation(e){return window.aiApi.getConversation(e)}async getConversations(e){return window.aiApi.getConversations(e)}async createConversation(e,i,n){return window.aiApi.createConversation(e,i,n)}async updateConversationTitle(e,i){return window.aiApi.updateConversationTitle(e,i)}async deleteConversation(e){return window.aiApi.deleteConversation(e)}async getMessages(e){return window.aiApi.getMessages(e)}async addMessage(e,i,n,t,s,o,a){return window.aiApi.addMessage(e,i,n,t,s,o,a)}async getConversationTokenUsage(e){return window.aiApi.getConversationTokenUsage(e)}async estimateContextTokens(e){return window.aiApi.estimateContextTokens(e)}async filterMessagesWithContext(e,i,n,t,s,o,a){return window.aiApi.filterMessagesWithContext(e,i,n,t,s,o,a)}async getMultipleSessionsMessages(e,i,n,t){return window.aiApi.getMultipleSessionsMessages(e,i,n,t)}async exportFilterResultToFile(e){return window.aiApi.exportFilterResultToFile(e)}onExportProgress(e){return window.aiApi.onExportProgress(e)}async executeAiSQL(e){return window.aiApi.executeAiSQL(e)}async getAiSchema(){return window.aiApi.getAiSchema()}async clearDebugContext(){return window.aiApi.clearDebugContext()}async getToolCatalog(){return window.aiApi.getToolCatalog()}async executeTool(e,i,n,t){return window.aiApi.executeTool(e,i,n,t)}async cancelToolTest(e){return window.aiApi.cancelToolTest(e)}async getDefaultDesensitizeRules(e){return window.aiApi.getDefaultDesensitizeRules(e)}async mergeDesensitizeRules(e,i){return window.aiApi.mergeDesensitizeRules(e,i)}async showAiLogFile(){return window.aiApi.showAiLogFile()}}export{w as ElectronAIAdapter};
@@ -1 +0,0 @@
1
- class t{generate(e,n){return window.sessionApi.generate(e,n)}generateIncremental(e,n){return window.sessionApi.generateIncremental(e,n)}hasIndex(e){return window.sessionApi.hasIndex(e)}getStats(e){return window.sessionApi.getStats(e)}clear(e){return window.sessionApi.clear(e)}updateGapThreshold(e,n){return window.sessionApi.updateGapThreshold(e,n)}getSessions(e){return window.sessionApi.getSessions(e)}getByTimeRange(e,n,s){return window.sessionApi.getByTimeRange(e,n,s)}getRecent(e,n){return window.sessionApi.getRecent(e,n)}generateSummary(e,n,s,r){return window.sessionApi.generateSummary(e,n,s,r)}generateSummaries(e,n,s){return window.sessionApi.generateSummaries(e,n,s)}checkCanGenerateSummary(e,n){return window.sessionApi.checkCanGenerateSummary(e,n)}}export{t as ElectronSessionIndexAdapter};
@@ -1 +0,0 @@
1
- import{get as a,post as r,put as u,del as g}from"./http-CeXMt-Fv.js";const o="This feature is not available in web mode";class _{async getConversation(e){try{return await a(`/ai/conversations/${e}`)}catch{return null}}async getConversations(e){return a(`/ai/conversations?sessionId=${encodeURIComponent(e)}`)}async createConversation(e,s,t){return r("/ai/conversations",{sessionId:e,title:s,assistantId:t})}async updateConversationTitle(e,s){return u(`/ai/conversations/${e}/title`,{title:s})}async deleteConversation(e){return g(`/ai/conversations/${e}`)}async getMessages(e){return a(`/ai/conversations/${e}/messages`)}async addMessage(e,s,t,n,i,c,l){return r(`/ai/conversations/${e}/messages`,{role:s,content:t,dataKeywords:n,dataMessageCount:i,contentBlocks:c,tokenUsage:l})}async getConversationTokenUsage(e){return a(`/ai/conversations/${e}/token-usage`)}async estimateContextTokens(e){return{success:!1,tokens:0,error:o}}async filterMessagesWithContext(e,s,t,n,i,c,l){return{blocks:[],stats:{totalMessages:0,hitMessages:0,totalChars:0},pagination:{page:1,pageSize:50,totalBlocks:0,totalHits:0,hasMore:!1}}}async getMultipleSessionsMessages(e,s,t,n){return{blocks:[],stats:{totalMessages:0,hitMessages:0,totalChars:0},pagination:{page:1,pageSize:50,totalBlocks:0,totalHits:0,hasMore:!1}}}async exportFilterResultToFile(e){return{success:!1,error:o}}onExportProgress(e){return()=>{}}async executeAiSQL(e){return r("/ai/debug/execute-sql",{sql:e})}async getAiSchema(){return a("/ai/debug/schema")}async clearDebugContext(){return r("/ai/debug/clear-debug-context",{})}async getToolCatalog(){return a("/ai/tools/catalog")}async executeTool(e,s,t,n){return{success:!1,error:o}}async cancelToolTest(e){return{success:!1}}async getDefaultDesensitizeRules(e){return[]}async mergeDesensitizeRules(e,s){return e}async showAiLogFile(){return{success:!1,error:o}}}export{_ as FetchAIAdapter};
@@ -1,17 +0,0 @@
1
- import{G as w}from"./index-Dhg3SDb6.js";import"./vendor-reka-ui-CW2cIgMu.js";import"./vendor-nuxt-ui-7OAuiz_i.js";import"./vendor-snapdom-XnBoh1gd.js";const x=`
2
- msg.id,
3
- m.id as senderId,
4
- COALESCE(m.group_nickname, m.account_name, m.platform_id) as senderName,
5
- m.platform_id as senderPlatformId,
6
- COALESCE(m.aliases, '[]') as aliasesJson,
7
- m.avatar as senderAvatar,
8
- msg.content,
9
- msg.ts as timestamp,
10
- msg.type,
11
- msg.reply_to_message_id as replyToMessageId,
12
- reply_msg.content as replyToContent,
13
- COALESCE(reply_m.group_nickname, reply_m.account_name, reply_m.platform_id) as replyToSenderName`,F=`
14
- FROM message msg
15
- JOIN member m ON msg.sender_id = m.id
16
- LEFT JOIN message reply_msg ON msg.reply_to_message_id = reply_msg.platform_message_id
17
- LEFT JOIN member reply_m ON reply_msg.sender_id = reply_m.id`,g=`SELECT ${x} ${F}`,v="FROM message msg JOIN member m ON msg.sender_id = m.id",I="COALESCE(m.account_name, '') != '系统消息'",_="msg.type = 0 AND msg.content IS NOT NULL AND msg.content != ''";function u(i){let t=[];try{const n=JSON.parse(i.aliasesJson||"[]");Array.isArray(n)&&(t=n)}catch{}return{id:Number(i.id),senderId:Number(i.senderId),senderName:String(i.senderName||""),senderPlatformId:String(i.senderPlatformId||""),senderAliases:t,senderAvatar:i.senderAvatar||null,content:i.content!=null?String(i.content):"",timestamp:Number(i.timestamp),type:Number(i.type),replyToMessageId:i.replyToMessageId||null,replyToContent:i.replyToContent||null,replyToSenderName:i.replyToSenderName||null}}function M(i){const t=[],n=[];if(i?.startTs!=null&&(t.push("msg.ts >= ?"),n.push(i.startTs)),i?.endTs!=null&&(t.push("msg.ts <= ?"),n.push(i.endTs)),i?.senderId!=null&&(t.push("msg.sender_id = ?"),n.push(i.senderId)),i?.memberId!=null&&(t.push("msg.sender_id = ?"),n.push(i.memberId)),i?.keywords&&i.keywords.length>0){const a=i.keywords.map(()=>"msg.content LIKE ?");t.push(`(${a.join(" OR ")})`),n.push(...i.keywords.map(o=>`%${o}%`))}return i?.systemFilter&&t.push(I),i?.textOnlyFilter&&t.push(_),{clause:t.length>0?"AND "+t.join(" AND "):"",params:n}}function h(i,t,n){return M({startTs:i?.startTs,endTs:i?.endTs,senderId:t,memberId:i?.memberId,keywords:n})}async function W(i,t,n=50,a,o,s){const{clause:r,params:d}=h(a,o,s),m=`${g} WHERE msg.id < ? ${r} ORDER BY msg.id DESC LIMIT ?`,c=await i.all(m,[t,...d,n+1]),l=c.length>n;return{messages:(l?c.slice(0,n):c).map(u).reverse(),hasMore:l}}async function k(i,t,n=50,a,o,s){const{clause:r,params:d}=h(a,o,s),m=`${g} WHERE msg.id > ? ${r} ORDER BY msg.id ASC LIMIT ?`,c=await i.all(m,[t,...d,n+1]),l=c.length>n;return{messages:(l?c.slice(0,n):c).map(u),hasMore:l}}async function T(i,t,n,a=20,o=0,s){const{clause:r,params:d}=h(n,s,t),m=`SELECT COUNT(*) as total ${v} WHERE 1=1 ${r}`,l=(await i.get(m,d))?.total??0,b=`${g} WHERE 1=1 ${r} ORDER BY msg.ts DESC LIMIT ? OFFSET ?`;return{messages:(await i.all(b,[...d,a,o])).map(u),total:l}}async function E(i,t,n=20){const a=Array.isArray(t)?t:[t];if(a.length===0)return[];const o=new Set;for(const c of a)o.add(c),n>0&&((await i.all("SELECT id FROM message WHERE id < ? ORDER BY id DESC LIMIT ?",[c,n])).forEach(f=>o.add(f.id)),(await i.all("SELECT id FROM message WHERE id > ? ORDER BY id ASC LIMIT ?",[c,n])).forEach(f=>o.add(f.id)));const s=Array.from(o).sort((c,l)=>c-l);if(s.length===0)return[];const r=s.map(()=>"?").join(", "),d=`${g} WHERE msg.id IN (${r}) ORDER BY msg.id ASC`;return(await i.all(d,s)).map(u)}async function L(i,t,n=100){const{clause:a,params:o}=h(t),s=`SELECT COUNT(*) as total ${v} WHERE 1=1 ${a}`,d=(await i.get(s,o))?.total??0,m=`${g} WHERE 1=1 ${a} ORDER BY msg.ts DESC LIMIT ?`;return{messages:(await i.all(m,[...o,n])).map(u).reverse(),total:d}}const S=[{tag:"n",name:"名词",description:"普通名词",meaningful:!0},{tag:"nr",name:"人名",description:"人名",meaningful:!0},{tag:"ns",name:"地名",description:"地名",meaningful:!0},{tag:"nt",name:"机构名",description:"机构团体名",meaningful:!0},{tag:"nz",name:"其他专名",description:"其他专有名词",meaningful:!0},{tag:"nw",name:"作品名",description:"作品名",meaningful:!0},{tag:"v",name:"动词",description:"普通动词",meaningful:!1},{tag:"vn",name:"动名词",description:"动名词",meaningful:!0},{tag:"vd",name:"副动词",description:"副动词",meaningful:!1},{tag:"vg",name:"动语素",description:"动词性语素",meaningful:!1},{tag:"a",name:"形容词",description:"普通形容词",meaningful:!0},{tag:"an",name:"名形词",description:"名形词",meaningful:!0},{tag:"ad",name:"副形词",description:"副形词",meaningful:!0},{tag:"ag",name:"形语素",description:"形容词性语素",meaningful:!0},{tag:"i",name:"成语",description:"成语",meaningful:!0},{tag:"l",name:"习用语",description:"习用语",meaningful:!0},{tag:"j",name:"简称",description:"简称略语",meaningful:!0},{tag:"d",name:"副词",description:"副词",meaningful:!1},{tag:"p",name:"介词",description:"介词",meaningful:!1},{tag:"c",name:"连词",description:"连词",meaningful:!1},{tag:"u",name:"助词",description:"助词",meaningful:!1},{tag:"r",name:"代词",description:"代词",meaningful:!1},{tag:"m",name:"数词",description:"数词",meaningful:!1},{tag:"q",name:"量词",description:"量词",meaningful:!1},{tag:"f",name:"方位词",description:"方位词",meaningful:!1},{tag:"t",name:"时间词",description:"时间词",meaningful:!1},{tag:"e",name:"叹词",description:"叹词",meaningful:!1},{tag:"y",name:"语气词",description:"语气词",meaningful:!1},{tag:"o",name:"拟声词",description:"拟声词",meaningful:!1},{tag:"x",name:"非语素字",description:"非语素字",meaningful:!1},{tag:"w",name:"标点符号",description:"标点符号",meaningful:!1}];new Set(S.filter(i=>i.meaningful).map(i=>i.tag));function e(i){return{...i,builtin:!0,editable:!1}}e({id:"gpt-5.4-pro",providerId:"openai",name:"GPT-5.4 Pro",description:"Latest flagship, best reasoning & coding",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"gpt-5.4",providerId:"openai",name:"GPT-5.4",description:"GPT-5.4 standard",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"gpt-5.2-pro",providerId:"openai",name:"GPT-5.2 Pro",description:"GPT-5.2 Pro",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"gpt-5.2",providerId:"openai",name:"GPT-5.2",description:"GPT-5.2 standard",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"gpt-5.1",providerId:"openai",name:"GPT-5.1",description:"GPT-5.1",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"gpt-5-pro",providerId:"openai",name:"GPT-5 Pro",description:"GPT-5 Pro",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"gpt-5",providerId:"openai",name:"GPT-5",description:"GPT-5 standard",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"gpt-4.1",providerId:"openai",name:"GPT-4.1",description:"Best at coding & instruction following",contextWindow:1047576,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"gpt-4.1-mini",providerId:"openai",name:"GPT-4.1 Mini",description:"Cost-effective",contextWindow:1047576,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"gpt-4.1-nano",providerId:"openai",name:"GPT-4.1 Nano",description:"Fastest and most affordable",contextWindow:1047576,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"gpt-4o",providerId:"openai",name:"GPT-4o",description:"Multimodal flagship model",contextWindow:128e3,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"gpt-4o-mini",providerId:"openai",name:"GPT-4o Mini",description:"Lightweight multimodal model",contextWindow:128e3,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"o3",providerId:"openai",name:"o3",description:"Advanced reasoning model",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"o4-mini",providerId:"openai",name:"o4-mini",description:"Efficient reasoning model",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"text-embedding-3-small",providerId:"openai",name:"Text Embedding 3 Small",description:"Efficient embedding model",contextWindow:8191,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"}),e({id:"text-embedding-3-large",providerId:"openai",name:"Text Embedding 3 Large",description:"High-precision embedding model",contextWindow:8191,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"});e({id:"claude-opus-4-6",providerId:"anthropic",name:"Claude Opus 4.6",description:"Latest flagship, adaptive thinking",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"claude-sonnet-4-6",providerId:"anthropic",name:"Claude Sonnet 4.6",description:"Cost-effective, adaptive thinking",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"claude-opus-4-5",providerId:"anthropic",name:"Claude Opus 4.5",description:"Previous generation flagship",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"claude-sonnet-4-5",providerId:"anthropic",name:"Claude Sonnet 4.5",description:"Previous generation cost-effective",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"claude-haiku-4-5",providerId:"anthropic",name:"Claude Haiku 4.5",description:"Fast and lightweight",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"claude-sonnet-4-20250514",providerId:"anthropic",name:"Claude Sonnet 4",description:"Sonnet 4 snapshot",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"claude-opus-4-20250514",providerId:"anthropic",name:"Claude Opus 4",description:"Opus 4 snapshot",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"claude-haiku-3-5-20241022",providerId:"anthropic",name:"Claude 3.5 Haiku",description:"3.5 Haiku snapshot",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"});e({id:"gemini-3.1-pro-preview",providerId:"gemini",name:"Gemini 3.1 Pro",description:"Latest Gemini 3.1 Pro preview",contextWindow:1048576,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"preview"}),e({id:"gemini-3-pro-preview",providerId:"gemini",name:"Gemini 3 Pro",description:"Gemini 3 Pro preview",contextWindow:1048576,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"preview"}),e({id:"gemini-2.5-flash",providerId:"gemini",name:"Gemini 2.5 Flash",description:"Cost-effective, low latency, adaptive thinking",contextWindow:1048576,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"gemini-2.5-pro",providerId:"gemini",name:"Gemini 2.5 Pro",description:"Deep reasoning and complex tasks",contextWindow:1048576,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"gemini-2.0-flash",providerId:"gemini",name:"Gemini 2.0 Flash",description:"Previous generation fast model",contextWindow:1048576,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"text-embedding-004",providerId:"gemini",name:"Text Embedding 004",description:"Google embedding model",contextWindow:2048,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"});e({id:"deepseek-v4-pro",providerId:"deepseek",name:"DeepSeek V4 Pro",description:"Flagship model, 1M context, thinking & non-thinking",contextWindow:1e6,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"deepseek-v4-flash",providerId:"deepseek",name:"DeepSeek V4 Flash",description:"Fast model, 1M context, thinking & non-thinking",contextWindow:1e6,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"});e({id:"qwen3.5-plus",providerId:"qwen",name:"Qwen3.5 Plus",description:"Latest Qwen3.5 flagship",contextWindow:262144,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"qwen3.5-flash",providerId:"qwen",name:"Qwen3.5 Flash",description:"Qwen3.5 fast version",contextWindow:262144,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"qwen3-max",providerId:"qwen",name:"Qwen3 Max",description:"Qwen3 massive-scale",contextWindow:262144,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"qwen-max",providerId:"qwen",name:"Qwen Max",description:"Massive-scale language model",contextWindow:262144,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"qwen-plus",providerId:"qwen",name:"Qwen Plus",description:"Good quality, suitable for most scenarios",contextWindow:262144,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"qwen-turbo",providerId:"qwen",name:"Qwen Turbo",description:"Fast and cost-effective",contextWindow:1e6,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),e({id:"qwen-long",providerId:"qwen",name:"Qwen Long",description:"Ultra-long context model",contextWindow:262144,capabilities:["chat"],recommendedFor:[],status:"stable"}),e({id:"text-embedding-v3",providerId:"qwen",name:"Text Embedding V3",description:"Qwen embedding model",contextWindow:8192,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"});e({id:"glm-5",providerId:"glm",name:"GLM-5",description:"Latest flagship model",contextWindow:2e5,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"glm-4.7",providerId:"glm",name:"GLM-4.7",description:"GLM-4.7 high performance",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"glm-4.6v",providerId:"glm",name:"GLM-4.6V",description:"4.6 multimodal model",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"glm-4.6v-flash",providerId:"glm",name:"GLM-4.6V Flash",description:"4.6V free multimodal",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"glm-4.5",providerId:"glm",name:"GLM-4.5",description:"GLM-4.5 standard",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),e({id:"glm-4.5-flash",providerId:"glm",name:"GLM-4.5 Flash",description:"4.5 free model",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),e({id:"glm-4-plus",providerId:"glm",name:"GLM-4 Plus",description:"Previous generation flagship",contextWindow:128e3,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),e({id:"glm-4-flash",providerId:"glm",name:"GLM-4 Flash",description:"Fast model",contextWindow:128e3,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),e({id:"embedding-3",providerId:"glm",name:"Embedding-3",description:"Zhipu embedding model",contextWindow:8192,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"});e({id:"kimi-k2.5",providerId:"kimi",name:"Kimi K2.5",description:"Latest flagship with vision support",contextWindow:262144,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"kimi-k2-thinking",providerId:"kimi",name:"Kimi K2 Thinking",description:"K2 deep reasoning",contextWindow:131072,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"kimi-k2-thinking-turbo",providerId:"kimi",name:"Kimi K2 Thinking Turbo",description:"K2 fast reasoning",contextWindow:131072,capabilities:["chat","reasoning","function_calling"],recommendedFor:[],status:"stable"}),e({id:"kimi-k2-0905-Preview",providerId:"kimi",name:"Kimi K2 Preview",description:"K2 preview",contextWindow:131072,capabilities:["chat","function_calling"],recommendedFor:[],status:"preview"}),e({id:"moonshot-v1-auto",providerId:"kimi",name:"Moonshot V1 Auto",description:"Auto-select context length",contextWindow:131072,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"});e({id:"doubao-seed-2-0-pro-260215",providerId:"doubao",name:"Doubao Seed 2.0 Pro",description:"Latest flagship model",contextWindow:256e3,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"doubao-seed-2-0-lite-260215",providerId:"doubao",name:"Doubao Seed 2.0 Lite",description:"Seed 2.0 lightweight",contextWindow:256e3,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"doubao-seed-2-0-mini-260215",providerId:"doubao",name:"Doubao Seed 2.0 Mini",description:"Seed 2.0 ultra-fast",contextWindow:256e3,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),e({id:"doubao-seed-1-8-251228",providerId:"doubao",name:"Doubao Seed 1.8",description:"Previous generation flagship",contextWindow:128e3,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"doubao-seed-1-6-251015",providerId:"doubao",name:"Doubao Seed 1.6",description:"High-performance general model",contextWindow:128e3,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),e({id:"doubao-seed-1-6-lite-251015",providerId:"doubao",name:"Doubao Seed 1.6 Lite",description:"Lightweight and cost-effective",contextWindow:128e3,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"});e({id:"deepseek-ai/DeepSeek-V3.2",providerId:"siliconflow",name:"DeepSeek V3.2",description:"DeepSeek V3.2 on SiliconFlow",contextWindow:128e3,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"deepseek-ai/DeepSeek-R1",providerId:"siliconflow",name:"DeepSeek R1",description:"DeepSeek R1 reasoning model",contextWindow:65536,capabilities:["chat","reasoning"],recommendedFor:["chat"],status:"stable"}),e({id:"Qwen/Qwen3-8B",providerId:"siliconflow",name:"Qwen3 8B",description:"Qwen3 8B lightweight model",contextWindow:32768,capabilities:["chat"],recommendedFor:[],status:"stable"});e({id:"llama3-70b-8192",providerId:"groq",name:"LLaMA3 70B",description:"Meta LLaMA3 70B ultra-fast inference",contextWindow:8192,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"llama3-8b-8192",providerId:"groq",name:"LLaMA3 8B",description:"Meta LLaMA3 8B lightweight ultra-fast",contextWindow:8192,capabilities:["chat"],recommendedFor:["chat"],status:"stable"}),e({id:"mistral-saba-24b",providerId:"groq",name:"Mistral Saba 24B",description:"Mistral Saba 24B",contextWindow:32768,capabilities:["chat"],recommendedFor:[],status:"stable"}),e({id:"gemma-9b-it",providerId:"groq",name:"Gemma 9B",description:"Google Gemma 9B",contextWindow:8192,capabilities:["chat"],recommendedFor:[],status:"stable"});e({id:"deepseek/deepseek-v4-pro",providerId:"openrouter",name:"DeepSeek V4 Pro",description:"DeepSeek V4 Pro via OpenRouter",contextWindow:1e6,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"google/gemini-2.5-flash-preview",providerId:"openrouter",name:"Gemini 2.5 Flash",description:"Google Gemini 2.5 Flash via OpenRouter",contextWindow:1048576,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"mistralai/mistral-7b-instruct:free",providerId:"openrouter",name:"Mistral 7B (Free)",description:"Mistral 7B free tier",contextWindow:32768,capabilities:["chat"],recommendedFor:[],status:"stable"});e({id:"grok-4",providerId:"xai",name:"Grok 4",description:"Latest flagship model",contextWindow:256e3,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"grok-3",providerId:"xai",name:"Grok 3",description:"Grok 3 standard",contextWindow:131072,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"grok-3-fast",providerId:"xai",name:"Grok 3 Fast",description:"Grok 3 fast version",contextWindow:131072,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),e({id:"grok-3-mini",providerId:"xai",name:"Grok 3 Mini",description:"Grok 3 small reasoning model",contextWindow:131072,capabilities:["chat","reasoning","function_calling"],recommendedFor:[],status:"stable"}),e({id:"grok-3-mini-fast",providerId:"xai",name:"Grok 3 Mini Fast",description:"Grok 3 Mini fast version",contextWindow:131072,capabilities:["chat","reasoning","function_calling"],recommendedFor:[],status:"stable"});e({id:"MiniMax-M2.7",providerId:"minimax",name:"MiniMax M2.7",description:"Latest flagship model",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"MiniMax-M2.7-highspeed",providerId:"minimax",name:"MiniMax M2.7 HS",description:"M2.7 high-speed",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),e({id:"MiniMax-M2.5",providerId:"minimax",name:"MiniMax M2.5",description:"M2.5 standard",contextWindow:204800,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),e({id:"MiniMax-M2.5-highspeed",providerId:"minimax",name:"MiniMax M2.5 HS",description:"M2.5 high-speed",contextWindow:204800,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"});function G(){return w("data")}function p(i){const t=G();return{all(n,a=[]){return t.pluginQuery(i,n,a)},async get(n,a=[]){return(await t.pluginQuery(i,n,a))[0]}}}class O{async getMessagesBefore(t,n,a=50,o,s,r){const d=p(t);return W(d,n,a,o,s,r)}async getMessagesAfter(t,n,a=50,o,s,r){const d=p(t);return k(d,n,a,o,s,r)}async getMessageContext(t,n,a=20){const o=p(t);return E(o,n,a)}async searchMessages(t,n,a,o=100,s=0,r){const d=p(t);return T(d,n,a,o,s,r)}async getAllRecentMessages(t,n,a=100){const o=p(t);return L(o,n,a)}}export{O as FetchMessageAdapter};
@@ -1 +0,0 @@
1
- import{G as r}from"./index-Dhg3SDb6.js";import"./vendor-reka-ui-CW2cIgMu.js";import"./vendor-nuxt-ui-7OAuiz_i.js";import"./vendor-snapdom-XnBoh1gd.js";function n(){return r("data")}class g{async generate(s,t=1800){const e=await fetch(`/_web/sessions/${s}/generate-index`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gapThreshold:t})});if(!e.ok)throw new Error(`Failed to generate session index: ${e.status}`);return(await e.json()).sessionCount}async generateIncremental(s,t=1800){const e=await fetch(`/_web/sessions/${s}/generate-incremental-index`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gapThreshold:t})});if(!e.ok)throw new Error(`Failed to generate incremental session index: ${e.status}`);return(await e.json()).sessionCount}async hasIndex(s){return(await this.getStats(s)).hasIndex}async getStats(s){try{const e=(await n().pluginQuery(s,"SELECT COUNT(*) as cnt FROM chat_session",[]))[0]?.cnt??0;return{hasIndex:e>0,sessionCount:e,gapThreshold:1800}}catch{return{hasIndex:!1,sessionCount:0,gapThreshold:1800}}}async clear(s){return await fetch(`/_web/sessions/${s}/clear-index`,{method:"POST"}),!0}async updateGapThreshold(s,t){return!0}async getSessions(s){return n().pluginQuery(s,"SELECT id, start_ts as startTs, end_ts as endTs, message_count as messageCount, summary FROM chat_session ORDER BY start_ts ASC",[])}async getByTimeRange(s,t,e){return n().pluginQuery(s,"SELECT id, start_ts as startTs, end_ts as endTs, message_count as messageCount, summary FROM chat_session WHERE start_ts >= ? AND end_ts <= ? ORDER BY start_ts ASC",[t,e])}async getRecent(s,t){return n().pluginQuery(s,"SELECT id, start_ts as startTs, end_ts as endTs, message_count as messageCount, summary FROM chat_session ORDER BY start_ts DESC LIMIT ?",[t])}async generateSummary(){return{success:!1,error:"Not available in web mode"}}async generateSummaries(){return{success:0,failed:0,skipped:0}}async checkCanGenerateSummary(s,t){return{}}}export{g as FetchSessionIndexAdapter};
@@ -1 +0,0 @@
1
- const s="/_web";async function a(o){const t=await fetch(`${s}${o}`);if(!t.ok){const n=await t.text().catch(()=>"");throw new Error(`HTTP ${t.status}: ${n}`)}return t.json()}async function r(o,t){const n=await fetch(`${s}${o}`,{method:"POST",headers:{"Content-Type":"application/json"},body:t!=null?JSON.stringify(t):void 0});if(!n.ok){const e=await n.text().catch(()=>"");throw new Error(`HTTP ${n.status}: ${e}`)}return n.json()}async function c(o){const t=await fetch(`${s}${o}`,{method:"DELETE"});if(!t.ok){const n=await t.text().catch(()=>"");throw new Error(`HTTP ${t.status}: ${n}`)}return t.json()}async function i(o,t){const n=await fetch(`${s}${o}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:t!=null?JSON.stringify(t):void 0});if(!n.ok){const e=await n.text().catch(()=>"");throw new Error(`HTTP ${n.status}: ${e}`)}return n.json()}async function h(o,t){const n=await fetch(`${s}${o}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:t!=null?JSON.stringify(t):void 0});if(!n.ok){const e=await n.text().catch(()=>"");throw new Error(`HTTP ${n.status}: ${e}`)}return n.json()}export{c as del,a as get,h as patch,r as post,i as put};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MessageExportModal-De5_tX6a.js","assets/vendor-nuxt-ui-7OAuiz_i.js","assets/vendor-reka-ui-CW2cIgMu.js","assets/index-Dhg3SDb6.js","assets/vendor-snapdom-XnBoh1gd.js","assets/index-CbOwHYzO.css","assets/DebugToolsPanel.vue_vue_type_script_setup_true_lang-CxYyne-Q.js","assets/index-BJUGnYn5.js","assets/vendor-echarts-wordcloud-CZ9gsX8l.js","assets/vendor-echarts-C5u62NnM.js","assets/vendor-zrender-DFl4U2Oe.js","assets/DebugToolsPanel-DkbsB6lr.css"])))=>i.map(i=>d[i]);
2
- import{_ as qe}from"./vendor-snapdom-XnBoh1gd.js";import{b as se,l as je,a as we,p as Ae,C as Re,g as $e,u as Le,d as Ve,_ as De}from"./vendor-nuxt-ui-7OAuiz_i.js";import{p as Q,w as Z,d as re,F as ge,G as n,H as z,u as t,K as E,P as u,a5 as e,T as s,Z as H,a3 as J,Q as B,U as T,L as y,a0 as ne,h as M,b as F,_ as ze,O as Be,bD as Ce,R as ye,a9 as Oe,i as Ne,bI as Ue}from"./vendor-reka-ui-CW2cIgMu.js";import{u as X,n as pe,T as Fe,i as Se,h as oe,p as Ee,_ as Pe,d as We,a as Ke,s as He}from"./index-Dhg3SDb6.js";import{a as Ge}from"./index-BJUGnYn5.js";import{E as le,c as me,d as Ie,h as Je,a as _e,i as ke,j as Ye,u as Qe,k as Ze,_ as Xe,n as et,o as tt,p as st,q as at,s as nt,t as it,P as lt,v as ot,w as rt,x as ct,y as dt,C as ut,z as mt,A as gt,D as pt,B as xt}from"./DebugToolsPanel.vue_vue_type_script_setup_true_lang-CxYyne-Q.js";import"./vendor-echarts-wordcloud-CZ9gsX8l.js";import{u as xe,s as ft,j as fe,m as ve,n as ie,t as Me,p as Te,k as vt,v as bt}from"./vendor-echarts-C5u62NnM.js";import"./vendor-zrender-DFl4U2Oe.js";const ht={key:0,class:"relative z-10 flex flex-col h-full"},yt={class:"flex flex-col sm:flex-row items-center sm:items-start gap-6 px-6 pt-8 pb-4 sm:px-8"},_t={class:"w-full flex-1 min-w-0"},kt={class:"flex items-center gap-x-2 sm:gap-x-3 mb-6 sm:mb-8"},wt={class:"text-2xl sm:text-4xl font-black tracking-tight text-blue-600 dark:text-blue-400 truncate"},$t={class:"text-2xl sm:text-4xl font-black tracking-tight text-pink-600 dark:text-pink-400 truncate"},Ct={class:"grid grid-cols-2 gap-4 sm:gap-10"},St={class:"text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-gray-500"},Pt={class:"flex flex-col gap-2.5"},It=["title","onClick"],Mt={class:"shrink-0 text-[10px] sm:text-xs font-semibold tabular-nums text-gray-400/80"},Tt={key:0,class:"text-xs sm:text-sm font-medium text-gray-400"},qt={class:"hidden shrink-0 sm:block"},jt={class:"px-6 pb-6 pt-2 sm:px-8 mt-auto"},At={class:"mb-3 flex items-center justify-between"},Rt={class:"text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-gray-500"},Lt={class:"grid grid-cols-1 sm:grid-cols-3 gap-4"},Vt={class:"mb-4 flex items-center gap-2.5"},Dt={class:"text-sm font-bold tracking-wide text-gray-900 dark:text-white"},zt={class:"flex items-center justify-between mb-4 w-full"},Bt={class:"flex flex-col flex-1 min-w-0"},Ot={class:"truncate text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-1"},Nt={class:"flex flex-col flex-1 min-w-0 items-end text-right"},Ut={class:"truncate text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-1"},Ft={class:"mt-auto pt-3 border-t border-gray-100 dark:border-white/5 flex flex-col"},Et={key:0,class:"flex items-start justify-between gap-2 mb-2 min-h-[24px]"},Wt={class:"flex flex-1 flex-nowrap overflow-hidden gap-1"},Kt={key:0,class:"text-[11px] text-gray-400"},Ht={class:"flex flex-1 flex-nowrap overflow-hidden gap-1 justify-end"},Gt={key:0,class:"text-[11px] text-gray-400"},Jt={key:1,class:"flex flex-nowrap overflow-hidden items-center gap-x-1.5 mb-2 min-h-[24px]"},Yt=["onClick"],Qt={key:0,class:"shrink-0 text-gray-300 dark:text-gray-600 font-normal"},Zt={key:0,class:"text-[11px] text-gray-400"},Xt={class:"text-[10px] leading-relaxed text-gray-500 dark:text-gray-400"},es={class:"flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},ts={class:"flex items-center gap-1.5"},ss={class:"text-[9px] font-medium uppercase tracking-widest"},as=Q({__name:"LanguagePreferenceCard",props:{data:{}},emits:["wordClick"],setup(w,{emit:a}){xe([ft,fe,ve]);const{t:r}=X(),_=pe(),o=w,x=a,$=M(()=>o.data.members[0]),k=M(()=>o.data.members[1]);function g(l,d){return l.length<=d?l:l.slice(0,d)+"…"}function S(l){const d=l.posDistribution,C=d.noun+d.verb+d.adjective+d.adverb+d.modalParticle+d.interjection+d.other;return C===0?r("quotes.languagePreference.pos.styleBalanced"):d.noun/C>.5?r("quotes.languagePreference.pos.styleEncyclopedia"):d.verb/C>.45?r("quotes.languagePreference.pos.styleAction"):d.adjective/C>.3?r("quotes.languagePreference.pos.styleExpressive"):r("quotes.languagePreference.pos.styleBalanced")}function D(l){const C=[["ellipsis",l.ellipsis],["exclamation",l.exclamation],["question",l.question],["tilde",l.tilde],["noPunct",l.noPunct],["period",l.period]].reduce((b,j)=>b[1]>=j[1]?b:j);return{ellipsis:r("quotes.languagePreference.punctuation.personalityDeep"),exclamation:r("quotes.languagePreference.punctuation.personalityPassionate"),question:r("quotes.languagePreference.punctuation.personalityCurious"),tilde:r("quotes.languagePreference.punctuation.personalityCheerful"),noPunct:r("quotes.languagePreference.punctuation.personalityFreeflow"),period:r("quotes.languagePreference.punctuation.personalityPrecise")}[C[0]]||"-"}function P(l,d=5){return[["...",l.ellipsis],["!",l.exclamation],["?",l.question],["~",l.tilde],["。",l.period]].filter(([,i])=>i>0).sort((i,b)=>b[1]-i[1]).slice(0,d).map(([i])=>i)}const q=["#6366f1","#ec4899","#f97316","#22c55e","#3b82f6","#8b5cf6","#14b8a6","#f43f5e","#eab308","#06b6d4"],v=M(()=>{const l=$.value,d=k.value;if(!l||!d)return[];const C=o.data.sharedWords.slice(0,6).map((i,b)=>({word:i.word,color:q[b%q.length]}));return[{icon:"i-heroicons-book-open",iconBgClass:"bg-blue-100 dark:bg-blue-500/20",iconColorClass:"text-blue-600 dark:text-blue-400",title:r("quotes.languagePreference.card.diversityTitle"),leftName:l.name,leftValue:`${l.lexicalDiversity}%`,rightName:d.name,rightValue:`${d.lexicalDiversity}%`,valueClass:"text-lg text-blue-600 dark:text-blue-400",detail:{kind:"tags-single",tags:C},desc:r("quotes.languagePreference.card.diversityDesc")},{icon:"i-heroicons-sparkles",iconBgClass:"bg-violet-100 dark:bg-violet-500/20",iconColorClass:"text-violet-600 dark:text-violet-400",title:r("quotes.languagePreference.card.styleTitle"),leftName:l.name,leftValue:S(l),rightName:d.name,rightValue:S(d),valueClass:"text-xs text-violet-600 dark:text-violet-400",detail:{kind:"tags-vs",leftTags:l.modalParticles.slice(0,4).map(i=>i.word),rightTags:d.modalParticles.slice(0,4).map(i=>i.word)},desc:r("quotes.languagePreference.card.styleDesc")},{icon:"i-heroicons-finger-print",iconBgClass:"bg-orange-100 dark:bg-orange-500/20",iconColorClass:"text-orange-600 dark:text-orange-400",title:r("quotes.languagePreference.card.punctTitle"),leftName:l.name,leftValue:D(l.punctuation),rightName:d.name,rightValue:D(d.punctuation),valueClass:"text-xs text-orange-600 dark:text-orange-400",detail:{kind:"tags-vs",leftTags:P(l.punctuation,4),rightTags:P(d.punctuation,4)},desc:r("quotes.languagePreference.card.punctDesc")}]}),A=F(null);let m=null;function c(){A.value&&(m=ie(A.value,void 0,{renderer:"canvas"}),V())}function V(){if(!m||!$.value||!k.value)return;const l=$.value.posDistribution,d=k.value.posDistribution,C=[{name:r("quotes.languagePreference.card.radarFactual"),max:0},{name:r("quotes.languagePreference.card.radarActive"),max:0},{name:r("quotes.languagePreference.card.radarDescriptive"),max:0},{name:r("quotes.languagePreference.card.radarAffable"),max:0},{name:r("quotes.languagePreference.card.radarIntense"),max:0}],i=[l.noun,l.verb,l.adjective,l.modalParticle+l.interjection,l.adverb],b=[d.noun,d.verb,d.adjective,d.modalParticle+d.interjection,d.adverb];for(let O=0;O<C.length;O++)C[O].max=Math.max(i[O],b[O],1)*1.3;const j=_.value?"#9ca3af":"#6b7280";m.setOption({backgroundColor:"transparent",tooltip:{trigger:"item"},legend:{bottom:0,itemWidth:10,itemHeight:10,textStyle:{fontSize:10,color:j},data:[$.value.name,k.value.name]},radar:{indicator:C,radius:"60%",center:["50%","50%"],splitArea:{areaStyle:{color:_.value?["rgba(255,255,255,0.02)","rgba(255,255,255,0.04)"]:["rgba(0,0,0,0.01)","rgba(0,0,0,0.03)"]}},axisName:{color:j,fontSize:10},splitLine:{lineStyle:{color:_.value?"rgba(255,255,255,0.08)":"rgba(0,0,0,0.06)"}},axisLine:{lineStyle:{color:_.value?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.08)"}}},series:[{type:"radar",data:[{value:i,name:$.value.name,lineStyle:{color:"#3b82f6",width:2},areaStyle:{color:"rgba(59,130,246,0.15)"},itemStyle:{color:"#3b82f6"},symbol:"circle",symbolSize:4},{value:b,name:k.value.name,lineStyle:{color:"#ec4899",width:2},areaStyle:{color:"rgba(236,72,153,0.15)"},itemStyle:{color:"#ec4899"},symbol:"circle",symbolSize:4}]}]},{notMerge:!0})}function I(){m?.resize()}return Z(()=>o.data,()=>V(),{deep:!0}),Z(_,()=>{m?.dispose(),c()}),re(()=>{c(),window.addEventListener("resize",I)}),ge(()=>{window.removeEventListener("resize",I),m?.dispose()}),(l,d)=>{const C=se;return n(),z(t(le),{variant:"elevated",decorative:"",class:"flex flex-col"},{default:E(()=>[$.value&&k.value?(n(),u("div",ht,[e("div",yt,[e("div",_t,[e("div",kt,[e("span",wt,s($.value.name),1),d[0]||(d[0]=e("span",{class:"text-sm sm:text-lg font-black text-gray-300 dark:text-gray-600 italic px-1 sm:px-2 shrink-0"}," VS ",-1)),e("span",$t,s(k.value.name),1)]),e("div",Ct,[(n(!0),u(H,null,J([$.value,k.value],(i,b)=>(n(),u("div",{key:i.memberId,class:"flex flex-col gap-3"},[e("div",St,s(t(r)("quotes.languagePreference.card.topCatchphrases")),1),e("div",Pt,[(n(!0),u(H,null,J(i.catchphrases.slice(0,3),(j,O)=>(n(),u("div",{key:O,class:"flex items-center gap-2 group"},[e("span",{class:B(["text-xs sm:text-sm font-black font-mono opacity-40 transition-opacity group-hover:opacity-100",b===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])}," #"+s(O+1),3),e("span",{class:"truncate text-sm sm:text-base font-bold text-gray-700 dark:text-gray-200 cursor-pointer hover:opacity-70 transition-opacity",title:j.content,onClick:W=>x("wordClick",j.content)}," 「"+s(g(j.content,12))+"」 ",9,It),e("span",Mt," ×"+s(j.count),1)]))),128)),i.catchphrases.length===0?(n(),u("div",Tt,"-")):T("",!0)])]))),128))])]),e("div",qt,[e("div",{ref_key:"radarRef",ref:A,style:{width:"250px",height:"230px"},class:"-mt-4 sm:-mr-4"},null,512)])]),e("div",jt,[e("div",At,[e("span",Rt,s(t(r)("quotes.languagePreference.card.languageProfiles")),1)]),e("div",Lt,[(n(!0),u(H,null,J(v.value,i=>(n(),u("div",{key:i.title,class:"flex flex-col rounded-xl bg-white/60 p-4 ring-1 ring-gray-900/5 backdrop-blur-sm dark:bg-white/5 dark:ring-white/10"},[e("div",Vt,[e("div",{class:B(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",i.iconBgClass])},[y(C,{name:i.icon,class:B(["h-4 w-4",i.iconColorClass])},null,8,["name","class"])],2),e("span",Dt,s(i.title),1)]),e("div",zt,[e("div",Bt,[e("span",Ot,s(i.leftName),1),e("span",{class:B(["truncate text-xl font-black font-mono leading-none",i.valueClass])},s(i.leftValue),3)]),d[1]||(d[1]=e("div",{class:"px-2 shrink-0"},[e("span",{class:"text-[10px] font-black text-gray-300 dark:text-gray-600 italic"},"VS")],-1)),e("div",Nt,[e("span",Ut,s(i.rightName),1),e("span",{class:B(["truncate text-xl font-black font-mono leading-none",i.valueClass])},s(i.rightValue),3)])]),e("div",Ft,[i.detail.kind==="tags-vs"?(n(),u("div",Et,[e("div",Wt,[(n(!0),u(H,null,J(i.detail.leftTags,b=>(n(),u("span",{key:b,class:"shrink-0 px-1.5 py-0.5 rounded-md text-[10px] font-semibold font-mono bg-blue-50 text-blue-600 dark:bg-blue-500/10 dark:text-blue-400"},s(b),1))),128)),i.detail.leftTags.length===0?(n(),u("span",Kt,"-")):T("",!0)]),e("div",Ht,[(n(!0),u(H,null,J(i.detail.rightTags,b=>(n(),u("span",{key:b,class:"shrink-0 px-1.5 py-0.5 rounded-md text-[10px] font-semibold font-mono bg-pink-50 text-pink-600 dark:bg-pink-500/10 dark:text-pink-400"},s(b),1))),128)),i.detail.rightTags.length===0?(n(),u("span",Gt,"-")):T("",!0)])])):i.detail.kind==="tags-single"?(n(),u("div",Jt,[(n(!0),u(H,null,J(i.detail.tags.slice(0,6),(b,j)=>(n(),u(H,{key:b.word},[e("span",{class:"shrink-0 cursor-pointer text-[11px] font-bold transition-opacity hover:opacity-80",style:ne({color:b.color}),onClick:O=>x("wordClick",b.word)},s(b.word),13,Yt),j<i.detail.tags.slice(0,6).length-1?(n(),u("span",Qt," · ")):T("",!0)],64))),128)),i.detail.tags.length===0?(n(),u("span",Zt,"-")):T("",!0)])):T("",!0),e("p",Xt,s(i.desc),1)])]))),128))])]),e("div",es,[e("div",ts,[y(C,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),d[2]||(d[2]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",ss,s(t(r)("quotes.languagePreference.card.watermark")),1)])])):T("",!0)]),_:1})}}}),ns={class:"px-5 py-4 sm:px-6"},is={class:"mb-4 flex items-center justify-between"},ls={class:"flex items-center gap-2"},os={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},rs={key:0,class:"rounded-full bg-pink-100 px-2 py-0.5 text-[10px] font-bold text-pink-600 dark:bg-pink-900/30 dark:text-pink-400"},cs={key:0,class:"grid grid-cols-2 gap-6"},ds={class:"mb-3 text-center"},us={class:"text-sm font-semibold text-blue-600 dark:text-blue-400"},ms={class:"flex flex-wrap gap-2"},gs=["title","onClick"],ps={class:"text-[10px] font-semibold opacity-60"},xs={class:"mb-3 text-center"},fs={class:"text-sm font-semibold text-pink-600 dark:text-pink-400"},vs={class:"flex flex-wrap gap-2"},bs=["title","onClick"],hs={class:"text-[10px] font-semibold opacity-60"},ys={class:"mt-4 text-center text-xs text-gray-500 dark:text-gray-400"},_s=Q({__name:"CatchphrasePKSection",props:{members:{}},emits:["wordClick"],setup(w,{emit:a}){const{t:r}=X(),_=w,o=a,x=F(20),$=[{label:"10",value:10},{label:"20",value:20},{label:"30",value:30}],k=M(()=>_.members[0]),g=M(()=>_.members[1]),S=M(()=>k.value?.catchphrases.slice(0,x.value)??[]),D=M(()=>g.value?.catchphrases.slice(0,x.value)??[]),P=M(()=>{if(!k.value||!g.value)return new Set;const m=new Set(k.value.catchphrases.map(V=>V.content)),c=new Set(g.value.catchphrases.map(V=>V.content));return new Set([...m].filter(V=>c.has(V)))}),q=[{bg:"bg-amber-50 text-amber-600 ring-1 ring-amber-500/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30",text:"text-amber-700 dark:text-amber-400 font-bold",badge:"bg-amber-500 text-white dark:bg-amber-600"},{bg:"bg-slate-50 text-slate-600 ring-1 ring-slate-500/20 dark:bg-slate-500/10 dark:text-slate-400 dark:ring-slate-500/30",text:"text-slate-700 dark:text-slate-300 font-bold",badge:"bg-slate-400 text-white dark:bg-slate-500"},{bg:"bg-orange-50 text-orange-600 ring-1 ring-orange-500/20 dark:bg-orange-500/10 dark:text-orange-400 dark:ring-orange-500/30",text:"text-orange-700 dark:text-orange-400 font-bold",badge:"bg-orange-400 text-white dark:bg-orange-500"}];function v(m){return m<q.length?q[m]:{bg:"bg-gray-50/50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/30 dark:text-gray-400 dark:ring-white/10",text:"text-gray-600 dark:text-gray-400",badge:"bg-transparent text-gray-400"}}function A(m,c=20){return m.length<=c?m:m.slice(0,c)+"..."}return(m,c)=>{const V=se;return n(),z(t(le),{variant:"section"},{default:E(()=>[e("div",ns,[e("div",is,[e("div",ls,[y(V,{name:"i-heroicons-chat-bubble-bottom-center-text",class:"h-4 w-4 text-indigo-500"}),e("span",os,s(t(r)("quotes.languagePreference.catchphrasePK.title")),1),P.value.size>0?(n(),u("span",rs,s(t(r)("quotes.languagePreference.catchphrasePK.sharedCount",{count:P.value.size})),1)):T("",!0)]),y(t(Fe),{modelValue:x.value,"onUpdate:modelValue":c[0]||(c[0]=I=>x.value=I),size:"xs",items:$},null,8,["modelValue"])]),k.value&&g.value?(n(),u("div",cs,[e("div",null,[e("div",ds,[e("span",us,s(k.value.name),1)]),e("div",ms,[(n(!0),u(H,null,J(S.value,(I,l)=>(n(),u("div",{key:I.content,class:B(["inline-flex cursor-pointer items-center gap-1.5 rounded-full px-3 py-1 transition-opacity hover:opacity-75",[P.value.has(I.content)?"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30 shadow-sm":v(l).bg]]),title:I.content,onClick:d=>o("wordClick",I.content)},[l<3?(n(),u("span",{key:0,class:B(["flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold",v(l).badge])},s(l+1),3)):T("",!0),e("span",{class:B(["text-[13px] font-medium",P.value.has(I.content)?"font-bold":v(l).text])},s(A(I.content)),3),e("span",ps,"×"+s(I.count),1)],10,gs))),128))])]),e("div",null,[e("div",xs,[e("span",fs,s(g.value.name),1)]),e("div",vs,[(n(!0),u(H,null,J(D.value,(I,l)=>(n(),u("div",{key:I.content,class:B(["inline-flex cursor-pointer items-center gap-1.5 rounded-full px-3 py-1 transition-opacity hover:opacity-75",[P.value.has(I.content)?"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30 shadow-sm":v(l).bg]]),title:I.content,onClick:d=>o("wordClick",I.content)},[l<3?(n(),u("span",{key:0,class:B(["flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold",v(l).badge])},s(l+1),3)):T("",!0),e("span",{class:B(["text-[13px] font-medium",P.value.has(I.content)?"font-bold":v(l).text])},s(A(I.content)),3),e("span",hs,"×"+s(I.count),1)],10,bs))),128))])])])):T("",!0),e("p",ys,s(t(r)("quotes.languagePreference.catchphrasePK.hint")),1)])]),_:1})}}}),ks={class:"px-5 py-4 sm:px-6"},ws={class:"mb-4 flex items-center gap-2"},$s={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Cs={class:"flex flex-col gap-4 lg:flex-row lg:gap-6"},Ss={class:"flex-1"},Ps={key:0,class:"flex shrink-0 flex-col gap-3 lg:w-48"},Is={class:"min-w-0"},Ms={class:"truncate text-xs font-semibold text-gray-500 dark:text-gray-400"},Ts=Q({__name:"PosPortraitSection",props:{members:{}},setup(w){xe([Me,Te,fe,vt,ve]);const{t:a}=X(),r=pe(),_=w,o=M(()=>_.members[0]),x=M(()=>_.members[1]);function $(q){const v=q.posDistribution,A=v.noun+v.verb+v.adjective+v.adverb+v.modalParticle+v.interjection+v.other;if(A===0)return{label:a("quotes.languagePreference.pos.styleBalanced"),icon:"i-heroicons-scale-solid",colorClass:"text-cyan-600 dark:text-cyan-400"};const m=v.noun/A,c=v.verb/A,V=v.adjective/A;return m>.5?{label:a("quotes.languagePreference.pos.styleEncyclopedia"),icon:"i-heroicons-book-open-solid",colorClass:"text-indigo-600 dark:text-indigo-400"}:c>.45?{label:a("quotes.languagePreference.pos.styleAction"),icon:"i-heroicons-rocket-launch-solid",colorClass:"text-orange-600 dark:text-orange-400"}:V>.3?{label:a("quotes.languagePreference.pos.styleExpressive"),icon:"i-heroicons-paint-brush-solid",colorClass:"text-pink-600 dark:text-pink-400"}:{label:a("quotes.languagePreference.pos.styleBalanced"),icon:"i-heroicons-scale-solid",colorClass:"text-cyan-600 dark:text-cyan-400"}}const k=F(null);let g=null;function S(){k.value&&(g=ie(k.value,void 0,{renderer:"canvas"}),D())}function D(){if(!g||!o.value||!x.value)return;const q=o.value.posDistribution,v=x.value.posDistribution,A=[a("quotes.languagePreference.card.radarNoun"),a("quotes.languagePreference.card.radarVerb"),a("quotes.languagePreference.card.radarAdj"),a("quotes.languagePreference.card.radarModal"),a("quotes.languagePreference.card.radarAdv")],m=[q.noun,q.verb,q.adjective,q.modalParticle+q.interjection,q.adverb],c=[v.noun,v.verb,v.adjective,v.modalParticle+v.interjection,v.adverb],V=r.value?"#9ca3af":"#6b7280";g.setOption({backgroundColor:"transparent",tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{data:[o.value.name,x.value.name],top:0,textStyle:{fontSize:11,color:V}},grid:{left:80,right:20,top:36,bottom:10},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:A,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:11,color:V}},series:[{name:o.value.name,type:"bar",data:m,itemStyle:{color:"#3b82f6",borderRadius:[0,4,4,0]},barGap:"20%",barCategoryGap:"40%"},{name:x.value.name,type:"bar",data:c,itemStyle:{color:"#ec4899",borderRadius:[0,4,4,0]}}]},{notMerge:!0})}function P(){g?.resize()}return Z(()=>_.members,()=>D(),{deep:!0}),Z(r,()=>{g?.dispose(),S()}),re(()=>{S(),window.addEventListener("resize",P)}),ge(()=>{window.removeEventListener("resize",P),g?.dispose()}),(q,v)=>{const A=se;return n(),z(t(le),{variant:"section"},{default:E(()=>[e("div",ks,[e("div",ws,[y(A,{name:"i-heroicons-chart-bar",class:"h-4 w-4 text-violet-500"}),e("span",$s,s(t(a)("quotes.languagePreference.pos.title")),1)]),e("div",Cs,[e("div",Ss,[e("div",{ref_key:"chartRef",ref:k,style:{width:"100%",height:"220px"}},null,512)]),o.value&&x.value?(n(),u("div",Ps,[(n(!0),u(H,null,J([o.value,x.value],m=>(n(),u("div",{key:m.memberId,class:"flex items-center gap-3 rounded-xl bg-white/60 p-3 ring-1 ring-gray-900/5 backdrop-blur-sm dark:bg-white/5 dark:ring-white/10"},[y(A,{name:$(m).icon,class:B(["h-5 w-5 shrink-0",$(m).colorClass])},null,8,["name","class"]),e("div",Is,[e("div",Ms,s(m.name),1),e("div",{class:B(["truncate text-sm font-bold",$(m).colorClass])},s($(m).label),3)])]))),128))])):T("",!0)])])]),_:1})}}}),qs={class:"px-5 py-4 sm:px-6"},js={class:"mb-4 flex items-center gap-2"},As={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Rs={key:0,class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Ls={class:"mb-2 flex items-center justify-between"},Vs={key:1,class:"flex h-[200px] items-center justify-center text-sm text-gray-400"},Ds=Q({__name:"ModalParticleSection",props:{members:{}},setup(w){xe([Me,Te,fe,ve]);const{t:a}=X(),r=pe(),_=w,o=M(()=>_.members[0]),x=M(()=>_.members[1]),$=new Set(["呀","哒","滴","啦","哇","耶"]),k=new Set(["呢","吗","嘛"]),g=new Set(["吧","喔","噢","嘛"]),S=new Set(["嗯","哦","额","呃"]);function D(I){const l={label:a("quotes.languagePreference.modal.toneMixed"),colorClass:"bg-gray-50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/50 dark:text-gray-400 dark:ring-white/10"};if(I.modalParticles.length===0)return l;let d=0,C=0,i=0,b=0,j=0;for(const W of I.modalParticles)j+=W.count,$.has(W.word)&&(d+=W.count),k.has(W.word)&&(C+=W.count),g.has(W.word)&&(i+=W.count),S.has(W.word)&&(b+=W.count);if(j===0)return l;const O=Math.max(d,C,i,b);return O===d&&d/j>.3?{label:a("quotes.languagePreference.modal.toneSoft"),colorClass:"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30"}:O===C&&C/j>.3?{label:a("quotes.languagePreference.modal.toneCurious"),colorClass:"bg-violet-50 text-violet-600 ring-1 ring-violet-500/20 dark:bg-violet-500/10 dark:text-violet-400 dark:ring-violet-500/30"}:O===i&&i/j>.3?{label:a("quotes.languagePreference.modal.toneCasual"),colorClass:"bg-emerald-50 text-emerald-600 ring-1 ring-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400 dark:ring-emerald-500/30"}:O===b&&b/j>.3?{label:a("quotes.languagePreference.modal.toneCalm"),colorClass:"bg-blue-50 text-blue-600 ring-1 ring-blue-500/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30"}:l}const P=F(null),q=F(null);let v=null,A=null;function m(I,l){const d=I.modalParticles.slice(0,8),C=r.value?"#9ca3af":"#6b7280";return{backgroundColor:"transparent",tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:40,right:20,top:4,bottom:4},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:d.map(i=>i.word).reverse(),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:12,color:C},inverse:!1},series:[{type:"bar",data:d.map(i=>i.count).reverse(),itemStyle:{color:l,borderRadius:[0,4,4,0]},barWidth:"50%",label:{show:!0,position:"right",fontSize:10,color:C,formatter:"{c}"}}]}}function c(){P.value&&o.value&&(v=ie(P.value,void 0,{renderer:"canvas"}),v.setOption(m(o.value,"#3b82f6"),{notMerge:!0})),q.value&&x.value&&(A=ie(q.value,void 0,{renderer:"canvas"}),A.setOption(m(x.value,"#ec4899"),{notMerge:!0}))}function V(){v?.resize(),A?.resize()}return Z(()=>_.members,()=>{v&&o.value&&v.setOption(m(o.value,"#3b82f6"),{notMerge:!0}),A&&x.value&&A.setOption(m(x.value,"#ec4899"),{notMerge:!0})},{deep:!0}),Z(r,()=>{v?.dispose(),A?.dispose(),c()}),re(()=>{c(),window.addEventListener("resize",V)}),ge(()=>{window.removeEventListener("resize",V),v?.dispose(),A?.dispose()}),(I,l)=>{const d=se;return n(),z(t(le),{variant:"section"},{default:E(()=>[e("div",qs,[e("div",js,[y(d,{name:"i-heroicons-chat-bubble-oval-left-ellipsis",class:"h-4 w-4 text-pink-500"}),e("span",As,s(t(a)("quotes.languagePreference.modal.title")),1)]),o.value&&x.value?(n(),u("div",Rs,[(n(!0),u(H,null,J([o.value,x.value],(C,i)=>(n(),u("div",{key:C.memberId},[e("div",Ls,[e("span",{class:B(["text-sm font-semibold",i===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])},s(C.name),3),e("span",{class:B(["rounded-full px-2 py-0.5 text-[10px] font-bold",D(C).colorClass])},s(D(C).label),3)]),C.modalParticles.length>0?(n(),u("div",{key:0,ref_for:!0,ref:b=>{i===0?P.value=b:q.value=b},style:{width:"100%",height:"200px"}},null,512)):(n(),u("div",Vs,s(t(a)("quotes.languagePreference.modal.empty")),1))]))),128))])):T("",!0)])]),_:1})}}}),zs={class:"px-5 py-4 sm:px-6"},Bs={class:"mb-4 flex items-center gap-2"},Os={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Ns={key:0,class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Us={class:"mb-2 flex items-center gap-2"},Fs={key:1,class:"flex h-[200px] items-center justify-center text-sm text-gray-400"},Es=Q({__name:"PunctuationSection",props:{members:{}},setup(w){xe([bt,fe,ve]);const{t:a}=X(),r=pe(),_=w,o=M(()=>_.members[0]),x=M(()=>_.members[1]),$=["#6366f1","#ec4899","#f97316","#22c55e","#06b6d4","#8b5cf6"];function k(c){const I=[["ellipsis",c.ellipsis],["exclamation",c.exclamation],["question",c.question],["tilde",c.tilde],["noPunct",c.noPunct],["period",c.period]].reduce((d,C)=>d[1]>=C[1]?d:C);return{ellipsis:{label:a("quotes.languagePreference.punctuation.personalityDeep"),colorClass:"bg-indigo-50 text-indigo-600 ring-1 ring-indigo-500/20 dark:bg-indigo-500/10 dark:text-indigo-400 dark:ring-indigo-500/30"},exclamation:{label:a("quotes.languagePreference.punctuation.personalityPassionate"),colorClass:"bg-rose-50 text-rose-600 ring-1 ring-rose-500/20 dark:bg-rose-500/10 dark:text-rose-400 dark:ring-rose-500/30"},question:{label:a("quotes.languagePreference.punctuation.personalityCurious"),colorClass:"bg-amber-50 text-amber-600 ring-1 ring-amber-500/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30"},tilde:{label:a("quotes.languagePreference.punctuation.personalityCheerful"),colorClass:"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30"},noPunct:{label:a("quotes.languagePreference.punctuation.personalityFreeflow"),colorClass:"bg-emerald-50 text-emerald-600 ring-1 ring-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400 dark:ring-emerald-500/30"},period:{label:a("quotes.languagePreference.punctuation.personalityPrecise"),colorClass:"bg-blue-50 text-blue-600 ring-1 ring-blue-500/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30"}}[I[0]]||{label:"-",colorClass:"bg-gray-50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/50 dark:text-gray-400 dark:ring-white/10"}}function g(c){return[{name:"...",value:c.ellipsis},{name:"!",value:c.exclamation},{name:"?",value:c.question},{name:"~",value:c.tilde},{name:"。",value:c.period},{name:a("quotes.languagePreference.punctuation.none"),value:c.noPunct}].filter(V=>V.value>0)}const S=F(null),D=F(null);let P=null,q=null;function v(c){return{backgroundColor:"transparent",tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},series:[{type:"pie",radius:["45%","75%"],center:["50%","50%"],avoidLabelOverlap:!1,padAngle:2,itemStyle:{borderRadius:4},label:{show:!0,fontSize:10,color:r.value?"#9ca3af":"#6b7280",formatter:"{b}"},emphasis:{label:{show:!0,fontWeight:"bold"},scaleSize:4},data:c.map((V,I)=>({...V,itemStyle:{color:$[I%$.length]}}))}]}}function A(){S.value&&o.value&&(P=ie(S.value,void 0,{renderer:"canvas"}),P.setOption(v(g(o.value.punctuation)),{notMerge:!0})),D.value&&x.value&&(q=ie(D.value,void 0,{renderer:"canvas"}),q.setOption(v(g(x.value.punctuation)),{notMerge:!0}))}function m(){P?.resize(),q?.resize()}return Z(()=>_.members,()=>{P&&o.value&&P.setOption(v(g(o.value.punctuation)),{notMerge:!0}),q&&x.value&&q.setOption(v(g(x.value.punctuation)),{notMerge:!0})},{deep:!0}),Z(r,()=>{P?.dispose(),q?.dispose(),A()}),re(()=>{A(),window.addEventListener("resize",m)}),ge(()=>{window.removeEventListener("resize",m),P?.dispose(),q?.dispose()}),(c,V)=>{const I=se;return n(),z(t(le),{variant:"section"},{default:E(()=>[e("div",zs,[e("div",Bs,[y(I,{name:"i-heroicons-ellipsis-horizontal",class:"h-4 w-4 text-orange-500"}),e("span",Os,s(t(a)("quotes.languagePreference.punctuation.title")),1)]),o.value&&x.value?(n(),u("div",Ns,[(n(!0),u(H,null,J([o.value,x.value],(l,d)=>(n(),u("div",{key:l.memberId,class:"flex flex-col items-center"},[e("div",Us,[e("span",{class:B(["text-sm font-semibold",d===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])},s(l.name),3),e("span",{class:B(["rounded-full px-2 py-0.5 text-[10px] font-bold",k(l.punctuation).colorClass])},s(k(l.punctuation).label),3)]),l.punctuation.total>0?(n(),u("div",{key:0,ref_for:!0,ref:C=>{d===0?S.value=C:D.value=C},style:{width:"100%",height:"200px"}},null,512)):(n(),u("div",Fs,s(t(a)("quotes.languagePreference.punctuation.empty")),1))]))),128))])):T("",!0)])]),_:1})}}}),Ws={class:"main-content mx-auto max-w-[920px] space-y-6 p-6"},Ks=Q({__name:"LanguagePreferenceTab",props:{sessionId:{},timeFilter:{}},setup(w){const{t:a,locale:r}=X(),_=Se(),o=w,x=F(null),$=F(!1),k=M(()=>x.value&&x.value.members.length>=2);async function g(){if(o.sessionId){$.value=!0;try{x.value=await oe().getLanguagePreferenceAnalysis(o.sessionId,r.value,o.timeFilter)}catch(D){console.error("[LanguagePreferenceTab] Failed to load:",D)}finally{$.value=!1}}}function S(D){_.openChatRecordDrawer({keywords:[D]})}return Z(()=>[o.sessionId,o.timeFilter],()=>g(),{immediate:!0,deep:!0}),(D,P)=>(n(),u("div",Ws,[$.value?(n(),z(t(me),{key:0,text:t(a)("quotes.languagePreference.loading")},null,8,["text"])):k.value?x.value?(n(),u(H,{key:2},[y(as,{data:x.value,onWordClick:S},null,8,["data"]),y(_s,{members:x.value.members,onWordClick:S},null,8,["members"]),y(Ts,{members:x.value.members},null,8,["members"]),y(Ds,{members:x.value.members},null,8,["members"]),y(Es,{members:x.value.members},null,8,["members"])],64)):T("",!0):(n(),z(t(Ie),{key:1,text:t(a)("quotes.languagePreference.empty")},null,8,["text"]))]))}}),Hs={class:"main-content mx-auto max-w-[920px] space-y-6 p-6"},Gs={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},Js={class:"p-5"},Ys={class:"p-5"},Qs=Q({__name:"OverviewTab",props:{session:{},memberActivity:{},messageTypes:{},hourlyActivity:{},dailyActivity:{},timeRange:{},selectedYear:{},filteredMessageCount:{},filteredMemberCount:{},timeFilter:{}},setup(w){const{t:a}=X(),r=w,{dailyChartData:_}=Qe(()=>r.dailyActivity),o=M(()=>({labels:r.messageTypes.map(k=>Ze(k.type,a)),values:r.messageTypes.map(k=>k.count)})),x=M(()=>{if(r.memberActivity.length<2)return null;const g=[...r.memberActivity].sort((D,P)=>P.messageCount-D.messageCount).slice(0,2),S=g[0].messageCount+g[1].messageCount;return{member1:{name:g[0].name,avatar:g[0].avatar,count:g[0].messageCount,percentage:S>0?Math.round(g[0].messageCount/S*100):0},member2:{name:g[1].name,avatar:g[1].avatar,count:g[1].messageCount,percentage:S>0?Math.round(g[1].messageCount/S*100):0},total:S}}),$=M(()=>x.value?{labels:[x.value.member1.name,x.value.member2.name],values:[x.value.member1.count,x.value.member2.count]}:{labels:[],values:[]});return(k,g)=>(n(),u("div",Hs,[y(Je,{session:w.session,"daily-activity":w.dailyActivity,"message-types":w.messageTypes,"hourly-activity":w.hourlyActivity,"time-range":w.timeRange,"selected-year":w.selectedYear,"filtered-message-count":w.filteredMessageCount,"time-filter":w.timeFilter},null,8,["session","daily-activity","message-types","hourly-activity","time-range","selected-year","filtered-message-count","time-filter"]),e("div",Gs,[y(t(_e),{title:t(a)("analysis.overview.messageTypeDistribution"),"show-divider":!1},{default:E(()=>[e("div",Js,[y(t(ke),{data:o.value,height:280},null,8,["data"])])]),_:1},8,["title"]),x.value?(n(),z(t(_e),{key:0,title:t(a)("analysis.overview.memberComparison"),"show-divider":!1},{default:E(()=>[e("div",Ys,[y(t(ke),{data:$.value,height:280},null,8,["data"])])]),_:1},8,["title"])):T("",!0)]),y(Ye,{"daily-activity":w.dailyActivity,"daily-chart-data":t(_)},null,8,["daily-activity","daily-chart-data"])]))}}),Zs={class:"flex flex-col rounded-2xl bg-white p-4 ring-1 ring-gray-900/5 transition-colors dark:bg-transparent dark:ring-white/10"},Xs={class:"mb-2 min-h-8"},ea={class:"flex items-center justify-between gap-2"},ta={class:"flex min-w-0 items-center gap-2"},sa={class:"truncate text-xs font-bold tracking-wide text-gray-900 dark:text-white"},aa={key:0,class:"shrink-0"},na={class:"flex h-full flex-col"},ia={class:"grid grid-cols-2 gap-2"},la={class:"flex min-w-0 flex-col items-center rounded-xl bg-white px-1 py-1.5 text-center dark:bg-transparent"},oa=["title"],ra={class:"flex min-w-0 flex-col items-center rounded-xl bg-white px-1 py-1.5 text-center dark:bg-transparent"},ca=["title"],da={class:"mt-auto pt-3 min-h-8 text-[10px] leading-relaxed text-gray-500 dark:text-gray-400 sm:min-h-6"},ue=Q({__name:"RelationshipMetricCard",props:{title:{},iconName:{},iconBgClass:{},iconColorClass:{},leftName:{default:"—"},leftValue:{default:"--"},rightName:{default:"—"},rightValue:{default:"--"},valueClass:{default:"text-gray-700 dark:text-gray-200"},description:{default:""}},setup(w){const a=ze(),r=M(()=>!!a["header-extra"]);return(_,o)=>{const x=se;return n(),u("div",Zs,[e("div",Xs,[e("div",ea,[e("div",ta,[e("div",{class:B(["flex h-6 w-6 shrink-0 items-center justify-center rounded-full",w.iconBgClass])},[y(x,{name:w.iconName,class:B(["h-3.5 w-3.5",w.iconColorClass])},null,8,["name","class"])],2),e("span",sa,s(w.title),1)]),r.value?(n(),u("div",aa,[Be(_.$slots,"header-extra")])):T("",!0)])]),e("div",na,[e("div",ia,[e("div",la,[e("div",{class:"w-full truncate text-[10px] font-semibold tracking-wide text-gray-500 dark:text-gray-400",title:w.leftName},s(w.leftName),9,oa),e("div",{class:B(["mt-2 font-black font-mono leading-none tabular-nums",w.valueClass])},s(w.leftValue),3)]),e("div",ra,[e("div",{class:"w-full truncate text-[10px] font-semibold tracking-wide text-gray-500 dark:text-gray-400",title:w.rightName},s(w.rightName),9,ca),e("div",{class:B(["mt-2 font-black font-mono leading-none tabular-nums",w.valueClass])},s(w.rightValue),3)])]),e("p",da,s(w.description),1)])])}}}),ua={key:1,class:"main-content mx-auto max-w-[920px] space-y-6 p-6"},ma={class:"space-y-6"},ga={class:"relative z-10 flex flex-col items-center justify-center gap-10 px-6 pt-10 pb-6 sm:px-8 lg:flex-row lg:items-start lg:justify-between lg:gap-8 xl:gap-12"},pa={class:"flex min-w-0 max-w-full flex-1 flex-col items-center justify-center lg:items-start"},xa={class:"flex flex-col text-[15px] leading-relaxed text-gray-600 dark:text-gray-300"},fa={class:"mb-2 text-sm font-medium tracking-wide text-gray-500 dark:text-gray-400"},va={class:"mb-4 flex min-w-0 flex-wrap items-baseline gap-2"},ba={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},ha={class:"font-black text-5xl tracking-tight text-gray-900 dark:text-white"},ya={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},_a={class:"flex min-w-0 max-w-full flex-wrap items-baseline gap-x-1.5 gap-y-1"},ka={class:"text-base font-medium text-gray-600 dark:text-gray-300"},wa={class:"font-black text-3xl text-pink-500 dark:text-pink-400"},$a={class:"text-base font-medium text-gray-600 dark:text-gray-300"},Ca={class:"max-w-full break-all text-xl font-bold leading-snug text-gray-900 dark:text-white"},Sa={class:"text-base font-medium text-gray-600 dark:text-gray-300"},Pa={class:"mt-8 flex w-full max-w-[320px] items-center justify-between gap-4"},Ia={class:"flex flex-1 flex-col items-center overflow-hidden"},Ma=["title"],Ta={class:"mt-1 text-2xl font-black text-blue-500 dark:text-blue-400"},qa={class:"mt-0.5 text-[10px] font-medium text-gray-400"},ja={class:"flex flex-1 flex-col items-center overflow-hidden"},Aa=["title"],Ra={class:"mt-1 text-2xl font-black text-pink-500 dark:text-pink-400"},La={class:"mt-0.5 text-[10px] font-medium text-gray-400"},Va={key:0,class:"flex min-w-0 w-full max-w-[400px] flex-1 flex-col justify-center lg:max-w-[460px]"},Da={class:"mb-2 flex items-center justify-between px-1"},za={class:"text-sm font-bold text-gray-900 dark:text-white"},Ba={class:"text-[10px] font-medium text-gray-500 dark:text-gray-400"},Oa={class:"w-full"},Na={class:"h-[200px] w-full"},Ua={class:"relative z-10 grid grid-cols-2 gap-3 p-4 pt-2 sm:p-6 sm:pt-2 lg:grid-cols-4"},Fa={class:"relative z-10 flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},Ea={class:"flex items-center gap-1.5"},Wa={class:"text-[9px] font-medium uppercase tracking-widest"},Ka={class:"p-6 sm:p-8"},Ha={class:"relative ml-4 border-l-2 border-gray-100/80 py-4 dark:border-gray-800/80"},Ga={class:"absolute -left-[11px] top-1 flex h-5 w-5 items-center justify-center rounded-full bg-white ring-4 ring-white dark:bg-gray-900 dark:ring-gray-900"},Ja={class:"group relative overflow-hidden rounded-[20px] bg-card-bg shadow-sm ring-1 ring-gray-900/5 transition-all hover:-translate-y-0.5 hover:shadow-md dark:bg-card-dark dark:ring-white/10"},Ya={key:0,class:"pointer-events-none absolute inset-0 overflow-hidden opacity-30 transition-opacity group-hover:opacity-50"},Qa={class:"relative z-10 p-4 sm:p-5"},Za={class:"flex items-center gap-3"},Xa={class:"text-xl font-bold tracking-tight text-gray-900 dark:text-white"},en={key:0,class:"flex items-baseline gap-1.5"},tn={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},sn={class:"text-2xl font-black leading-none text-gray-900 dark:text-white"},an={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},nn={key:0,class:"grid grid-cols-2 gap-3 lg:grid-cols-4"},ln={class:"flex flex-col rounded-xl bg-blue-50/50 p-3 ring-1 ring-blue-100/50 dark:bg-blue-500/5 dark:ring-blue-500/10"},on={class:"mb-2.5 flex items-center gap-1.5"},rn={class:"text-xs font-bold text-gray-700 dark:text-gray-300"},cn={class:"flex flex-col gap-1.5"},dn={class:"flex items-center justify-between text-xs"},un={class:"w-12 truncate font-medium text-gray-500 dark:text-gray-400"},mn={class:"font-black tabular-nums text-blue-600 dark:text-blue-400"},gn={class:"flex items-center justify-between text-xs"},pn={class:"w-12 truncate font-medium text-gray-500 dark:text-gray-400"},xn={class:"font-black tabular-nums text-pink-500 dark:text-pink-400"},fn={class:"mt-3 flex h-1 w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},vn={class:"flex flex-col rounded-xl bg-indigo-50/50 p-3 ring-1 ring-indigo-100/50 dark:bg-indigo-500/5 dark:ring-indigo-500/10"},bn={class:"mb-2.5 flex items-center gap-1.5"},hn={class:"text-xs font-bold text-gray-700 dark:text-gray-300"},yn={class:"flex flex-col gap-1.5"},_n={class:"flex items-center justify-between text-xs"},kn={class:"w-12 truncate font-medium text-gray-500 dark:text-gray-400"},wn={class:"font-black tabular-nums text-indigo-600 dark:text-indigo-400"},$n={class:"flex items-center justify-between text-xs"},Cn={class:"w-12 truncate font-medium text-gray-500 dark:text-gray-400"},Sn={class:"font-black tabular-nums text-pink-500 dark:text-pink-400"},Pn={class:"mt-3 flex h-1 w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},In={class:"flex flex-col rounded-xl bg-amber-50/50 p-3 ring-1 ring-amber-100/50 dark:bg-amber-500/5 dark:ring-amber-500/10"},Mn={class:"mb-2.5 flex items-center gap-1.5"},Tn={class:"text-xs font-bold text-gray-700 dark:text-gray-300"},qn={class:"flex flex-col gap-1.5"},jn={class:"flex items-center justify-between text-xs"},An={class:"w-12 truncate font-medium text-gray-500 dark:text-gray-400"},Rn={class:"font-black tabular-nums text-amber-600 dark:text-amber-500"},Ln={class:"flex items-center justify-between text-xs"},Vn={class:"w-12 truncate font-medium text-gray-500 dark:text-gray-400"},Dn={class:"font-black tabular-nums text-amber-600 dark:text-amber-500"},zn={class:"flex flex-col rounded-xl bg-purple-50/50 p-3 ring-1 ring-purple-100/50 dark:bg-purple-500/5 dark:ring-purple-500/10"},Bn={class:"mb-2.5 flex items-center gap-1.5"},On={class:"text-xs font-bold text-gray-700 dark:text-gray-300"},Nn={class:"flex flex-col gap-1.5"},Un={class:"flex items-center justify-between text-xs"},Fn={class:"w-12 truncate font-medium text-gray-500 dark:text-gray-400"},En={class:"font-black tabular-nums text-purple-600 dark:text-purple-400"},Wn={class:"flex items-center justify-between text-xs"},Kn={class:"w-12 truncate font-medium text-gray-500 dark:text-gray-400"},Hn={class:"font-black tabular-nums text-purple-600 dark:text-purple-400"},Gn={key:1,class:"flex h-24 items-center justify-center text-sm font-medium text-gray-400 dark:text-gray-500"},Jn=Q({__name:"RelationshipView",props:{sessionId:{},timeFilter:{}},setup(w){const{t:a,locale:r}=X(),_=w,o=F(null),x=F(!1),$=F(!1),k=F(300);async function g(p){if(!_.sessionId)return;const h=p?.localOnly==="perseverance";h?$.value=!0:x.value=!0;try{o.value=await oe().getRelationshipStats(_.sessionId,_.timeFilter,{perseveranceThreshold:k.value})}catch(R){console.error("Failed to load relationship stats:",R)}finally{h?$.value=!1:x.value=!1}}Z(()=>[_.sessionId,_.timeFilter],()=>g(),{immediate:!0,deep:!0});const S=[{label:"1m",value:60},{label:"3m",value:180},{label:"5m",value:300},{label:"10m",value:600},{label:"30m",value:1800}];function D(p){k.value!==p&&(k.value=p,g({localOnly:"perseverance"}))}const P=M({get:()=>k.value,set:p=>D(p)});function q(p){return a("views.relationship.perseverance.thresholdMinutes",{n:Math.round(p/60)})}const v=M(()=>a("views.relationship.perseverance.hintWithThreshold",{threshold:q(k.value)})),A=M(()=>o.value?.hasSessionIndex&&o.value.totalSessions>0),m=M(()=>o.value?.members[0]),c=M(()=>o.value?.members[1]),V=M(()=>{if(!m.value||!o.value)return 50;const p=(m.value.totalInitiateCount??0)+(c.value?.totalInitiateCount??0);return p===0?50:Math.round(m.value.totalInitiateCount/p*100)}),I=M(()=>{if(!o.value||o.value.months.length===0)return"";const p=[...o.value.months].sort((U,f)=>U.month.localeCompare(f.month)),h=p[0].month.replace("-","/"),R=p[p.length-1].month.replace("-","/");return h===R?h:`${h} – ${R}`}),l=M(()=>r.value.startsWith("en")?"max-w-[420px]":"max-w-[320px]");function d(p){return p<=0?0:p>=100?100:Math.max(5,Math.min(95,p))}const C=M(()=>{if(!o.value||o.value.months.length===0||!m.value)return{};const p=[...o.value.months].sort((K,G)=>K.month.localeCompare(G.month)),h=p.map(K=>W(K.month)),R=m.value.name,U=c.value?.name??"—",f=p.map(K=>{const G=K.members.find(de=>de.memberId===m.value.memberId);return!G||K.totalSessions===0?50:Math.round(G.initiateCount/K.totalSessions*100)});return{tooltip:{trigger:"axis",formatter(K){const G=K[0],de=G.value;return`${G.axisValue}<br/>${R}: ${de}%<br/>${U}: ${100-de}%`}},grid:{left:40,right:20,top:20,bottom:30},xAxis:{type:"category",data:h,axisLabel:{fontSize:11}},yAxis:{type:"value",min:0,max:100,axisLabel:{formatter:"{value}%",fontSize:11},splitLine:{lineStyle:{type:"dashed"}}},series:[{type:"line",data:f,smooth:!0,symbol:"circle",symbolSize:6,lineStyle:{width:2,color:"#3b82f6"},itemStyle:{color:"#3b82f6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(59, 130, 246, 0.15)"},{offset:1,color:"rgba(59, 130, 246, 0)"}]}},markLine:{silent:!0,data:[{yAxis:50,lineStyle:{type:"dashed",color:"#9ca3af"}}],label:{show:!1},symbol:"none"}}]}});function i(p){if(p.totalSessions===0)return a("views.relationship.labels.peacefulSilence");if(p.totalSessions<=2)return a("views.relationship.labels.fleetingThoughts");const R=[...p.members].sort((f,K)=>K.initiateCount-f.initiateCount)[0];if(!R||p.totalSessions===0)return"";const U=Math.round(R.initiateCount/p.totalSessions*100);return U>=40&&U<=60?a("views.relationship.labels.wellMatched"):U>=80?a("views.relationship.labels.monologue",{name:R.name}):a("views.relationship.labels.missingYou",{name:R.name})}function b(p){if(!m.value||p.totalSessions===0)return 50;const h=p.members.find(R=>R.memberId===m.value.memberId);return Math.round((h?.initiateCount??0)/p.totalSessions*100)}function j(p){if(!m.value)return 50;const R=p.members.find(f=>f.memberId===m.value.memberId)?.closeCount??0,U=p.members.reduce((f,K)=>f+(K.closeCount??0),0);return U===0?50:Math.round(R/U*100)}function O(p){const[h,R]=p.split("-");return a("views.relationship.monthFormat",{year:h,month:Number.parseInt(R,10)})}function W(p){const h=p.split("-");return a("views.relationship.monthShortFormat",{month:Number.parseInt(h[1],10)})}function ee(p){return!p||!o.value?.iceBreakers?.length?0:o.value.iceBreakers.filter(h=>h.memberId===p).reduce((h,R)=>h+R.count,0)}function te(p){if(!p||!o.value?.responseLatency?.length)return null;const h=o.value.responseLatency.find(R=>R.memberId===p);return h?h.avgResponseTime:null}function N(p){return!p||!o.value?.perseverance?.length?0:o.value.perseverance.find(R=>R.memberId===p)?.totalDoubleTexts??0}function ae(p){const h=te(p);return h!=null?L(h):"--"}function be(p){return o.value?.monthlyResponseLatency?.find(h=>h.month===p)?.members??[]}function he(p){return o.value?.monthlyPerseverance?.find(h=>h.month===p)?.members??[]}function ce(p,h){if(!h)return"--";const R=be(p).find(U=>U.memberId===h);return R?L(R.avgResponseTime):"--"}function Y(p,h){if(!h)return"--";const R=he(p).find(U=>U.memberId===h);return R?R.doubleTextCount.toString():"--"}function L(p){const h=Math.max(0,Math.round(p));if(h<60)return a("views.relationship.responseLatency.seconds",{n:h});if(h<3600){const f=Math.floor(h/60),K=h%60;return a("views.relationship.responseLatency.minutesSeconds",{m:f,s:K})}const R=Math.floor(h/3600),U=Math.floor(h%3600/60);return U===0?a("views.relationship.responseLatency.hours",{n:R}):a("views.relationship.responseLatency.hoursMinutes",{h:R,m:U})}return(p,h)=>{const R=je,U=se;return n(),u("div",{class:B(x.value?"h-full":"")},[x.value?(n(),z(t(me),{key:0,variant:"page",text:t(a)("common.loading")},null,8,["text"])):(n(),u("div",ua,[o.value&&!A.value?(n(),z(t(Ie),{key:0,icon:"i-heroicons-heart",title:t(a)("views.relationship.empty.title"),description:t(a)("views.relationship.empty.description")},null,8,["title","description"])):o.value&&A.value?(n(),u(H,{key:1},[e("div",ma,[y(t(le),{id:"shareable-poster",variant:"elevated",decorative:"",class:"flex flex-col"},{default:E(()=>[e("div",ga,[e("div",pa,[e("div",{class:B(["flex w-fit min-w-0 flex-col items-start text-left",l.value])},[e("div",xa,[e("p",fa,s(I.value),1),e("div",va,[e("span",ba,s(t(a)("views.relationship.hero.totalSessionsPrefix")),1),e("span",ha,s(o.value.totalSessions),1),e("span",ya,s(t(a)("views.relationship.hero.totalSessionsSuffix")),1)]),e("div",_a,[e("span",ka,s(t(a)("views.relationship.hero.initiativePrefix")),1),e("span",wa,s(V.value>=50?V.value:100-V.value)+"% ",1),e("span",$a,s(t(a)("views.relationship.hero.initiativeByPrefix")),1),e("span",Ca,s(V.value>=50?m.value?.name:c.value?.name),1),e("span",Sa,s(t(a)("views.relationship.hero.initiativeBySuffix")),1)])]),e("div",Pa,[e("div",Ia,[e("div",{class:"w-full truncate text-center text-xs font-bold text-gray-500 dark:text-gray-400",title:m.value?.name},s(m.value?.name),9,Ma),e("div",Ta,s(m.value?.totalInitiateCount),1),e("div",qa,s(t(a)("views.relationship.hero.initiateTimes")),1)]),h[1]||(h[1]=e("div",{class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-gray-100 font-black text-[10px] italic text-gray-400 shadow-inner dark:bg-gray-900/80 dark:text-gray-500"}," VS ",-1)),e("div",ja,[e("div",{class:"w-full truncate text-center text-xs font-bold text-gray-500 dark:text-gray-400",title:c.value?.name},s(c.value?.name),9,Aa),e("div",Ra,s(c.value?.totalInitiateCount),1),e("div",La,s(t(a)("views.relationship.hero.initiateTimes")),1)])])],2)]),o.value.months.length>=2?(n(),u("div",Va,[e("div",Da,[e("span",za,s(t(a)("views.relationship.trend.title")),1),e("span",Ba,s(t(a)("views.relationship.trend.hint",{name:m.value?.name??""})),1)]),e("div",Oa,[e("div",Na,[y(t(Xe),{option:C.value,height:200},null,8,["option"])])])])):T("",!0)]),e("div",Ua,[y(ue,{title:t(a)("views.relationship.closerTitle"),"icon-name":"i-heroicons-hand-raised-solid","icon-bg-class":"bg-blue-100 dark:bg-blue-500/20","icon-color-class":"text-blue-600 dark:text-blue-400","left-name":m.value?.name,"left-value":m.value?.totalCloseCount??0,"right-name":c.value?.name,"right-value":c.value?.totalCloseCount??0,"value-class":"text-lg text-blue-600 dark:text-blue-400",description:t(a)("views.relationship.closerHint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),y(ue,{title:t(a)("views.relationship.iceBreaker.title"),"icon-name":"i-heroicons-fire-solid","icon-bg-class":"bg-pink-100 dark:bg-pink-500/20","icon-color-class":"text-pink-600 dark:text-pink-400","left-name":m.value?.name,"left-value":ee(m.value?.memberId),"right-name":c.value?.name,"right-value":ee(c.value?.memberId),"value-class":"text-lg text-pink-600 dark:text-pink-400",description:t(a)("views.relationship.iceBreaker.hint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),y(ue,{title:t(a)("views.relationship.responseLatency.title"),"icon-name":"i-heroicons-clock-solid","icon-bg-class":"bg-amber-100 dark:bg-amber-500/20","icon-color-class":"text-amber-600 dark:text-amber-400","left-name":m.value?.name,"left-value":ae(m.value?.memberId),"right-name":c.value?.name,"right-value":ae(c.value?.memberId),"value-class":"text-lg text-amber-600 dark:text-amber-400",description:t(a)("views.relationship.responseLatency.hint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),y(ue,{title:t(a)("views.relationship.perseverance.title"),"icon-name":"i-heroicons-arrow-path-solid","icon-bg-class":"bg-purple-100 dark:bg-purple-500/20","icon-color-class":"text-purple-600 dark:text-purple-400","left-name":m.value?.name,"left-value":N(m.value?.memberId),"right-name":c.value?.name,"right-value":N(c.value?.memberId),"value-class":"text-lg text-purple-600 dark:text-purple-400",description:v.value},{"header-extra":E(()=>[y(R,{modelValue:P.value,"onUpdate:modelValue":h[0]||(h[0]=f=>P.value=f),items:S,"value-key":"value",size:"xs",class:"relative z-[120] w-16",ui:{content:"z-[121]"},disabled:$.value},null,8,["modelValue","disabled"])]),_:1},8,["title","left-name","left-value","right-name","right-value","description"])]),e("div",Fa,[e("div",Ea,[y(U,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),h[2]||(h[2]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",Wa,s(t(a)("views.relationship.watermarkReport")),1)])]),_:1})]),y(t(_e),{title:t(a)("views.relationship.monthly.title"),"show-divider":!1},{default:E(()=>[e("div",Ka,[e("div",Ha,[(n(!0),u(H,null,J(o.value.months,(f,K)=>(n(),u("div",{key:f.month,class:"relative pb-12 pl-10 last:pb-0"},[e("div",Ga,[e("div",{class:B(["h-2.5 w-2.5 rounded-full shadow-sm",f.totalSessions>0?K===0?"bg-pink-500 animate-pulse":"bg-pink-400":"bg-gray-300 dark:bg-gray-600"])},null,2)]),e("div",Ja,[f.totalSessions>0?(n(),u("div",Ya,[...h[3]||(h[3]=[e("div",{class:"absolute -left-[10%] top-[20%] h-[60%] w-[40%] rounded-full bg-blue-400/10 blur-[40px] dark:bg-blue-500/20"},null,-1),e("div",{class:"absolute -right-[10%] bottom-[20%] h-[60%] w-[40%] rounded-full bg-pink-400/10 blur-[40px] dark:bg-pink-500/20"},null,-1)])])):T("",!0),e("div",Qa,[e("div",{class:B(["flex items-center justify-between",f.totalSessions>0?"mb-4":""])},[e("div",Za,[e("span",Xa,s(O(f.month)),1),e("span",{class:B(["rounded-lg px-2.5 py-1 text-xs font-semibold",f.totalSessions===0?"bg-gray-50 text-gray-500 dark:bg-gray-800/50 dark:text-gray-400":"bg-pink-50 text-pink-600 dark:bg-pink-500/10 dark:text-pink-400"])},s(i(f)),3)]),f.totalSessions>0?(n(),u("div",en,[e("span",tn,s(t(a)("views.relationship.monthly.totalSessionsPrefix")),1),e("span",sn,s(f.totalSessions),1),e("span",an,s(t(a)("views.relationship.monthly.totalSessionsSuffix")),1)])):T("",!0)],2),f.totalSessions>0?(n(),u("div",nn,[e("div",ln,[e("div",on,[y(U,{name:"i-heroicons-chat-bubble-bottom-center-text-solid",class:"h-3.5 w-3.5 text-blue-500 dark:text-blue-400"}),e("span",rn,s(t(a)("views.relationship.initiator")),1)]),e("div",cn,[e("div",dn,[e("span",un,s(m.value?.name),1),e("span",mn,s(f.members.find(G=>G.memberId===m.value?.memberId)?.initiateCount??0),1)]),e("div",gn,[e("span",pn,s(c.value?.name),1),e("span",xn,s(f.members.find(G=>G.memberId===c.value?.memberId)?.initiateCount??0),1)])]),e("div",fn,[e("div",{class:"bg-blue-500 dark:bg-blue-400",style:ne({width:d(b(f))+"%"})},null,4),e("div",{class:"bg-pink-500 dark:bg-pink-400",style:ne({width:d(100-b(f))+"%"})},null,4)])]),e("div",vn,[e("div",bn,[y(U,{name:"i-heroicons-hand-raised-solid",class:"h-3.5 w-3.5 text-indigo-500 dark:text-indigo-400"}),e("span",hn,s(t(a)("views.relationship.closer")),1)]),e("div",yn,[e("div",_n,[e("span",kn,s(m.value?.name),1),e("span",wn,s(f.members.find(G=>G.memberId===m.value?.memberId)?.closeCount??0),1)]),e("div",$n,[e("span",Cn,s(c.value?.name),1),e("span",Sn,s(f.members.find(G=>G.memberId===c.value?.memberId)?.closeCount??0),1)])]),e("div",Pn,[e("div",{class:"bg-indigo-500 dark:bg-indigo-400",style:ne({width:d(j(f))+"%"})},null,4),e("div",{class:"bg-pink-500 dark:bg-pink-400",style:ne({width:d(100-j(f))+"%"})},null,4)])]),e("div",In,[e("div",Mn,[y(U,{name:"i-heroicons-clock-solid",class:"h-3.5 w-3.5 text-amber-500 dark:text-amber-400"}),e("span",Tn,s(t(a)("views.relationship.responseLatency.title")),1)]),e("div",qn,[e("div",jn,[e("span",An,s(m.value?.name),1),e("span",Rn,s(ce(f.month,m.value?.memberId)),1)]),e("div",Ln,[e("span",Vn,s(c.value?.name),1),e("span",Dn,s(ce(f.month,c.value?.memberId)),1)])])]),e("div",zn,[e("div",Bn,[y(U,{name:"i-heroicons-arrow-path-solid",class:"h-3.5 w-3.5 text-purple-500 dark:text-purple-400"}),e("span",On,s(t(a)("views.relationship.perseverance.title")),1)]),e("div",Nn,[e("div",Un,[e("span",Fn,s(m.value?.name),1),e("span",En,s(Y(f.month,m.value?.memberId)),1)]),e("div",Wn,[e("span",Kn,s(c.value?.name),1),e("span",Hn,s(Y(f.month,c.value?.memberId)),1)])])])])):(n(),u("div",Gn,s(t(a)("views.relationship.noActivity")),1))])])]))),128))])])]),_:1},8,["title"])],64)):T("",!0)]))],2)}}}),Yn={class:"flex h-full flex-col"},Qn={class:"flex-1 min-h-0 overflow-auto"},Zn=Q({__name:"ViewTab",props:{sessionId:{},sessionName:{},timeFilter:{}},setup(w){const{t:a}=X(),r=w,_=M(()=>[{id:"relationship",label:a("analysis.subTabs.view.relationship"),icon:"i-heroicons-heart"},{id:"message",label:a("analysis.subTabs.view.message"),icon:"i-heroicons-chat-bubble-left-right"},{id:"topic",label:a("analysis.subTabs.view.topic"),icon:"i-heroicons-cloud"},{id:"language-preference",label:a("analysis.subTabs.view.languagePreference"),icon:"i-heroicons-language"}]),o=F("relationship"),x=F(null),$=M(()=>({...r.timeFilter,memberId:x.value}));return(k,g)=>(n(),u("div",Yn,[y(t(Ee),{modelValue:o.value,"onUpdate:modelValue":g[1]||(g[1]=S=>o.value=S),items:_.value,"persist-key":"privateViewTab"},{right:E(()=>[o.value==="message"?(n(),z(et,{key:0,modelValue:x.value,"onUpdate:modelValue":g[0]||(g[0]=S=>x.value=S),"session-id":r.sessionId},null,8,["modelValue","session-id"])):T("",!0)]),_:1},8,["modelValue","items"]),e("div",Qn,[y(Ce,{name:"fade",mode:"out-in"},{default:E(()=>[o.value==="message"?(n(),z(tt,{key:0,"session-id":r.sessionId,"session-name":r.sessionName,"time-filter":$.value},null,8,["session-id","session-name","time-filter"])):o.value==="relationship"?(n(),z(Jn,{key:1,"session-id":r.sessionId,"time-filter":r.timeFilter},null,8,["session-id","time-filter"])):o.value==="topic"?(n(),z(t(st),{key:2,"session-id":r.sessionId,"time-filter":r.timeFilter,"show-shared-topics":!0},null,8,["session-id","time-filter"])):o.value==="language-preference"?(n(),z(t(Ks),{key:3,"session-id":r.sessionId,"time-filter":r.timeFilter},null,8,["session-id","time-filter"])):T("",!0)]),_:1})])]))}}),Xn=Pe(Zn,[["__scopeId","data-v-2b8a22ed"]]),ei={class:"main-content max-w-4xl p-6"},ti={key:0,class:"mb-6"},si={class:"flex items-center gap-3"},ai={class:"text-xl font-bold text-gray-900 dark:text-white"},ni={class:"text-sm text-gray-500 dark:text-gray-400"},ii={key:1,class:"flex h-60 items-center justify-center"},li={key:2,class:"mb-4 flex items-center justify-end gap-2"},oi={class:"text-xs text-gray-500 dark:text-gray-400"},ri={key:3,class:"grid gap-4 md:grid-cols-2"},ci={class:"absolute right-4 top-4"},di={class:"flex items-start gap-4"},ui=["src","alt"],mi={key:1,class:"flex h-14 w-14 shrink-0 items-center justify-center rounded-full bg-linear-to-br from-pink-400 to-pink-600 text-lg font-medium text-white"},gi={class:"flex-1 min-w-0"},pi={class:"text-lg font-semibold text-gray-900 dark:text-white truncate"},xi={class:"text-sm text-gray-500 dark:text-gray-400"},fi={class:"mt-4 flex items-center gap-4"},vi={class:"flex-1"},bi={class:"flex items-baseline justify-between"},hi={class:"text-sm text-gray-500 dark:text-gray-400"},yi={class:"text-lg font-bold text-gray-900 dark:text-white"},_i={class:"mt-2 h-2 w-full overflow-hidden rounded-full bg-gray-100 dark:bg-gray-800"},ki={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},wi={class:"mt-4 border-t border-gray-100 pt-4 dark:border-gray-800"},$i={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ci={class:"relative"},Si={key:0,class:"absolute right-3 top-1/2 -translate-y-1/2"},Pi={key:4,class:"flex h-60 flex-col items-center justify-center"},Ii={class:"text-gray-500 dark:text-gray-400"},Mi={key:5,class:"mt-6 flex items-start gap-3 rounded-xl bg-blue-50 p-4 dark:bg-blue-900/20"},Ti={class:"text-sm font-medium text-blue-800 dark:text-blue-200"},qi={class:"mt-1 text-sm text-blue-700 dark:text-blue-300"},ji={class:"p-6"},Ai={class:"mb-4 flex items-center gap-3"},Ri={class:"flex h-10 w-10 items-center justify-center rounded-full bg-amber-100 dark:bg-amber-900/30"},Li={class:"text-lg font-semibold text-gray-900 dark:text-white"},Vi={class:"mb-2 text-sm text-gray-600 dark:text-gray-400"},Di={class:"mb-6 text-xs text-amber-700 dark:text-amber-300"},zi={class:"flex justify-end gap-2"},Bi=Q({__name:"MemberTab",props:{sessionId:{},showHeader:{type:Boolean,default:!0}},setup(w){const{t:a}=X(),r=w,_=F([]),o=F(!1),x=F(null),$=F(new Set),k=F(!1),g=F(!1);function S(i){return i.groupNickname||i.accountName||i.platformId}function D(i){return S(i).slice(0,1)}const P=M(()=>_.value.filter(i=>$.value.has(i.id))),q=M(()=>P.value.length===2),v=M(()=>{if(P.value.length!==2)return null;const[i,b]=P.value;return b.messageCount>i.messageCount||b.messageCount===i.messageCount&&b.id<i.id?{primary:b,secondary:i}:{primary:i,secondary:b}}),A=M(()=>_.value.reduce((i,b)=>i+b.messageCount,0));function m(i){return A.value===0?0:Math.round(i/A.value*100)}async function c(){if(r.sessionId){o.value=!0;try{_.value=await oe().getMembers(r.sessionId)}catch(i){console.error("加载成员列表失败:",i)}finally{o.value=!1}}}async function V(i,b){const j=JSON.parse(JSON.stringify(b)),O=JSON.stringify(i.aliases),W=JSON.stringify(j);if(O!==W){x.value=i.id;try{if(await oe().updateMemberAliases(r.sessionId,i.id,j)){const te=_.value.findIndex(N=>N.id===i.id);te!==-1&&(_.value[te]={..._.value[te],aliases:j})}}catch(ee){console.error("保存别名失败:",ee)}finally{x.value=null}}}function I(i){const b=new Set($.value);b.has(i)?b.delete(i):b.add(i),$.value=b}function l(){q.value&&(k.value=!0)}function d(){$.value=new Set}async function C(){if(v.value){g.value=!0;try{await oe().mergeMembers(r.sessionId,v.value.primary.id,v.value.secondary.id)&&(k.value=!1,d(),await c())}catch(i){console.error("合并成员失败:",i)}finally{g.value=!1}}}return Z(()=>r.sessionId,()=>{d(),c()},{immediate:!0}),re(()=>{c()}),(i,b)=>{const j=se,O=we,W=Ae,ee=Re,te=$e;return n(),u("div",ei,[r.showHeader?(n(),u("div",ti,[e("div",si,[e("div",null,[e("h2",ai,s(t(a)("members.private.title")),1),e("p",ni,s(t(a)("members.private.description",{count:_.value.length})),1)])])])):T("",!0),y(at,{class:"mb-6","session-id":w.sessionId,members:_.value,"is-loading":o.value,"chat-type":"private"},null,8,["session-id","members","is-loading"]),o.value?(n(),u("div",ii,[y(j,{name:"i-heroicons-arrow-path",class:"h-8 w-8 animate-spin text-pink-500"})])):T("",!0),!o.value&&_.value.length>1?(n(),u("div",li,[e("span",oi,s(t(a)("members.list.mergeSelectedCount",{count:$.value.size})),1),y(O,{icon:"i-heroicons-link",size:"sm",color:"primary",disabled:!q.value,onClick:l},{default:E(()=>[ye(s(t(a)("members.list.mergeSelected")),1)]),_:1},8,["disabled"])])):T("",!0),o.value?T("",!0):(n(),u("div",ri,[(n(!0),u(H,null,J(_.value,N=>(n(),u("div",{key:N.id,class:"relative rounded-xl border border-gray-200 bg-white p-5 shadow-sm dark:border-gray-700 dark:bg-gray-900"},[e("div",ci,[y(W,{"model-value":$.value.has(N.id),onClick:Oe(ae=>I(N.id),["stop"])},null,8,["model-value","onClick"])]),e("div",di,[N.avatar?(n(),u("img",{key:0,src:N.avatar,alt:S(N),class:"h-14 w-14 shrink-0 rounded-full object-cover"},null,8,ui)):(n(),u("div",mi,s(D(N)),1)),e("div",gi,[e("h3",pi,s(S(N)),1),e("p",xi,"ID: "+s(N.platformId),1)])]),e("div",fi,[e("div",vi,[e("div",bi,[e("span",hi,s(t(a)("members.private.messageCount")),1),e("span",yi,s(N.messageCount.toLocaleString()),1)]),e("div",_i,[e("div",{class:"h-full rounded-full bg-linear-to-r from-pink-400 to-pink-600 transition-all duration-500",style:ne({width:`${m(N.messageCount)}%`})},null,4)]),e("p",ki,s(t(a)("members.private.percentage",{value:m(N.messageCount)})),1)])]),e("div",wi,[e("label",$i,s(t(a)("members.private.customAlias")),1),e("div",Ci,[y(ee,{"model-value":N.aliases,placeholder:t(a)("members.private.aliasPlaceholder"),class:"w-full","onUpdate:modelValue":ae=>V(N,ae)},null,8,["model-value","placeholder","onUpdate:modelValue"]),x.value===N.id?(n(),u("div",Si,[y(j,{name:"i-heroicons-arrow-path",class:"h-4 w-4 animate-spin text-pink-500"})])):T("",!0)])])]))),128))])),!o.value&&_.value.length===0?(n(),u("div",Pi,[y(j,{name:"i-heroicons-user-group",class:"mb-3 h-12 w-12 text-gray-300 dark:text-gray-600"}),e("p",Ii,s(t(a)("members.private.empty")),1)])):T("",!0),_.value.length>0?(n(),u("div",Mi,[y(j,{name:"i-heroicons-information-circle",class:"mt-0.5 h-5 w-5 shrink-0 text-blue-500"}),e("div",null,[e("p",Ti,s(t(a)("members.private.tipTitle")),1),e("p",qi,s(t(a)("members.private.tipContent")),1)])])):T("",!0),y(te,{open:k.value,ui:{content:"max-w-md"},"onUpdate:open":b[1]||(b[1]=N=>k.value=N)},{content:E(()=>[e("div",ji,[e("div",Ai,[e("div",Ri,[y(j,{name:"i-heroicons-link",class:"h-5 w-5 text-amber-600 dark:text-amber-400"})]),e("h3",Li,s(t(a)("members.list.mergeModal.title")),1)]),e("p",Vi,s(t(a)("members.list.mergeModal.content",{source:v.value?S(v.value.secondary):"",sourceCount:v.value?v.value.secondary.messageCount.toLocaleString():"0",target:v.value?S(v.value.primary):"",targetCount:v.value?v.value.primary.messageCount.toLocaleString():"0"})),1),e("p",Di,s(t(a)("members.list.mergeModal.hint")),1),e("div",zi,[y(O,{variant:"outline",disabled:g.value,onClick:b[0]||(b[0]=N=>k.value=!1)},{default:E(()=>[ye(s(t(a)("members.list.mergeModal.cancel")),1)]),_:1},8,["disabled"]),y(O,{color:"primary",loading:g.value,onClick:C},{default:E(()=>[ye(s(t(a)("members.list.mergeModal.confirm")),1)]),_:1},8,["loading"])])])]),_:1},8,["open"])])}}}),Oi={class:"flex h-full flex-col bg-white dark:bg-gray-900",style:{"padding-top":"var(--titlebar-area-height)"}},Ni={class:"mt-3 flex items-center justify-between gap-3"},Ui={class:"flex shrink-0 items-center gap-0.5 overflow-x-auto scrollbar-hide"},Fi=["onClick"],Ei={class:"whitespace-nowrap"},Wi={class:"relative flex-1 overflow-y-auto"},Ki={class:"h-full"},Hi={key:2,class:"flex h-full items-center justify-center"},Gi={class:"text-gray-500"},Ji={class:"flex h-full flex-col overflow-hidden bg-white dark:bg-gray-900"},Yi={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},Qi={class:"text-lg font-semibold text-gray-900 dark:text-white"},Zi={class:"text-sm text-gray-500 dark:text-gray-400"},Xi={class:"flex-1 overflow-auto"},el=Q({__name:"index",setup(w){const a=Ue(()=>qe(()=>import("./MessageExportModal-De5_tX6a.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),{t:r}=X(),_=Le(),o=Ve(),x=We(),$=Se(),k=Ke(),{currentSessionId:g}=He(x),S=F(!1),D=F(!1),P=F(!1),q=F(!1);function v(){$.openChatRecordDrawer({})}const A=[{id:"overview",labelKey:"analysis.tabs.overview",icon:"i-heroicons-chart-pie"},{id:"view",labelKey:"analysis.tabs.view",icon:"i-heroicons-presentation-chart-bar"},{id:"ai-chat",labelKey:"analysis.tabs.aiChat",icon:"i-heroicons-chat-bubble-left-ellipsis"},{id:"lab",labelKey:"analysis.tabs.lab",icon:"i-heroicons-beaker"}],m=M(()=>k.debugMode?[...A,{id:"debug",labelKey:"analysis.tabs.debug",icon:"i-heroicons-bug-ant"}]:A),{activeTab:c,isLoading:V,isInitialLoad:I,session:l,memberActivity:d,hourlyActivity:C,dailyActivity:i,messageTypes:b,timeRangeValue:j,fullTimeRange:O,timeFilter:W,selectedYearForOverview:ee,initialTimeState:te,loadAnalysisData:N}=nt({route:_,router:o,currentSessionId:g,selectSession:x.selectSession,defaultTab:k.defaultSessionTab,validTabIds:m.value.map(Y=>Y.id)}),ae=M(()=>d.value.reduce((Y,L)=>Y+L.messageCount,0)),be=M(()=>d.value.filter(Y=>Y.messageCount>0).length),{headerDescription:he}=it({session:l,fullTimeRange:O,timeRangeValue:j,descriptionKey:"analysis.privateChat.description"}),ce=M(()=>{if(!l.value||d.value.length===0)return null;if(l.value.ownerId){const L=d.value.find(p=>p.platformId!==l.value?.ownerId);if(L?.avatar)return L.avatar}const Y=d.value.find(L=>L.name===l.value?.name);return Y?.avatar?Y.avatar:(d.value.length,null)});return(Y,L)=>{const p=we,h=De,R=se,U=$e;return n(),u("div",Oi,[t(I)?(n(),z(me,{key:0,variant:"page",text:t(r)("analysis.privateChat.loading")},null,8,["text"])):t(l)?(n(),u(H,{key:1},[y(lt,{title:t(l).name,description:t(he),avatar:ce.value,size:"compact",icon:"i-heroicons-user","icon-class":"bg-pink-600 text-white dark:bg-pink-500 dark:text-white"},{actions:E(()=>[t($).toolsPanelPosition==="header"?(n(),z(h,{key:0,text:t(r)("analysis.overview.tools")},{default:E(()=>[y(p,{icon:"i-heroicons-wrench-screwdriver",variant:"ghost",color:"primary",size:"sm",onClick:L[0]||(L[0]=f=>t($).toggleToolsPanelOpen())})]),_:1},8,["text"])):T("",!0),y(Ge)]),default:E(()=>[e("div",Ni,[e("div",Ui,[(n(!0),u(H,null,J(m.value,f=>(n(),u("button",{key:f.id,class:B(["flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all",[t(c)===f.id?"bg-pink-500 text-white dark:bg-pink-900/30 dark:text-pink-300":"text-gray-600 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-800"]]),onClick:K=>c.value=f.id},[y(R,{name:f.icon,class:"h-4 w-4"},null,8,["name"]),e("span",Ei,s(t(r)(f.labelKey)),1)],10,Fi))),128))]),y(dt,{modelValue:t(j),"onUpdate:modelValue":L[1]||(L[1]=f=>Ne(j)?j.value=f:null),"session-id":t(g)??void 0,visible:t(c)!=="ai-chat"&&t(c)!=="memory"&&t(c)!=="lab"&&t(c)!=="debug","initial-state":t(te),"onUpdate:fullRange":L[2]||(L[2]=f=>O.value=f)},null,8,["modelValue","session-id","visible","initial-state"])])]),_:1},8,["title","description","avatar"]),e("div",Wi,[t(V)?(n(),z(me,{key:0,variant:"overlay",text:t(r)("common.loading")},null,8,["text"])):T("",!0),e("div",Ki,[y(Ce,{name:"tab-slide",mode:"out-in"},{default:E(()=>[t(c)==="overview"?(n(),z(Qs,{key:"overview-"+t(g),session:t(l),"member-activity":t(d),"message-types":t(b),"hourly-activity":t(C),"daily-activity":t(i),"time-range":t(O),"selected-year":t(ee),"filtered-message-count":ae.value,"filtered-member-count":be.value,"time-filter":t(W)},null,8,["session","member-activity","message-types","hourly-activity","daily-activity","time-range","selected-year","filtered-message-count","filtered-member-count","time-filter"])):t(c)==="view"?(n(),z(Xn,{key:"view-"+t(g),"session-id":t(g),"session-name":t(l).name,"time-filter":t(W)},null,8,["session-id","session-name","time-filter"])):t(c)==="ai-chat"?(n(),z(t(ut),{key:"ai-chat-"+t(g),"session-id":t(g),"session-name":t(l).name,"chat-type":"private"},null,8,["session-id","session-name"])):t(c)==="memory"?(n(),z(mt,{key:"memory-"+t(g),"session-id":t(g),"session-name":t(l).name},null,8,["session-id","session-name"])):t(c)==="lab"?(n(),z(gt,{key:"lab-"+t(g),"session-id":t(g),"session-name":t(l).name,"time-filter":t(W),"chat-type":"private",mode:"sql-only"},null,8,["session-id","session-name","time-filter"])):t(c)==="debug"?(n(),z(t(pt),{key:"debug-"+t(g),"session-id":t(g)},null,8,["session-id"])):T("",!0)]),_:1})])]),y(ot,{onOpenIncrementalImport:L[3]||(L[3]=f=>D.value=!0),onOpenSessionIndex:L[4]||(L[4]=f=>S.value=!0),onOpenMemberManagement:L[5]||(L[5]=f=>q.value=!0),onOpenChatRecord:v,onOpenMessageExport:L[6]||(L[6]=f=>P.value=!0)}),t(k).debugMode?(n(),z(xt,{key:0})):T("",!0)],64)):(n(),u("div",Hi,[e("p",Gi,s(t(r)("analysis.privateChat.loadError")),1)])),t(g)&&t(l)&&t(l).messageCount>0?(n(),z(rt,{key:3,modelValue:S.value,"onUpdate:modelValue":L[7]||(L[7]=f=>S.value=f),"session-id":t(g),"message-count":t(l).messageCount},null,8,["modelValue","session-id","message-count"])):T("",!0),t(g)&&t(l)?(n(),z(ct,{key:4,modelValue:D.value,"onUpdate:modelValue":L[8]||(L[8]=f=>D.value=f),"session-id":t(g),"session-name":t(l).name,onImported:t(N)},null,8,["modelValue","session-id","session-name","onImported"])):T("",!0),t(g)?(n(),z(t(a),{key:5,modelValue:P.value,"onUpdate:modelValue":L[9]||(L[9]=f=>P.value=f)},null,8,["modelValue"])):T("",!0),t(g)?(n(),z(U,{key:6,open:q.value,"onUpdate:open":L[11]||(L[11]=f=>q.value=f),ui:{content:"max-w-6xl h-[85vh]"}},{content:E(()=>[e("div",Ji,[e("div",Yi,[e("div",null,[e("h2",Qi,s(t(r)("analysis.tooltip.memberManagement")),1),e("p",Zi,s(t(r)("members.private.description",{count:t(l)?.memberCount??0})),1)]),y(p,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:L[10]||(L[10]=f=>q.value=!1)})]),e("div",Xi,[y(Bi,{"session-id":t(g),"show-header":!1},null,8,["session-id"])])])]),_:1},8,["open"])):T("",!0)])}}}),dl=Pe(el,[["__scopeId","data-v-9fe2871f"]]);export{dl as default};