chatlab-cli 0.30.2 → 0.31.1

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 (141) hide show
  1. package/dist/{chat-command-VBDMWOKL.mjs → chat-command-MOETAGU5.mjs} +9 -8
  2. package/dist/{chat-command-VBDMWOKL.mjs.map → chat-command-MOETAGU5.mjs.map} +1 -1
  3. package/dist/{chunk-M2PXDX4G.mjs → chunk-2IXPWPLR.mjs} +168 -77
  4. package/dist/chunk-2IXPWPLR.mjs.map +1 -0
  5. package/dist/{chunk-TCZHG3G7.mjs → chunk-3VMKS7PU.mjs} +44 -5
  6. package/dist/chunk-3VMKS7PU.mjs.map +1 -0
  7. package/dist/{chunk-TEX44HNL.mjs → chunk-7HBVGVOB.mjs} +5 -15
  8. package/dist/chunk-7HBVGVOB.mjs.map +1 -0
  9. package/dist/{chunk-LVEJHB3X.mjs → chunk-DQ45LDKZ.mjs} +512 -98
  10. package/dist/chunk-DQ45LDKZ.mjs.map +1 -0
  11. package/dist/{chunk-ULNRUS55.mjs → chunk-E6W2RURS.mjs} +3 -3
  12. package/dist/{chunk-36JGKW6K.mjs → chunk-KCPGEILH.mjs} +1503 -530
  13. package/dist/chunk-KCPGEILH.mjs.map +1 -0
  14. package/dist/{chunk-WV5GSRQM.mjs → chunk-LJXSUN25.mjs} +5 -15
  15. package/dist/chunk-LJXSUN25.mjs.map +1 -0
  16. package/dist/chunk-N5AGDT7I.mjs +268 -0
  17. package/dist/chunk-N5AGDT7I.mjs.map +1 -0
  18. package/dist/{chunk-D3DPCDII.mjs → chunk-SZEBCNBB.mjs} +193 -79
  19. package/dist/chunk-SZEBCNBB.mjs.map +1 -0
  20. package/dist/{chunk-5EE2EFPE.mjs → chunk-VOVLPSG6.mjs} +29 -52
  21. package/dist/chunk-VOVLPSG6.mjs.map +1 -0
  22. package/dist/chunk-YAQLYL52.mjs +14 -0
  23. package/dist/chunk-YAQLYL52.mjs.map +1 -0
  24. package/dist/{chunk-326OCJOT.mjs → chunk-ZVWUR7ET.mjs} +2 -2
  25. package/dist/cli.mjs +10 -7
  26. package/dist/contacts-worker.mjs +2 -2
  27. package/dist/global-insight-worker.mjs +179 -0
  28. package/dist/global-insight-worker.mjs.map +1 -0
  29. package/dist/{http-L4AMELPZ.mjs → http-M6NHWJZD.mjs} +12 -11
  30. package/dist/{import-WWCSXGVS.mjs → import-SEYHFXS5.mjs} +12 -7
  31. package/dist/index.mjs +13 -12
  32. package/dist/{mcp-A4M3LT5O.mjs → mcp-MIPFYRLV.mjs} +12 -11
  33. package/dist/{mcp-A4M3LT5O.mjs.map → mcp-MIPFYRLV.mjs.map} +1 -1
  34. package/dist/people-relationships-worker.mjs +2 -2
  35. package/dist/semantic-index-worker.mjs +1 -1
  36. package/dist/{src-MPNBTFOE.mjs → src-7OD6RD5V.mjs} +38 -6
  37. package/dist/{stream-import-HIE7PNL4.mjs → stream-import-AWEHGQJY.mjs} +12 -7
  38. package/dist/{worker-runtime-BJXO24XX.mjs → worker-runtime-TGYMASIE.mjs} +6 -5
  39. package/dist/{worker-runtime-BJXO24XX.mjs.map → worker-runtime-TGYMASIE.mjs.map} +1 -1
  40. package/dist-web/assets/ActionToolsPanel-fAio70bI.css +1 -0
  41. package/dist-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-CkDGVRXe.js +110 -0
  42. package/dist-web/assets/{BufferResource-q3rzaWWd.js → BufferResource-CHI62pIA.js} +1 -1
  43. package/dist-web/assets/{CanvasRenderer-BRk1y8tp.js → CanvasRenderer-OZRoiF0j.js} +1 -1
  44. package/dist-web/assets/{EChartWordcloud-Clg60FMo.js → EChartWordcloud-DU3ZYdgz.js} +1 -1
  45. package/dist-web/assets/{Filter-BJwode73.js → Filter-DNb5VErW.js} +1 -1
  46. 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
  47. package/dist-web/assets/MessageExportModal-CqP-w7HP.js +1 -0
  48. package/dist-web/assets/PageHeader-Ck8ULyZH.js +1 -0
  49. package/dist-web/assets/PageHeader-XIXMTomn.css +1 -0
  50. package/dist-web/assets/{RelationshipGalaxyCanvas-CORMD7vL.js → RelationshipGalaxyCanvas-ioRNObb5.js} +3 -3
  51. package/dist-web/assets/{RelationshipGalaxyThreeCanvas-B_w_P4ob.js → RelationshipGalaxyThreeCanvas-L1Y43p1A.js} +1 -1
  52. package/dist-web/assets/{RenderTargetSystem-CGhV9R9E.js → RenderTargetSystem-fJ7D7Chv.js} +1 -1
  53. package/dist-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-BoZyssJF.js +1 -0
  54. package/dist-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-7SEaCxDL.js +1 -0
  55. package/dist-web/assets/{WebGLRenderer-CAokTE5X.js → WebGLRenderer-BD3ZUtxH.js} +1 -1
  56. package/dist-web/assets/{WebGPURenderer-DzP4ggSy.js → WebGPURenderer-DZXYsT6D.js} +1 -1
  57. package/dist-web/assets/annual-summary-time-range-DVLXK1r4.js +1 -0
  58. package/dist-web/assets/base-DTElkJcC.js +1 -0
  59. package/dist-web/assets/{browserAll-CAZCK6dd.js → browserAll-ChT6N6a9.js} +1 -1
  60. package/dist-web/assets/dateFormat-D9WibwOu.js +1 -0
  61. package/dist-web/assets/{electron-CkPDbAaS.js → electron-CIzyGxH_.js} +1 -1
  62. package/dist-web/assets/electron-hcWiB7Gg.js +1 -0
  63. package/dist-web/assets/fetch-Avtnh8cJ.js +3 -0
  64. package/dist-web/assets/{fetch-DQ9UNNAy.js → fetch-BFnrBahy.js} +1 -1
  65. package/dist-web/assets/fetch-C9rx2isC.js +31 -0
  66. package/dist-web/assets/fetch-Ccq_0ecb.js +1 -0
  67. package/dist-web/assets/{fetch-BIEXkvDq.js → fetch-CuiQUcO_.js} +1 -1
  68. package/dist-web/assets/{fetch-LX9jrJCC.js → fetch-CyKILLnB.js} +1 -1
  69. package/dist-web/assets/fetch-Dd6t3p1r.js +6 -0
  70. package/dist-web/assets/{fetch--UbRoBT7.js → fetch-DnGx-1_t.js} +1 -1
  71. package/dist-web/assets/{fetch-wqMSiaK3.js → fetch-qC7om4QG.js} +1 -1
  72. package/dist-web/assets/fetch-wSSfDBdV.js +1 -0
  73. package/dist-web/assets/index-BH9jI5kV.js +173 -0
  74. package/dist-web/assets/index-BWtNqcYK.js +22 -0
  75. package/dist-web/assets/index-BfO_LpDv.css +1 -0
  76. package/dist-web/assets/index-Bkq7-GBp.js +1 -0
  77. package/dist-web/assets/index-Bqr-LkS1.css +1 -0
  78. package/dist-web/assets/index-ByUaiVQK.css +1 -0
  79. package/dist-web/assets/index-C6qtsaP7.js +1 -0
  80. package/dist-web/assets/index-C_0GHEcb.css +1 -0
  81. package/dist-web/assets/index-ChFGuu70.js +1 -0
  82. package/dist-web/assets/{index-S-YQRH1E.js → index-CiS20iAR.js} +1 -1
  83. package/dist-web/assets/index-CqD6u57u.js +1 -0
  84. package/dist-web/assets/index-CzDG8LVr.js +2 -0
  85. package/dist-web/assets/index-D0Euk-vQ.js +1 -0
  86. package/dist-web/assets/index-D26BWhHz.js +1 -0
  87. package/dist-web/assets/index-DXHYzIIj.js +1 -0
  88. package/dist-web/assets/index-Dq8u7gMb.js +2 -0
  89. package/dist-web/assets/index-ZsZwPLWy.css +1 -0
  90. package/dist-web/assets/index-u_UH6rDY.js +64 -0
  91. package/dist-web/assets/index-y7cxH1Et.css +1 -0
  92. package/dist-web/assets/{people-page-header-Mupn-U_b.js → people-page-header-BdKM1qhX.js} +1 -1
  93. package/dist-web/assets/types-CZnACqaB.js +1 -0
  94. package/dist-web/assets/{vendor-echarts-hJVnODyU.js → vendor-echarts-B-i_56Av.js} +1 -1
  95. package/dist-web/assets/{vendor-echarts-wordcloud-k5ih2Jl4.js → vendor-echarts-wordcloud-Ca8n6qS6.js} +1 -1
  96. package/dist-web/assets/{vendor-nuxt-ui-DaLxYaC4.js → vendor-nuxt-ui-CS1uxE9C.js} +2 -2
  97. package/dist-web/assets/{vendor-reka-ui-CzM4kDQ7.js → vendor-reka-ui-Cta6JPvN.js} +1 -1
  98. package/dist-web/assets/{web-DbKs6-1b.js → web-BDBdpdK7.js} +1 -1
  99. package/dist-web/assets/{webworkerAll-Bhv-hBqR.js → webworkerAll-C3dAOQj4.js} +1 -1
  100. package/dist-web/index.html +4 -4
  101. package/package.json +1 -1
  102. package/dist/chunk-36JGKW6K.mjs.map +0 -1
  103. package/dist/chunk-5EE2EFPE.mjs.map +0 -1
  104. package/dist/chunk-D3DPCDII.mjs.map +0 -1
  105. package/dist/chunk-KBSAVUFV.mjs +0 -161
  106. package/dist/chunk-KBSAVUFV.mjs.map +0 -1
  107. package/dist/chunk-LVEJHB3X.mjs.map +0 -1
  108. package/dist/chunk-M2PXDX4G.mjs.map +0 -1
  109. package/dist/chunk-TCZHG3G7.mjs.map +0 -1
  110. package/dist/chunk-TEX44HNL.mjs.map +0 -1
  111. package/dist/chunk-WV5GSRQM.mjs.map +0 -1
  112. package/dist-web/assets/DebugToolsPanel-D_lFIW6j.css +0 -1
  113. package/dist-web/assets/DebugToolsPanel.vue_vue_type_script_setup_true_lang-F4n0zNX2.js +0 -110
  114. package/dist-web/assets/MessageExportModal-CGcdMOyw.js +0 -1
  115. package/dist-web/assets/PageHeader-Bbn87QZS.css +0 -1
  116. package/dist-web/assets/PageHeader-CZaqOdBQ.js +0 -1
  117. package/dist-web/assets/electron-D9vE5t3H.js +0 -1
  118. package/dist-web/assets/fetch-1pB-HbYw.js +0 -3
  119. package/dist-web/assets/fetch-Apd5OLJw.js +0 -5
  120. package/dist-web/assets/fetch-B8rik0TM.js +0 -17
  121. package/dist-web/assets/fetch-CF_3ZqRa.js +0 -1
  122. package/dist-web/assets/fetch-FSNxSnAp.js +0 -1
  123. package/dist-web/assets/index---rXG1hZ.css +0 -1
  124. package/dist-web/assets/index-B01uUoHE.js +0 -1
  125. package/dist-web/assets/index-B4l3rHie.css +0 -1
  126. package/dist-web/assets/index-BSIyyt0z.js +0 -1
  127. package/dist-web/assets/index-Bh8z441f.js +0 -2
  128. package/dist-web/assets/index-C0rya8v4.js +0 -1
  129. package/dist-web/assets/index-C1p9CbmN.css +0 -1
  130. package/dist-web/assets/index-COpza1A4.css +0 -1
  131. package/dist-web/assets/index-CZbZv2fh.js +0 -64
  132. package/dist-web/assets/index-CqUuHQBQ.js +0 -22
  133. package/dist-web/assets/index-CzeTP5MJ.js +0 -173
  134. package/dist-web/assets/index-DgNxTM_8.js +0 -2
  135. package/dist-web/assets/index-DosG7LmJ.css +0 -1
  136. /package/dist/{chunk-ULNRUS55.mjs.map → chunk-E6W2RURS.mjs.map} +0 -0
  137. /package/dist/{chunk-326OCJOT.mjs.map → chunk-ZVWUR7ET.mjs.map} +0 -0
  138. /package/dist/{http-L4AMELPZ.mjs.map → http-M6NHWJZD.mjs.map} +0 -0
  139. /package/dist/{import-WWCSXGVS.mjs.map → import-SEYHFXS5.mjs.map} +0 -0
  140. /package/dist/{src-MPNBTFOE.mjs.map → src-7OD6RD5V.mjs.map} +0 -0
  141. /package/dist/{stream-import-HIE7PNL4.mjs.map → stream-import-AWEHGQJY.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,5 +0,0 @@
1
- import{f as r,e as d}from"./index-CqUuHQBQ.js";import"./vendor-reka-ui-CzM4kDQ7.js";import"./vendor-nuxt-ui-DaLxYaC4.js";import"./vendor-snapdom-XnBoh1gd.js";function c(){return d("data")}const u=`(SELECT mc.message_id FROM message_context mc
2
- WHERE mc.segment_id = segment.id ORDER BY mc.message_id LIMIT 1) as firstMessageId`;class S{async generate(e,t=1800){const s=await r(`/_web/sessions/${e}/generate-index`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gapThreshold:t})});if(!s.ok)throw new Error(`Failed to generate session index: ${s.status}`);return(await s.json()).sessionCount}async generateIncremental(e,t=1800){const s=await r(`/_web/sessions/${e}/generate-incremental-index`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gapThreshold:t})});if(!s.ok)throw new Error(`Failed to generate incremental session index: ${s.status}`);return(await s.json()).sessionCount}async hasIndex(e){return(await this.getStats(e)).hasIndex}async getStats(e){try{const s=(await c().pluginQuery(e,"SELECT COUNT(*) as cnt FROM segment",[]))[0]?.cnt??0;return{hasIndex:s>0,sessionCount:s,gapThreshold:1800}}catch{return{hasIndex:!1,sessionCount:0,gapThreshold:1800}}}async getAllIndexStats(){const e=await r("/_web/sessions/index-stats");return e.ok?await e.json():[]}async clear(e){return await r(`/_web/sessions/${e}/clear-index`,{method:"POST"}),!0}async updateGapThreshold(e,t){return!0}async getSessions(e){return c().pluginQuery(e,`SELECT id, start_ts as startTs, end_ts as endTs, message_count as messageCount, summary, ${u}
3
- FROM segment ORDER BY start_ts ASC`,[])}async getByTimeRange(e,t,s){return c().pluginQuery(e,`SELECT id, start_ts as startTs, end_ts as endTs, message_count as messageCount, summary, ${u}
4
- FROM segment WHERE start_ts >= ? AND end_ts <= ? ORDER BY start_ts ASC`,[t,s])}async getRecent(e,t){return c().pluginQuery(e,`SELECT id, start_ts as startTs, end_ts as endTs, message_count as messageCount, summary, ${u}
5
- FROM segment ORDER BY start_ts DESC LIMIT ?`,[t])}async generateSummary(e,t,s,a,o){try{const n=await r(`/_web/sessions/${e}/summaries/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({segmentId:t,locale:s,forceRegenerate:a,strategy:o})}),i=await n.json();return n.ok?i:{success:!1,error:i.error||`HTTP ${n.status}`}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}async generateSummaries(e,t,s){let a=0,o=0;const n=0;for(const i of t)try{(await this.generateSummary(e,i,s)).success?a++:o++}catch{o++}return{success:a,failed:o,skipped:n}}async checkCanGenerateSummary(e,t){try{const s=await r(`/_web/sessions/${e}/summaries/check-can-generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({segmentIds:t})});return s.ok?await s.json():{}}catch{return{}}}}export{S as FetchSessionIndexAdapter};
@@ -1,17 +0,0 @@
1
- import{e as T}from"./index-CqUuHQBQ.js";import"./vendor-reka-ui-CzM4kDQ7.js";import"./vendor-nuxt-ui-DaLxYaC4.js";import"./vendor-snapdom-XnBoh1gd.js";const R=`
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`,L=`
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`,i=`SELECT ${R} ${L}`,f="FROM message msg JOIN member m ON msg.sender_id = m.id",M="COALESCE(m.account_name, '') != '系统消息'",S="msg.type = 0 AND msg.content IS NOT NULL AND msg.content != ''";function g(e){let s=[];try{const t=JSON.parse(e.aliasesJson||"[]");Array.isArray(t)&&(s=t)}catch{}return{id:Number(e.id),senderId:Number(e.senderId),senderName:String(e.senderName||""),senderPlatformId:String(e.senderPlatformId||""),senderAliases:s,senderAvatar:e.senderAvatar||null,content:e.content!=null?String(e.content):"",timestamp:Number(e.timestamp),type:Number(e.type),replyToMessageId:e.replyToMessageId||null,replyToContent:e.replyToContent||null,replyToSenderName:e.replyToSenderName||null}}function _(e){return e.replace(/[\\%_]/g,s=>`\\${s}`)}function h(e,s="msg.content"){const t=[],n=[];for(const a of e)t.push(`(${s} IS NULL OR lower(${s}) NOT LIKE ? ESCAPE '\\')`),n.push(`%${_(a.toLowerCase())}%`);return{conditions:t,params:n}}function C(e){const s=[],t=[];if(e?.startTs!=null&&(s.push("msg.ts >= ?"),t.push(e.startTs)),e?.endTs!=null&&(s.push("msg.ts <= ?"),t.push(e.endTs)),e?.senderId!=null&&(s.push("msg.sender_id = ?"),t.push(e.senderId)),e?.memberId!=null&&(s.push("msg.sender_id = ?"),t.push(e.memberId)),e?.keywords&&e.keywords.length>0){const n=e.matchMode==="all"?" AND ":" OR ",a=e.keywords.map(()=>"msg.content LIKE ? ESCAPE '\\'");s.push(`(${a.join(n)})`),t.push(...e.keywords.map(r=>`%${_(r)}%`))}if(e?.excludeKeywords&&e.excludeKeywords.length>0){const n=h(e.excludeKeywords);s.push(...n.conditions),t.push(...n.params)}return e?.systemFilter&&s.push(M),e?.textOnlyFilter&&s.push(S),{clause:s.length>0?"AND "+s.join(" AND "):"",params:t}}function y(e,s,t){return C({startTs:e?.startTs,endTs:e?.endTs,senderId:s,memberId:e?.memberId,keywords:t})}async function O(e,s,t=50,n,a,r){const{clause:o,params:c}=y(n,a,r),l=`${i} WHERE msg.id < ? ${o} ORDER BY msg.id DESC LIMIT ?`,m=await e.all(l,[s,...c,t+1]),d=m.length>t;return{messages:(d?m.slice(0,t):m).map(g).reverse(),hasMore:d}}async function I(e,s,t=50,n,a,r){const{clause:o,params:c}=y(n,a,r),l=`${i} WHERE msg.id > ? ${o} ORDER BY msg.id ASC LIMIT ?`,m=await e.all(l,[s,...c,t+1]),d=m.length>t;return{messages:(d?m.slice(0,t):m).map(g),hasMore:d}}async function N(e,s,t,n=20,a=0,r){const{clause:o,params:c}=y(t,r,s),l=`SELECT COUNT(*) as total ${f} WHERE 1=1 ${o}`,d=(await e.get(l,c))?.total??0,E=`${i} WHERE 1=1 ${o} ORDER BY msg.ts DESC LIMIT ? OFFSET ?`;return{messages:(await e.all(E,[...c,n,a])).map(g),total:d}}async function A(e,s,t=20){const n=Array.isArray(s)?s:[s];if(n.length===0)return[];const a=new Set;for(const m of n)a.add(m),t>0&&((await e.all("SELECT id FROM message WHERE id < ? ORDER BY id DESC LIMIT ?",[m,t])).forEach(p=>a.add(p.id)),(await e.all("SELECT id FROM message WHERE id > ? ORDER BY id ASC LIMIT ?",[m,t])).forEach(p=>a.add(p.id)));const r=Array.from(a).sort((m,d)=>m-d);if(r.length===0)return[];const o=r.map(()=>"?").join(", "),c=`${i} WHERE msg.id IN (${o}) ORDER BY msg.id ASC`;return(await e.all(c,r)).map(g)}async function w(e,s,t=100){const{clause:n,params:a}=y(s),r=`SELECT COUNT(*) as total ${f} WHERE 1=1 ${n}`,c=(await e.get(r,a))?.total??0,l=`${i} WHERE 1=1 ${n} ORDER BY msg.ts DESC LIMIT ?`;return{messages:(await e.all(l,[...a,t])).map(g).reverse(),total:c}}function $(){return T("data")}function u(e){const s=$();return{all(t,n=[]){return s.pluginQuery(e,t,n)},async get(t,n=[]){return(await s.pluginQuery(e,t,n))[0]}}}class x{async getMessagesBefore(s,t,n=50,a,r,o){const c=u(s);return O(c,t,n,a,r,o)}async getMessagesAfter(s,t,n=50,a,r,o){const c=u(s);return I(c,t,n,a,r,o)}async getMessageContext(s,t,n=20){const a=u(s);return A(a,t,n)}async searchMessages(s,t,n,a=100,r=0,o){const c=u(s);return N(c,t,n,a,r,o)}async getAllRecentMessages(s,t,n=100){const a=u(s);return w(a,t,n)}}export{x as FetchMessageAdapter};
@@ -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};