chatlab-cli 0.30.2 → 0.31.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 (136) hide show
  1. package/dist/{chat-command-VBDMWOKL.mjs → chat-command-CHV7RLBH.mjs} +9 -8
  2. package/dist/{chat-command-VBDMWOKL.mjs.map → chat-command-CHV7RLBH.mjs.map} +1 -1
  3. package/dist/{chunk-326OCJOT.mjs → chunk-DA5T64RY.mjs} +2 -2
  4. package/dist/{chunk-M2PXDX4G.mjs → chunk-DBBL74RK.mjs} +31 -22
  5. package/dist/chunk-DBBL74RK.mjs.map +1 -0
  6. package/dist/{chunk-KBSAVUFV.mjs → chunk-EXD2SXWL.mjs} +89 -15
  7. package/dist/chunk-EXD2SXWL.mjs.map +1 -0
  8. package/dist/{chunk-D3DPCDII.mjs → chunk-JH5RAJT2.mjs} +83 -34
  9. package/dist/chunk-JH5RAJT2.mjs.map +1 -0
  10. package/dist/{chunk-5EE2EFPE.mjs → chunk-RD335EMA.mjs} +4 -4
  11. package/dist/{chunk-WV5GSRQM.mjs → chunk-RDCUGC24.mjs} +5 -15
  12. package/dist/chunk-RDCUGC24.mjs.map +1 -0
  13. package/dist/{chunk-TEX44HNL.mjs → chunk-SNCXU2QL.mjs} +5 -15
  14. package/dist/chunk-SNCXU2QL.mjs.map +1 -0
  15. package/dist/{chunk-36JGKW6K.mjs → chunk-T64GA5HP.mjs} +1134 -364
  16. package/dist/chunk-T64GA5HP.mjs.map +1 -0
  17. package/dist/{chunk-LVEJHB3X.mjs → chunk-UWWFOEGF.mjs} +494 -97
  18. package/dist/chunk-UWWFOEGF.mjs.map +1 -0
  19. package/dist/{chunk-ULNRUS55.mjs → chunk-WQCY45U2.mjs} +3 -3
  20. package/dist/chunk-YAQLYL52.mjs +14 -0
  21. package/dist/chunk-YAQLYL52.mjs.map +1 -0
  22. package/dist/{chunk-TCZHG3G7.mjs → chunk-YPQ72HMX.mjs} +2 -2
  23. package/dist/cli.mjs +8 -7
  24. package/dist/contacts-worker.mjs +2 -2
  25. package/dist/global-insight-worker.mjs +179 -0
  26. package/dist/global-insight-worker.mjs.map +1 -0
  27. package/dist/{http-L4AMELPZ.mjs → http-3B5ARN7A.mjs} +12 -11
  28. package/dist/{import-WWCSXGVS.mjs → import-2DZGNSEX.mjs} +10 -7
  29. package/dist/index.mjs +12 -11
  30. package/dist/{mcp-A4M3LT5O.mjs → mcp-44I6FUUQ.mjs} +12 -11
  31. package/dist/{mcp-A4M3LT5O.mjs.map → mcp-44I6FUUQ.mjs.map} +1 -1
  32. package/dist/people-relationships-worker.mjs +2 -2
  33. package/dist/semantic-index-worker.mjs +1 -1
  34. package/dist/{src-MPNBTFOE.mjs → src-R3QX6L3L.mjs} +26 -6
  35. package/dist/{stream-import-HIE7PNL4.mjs → stream-import-VUEL2TTU.mjs} +10 -7
  36. package/dist/{worker-runtime-BJXO24XX.mjs → worker-runtime-GJAOIIZW.mjs} +6 -5
  37. package/dist/{worker-runtime-BJXO24XX.mjs.map → worker-runtime-GJAOIIZW.mjs.map} +1 -1
  38. package/dist-web/assets/ActionToolsPanel-fAio70bI.css +1 -0
  39. package/dist-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-CdJT0t2f.js +110 -0
  40. package/dist-web/assets/{BufferResource-q3rzaWWd.js → BufferResource-BPGkshPa.js} +1 -1
  41. package/dist-web/assets/{CanvasRenderer-BRk1y8tp.js → CanvasRenderer-DTKkZhq4.js} +1 -1
  42. package/dist-web/assets/{EChartWordcloud-Clg60FMo.js → EChartWordcloud-DU3ZYdgz.js} +1 -1
  43. package/dist-web/assets/{Filter-BJwode73.js → Filter-CHXKzS2l.js} +1 -1
  44. package/dist-web/assets/{LoadingState.vue_vue_type_script_setup_true_lang-D_dJuLWJ.js → LoadingState.vue_vue_type_script_setup_true_lang-DACMroOe.js} +1 -1
  45. package/dist-web/assets/MessageExportModal-h-zl0dx1.js +1 -0
  46. package/dist-web/assets/PageHeader-CK0hTsdx.js +1 -0
  47. package/dist-web/assets/PageHeader-XIXMTomn.css +1 -0
  48. package/dist-web/assets/{RelationshipGalaxyCanvas-CORMD7vL.js → RelationshipGalaxyCanvas-Dwdy5flh.js} +3 -3
  49. package/dist-web/assets/{RelationshipGalaxyThreeCanvas-B_w_P4ob.js → RelationshipGalaxyThreeCanvas-CtY4TGen.js} +1 -1
  50. package/dist-web/assets/{RenderTargetSystem-CGhV9R9E.js → RenderTargetSystem-BE56mKRG.js} +1 -1
  51. package/dist-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-BoZyssJF.js +1 -0
  52. package/dist-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-27hMyAUE.js +1 -0
  53. package/dist-web/assets/{WebGLRenderer-CAokTE5X.js → WebGLRenderer-Dm18dxOf.js} +1 -1
  54. package/dist-web/assets/{WebGPURenderer-DzP4ggSy.js → WebGPURenderer-BF6TF-is.js} +1 -1
  55. package/dist-web/assets/annual-summary-time-range-DVLXK1r4.js +1 -0
  56. package/dist-web/assets/base-CFPyD9Gy.js +1 -0
  57. package/dist-web/assets/{browserAll-CAZCK6dd.js → browserAll-Cn_CfkXl.js} +1 -1
  58. package/dist-web/assets/dateFormat-BcqNKTQ1.js +1 -0
  59. package/dist-web/assets/{electron-CkPDbAaS.js → electron-B6xOabTq.js} +1 -1
  60. package/dist-web/assets/electron-hcWiB7Gg.js +1 -0
  61. package/dist-web/assets/fetch-BPkgnY0R.js +1 -0
  62. package/dist-web/assets/{fetch-LX9jrJCC.js → fetch-BRXmDI_2.js} +1 -1
  63. package/dist-web/assets/{fetch-Apd5OLJw.js → fetch-BUm1isWe.js} +1 -1
  64. package/dist-web/assets/{fetch-B8rik0TM.js → fetch-CBOJwwJp.js} +3 -3
  65. package/dist-web/assets/{fetch-wqMSiaK3.js → fetch-CEhUu1Yu.js} +1 -1
  66. package/dist-web/assets/fetch-C_EfVFJi.js +3 -0
  67. package/dist-web/assets/{fetch-DQ9UNNAy.js → fetch-DL_u25Ui.js} +1 -1
  68. package/dist-web/assets/{fetch-BIEXkvDq.js → fetch-DMLq3xPG.js} +1 -1
  69. package/dist-web/assets/{fetch--UbRoBT7.js → fetch-DylpNKCR.js} +1 -1
  70. package/dist-web/assets/fetch-etgwVKIw.js +1 -0
  71. package/dist-web/assets/index-0x1QPzKZ.js +1 -0
  72. package/dist-web/assets/index-B5S9FnfP.js +1 -0
  73. package/dist-web/assets/index-BS6loLHW.js +1 -0
  74. package/dist-web/assets/index-BfO_LpDv.css +1 -0
  75. package/dist-web/assets/index-BrTlAl8b.js +1 -0
  76. package/dist-web/assets/index-ByUaiVQK.css +1 -0
  77. package/dist-web/assets/{index-S-YQRH1E.js → index-C3TnydSt.js} +1 -1
  78. package/dist-web/assets/index-CAWO10k1.js +2 -0
  79. package/dist-web/assets/index-C_0GHEcb.css +1 -0
  80. package/dist-web/assets/index-Chm17wNe.js +2 -0
  81. package/dist-web/assets/index-DAr_2DlV.js +173 -0
  82. package/dist-web/assets/index-Em6upenM.js +64 -0
  83. package/dist-web/assets/index-FoTy2Cce.js +1 -0
  84. package/dist-web/assets/index-YADL4XIp.js +22 -0
  85. package/dist-web/assets/index-ZsZwPLWy.css +1 -0
  86. package/dist-web/assets/index-_6lck7Bv.css +1 -0
  87. package/dist-web/assets/index-aMIgqj43.js +1 -0
  88. package/dist-web/assets/index-y7cxH1Et.css +1 -0
  89. package/dist-web/assets/index-zZVsV5HB.js +1 -0
  90. package/dist-web/assets/{people-page-header-Mupn-U_b.js → people-page-header-BdKM1qhX.js} +1 -1
  91. package/dist-web/assets/types-CZnACqaB.js +1 -0
  92. package/dist-web/assets/{vendor-echarts-hJVnODyU.js → vendor-echarts-B-i_56Av.js} +1 -1
  93. package/dist-web/assets/{vendor-echarts-wordcloud-k5ih2Jl4.js → vendor-echarts-wordcloud-Ca8n6qS6.js} +1 -1
  94. package/dist-web/assets/{vendor-nuxt-ui-DaLxYaC4.js → vendor-nuxt-ui-CS1uxE9C.js} +2 -2
  95. package/dist-web/assets/{vendor-reka-ui-CzM4kDQ7.js → vendor-reka-ui-Cta6JPvN.js} +1 -1
  96. package/dist-web/assets/{web-DbKs6-1b.js → web-BUZ-dZy0.js} +1 -1
  97. package/dist-web/assets/{webworkerAll-Bhv-hBqR.js → webworkerAll-BKGP--A4.js} +1 -1
  98. package/dist-web/index.html +4 -4
  99. package/package.json +1 -1
  100. package/dist/chunk-36JGKW6K.mjs.map +0 -1
  101. package/dist/chunk-D3DPCDII.mjs.map +0 -1
  102. package/dist/chunk-KBSAVUFV.mjs.map +0 -1
  103. package/dist/chunk-LVEJHB3X.mjs.map +0 -1
  104. package/dist/chunk-M2PXDX4G.mjs.map +0 -1
  105. package/dist/chunk-TEX44HNL.mjs.map +0 -1
  106. package/dist/chunk-WV5GSRQM.mjs.map +0 -1
  107. package/dist-web/assets/DebugToolsPanel-D_lFIW6j.css +0 -1
  108. package/dist-web/assets/DebugToolsPanel.vue_vue_type_script_setup_true_lang-F4n0zNX2.js +0 -110
  109. package/dist-web/assets/MessageExportModal-CGcdMOyw.js +0 -1
  110. package/dist-web/assets/PageHeader-Bbn87QZS.css +0 -1
  111. package/dist-web/assets/PageHeader-CZaqOdBQ.js +0 -1
  112. package/dist-web/assets/electron-D9vE5t3H.js +0 -1
  113. package/dist-web/assets/fetch-1pB-HbYw.js +0 -3
  114. package/dist-web/assets/fetch-CF_3ZqRa.js +0 -1
  115. package/dist-web/assets/fetch-FSNxSnAp.js +0 -1
  116. package/dist-web/assets/index---rXG1hZ.css +0 -1
  117. package/dist-web/assets/index-B01uUoHE.js +0 -1
  118. package/dist-web/assets/index-B4l3rHie.css +0 -1
  119. package/dist-web/assets/index-BSIyyt0z.js +0 -1
  120. package/dist-web/assets/index-Bh8z441f.js +0 -2
  121. package/dist-web/assets/index-C0rya8v4.js +0 -1
  122. package/dist-web/assets/index-C1p9CbmN.css +0 -1
  123. package/dist-web/assets/index-COpza1A4.css +0 -1
  124. package/dist-web/assets/index-CZbZv2fh.js +0 -64
  125. package/dist-web/assets/index-CqUuHQBQ.js +0 -22
  126. package/dist-web/assets/index-CzeTP5MJ.js +0 -173
  127. package/dist-web/assets/index-DgNxTM_8.js +0 -2
  128. package/dist-web/assets/index-DosG7LmJ.css +0 -1
  129. /package/dist/{chunk-326OCJOT.mjs.map → chunk-DA5T64RY.mjs.map} +0 -0
  130. /package/dist/{chunk-5EE2EFPE.mjs.map → chunk-RD335EMA.mjs.map} +0 -0
  131. /package/dist/{chunk-ULNRUS55.mjs.map → chunk-WQCY45U2.mjs.map} +0 -0
  132. /package/dist/{chunk-TCZHG3G7.mjs.map → chunk-YPQ72HMX.mjs.map} +0 -0
  133. /package/dist/{http-L4AMELPZ.mjs.map → http-3B5ARN7A.mjs.map} +0 -0
  134. /package/dist/{import-WWCSXGVS.mjs.map → import-2DZGNSEX.mjs.map} +0 -0
  135. /package/dist/{src-MPNBTFOE.mjs.map → src-R3QX6L3L.mjs.map} +0 -0
  136. /package/dist/{stream-import-HIE7PNL4.mjs.map → stream-import-VUEL2TTU.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- import{c as O,f as A}from"./vendor-nuxt-ui-DaLxYaC4.js";import{u as j,T as P,j as G,k as H,l as U}from"./index-CqUuHQBQ.js";import{p as z,J as $,w as F,G as T,P as M,a5 as a,T as p,u as k,L as v,bw as C,bx as D,U as L,h as I,b as f,H as J,K as E,a0 as K,R as B,bp as Y}from"./vendor-reka-ui-CzM4kDQ7.js";import"./vendor-snapdom-XnBoh1gd.js";const W={class:"space-y-4 p-4"},X={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},q={key:0,class:"mt-2 flex items-center gap-2"},Q={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Z=z({__name:"ConditionPanel",props:{timeRange:{default:null},timeRangeModifiers:{},exportFormat:{default:"txt"},exportFormatModifiers:{}},emits:["update:timeRange","update:exportFormat"],setup(w){const{t:x}=j(),d=$(w,"timeRange"),h=$(w,"exportFormat"),i=I(()=>[{label:"TXT",value:"txt"},{label:"JSON",value:"json"},{label:"Markdown",value:"markdown"}]),u=f("all"),c=f(""),l=f(""),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"}],g=I(()=>b.map(e=>({label:x(e.label),value:e.id})));F(u,()=>{m()});function m(){const e=Math.floor(Date.now()/1e3),t=new Date;t.setHours(0,0,0,0);const n=Math.floor(t.getTime()/1e3);switch(u.value){case"all":d.value=null;break;case"today":d.value={start:n,end:e};break;case"week":d.value={start:e-10080*60,end:e};break;case"month":d.value={start:e-720*60*60,end:e};break;case"3months":d.value={start:e-2160*60*60,end:e};break;case"year":d.value={start:e-365*24*60*60,end:e};break;case"custom":if(c.value&&l.value){const _=new Date(c.value).getTime()/1e3,R=new Date(l.value).getTime()/1e3+86399;d.value={start:_,end:R}}break}}return(e,t)=>(T(),M("div",W,[a("div",null,[a("label",X,p(k(x)("analysis.filter.timeRange")),1),v(P,{modelValue:u.value,"onUpdate:modelValue":t[0]||(t[0]=n=>u.value=n),items:g.value,size:"sm"},null,8,["modelValue","items"]),u.value==="custom"?(T(),M("div",q,[C(a("input",{"onUpdate:modelValue":t[1]||(t[1]=n=>c.value=n),type:"date",class:"flex-1 rounded-md border border-gray-300 bg-white px-3 py-1.5 text-sm dark:border-gray-600 dark:bg-gray-800",onChange:m},null,544),[[D,c.value]]),t[4]||(t[4]=a("span",{class:"text-gray-500"},"~",-1)),C(a("input",{"onUpdate:modelValue":t[2]||(t[2]=n=>l.value=n),type:"date",class:"flex-1 rounded-md border border-gray-300 bg-white px-3 py-1.5 text-sm dark:border-gray-600 dark:bg-gray-800",onChange:m},null,544),[[D,l.value]])])):L("",!0)]),a("div",null,[a("label",Q,p(k(x)("analysis.messageExport.format")),1),v(P,{modelValue:h.value,"onUpdate:modelValue":t[3]||(t[3]=n=>h.value=n),items:i.value,size:"sm"},null,8,["modelValue","items"])])]))}}),ee={class:"flex flex-col overflow-hidden bg-white dark:bg-page-dark"},te={class:"flex items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},ae={class:"text-lg font-semibold text-gray-900 dark:text-white"},se={class:"flex flex-col gap-3 border-t border-gray-200 px-5 py-4 dark:border-gray-700"},oe={key:0,class:"w-full"},le={class:"mb-1 flex items-center justify-between text-sm text-gray-600 dark:text-gray-400"},ne={class:"h-2 w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},re={class:"flex items-center justify-end gap-3"},N="chatlab-export-format",ce=z({__name:"MessageExportModal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(w,{emit:x}){const d=w,h=x,{t:i}=j(),u=G(),c=H(),l=I({get:()=>d.modelValue,set:s=>h("update:modelValue",s)}),b=f(null),g=f(localStorage.getItem(N)||"txt");F(g,s=>localStorage.setItem(N,s));const m=f(!1),e=f(null);let t=null;function n(){t=U().onExportProgress(s=>{e.value={percentage:s.percentage,message:s.message},(s.stage==="done"||s.stage==="error")&&(e.value=null)})}function _(){t&&(t(),t=null),e.value=null}async function R(){const s=c.currentSessionId;if(!s)return;const y=c.currentSession?.name||"unknown";let S="";m.value=!0,e.value={percentage:0,message:i("analysis.filter.exportPreparing")},n();try{const o=Y(b.value),V=await U().exportFilterResultToFile({sessionId:s,sessionName:y,outputDir:S,format:g.value,timeFilter:o?{startTs:o.start,endTs:o.end}:void 0});V.success?(u.success(i("analysis.filter.exportSuccess"),{description:V.filePath}),l.value=!1):u.fail(i("analysis.filter.exportFailed"),{description:V.error||i("common.error.unknown")})}catch(o){console.error("Export failed:",o),u.fail(i("analysis.filter.exportFailed"),{description:String(o)})}finally{_(),m.value=!1}}return F(l,s=>{s||_()}),(s,r)=>{const y=O,S=A;return T(),J(S,{open:l.value,"onUpdate:open":r[4]||(r[4]=o=>l.value=o),ui:{content:"sm:max-w-md"}},{content:E(()=>[a("div",ee,[a("div",te,[a("h2",ae,p(k(i)("analysis.messageExport.title")),1),v(y,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:r[0]||(r[0]=o=>l.value=!1)})]),v(Z,{"time-range":b.value,"onUpdate:timeRange":r[1]||(r[1]=o=>b.value=o),"export-format":g.value,"onUpdate:exportFormat":r[2]||(r[2]=o=>g.value=o)},null,8,["time-range","export-format"]),a("div",se,[m.value&&e.value?(T(),M("div",oe,[a("div",le,[a("span",null,p(e.value.message),1),a("span",null,p(e.value.percentage)+"%",1)]),a("div",ne,[a("div",{class:"h-full bg-primary-500 transition-all duration-300",style:K({width:`${e.value.percentage}%`})},null,4)])])):L("",!0),a("div",re,[v(y,{variant:"ghost",onClick:r[3]||(r[3]=o=>l.value=!1)},{default:E(()=>[B(p(k(i)("common.cancel")),1)]),_:1}),v(y,{color:"primary",icon:"i-heroicons-document-arrow-down",loading:m.value,disabled:m.value,onClick:R},{default:E(()=>[B(p(k(i)("common.export")),1)]),_:1},8,["loading","disabled"])])])])]),_:1},8,["open"])}}});export{ce as default};
@@ -1 +0,0 @@
1
- .titlebar-drag-cover[data-v-b3e18446]{position:absolute;left:0;right:0;z-index:30;top:calc(-1 * var(--titlebar-area-height));height:calc(var(--titlebar-area-height) + 1rem);-webkit-app-region:drag}.header-actions[data-v-b3e18446]{-webkit-app-region:drag}.header-actions[data-v-b3e18446] button,.header-actions[data-v-b3e18446] button *,.header-actions[data-v-b3e18446] a,.header-actions[data-v-b3e18446] a *,.header-actions[data-v-b3e18446] [role=button],.header-actions[data-v-b3e18446] [role=button] *{-webkit-app-region:no-drag}
@@ -1 +0,0 @@
1
- import{_ as p}from"./vendor-nuxt-ui-DaLxYaC4.js";import{p as u,P as o,Q as a,a5 as s,L as x,U as n,T as l,O as d,G as r}from"./vendor-reka-ui-CzM4kDQ7.js";import{_ as f}from"./index-CqUuHQBQ.js";const v={class:"flex items-center justify-between"},g=["src","alt"],y={class:"group/title flex items-baseline gap-2"},b={class:"header-actions relative z-[40] flex items-center gap-2"},h=u({__name:"PageHeader",props:{title:{},description:{},icon:{},iconClass:{},avatar:{},size:{default:"default"}},setup(e){const t=e;return(c,i)=>{const m=p;return r(),o("div",{class:a(["relative border-b border-gray-200/50 dark:border-gray-800/50",t.size==="compact"?"px-5 pb-1.5":"px-6 pb-2"])},[i[1]||(i[1]=s("div",{class:"titlebar-drag-cover"},null,-1)),s("div",v,[s("div",{class:a(["flex items-center",t.size==="compact"?"gap-2.5":"gap-3"])},[e.avatar?(r(),o("img",{key:0,src:e.avatar,alt:e.title,class:a(["object-cover",t.size==="compact"?"h-6 w-6 rounded-md":"h-10 w-10 rounded-xl"])},null,10,g)):e.icon?(r(),o("div",{key:1,class:a(["flex items-center justify-center",[e.iconClass,t.size==="compact"?"h-6 w-6 rounded-md":"h-10 w-10 rounded-xl"]])},[x(m,{name:e.icon,class:a(["text-white",t.size==="compact"?"h-3 w-3":"h-5 w-5"])},null,8,["name","class"])],2)):n("",!0),s("div",y,[s("h1",{class:a(["font-semibold text-gray-900 dark:text-white",t.size==="compact"?"text-base":"text-lg"])},l(e.title),3),e.description?(r(),o("p",{key:0,class:a(["pointer-events-none whitespace-nowrap text-gray-500 opacity-0 transition-opacity duration-200 group-hover/title:opacity-100 dark:text-gray-400",t.size==="compact"?"text-[11px]":"text-xs"])},l(e.description),3)):n("",!0)])],2),i[0]||(i[0]=s("div",{class:"flex-1 self-stretch mx-4",style:{"-webkit-app-region":"drag"}},null,-1)),s("div",b,[d(c.$slots,"actions",{},void 0,!0)])]),d(c.$slots,"default",{},void 0,!0)],2)}}}),C=f(h,[["__scopeId","data-v-b3e18446"]]);export{C as P};
@@ -1 +0,0 @@
1
- function i(c){return typeof c=="string"?c:window.electron?.webUtils?.getPathForFile?.(c)??null}class m{async importFile(t,e,s){const a=i(t);return a?new Promise(r=>{const n=window.chatApi.onImportProgress(o=>{s?.({stage:o.stage||"parsing",progress:o.percentage||o.progress||0,message:o.message||"",bytesRead:o.bytesRead,totalBytes:o.totalBytes,messagesProcessed:o.messagesProcessed})});(e&&(e.formatId||e.chatIndex!==void 0)?window.chatApi.importWithOptions(a,e):window.chatApi.import(a)).then(o=>{n(),r({success:o.success,sessionId:o.sessionId,error:o.error,diagnostics:o.diagnostics})}).catch(o=>{n(),r({success:!1,error:o.message})})}):{success:!1,error:"Cannot get file path in Electron"}}async detectFormat(t){const e=i(t);if(!e)return null;const s=await window.chatApi.detectFormat(e);return s?{...s,extensions:s.extensions??[]}:null}async scanMultiChatFile(t){const e=i(t);if(!e)return[];const s=await window.chatApi.scanMultiChatFile(e);return!s.success||!s.chats?[]:s.chats}async prepareImportSource(t){const e=i(t);return e?window.chatApi.prepareImportSource(e):{success:!1,error:"Cannot get file path in Electron"}}async importPreparedChat(t,e,s){const a=window.chatApi.onImportProgress(r=>{s?.({stage:r.stage||"parsing",progress:r.percentage||r.progress||0,message:r.message||"",bytesRead:r.bytesRead,totalBytes:r.totalBytes,messagesProcessed:r.messagesProcessed})});try{return await window.chatApi.importPreparedChat(t,e)}finally{a()}}async releaseImportSource(t){await window.chatApi.releaseImportSource(t)}getSupportedFormats(){return window.chatApi.getSupportedFormats()}async importDemo(t,e){const s=window.chatApi.onDemoProgress(a=>{(a.stage==="downloading"||a.stage==="importing")&&e?.({stage:a.stage})});try{return await window.chatApi.importDemo(t)}finally{s()}}async analyzeIncrementalImport(t,e){const s=i(e);return s?window.chatApi.analyzeIncrementalImport(t,s):{newMessageCount:0,duplicateCount:0,totalInFile:0,error:"Cannot resolve file path"}}async incrementalImport(t,e,s){const a=i(e);if(!a)return{success:!1,newMessageCount:0,error:"Cannot resolve file path"};const r=window.chatApi.onImportProgress(n=>{s?.(n)});try{return await window.chatApi.incrementalImport(t,a)}finally{r()}}async importDirectory(t,e,s){return typeof t!="string"?{success:!1,error:"Expected directory path in Electron mode"}:new Promise(a=>{const r=window.chatApi.onImportProgress(n=>{s?.({stage:n.stage||"parsing",progress:n.percentage||n.progress||0,message:n.message||"",bytesRead:n.bytesRead,totalBytes:n.totalBytes,messagesProcessed:n.messagesProcessed})});window.chatApi.importDirectory(t).then(n=>{r(),a({success:n.success,sessionId:n.sessionId,error:n.error,diagnostics:n.diagnostics})}).catch(n=>{r(),a({success:!1,error:n.message})})})}}export{m as ElectronImportAdapter};
@@ -1,3 +0,0 @@
1
- import{f as a,h as i,g as h}from"./index-CqUuHQBQ.js";import"./vendor-reka-ui-CzM4kDQ7.js";import"./vendor-nuxt-ui-DaLxYaC4.js";import"./vendor-snapdom-XnBoh1gd.js";async function l(y,t,s){const r=y.body?.getReader();if(!r)return t;const e=new TextDecoder;let o="",n=t;for(;;){const{done:u,value:w}=await r.read();if(u)break;o+=e.decode(w,{stream:!0});const f=o.split(`
2
- `);o=f.pop()||"";let d="";for(const c of f)if(c.startsWith("event: "))d=c.slice(7).trim();else if(c.startsWith("data: ")){const p=JSON.parse(c.slice(6));d==="progress"?s?.(p):(d==="done"||d==="error")&&(n=p),d=""}}return n}class S{async importFile(t,s,r){if(typeof t=="string")return{success:!1,error:"File path import is not supported in Web mode"};const e=new FormData;e.append("file",t),s?.formatId&&e.append("formatId",s.formatId),s?.chatIndex!==void 0&&e.append("chatIndex",String(s.chatIndex));const o=await a(`${i()}/import`,{method:"POST",body:e});if(!o.ok){const n=await o.text();return{success:!1,error:`HTTP ${o.status}: ${n}`}}return l(o,{success:!1,error:"Unknown error"},r)}async detectFormat(t){if(typeof t=="string")return null;const s=new FormData;s.append("file",t);const r=await a(`${i()}/detect-format`,{method:"POST",body:s});return r.ok?(await r.json()).format:null}async scanMultiChatFile(t){if(typeof t=="string")return[];const s=new FormData;s.append("file",t);const r=await a(`${i()}/scan-multi-chat`,{method:"POST",body:s});return r.ok?(await r.json()).chats:[]}async prepareImportSource(t){if(typeof t=="string")return{success:!1,error:"File path import is not supported in Web mode"};const s=new FormData;s.append("file",t);const r=await a(`${i()}/import-sources`,{method:"POST",body:s}),e=await r.json().catch(()=>null);return r.ok?e??{success:!1,error:"Invalid import source response"}:{success:!1,error:e?.error||`HTTP ${r.status}`}}async importPreparedChat(t,s,r){const e=await a(`${i()}/import-sources/${encodeURIComponent(t)}/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chatId:s})});if(!e.ok){const o=await e.text();return{success:!1,error:`HTTP ${e.status}: ${o}`}}return l(e,{success:!1,error:"Unknown error"},r)}async releaseImportSource(t){await a(`${i()}/import-sources/${encodeURIComponent(t)}`,{method:"DELETE"})}getSupportedFormats(){return h("/supported-formats")}async importDemo(t,s){return new Promise(r=>{a(`${i()}/demo/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locale:t})}).then(async e=>{if(!e.ok||!e.body){r({success:!1,error:`HTTP ${e.status}`});return}const o=e.body.getReader(),n=new TextDecoder;let u="";for(;;){const{done:w,value:f}=await o.read();if(w)break;u+=n.decode(f,{stream:!0});const d=u.split(`
3
- `);u=d.pop()||"";let c="";for(const p of d)if(p.startsWith("event: "))c=p.slice(7).trim();else if(p.startsWith("data: ")){const m=JSON.parse(p.slice(6));if(c==="progress")(m.stage==="downloading"||m.stage==="importing")&&s?.({stage:m.stage});else if(c==="result"){r(m);return}c=""}}r({success:!1,error:"Stream ended without result"})}).catch(e=>r({success:!1,error:String(e)}))})}async analyzeIncrementalImport(t,s){if(typeof s=="string")return{newMessageCount:0,duplicateCount:0,totalInFile:0,error:"File path not supported in Web mode"};const r=new FormData;r.append("file",s);const e=await a(`${i()}/sessions/${t}/import/incremental/analyze`,{method:"POST",body:r});if(!e.ok){const o=await e.text();return{newMessageCount:0,duplicateCount:0,totalInFile:0,error:`HTTP ${e.status}: ${o}`}}return await e.json()}async incrementalImport(t,s,r){if(typeof s=="string")return{success:!1,newMessageCount:0,error:"File path not supported in Web mode"};const e=new FormData;e.append("file",s);const o=await a(`${i()}/sessions/${t}/import/incremental`,{method:"POST",body:e});if(!o.ok){const n=await o.text();return{success:!1,newMessageCount:0,error:`HTTP ${o.status}: ${n}`}}return l(o,{success:!1,newMessageCount:0,error:"Unknown error"},r)}async importDirectory(t,s,r){if(typeof t=="string")return{success:!1,error:"Directory path import is not supported in Web mode"};if(t.length===0)return{success:!1,error:"No files in directory"};const e=new FormData;for(const n of t)e.append("files",n),e.append("relativePaths",n.webkitRelativePath||n.name);const o=await a(`${i()}/import-directory`,{method:"POST",body:e});if(!o.ok){const n=await o.text();return{success:!1,error:`HTTP ${o.status}: ${n}`}}return l(o,{success:!1,error:"Unknown error"},r)}}export{S as FetchImportAdapter};
@@ -1 +0,0 @@
1
- import{g as r,a,b as u,d as l,f as h}from"./index-CqUuHQBQ.js";import"./vendor-reka-ui-CzM4kDQ7.js";import"./vendor-nuxt-ui-DaLxYaC4.js";import"./vendor-snapdom-XnBoh1gd.js";const g="This feature is not available in web mode";class p{async getAIChat(e){try{return await r(`/ai/chats/${e}`)}catch{return null}}async getAIChats(e){return r(`/ai/chats?sessionId=${encodeURIComponent(e)}`)}async createAIChat(e,t,s){return a("/ai/chats",{sessionId:e,title:t,assistantId:s})}async updateAIChatTitle(e,t){return u(`/ai/chats/${e}/title`,{title:t})}async deleteAIChat(e){return l(`/ai/chats/${e}`)}async getMessages(e){return r(`/ai/chats/${e}/messages`)}async addMessage(e,t,s,c,n,o,i){return a(`/ai/chats/${e}/messages`,{role:t,content:s,dataKeywords:c,dataMessageCount:n,contentBlocks:o,tokenUsage:i})}async deleteMessagesFrom(e,t){return a(`/ai/chats/${e}/messages/${t}/delete-from`,{})}async forkAIChat(e,t,s){return a(`/ai/chats/${e}/fork`,{upToMessageId:t,title:s})}async updateMessageContent(e,t){await u(`/ai/messages/${e}/content`,{content:t})}async deleteAndRelinkMessage(e,t){await a(`/ai/chats/${e}/messages/${t}/delete-relink`,{})}async insertMessageAfter(e,t,s,c,n,o){return a(`/ai/chats/${e}/messages/insert-after`,{afterMessageId:t,role:s,content:c,contentBlocks:n,tokenUsage:o})}async getAIChatTokenUsage(e){return r(`/ai/chats/${e}/token-usage`)}async estimateContextTokens(e){try{return await r(`/ai/chats/${e}/estimate-tokens`)}catch(t){return{success:!1,tokens:0,error:t instanceof Error?t.message:String(t)}}}async exportFilterResultToFile(e){try{const t=await h(`/_web/sessions/${e.sessionId}/export`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionName:e.sessionName,format:e.format||"txt",timeFilter:e.timeFilter})});if(!t.ok)return{success:!1,error:(await t.json().catch(()=>null))?.error||`HTTP ${t.status}`};const s=await t.blob(),c=t.headers.get("Content-Disposition")?.match(/filename="?(.+?)"?$/)?.[1]||`${e.sessionName}_export.txt`,n=URL.createObjectURL(s),o=document.createElement("a");return o.href=n,o.download=decodeURIComponent(c),o.click(),URL.revokeObjectURL(n),{success:!0}}catch(t){return{success:!1,error:t instanceof Error?t.message:String(t)}}}onExportProgress(e){return()=>{}}async executeAiSQL(e){return a("/ai/debug/execute-sql",{sql:e})}async getAiSchema(){return r("/ai/debug/schema")}async clearDebugContext(){return a("/ai/debug/clear-debug-context",{})}async getToolCatalog(){try{return await r("/ai/tools/full-catalog")}catch{return r("/ai/tools/catalog")}}async executeTool(e,t,s,c){try{return await a("/ai/tools/execute",{testId:e,toolName:t,params:s,sessionId:c})}catch(n){return{success:!1,error:String(n)}}}async cancelToolTest(e){try{return await a("/ai/tools/cancel",{testId:e})}catch{return{success:!1}}}async getDefaultDesensitizeRules(e){try{return await r(`/ai/desensitize-rules/defaults?locale=${encodeURIComponent(e)}`)}catch{return[]}}async mergeDesensitizeRules(e,t,s={}){try{return await a("/ai/desensitize-rules/merge",{existingRules:e,locale:t,overrides:s})}catch{return e}}async showAiLogFile(){try{return await a("/ai/logs/show")}catch(e){return{success:!1,error:e instanceof Error?e.message:g}}}}export{p as FetchAIAdapter};
@@ -1 +0,0 @@
1
- import{g as c,d as o,p as u,a as m,b as l,c as a}from"./index-CqUuHQBQ.js";import"./vendor-reka-ui-CzM4kDQ7.js";import"./vendor-nuxt-ui-DaLxYaC4.js";import"./vendor-snapdom-XnBoh1gd.js";function n(g){if(!g)return"";const e=new URLSearchParams;g.startTs&&e.set("startTs",String(g.startTs)),g.endTs&&e.set("endTs",String(g.endTs)),g.memberId&&e.set("memberId",String(g.memberId));const s=e.toString();return s?`?${s}`:""}class p{getSessions(){return c("/sessions")}getSession(e){return c(`/sessions/${e}`)}async deleteSession(e){return(await o(`/sessions/${e}`)).success}async renameSession(e,s){return(await u(`/sessions/${e}/name`,{name:s})).success}async updateSessionOwnerId(e,s){return(await u(`/sessions/${e}/owner`,{ownerId:s})).success}tryApplyOwnerProfile(e){return m(`/sessions/${e}/owner/apply-profile`,{})}setOwnerAndApplyProfile(e,s){return m(`/sessions/${e}/owner/select`,{ownerPlatformId:s})}async dismissOwnerPrompt(e){return(await m(`/sessions/${e}/owner/dismiss-prompt`,{})).success}getContacts(e){const s=new URLSearchParams;e?.acceptStale&&s.set("acceptStale","1"),e?.timeRangePreset&&s.set("timeRange",e.timeRangePreset),e?.pool&&s.set("pool",e.pool),e?.page&&s.set("page",String(e.page)),e?.pageSize&&s.set("pageSize",String(e.pageSize)),e?.query&&s.set("q",e.query);const t=s.toString();return c(`/contacts${t?`?${t}`:""}`)}getContactDetail(e,s){const t=new URLSearchParams;s?.acceptStale&&t.set("acceptStale","1"),s?.timeRangePreset&&t.set("timeRange",s.timeRangePreset);const r=t.toString();return c(`/contacts/${encodeURIComponent(e)}/detail${r?`?${r}`:""}`)}recomputeContacts(e){const s=new URLSearchParams;e?.timeRangePreset&&s.set("timeRange",e.timeRangePreset),e?.pool&&s.set("pool",e.pool),e?.page&&s.set("page",String(e.page)),e?.pageSize&&s.set("pageSize",String(e.pageSize)),e?.query&&s.set("q",e.query);const t=s.toString();return m(`/contacts/recompute${t?`?${t}`:""}`,{})}async markContactAsFriend(e,s){const t=new URLSearchParams;s?.timeRangePreset&&t.set("timeRange",s.timeRangePreset);const r=t.toString();return(await l(`/contacts/${encodeURIComponent(e)}/mark-friend${r?`?${r}`:""}`)).success}async unmarkContactAsFriend(e,s){const t=new URLSearchParams;s?.timeRangePreset&&t.set("timeRange",s.timeRangePreset);const r=t.toString();return(await o(`/contacts/${encodeURIComponent(e)}/mark-friend${r?`?${r}`:""}`)).success}getPeopleRelationships(e){const s=new URLSearchParams;e?.acceptStale&&s.set("acceptStale","1"),e?.timeRangePreset&&s.set("timeRange",e.timeRangePreset),e?.graphScope&&s.set("scope",e.graphScope),e?.query&&s.set("q",e.query);const t=s.toString();return c(`/people/relationships${t?`?${t}`:""}`)}recomputePeopleRelationships(e){const s=new URLSearchParams;e?.timeRangePreset&&s.set("timeRange",e.timeRangePreset),e?.graphScope&&s.set("scope",e.graphScope),e?.query&&s.set("q",e.query);const t=s.toString();return m(`/people/relationships/recompute${t?`?${t}`:""}`,{})}getPeopleRelationshipNeighborhood(e,s){const t=new URLSearchParams;s?.acceptStale&&t.set("acceptStale","1"),s?.timeRangePreset&&t.set("timeRange",s.timeRangePreset);const r=t.toString();return c(`/people/relationships/${encodeURIComponent(e)}/neighborhood${r?`?${r}`:""}`)}getAvailableYears(e){return c(`/sessions/${e}/years`)}getTimeRange(e){return c(`/sessions/${e}/time-range`)}getMemberActivity(e,s){return a(`/sessions/${e}/stats/member-activity${n(s)}`)}getHourlyActivity(e,s){return a(`/sessions/${e}/stats/hourly${n(s)}`)}getDailyActivity(e,s){return a(`/sessions/${e}/stats/daily${n(s)}`)}getWeekdayActivity(e,s){return a(`/sessions/${e}/stats/weekday${n(s)}`)}getMonthlyActivity(e,s){return a(`/sessions/${e}/analytics/monthly-activity${n(s)}`)}getYearlyActivity(e,s){return a(`/sessions/${e}/analytics/yearly-activity${n(s)}`)}getMessageLengthDistribution(e,s){return a(`/sessions/${e}/analytics/message-length-distribution${n(s)}`)}getMessageTypeDistribution(e,s){return a(`/sessions/${e}/stats/message-types${n(s)}`)}getTextStats(e,s){return a(`/sessions/${e}/analytics/text-stats${n(s)}`)}getLongMessageCount(e,s,t){const r=new URLSearchParams;s?.startTs&&r.set("startTs",String(s.startTs)),s?.endTs&&r.set("endTs",String(s.endTs)),s?.memberId&&r.set("memberId",String(s.memberId)),t!=null&&r.set("minLength",String(t));const i=r.toString();return a(`/sessions/${e}/analytics/long-message-count${i?`?${i}`:""}`)}getMemberMonthlyTrend(e,s){return a(`/sessions/${e}/analytics/member-monthly-trend${n(s)}`)}getTextLengthPercentiles(e,s){return a(`/sessions/${e}/analytics/text-length-percentiles${n(s)}`)}getDragonKingAnalysis(e,s){return a(`/sessions/${e}/analytics/dragon-king${n(s)}`)}getDivingAnalysis(e,s){return a(`/sessions/${e}/analytics/diving${n(s)}`)}getCheckInAnalysis(e,s){return a(`/sessions/${e}/analytics/check-in${n(s)}`)}getMemeBattleAnalysis(e,s){return a(`/sessions/${e}/analytics/meme-battle${n(s)}`)}getNightOwlAnalysis(e,s){return a(`/sessions/${e}/analytics/night-owl${n(s)}`)}getRepeatAnalysis(e,s){return a(`/sessions/${e}/analytics/repeat${n(s)}`)}getMembers(e){return c(`/sessions/${e}/members`)}getMembersPaginated(e,s){const t=new URLSearchParams({page:String(s.page),pageSize:String(s.pageSize)});return s.search&&t.set("search",s.search),s.sortOrder&&t.set("sortOrder",s.sortOrder),c(`/sessions/${e}/members/paginated?${t}`)}getMemberNameHistory(e,s){return c(`/sessions/${e}/members/${s}/history`)}async updateMemberAliases(e,s,t){return(await u(`/sessions/${e}/members/${s}/aliases`,{aliases:t})).success}async mergeMembers(e,s,t){return(await m(`/sessions/${e}/members/merge`,{memberId1:s,memberId2:t})).success}async deleteMember(e,s){return(await o(`/sessions/${e}/members/${s}`)).success}getCatchphraseAnalysis(e,s){return a(`/sessions/${e}/analytics/catchphrase${n(s)}`)}getLanguagePreferenceAnalysis(e,s,t,r){const i=new URLSearchParams;return i.set("locale",s),t?.startTs&&i.set("startTs",String(t.startTs)),t?.endTs&&i.set("endTs",String(t.endTs)),t?.memberId&&i.set("memberId",String(t.memberId)),a(`/sessions/${e}/analytics/language-preference?${i}`)}getMentionAnalysis(e,s){return a(`/sessions/${e}/analytics/mention${n(s)}`)}getMentionGraph(e,s){return a(`/sessions/${e}/analytics/mention-graph${n(s)}`)}getClusterGraph(e,s,t){const r=new URLSearchParams;s?.startTs&&r.set("startTs",String(s.startTs)),s?.endTs&&r.set("endTs",String(s.endTs)),s?.memberId&&r.set("memberId",String(s.memberId)),t?.topEdges&&r.set("topEdges",String(t.topEdges)),t?.lookAhead&&r.set("lookAhead",String(t.lookAhead)),t?.decaySeconds&&r.set("decaySeconds",String(t.decaySeconds));const i=r.toString();return a(`/sessions/${e}/analytics/cluster${i?`?${i}`:""}`)}getLaughAnalysis(e,s,t){return a(`/sessions/${e}/analytics/laugh${n(s)}`)}getRelationshipStats(e,s,t){return a(`/sessions/${e}/analytics/relationship${n(s)}`)}executeSQL(e,s){return m(`/sessions/${e}/sql`,{sql:s})}getSchema(e){return c(`/sessions/${e}/schema`)}pluginQuery(e,s,t){return m(`/sessions/${e}/query`,{sql:s,params:t??[]})}}export{p as FetchDataAdapter};
@@ -1 +0,0 @@
1
- .contact-detail-panel-enter-active[data-v-ec47ac84],.contact-detail-panel-leave-active[data-v-ec47ac84]{overflow:hidden;transition:width .22s ease,opacity .18s ease,transform .22s ease}.contact-detail-panel-enter-from[data-v-ec47ac84],.contact-detail-panel-leave-to[data-v-ec47ac84]{width:0!important;opacity:0;transform:translate(16px)}.contact-detail-panel-enter-to[data-v-ec47ac84],.contact-detail-panel-leave-from[data-v-ec47ac84]{width:420px;opacity:1;transform:translate(0)}.contact-table-grid[data-v-03aeb54c]{display:grid;align-items:center;column-gap:12px;min-width:0}.contact-table-grid--friends[data-v-03aeb54c],.contact-table-grid--group-contacts[data-v-03aeb54c]{grid-template-columns:minmax(180px,1.5fr) 118px 86px 86px 86px 104px 54px}.contact-table-grid[data-v-03aeb54c]>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-table-value[data-v-03aeb54c]{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#4b5563}.dark .contact-table-value[data-v-03aeb54c]{color:#d1d5db}
@@ -1 +0,0 @@
1
- import{_ as B,R as P,g as R,c as V,e as $}from"./vendor-nuxt-ui-DaLxYaC4.js";import{p as k,G as a,P as s,u as e,Z as h,a3 as v,H as m,K as r,L as d,a5 as p,T as u,Q as y,h as g,U as _,R as H,by as I,I as N}from"./vendor-reka-ui-CzM4kDQ7.js";import{u as w,_ as z}from"./index-CqUuHQBQ.js";import{P as L}from"./PageHeader-CZaqOdBQ.js";import{p as S}from"./people-page-header-Mupn-U_b.js";import"./vendor-snapdom-XnBoh1gd.js";const T=["aria-label"],U={class:"whitespace-nowrap"},D=k({__name:"PeopleSubnav",props:{active:{}},setup(x){const o=x,{t:c}=w(),l=g(()=>[{id:"contacts",label:c("contacts.title"),icon:"i-lucide-users",to:{name:"people-contacts"}},{id:"relationships",label:c("relationships.title"),icon:"i-lucide-git-fork",to:{name:"people-relationships"}}]);return(f,t)=>{const b=B;return a(),s("nav",{class:"flex shrink-0 items-center gap-0.5 overflow-x-auto scrollbar-hide","aria-label":e(c)("relationships.nav")},[(a(!0),s(h,null,v(l.value,i=>(a(),m(e(P),{key:i.id,to:i.to,class:y(["flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-semibold transition-all",o.active===i.id?"bg-pink-500 text-white dark:bg-pink-900/30 dark:text-pink-300":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-white/10 dark:hover:text-white"])},{default:r(()=>[d(b,{name:i.icon,class:"h-3.5 w-3.5"},null,8,["name"]),p("span",U,u(i.label),1)]),_:2},1032,["to","class"]))),128))],8,T)}}}),j={class:"flex h-full flex-col bg-white text-gray-900 dark:bg-page-dark dark:text-gray-100",style:{"padding-top":"var(--titlebar-area-height)"}},E={class:"mt-3 flex items-center justify-between gap-3 pb-1.5"},F={key:0,class:"hidden items-center gap-5 text-[11px] sm:flex"},G={key:0,class:"h-3 w-px bg-gray-250 dark:bg-white/10"},K={class:"flex items-center gap-1.5"},Q={class:"text-gray-400 dark:text-gray-500"},Z={class:"font-mono font-bold text-gray-900 dark:text-white"},q=k({__name:"index",setup(x){const{t:o}=w(),c=$(),l=g(()=>c.name==="people-relationships"?"relationships":"contacts"),f=g(()=>l.value==="relationships"?{title:o("layout.relationships"),description:o("relationships.subtitle"),icon:"i-lucide-git-fork",iconClass:"bg-primary-600 text-white dark:bg-primary-500 dark:text-white shadow-sm"}:{title:o("layout.relationships"),description:o("contacts.subtitle",{count:0}),icon:"i-lucide-users",iconClass:"bg-primary-600 text-white dark:bg-primary-500 dark:text-white shadow-sm"}),{header:t}=S(f);return(b,i)=>{const C=V;return a(),s("div",j,[d(L,{title:e(t).title,description:e(t).description,size:"compact",icon:e(t).icon,"icon-class":e(t).iconClass},{actions:r(()=>[e(t).action?(a(),m(C,{key:0,icon:e(t).action.icon,color:"primary",variant:"soft",size:"sm",class:y(["rounded-xl",e(t).action.class]),loading:e(t).action.loading,disabled:e(t).action.disabled,onClick:e(t).action.onClick},{default:r(()=>[H(u(e(t).action.label),1)]),_:1},8,["icon","class","loading","disabled","onClick"])):_("",!0)]),default:r(()=>[p("div",E,[d(D,{active:l.value},null,8,["active"]),e(t).stats?.length?(a(),s("div",F,[(a(!0),s(h,null,v(e(t).stats,n=>(a(),s(h,{key:n.id},[n.dividerBefore?(a(),s("div",G)):_("",!0),p("div",K,[p("span",Q,u(n.label),1),p("span",Z,u(n.value),1)])],64))),128))])):_("",!0)])]),_:1},8,["title","description","icon","icon-class"]),d(e(R),null,{default:r(({Component:n})=>[d(I,{name:"people-tab-slide",mode:"out-in"},{default:r(()=>[(a(),m(N(n),{key:l.value}))]),_:2},1024)]),_:1})])}}}),Y=z(q,[["__scopeId","data-v-19e6af8b"]]);export{Y as default};