chatlab-cli 0.34.3 → 0.36.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 (184) hide show
  1. package/dist/{chat-command-QH7DXCAJ.mjs → chat-command-SXW67RF7.mjs} +9 -9
  2. package/dist/{chunk-AWXHYTD5.mjs → chunk-4YPNYQSP.mjs} +701 -7065
  3. package/dist/chunk-4YPNYQSP.mjs.map +1 -0
  4. package/dist/{chunk-SWUTRDGZ.mjs → chunk-AAGDVTP2.mjs} +2 -2
  5. package/dist/{chunk-ZVGDOSGG.mjs → chunk-BSGLH6G3.mjs} +188 -41
  6. package/dist/chunk-BSGLH6G3.mjs.map +1 -0
  7. package/dist/{chunk-2Q3HHVTS.mjs → chunk-CNEWMCGX.mjs} +18 -18
  8. package/dist/{chunk-3X26JJIP.mjs → chunk-GVW3BDGZ.mjs} +3 -3
  9. package/dist/{chunk-WJVE5Q4Y.mjs → chunk-JHON5FN7.mjs} +2 -2
  10. package/dist/{chunk-JYBPJWE2.mjs → chunk-LZGOIRLV.mjs} +13 -23
  11. package/dist/chunk-LZGOIRLV.mjs.map +1 -0
  12. package/dist/chunk-OWOEWZIC.mjs +19072 -0
  13. package/dist/chunk-OWOEWZIC.mjs.map +1 -0
  14. package/dist/{chunk-XIWVJAXH.mjs → chunk-U2NXHIJK.mjs} +34 -24
  15. package/dist/chunk-U2NXHIJK.mjs.map +1 -0
  16. package/dist/{chunk-6U2QZO3N.mjs → chunk-UNIKQFI5.mjs} +2 -2
  17. package/dist/{chunk-C2PD3BS7.mjs → chunk-VDWI4A4U.mjs} +2 -2
  18. package/dist/{chunk-AWGXYFIC.mjs → chunk-XDF6PMVZ.mjs} +2 -2
  19. package/dist/chunk-YKMQLAVP.mjs +25 -0
  20. package/dist/chunk-YKMQLAVP.mjs.map +1 -0
  21. package/dist/cli.mjs +10 -10
  22. package/dist/contacts-worker.mjs +2 -2
  23. package/dist/global-insight-worker.mjs +136 -4
  24. package/dist/global-insight-worker.mjs.map +1 -1
  25. package/dist/{http-D2F4QTQW.mjs → http-LVOGJFDL.mjs} +13 -13
  26. package/dist/{import-H7X2JU2O.mjs → import-7OU57ZHM.mjs} +8 -8
  27. package/dist/index.mjs +13 -13
  28. package/dist/{mcp-UURXRGDF.mjs → mcp-CUKHTTII.mjs} +9 -9
  29. package/dist/people-relationships-worker.mjs +2 -2
  30. package/dist/semantic-index-worker.mjs +1 -1
  31. package/dist/{src-MHCO4HYY.mjs → src-LORFXAUE.mjs} +121 -97
  32. package/dist/{stream-import-BHXACUCA.mjs → stream-import-7YUWIAD6.mjs} +8 -8
  33. package/dist/{worker-runtime-JOUCP2L4.mjs → worker-runtime-GQ5SY7E3.mjs} +6 -6
  34. package/dist-cli-web/assets/AISettingsTab-BmhNcUEh.js +1 -0
  35. package/dist-cli-web/assets/AboutTab-CFklrZt8.js +1 -0
  36. package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-B-dIPvcs.js +110 -0
  37. package/dist-cli-web/assets/Alert-DJzXKcec.js +1 -0
  38. package/dist-cli-web/assets/ApiSettingsTab-DvDm421U.js +2 -0
  39. package/dist-cli-web/assets/BatchManageTab-DhIDH3Q1.js +1 -0
  40. package/dist-cli-web/assets/{BufferResource-Dak23r3B.js → BufferResource-DY3P-dGs.js} +1 -1
  41. package/dist-cli-web/assets/CanvasRenderer-As2MJTWZ.js +1 -0
  42. package/dist-cli-web/assets/ChatRecordDrawer-DHdas7Jp.js +1 -0
  43. package/dist-cli-web/assets/ChatRecordWorkspace-CVDPBmcl.js +11 -0
  44. package/dist-cli-web/assets/ChatRecordWorkspace-D_oJMtqh.css +1 -0
  45. package/dist-cli-web/assets/Checkbox-4F1WAuVF.js +1 -0
  46. package/dist-cli-web/assets/DataDirCleanupNotice-jebQ9il3.js +1 -0
  47. package/dist-cli-web/assets/DatePicker.vue_vue_type_script_setup_true_lang-Cal624eP.js +1 -0
  48. package/dist-cli-web/assets/DebugToolsPanel-BLU6SY8a.js +1 -0
  49. package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-CsgJ-Xn3.js +1 -0
  50. package/dist-cli-web/assets/EChartLine.vue_vue_type_script_setup_true_lang-BYhukELX.js +1 -0
  51. package/dist-cli-web/assets/EChartWordcloud-C16xh7Tx.js +1 -0
  52. package/dist-cli-web/assets/{Filter-CHKZVYB3.js → Filter-BEtPORqF.js} +1 -1
  53. package/dist-cli-web/assets/GlobalTaskBar-BvNmFO7q.js +1 -0
  54. package/dist-cli-web/assets/GlobalTaskBar-COW_uBX6.css +1 -0
  55. package/dist-cli-web/assets/GroupRelationshipGalaxyView-DEUIrvgz.js +1 -0
  56. package/dist-cli-web/assets/Label-Dgl3ghzT.js +1 -0
  57. package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-CwDIA0UP.js +1 -0
  58. package/dist-cli-web/assets/MessageExportModal-DYjhBuzO.js +1 -0
  59. package/dist-cli-web/assets/PageHeader-CL9AFfvl.js +1 -0
  60. package/dist-cli-web/assets/PageTabs.vue_vue_type_script_setup_true_lang-C22kOxIK.js +1 -0
  61. package/dist-cli-web/assets/{RelationshipGalaxyCanvas-mJhEPzsY.js → RelationshipGalaxyCanvas-BnkcrIpk.js} +3 -3
  62. package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-Bf76yzmQ.js → RelationshipGalaxyThreeCanvas-CqdqveEJ.js} +166 -166
  63. package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-CMuibfiA.css → RelationshipGalaxyThreeCanvas-TYGOUDiv.css} +1 -1
  64. package/dist-cli-web/assets/{RenderTargetSystem-1rM7OF-M.js → RenderTargetSystem-CPwnC2X3.js} +1 -1
  65. package/dist-cli-web/assets/RovingFocusItem-j33Nsbbn.js +1 -0
  66. package/dist-cli-web/assets/ScreenCaptureModal-ByKxzNQe.js +1 -0
  67. package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-C6EHKB_i.js +1 -0
  68. package/dist-cli-web/assets/Select-jVtfc_xc.js +1 -0
  69. package/dist-cli-web/assets/SettingsModal-CjVax3I6.css +1 -0
  70. package/dist-cli-web/assets/SettingsModal-Dg27piEO.js +2 -0
  71. package/dist-cli-web/assets/StorageTab-QdcDqA6Q.js +1 -0
  72. package/dist-cli-web/assets/Switch-DYHM64k9.js +1 -0
  73. package/dist-cli-web/assets/Tabs-B6Nzq2NQ.js +1 -0
  74. package/dist-cli-web/assets/Tabs-CRZdCcU4.js +1 -0
  75. package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-Bsq7gpC0.js +1 -0
  76. package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-BLpQds4F.js +1 -0
  77. package/dist-cli-web/assets/VisuallyHiddenInput-IQpmK9yR.js +1 -0
  78. package/dist-cli-web/assets/{WebGLRenderer-Y0jQtBvK.js → WebGLRenderer-8JHbnkTc.js} +2 -2
  79. package/dist-cli-web/assets/{WebGPURenderer-BcUvCPhd.js → WebGPURenderer-CLWfB4CC.js} +2 -2
  80. package/dist-cli-web/assets/aiChat-4JvxWGXZ.js +8 -0
  81. package/dist-cli-web/assets/base-D6fxqD_X.js +1 -0
  82. package/dist-cli-web/assets/{browserAll-BsR1UaCC.js → browserAll-Cin6ghNg.js} +2 -2
  83. package/dist-cli-web/assets/chatlabSiteLocale-CrCNb8QP.js +1 -0
  84. package/dist-cli-web/assets/clamp-jFYhBC76.js +1 -0
  85. package/dist-cli-web/assets/cli-web-D7IBc3AX.js +1 -0
  86. package/dist-cli-web/assets/{dateFormat-B6JnNCxp.js → dateFormat-Bu4-Ux3L.js} +1 -1
  87. package/dist-cli-web/assets/{fetch-BAJ_VjWE.js → fetch-1NiXh-_B.js} +1 -1
  88. package/dist-cli-web/assets/{fetch-BNcHe2-O.js → fetch-2QEQPA9q.js} +8 -5
  89. package/dist-cli-web/assets/fetch-B2agy1hy.js +1 -0
  90. package/dist-cli-web/assets/{fetch-CPloHijF.js → fetch-B7kuohCt.js} +1 -1
  91. package/dist-cli-web/assets/{fetch-D7vgaLpy.js → fetch-BR71C0K9.js} +1 -1
  92. package/dist-cli-web/assets/{fetch-bdY0RMM3.js → fetch-Bk-7vxHV.js} +1 -1
  93. package/dist-cli-web/assets/fetch-C8tTTsCm.js +1 -0
  94. package/dist-cli-web/assets/{fetch-DtnhbqTN.js → fetch-CuUeyk0N.js} +1 -1
  95. package/dist-cli-web/assets/{fetch-bhHY8rO7.js → fetch-DPRDSI39.js} +1 -1
  96. package/dist-cli-web/assets/{fetch-DGvqctIb.js → fetch-OnnCjzee.js} +1 -1
  97. package/dist-cli-web/assets/{fetch-Clj_RVUD.js → fetch-_CN1EVMt.js} +1 -1
  98. package/dist-cli-web/assets/index-B4J99zv3.css +1 -0
  99. package/dist-cli-web/assets/index-BBeqtL8d.css +1 -0
  100. package/dist-cli-web/assets/index-BCEk6ZpL.js +64 -0
  101. package/dist-cli-web/assets/index-BIHFuCJK.js +1 -0
  102. package/dist-cli-web/assets/index-BUz_Vl9U.js +2 -0
  103. package/dist-cli-web/assets/index-BWZIoPV3.css +1 -0
  104. package/dist-cli-web/assets/index-BYQV3OA5.js +1 -0
  105. package/dist-cli-web/assets/index-CVVv_6qu.js +2 -0
  106. package/dist-cli-web/assets/index-CacwXQL4.js +1 -0
  107. package/dist-cli-web/assets/{index-DMYFpctK.js → index-Colc58j-.js} +3 -3
  108. package/dist-cli-web/assets/index-DImo7TQN.js +1 -0
  109. package/dist-cli-web/assets/index-DV9zQVPV.js +137 -0
  110. package/dist-cli-web/assets/index-DXKS-q-w.css +1 -0
  111. package/dist-cli-web/assets/index-DZc5A4_J.js +1 -0
  112. package/dist-cli-web/assets/index-DkWTvE7d.js +36 -0
  113. package/dist-cli-web/assets/index-DmEn0PAI.js +1 -0
  114. package/dist-cli-web/assets/index-b9eEQeVt.js +1 -0
  115. package/dist-cli-web/assets/index-waDxab2e.css +1 -0
  116. package/dist-cli-web/assets/insight-time-range-MJxLEu6o.js +1 -0
  117. package/dist-cli-web/assets/people-page-header-DNPjaSt4.js +1 -0
  118. package/dist-cli-web/assets/prompt-BgywZQ_g.js +1 -0
  119. package/dist-cli-web/assets/relationship-galaxy-connections-Cg4G5yYE.js +1 -0
  120. package/dist-cli-web/assets/semantic-index-config-builder-bji_UxYE.js +1 -0
  121. package/dist-cli-web/assets/service-DpU9fa-l.js +1 -0
  122. package/dist-cli-web/assets/useFormControl-De24E2zT.js +1 -0
  123. package/dist-cli-web/assets/useTable-C7BH94MF.js +1 -0
  124. package/dist-cli-web/assets/useToast-CxhJkhXK.js +1 -0
  125. package/dist-cli-web/assets/vendor-echarts-DfAMQxdr.js +11 -0
  126. package/dist-cli-web/assets/{vendor-echarts-wordcloud-Ca8n6qS6.js → vendor-echarts-wordcloud-BsaEJTPY.js} +1 -1
  127. package/dist-cli-web/assets/vendor-zrender-PFmZe1EY.js +8 -0
  128. package/dist-cli-web/assets/{webworkerAll-CfZWlukP.js → webworkerAll-BRnv6GvJ.js} +1 -1
  129. package/dist-cli-web/index.html +2 -2
  130. package/package.json +1 -1
  131. package/dist/chunk-2WYXD5ZP.mjs +0 -9451
  132. package/dist/chunk-2WYXD5ZP.mjs.map +0 -1
  133. package/dist/chunk-AWXHYTD5.mjs.map +0 -1
  134. package/dist/chunk-JYBPJWE2.mjs.map +0 -1
  135. package/dist/chunk-QZCNVAH6.mjs +0 -14
  136. package/dist/chunk-QZCNVAH6.mjs.map +0 -1
  137. package/dist/chunk-XIWVJAXH.mjs.map +0 -1
  138. package/dist/chunk-ZVGDOSGG.mjs.map +0 -1
  139. package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-kN3uxTW8.js +0 -110
  140. package/dist-cli-web/assets/CanvasRenderer-Cmjtvski.js +0 -1
  141. package/dist-cli-web/assets/DataDirCleanupNotice-B5tyDzK-.js +0 -1
  142. package/dist-cli-web/assets/EChartWordcloud-Bd3L3G8I.js +0 -1
  143. package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-CKf_gC1k.js +0 -1
  144. package/dist-cli-web/assets/MessageExportModal-ODYCcSnk.js +0 -1
  145. package/dist-cli-web/assets/PageHeader-Bn7Jn8JW.js +0 -1
  146. package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-CADZpPia.js +0 -1
  147. package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-I3FYjhfs.js +0 -1
  148. package/dist-cli-web/assets/annual-summary-time-range-BIADd8qE.js +0 -1
  149. package/dist-cli-web/assets/base-BpxxC5Z5.js +0 -1
  150. package/dist-cli-web/assets/cli-web-BiWUOncc.js +0 -1
  151. package/dist-cli-web/assets/fetch-DSxgaVBO.js +0 -1
  152. package/dist-cli-web/assets/index-B6Gq11lw.css +0 -1
  153. package/dist-cli-web/assets/index-BJ2lywiG.js +0 -1
  154. package/dist-cli-web/assets/index-BT3_fSP6.js +0 -2
  155. package/dist-cli-web/assets/index-BVZhP1J5.js +0 -1
  156. package/dist-cli-web/assets/index-Br8r4pu8.js +0 -1
  157. package/dist-cli-web/assets/index-Byok4VaA.css +0 -1
  158. package/dist-cli-web/assets/index-CKnnxOci.js +0 -1
  159. package/dist-cli-web/assets/index-CXnYfvTv.js +0 -137
  160. package/dist-cli-web/assets/index-CsFLLk3T.css +0 -1
  161. package/dist-cli-web/assets/index-CzoOQ7zg.js +0 -1
  162. package/dist-cli-web/assets/index-D-dTTUGj.js +0 -1
  163. package/dist-cli-web/assets/index-DEbvEKzi.js +0 -2
  164. package/dist-cli-web/assets/index-KO7uPd8W.js +0 -64
  165. package/dist-cli-web/assets/index-ZsZwPLWy.css +0 -1
  166. package/dist-cli-web/assets/index-lkmJ6dI7.js +0 -1
  167. package/dist-cli-web/assets/index-y7xPDpsW.js +0 -53
  168. package/dist-cli-web/assets/people-page-header-gjTyODWs.js +0 -1
  169. package/dist-cli-web/assets/vendor-echarts-B-i_56Av.js +0 -11
  170. package/dist-cli-web/assets/vendor-zrender-5DcYjSZk.js +0 -8
  171. /package/dist/{chat-command-QH7DXCAJ.mjs.map → chat-command-SXW67RF7.mjs.map} +0 -0
  172. /package/dist/{chunk-SWUTRDGZ.mjs.map → chunk-AAGDVTP2.mjs.map} +0 -0
  173. /package/dist/{chunk-2Q3HHVTS.mjs.map → chunk-CNEWMCGX.mjs.map} +0 -0
  174. /package/dist/{chunk-3X26JJIP.mjs.map → chunk-GVW3BDGZ.mjs.map} +0 -0
  175. /package/dist/{chunk-WJVE5Q4Y.mjs.map → chunk-JHON5FN7.mjs.map} +0 -0
  176. /package/dist/{chunk-6U2QZO3N.mjs.map → chunk-UNIKQFI5.mjs.map} +0 -0
  177. /package/dist/{chunk-C2PD3BS7.mjs.map → chunk-VDWI4A4U.mjs.map} +0 -0
  178. /package/dist/{chunk-AWGXYFIC.mjs.map → chunk-XDF6PMVZ.mjs.map} +0 -0
  179. /package/dist/{http-D2F4QTQW.mjs.map → http-LVOGJFDL.mjs.map} +0 -0
  180. /package/dist/{import-H7X2JU2O.mjs.map → import-7OU57ZHM.mjs.map} +0 -0
  181. /package/dist/{mcp-UURXRGDF.mjs.map → mcp-CUKHTTII.mjs.map} +0 -0
  182. /package/dist/{src-MHCO4HYY.mjs.map → src-LORFXAUE.mjs.map} +0 -0
  183. /package/dist/{stream-import-BHXACUCA.mjs.map → stream-import-7YUWIAD6.mjs.map} +0 -0
  184. /package/dist/{worker-runtime-JOUCP2L4.mjs.map → worker-runtime-GQ5SY7E3.mjs.map} +0 -0
@@ -0,0 +1 @@
1
+ import{a,a0 as n,h as o,l as e,D as c,v as r,e as i,o as m,a2 as _}from"./index-DkWTvE7d.js";import"./vendor-snapdom--nZvo8Sg.js";const p={class:"flex min-h-0 flex-1 items-center justify-center px-6 py-12"},l={class:"text-center text-sm text-gray-500 dark:text-gray-400"},g=a({__name:"index",setup(x){const{t}=n();return(d,u)=>{const s=_;return m(),o("main",p,[e("div",l,[c(s,{name:"i-lucide-git-compare-arrows",class:"mx-auto mb-3 h-8 w-8 text-pink-500"}),e("p",null,r(i(t)("insight.reserved")),1)])])}}});export{g as default};
@@ -0,0 +1 @@
1
+ import{a as ke,a0 as be,c as re,w as T,az as Tt,o as c,h as f,l as a,v as o,e as r,D as y,F as q,q as he,s as E,a3 as _e,a4 as J,f as u,a2 as Se,ae as De,ad as Lt,a1 as $t,bi as It,i as O,B as Ft,C as Pt,r as b,an as Mt,Y as zt,aj as Z,n as U,bj as At,au as Nt,H as Be,bv as Et}from"./index-DkWTvE7d.js";import{_ as Bt}from"./Tabs-B6Nzq2NQ.js";import{u as jt}from"./useToast-CxhJkhXK.js";import{_ as Vt}from"./ThemeCard.vue_vue_type_script_setup_true_lang-Bsq7gpC0.js";import{_ as Dt}from"./LoadingState.vue_vue_type_script_setup_true_lang-CwDIA0UP.js";import{_ as Gt}from"./SectionTabs.vue_vue_type_script_setup_true_lang-C6EHKB_i.js";import{u as Ot}from"./people-page-header-DNPjaSt4.js";import"./vendor-snapdom--nZvo8Sg.js";import"./RovingFocusItem-j33Nsbbn.js";const Ut={key:0,class:"flex h-full w-[420px] max-w-[80vw] shrink-0 flex-col border-l border-gray-200 bg-white dark:border-gray-800 dark:bg-page-dark",style:{"-webkit-app-region":"no-drag"}},qt={class:"flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-800"},Rt={class:"text-base font-semibold text-gray-900 dark:text-white"},Ht={key:0,class:"flex min-h-0 flex-1 items-center justify-center gap-2 text-sm text-gray-400 dark:text-gray-500"},Kt={key:1,class:"min-h-0 flex-1 overflow-y-auto"},Yt={class:"px-5 py-5"},Qt={class:"flex items-start gap-4"},Wt={class:"relative shrink-0"},Xt=["src","alt"],Zt={key:1,class:"flex h-16 w-16 items-center justify-center rounded-2xl bg-gradient-to-br from-gray-155 to-gray-200 text-lg font-bold text-gray-700 dark:from-gray-800 dark:to-page-dark dark:text-gray-200"},Jt={class:"min-w-0 flex-1 pt-1"},ea={class:"truncate text-lg font-bold tracking-tight text-gray-900 dark:text-white"},ta={class:"mt-1 truncate font-mono text-xs text-gray-400 dark:text-gray-500"},aa={key:0,class:"mt-2 flex flex-wrap gap-1.5"},na={key:1,class:"mt-3 flex flex-wrap items-center gap-2"},sa={class:"border-t border-gray-100 px-5 py-4 dark:border-white/5"},oa={class:"mb-3 text-[10px] font-bold uppercase tracking-wider text-gray-400 dark:text-gray-500"},ra={class:"space-y-2.5"},ia={class:"flex items-center justify-between gap-2"},la={class:"truncate text-xs font-semibold text-gray-700 dark:text-gray-300"},ca={class:"flex items-center gap-1 text-[10px] font-bold text-gray-400 transition group-hover/item:text-pink-500 dark:text-gray-500"},da={class:"mt-1.5 truncate text-[11px] font-medium text-gray-400 dark:text-gray-500"},ua={class:"mt-2 flex flex-wrap gap-1.5"},fa=ke({__name:"ContactDetailPanel",props:{selectedKey:{},contact:{},isLoading:{type:Boolean},isFriendActionLoading:{type:Boolean}},emits:["clear","openSource","viewSourceRecords","markFriend","unmarkFriend"],setup(n,{emit:s}){const h=n,S=s,{t:C}=be(),A=u(()=>{const p=h.contact;if(!p)return[];const v=new Set([p.displayName.trim().toLowerCase(),p.platformId.trim().toLowerCase()]);return p.aliases.filter(w=>!v.has(w.trim().toLowerCase()))}),I=u(()=>h.contact?.pool==="non_friend"),F=u(()=>h.contact?.friendSource==="manual"),B=u(()=>I.value||F.value);function P(p){return p.displayName.trim().slice(0,1).toUpperCase()||"?"}return(p,v)=>{const w=_e,R=Se;return c(),re(Tt,{name:"contact-detail-panel"},{default:T(()=>[n.selectedKey?(c(),f("aside",Ut,[a("div",qt,[a("h3",Rt,o(r(C)("contacts.detail.title")),1),y(w,{"aria-label":r(C)("contacts.actions.clearSelection"),icon:"i-heroicons-x-mark",color:"neutral",variant:"ghost",size:"sm",onClick:v[0]||(v[0]=x=>S("clear"))},null,8,["aria-label"])]),n.isLoading?(c(),f("div",Ht,[y(R,{name:"i-lucide-loader-2",class:"h-4 w-4 animate-spin"}),a("span",null,o(r(C)("common.loading")),1)])):n.contact?(c(),f("div",Kt,[a("section",Yt,[a("div",Qt,[a("div",Wt,[n.contact.avatar?(c(),f("img",{key:0,src:n.contact.avatar,alt:n.contact.displayName,loading:"lazy",decoding:"async",class:"h-16 w-16 rounded-2xl object-cover shadow-sm ring-2 ring-white dark:ring-page-dark"},null,8,Xt)):(c(),f("div",Zt,o(P(n.contact)),1))]),a("div",Jt,[a("h2",ea,o(n.contact.displayName),1),a("p",ta,o(n.contact.platform)+" · "+o(n.contact.platformId),1),A.value.length>0?(c(),f("div",aa,[(c(!0),f(q,null,he(A.value.slice(0,4),x=>(c(),f("span",{key:x,class:"max-w-full truncate rounded-md bg-gray-100 px-2 py-0.5 text-[11px] font-medium text-gray-500 dark:bg-white/5 dark:text-gray-400"},o(x),1))),128))])):E("",!0),B.value?(c(),f("div",na,[I.value?(c(),re(w,{key:0,icon:"i-lucide-user-plus",color:"primary",variant:"soft",size:"xs",loading:n.isFriendActionLoading,onClick:v[1]||(v[1]=x=>S("markFriend"))},{default:T(()=>[J(o(r(C)("contacts.actions.markFriend")),1)]),_:1},8,["loading"])):F.value?(c(),re(w,{key:1,icon:"i-lucide-user-minus",color:"neutral",variant:"soft",size:"xs",loading:n.isFriendActionLoading,onClick:v[2]||(v[2]=x=>S("unmarkFriend"))},{default:T(()=>[J(o(r(C)("contacts.actions.unmarkFriend")),1)]),_:1},8,["loading"])):E("",!0)])):E("",!0)])])]),a("section",sa,[a("h3",oa,o(r(C)("contacts.detail.sources")),1),a("div",ra,[(c(!0),f(q,null,he(n.contact.sourceSessions,x=>(c(),f("div",{key:x.id,class:"w-full rounded-2xl border border-gray-100 bg-white/40 px-3.5 py-3 text-left transition duration-300 hover:border-gray-200 dark:border-white/5 dark:bg-page-dark/10 dark:hover:border-white/10"},[a("div",ia,[a("span",la,o(x.name),1),a("span",ca,o(x.type==="private"?r(C)("contacts.detail.sourceType.private"):r(C)("contacts.detail.sourceType.group")),1)]),a("div",da,o(x.privateMessageCount!=null?r(C)("contacts.metrics.privateMessages",{count:x.privateMessageCount}):r(C)("contacts.metrics.groupSignals",{count:x.coOccurrenceCount??0})),1),a("div",ua,[y(w,{icon:"i-lucide-arrow-up-right",color:"primary",variant:"soft",size:"xs",onClick:j=>S("openSource",x)},{default:T(()=>[J(o(r(C)("contacts.actions.openSourceSession")),1)]),_:1},8,["onClick"]),y(w,{icon:"i-lucide-messages-square",color:"primary",variant:"soft",size:"xs",onClick:j=>S("viewSourceRecords",x)},{default:T(()=>[J(o(r(C)("contacts.actions.viewSourceRecords")),1)]),_:1},8,["onClick"])])]))),128))])])])):E("",!0)])):E("",!0)]),_:1})}}}),ma=De(fa,[["__scopeId","data-v-4df1b50a"]]),pa={key:0,class:"flex items-center gap-3.5 rounded-2xl border border-amber-200/60 bg-amber-50/40 p-4 text-sm text-amber-800 backdrop-blur-sm dark:border-amber-900/40 dark:bg-amber-950/10 dark:text-amber-200"},ga={class:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-amber-100/80 dark:bg-amber-950/50"},va={class:"font-medium"},xa={key:1,class:"flex flex-col gap-4 rounded-2xl border border-zinc-200/80 bg-zinc-50/60 p-4 text-sm text-zinc-700 backdrop-blur-sm dark:border-zinc-800/80 dark:bg-page-dark/40 dark:text-zinc-300 sm:flex-row sm:items-center sm:justify-between"},ya={class:"flex items-center gap-3.5"},ha={class:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-zinc-100 dark:bg-zinc-800/80"},ka={class:"font-medium"},ba={class:"flex items-center shrink-0 self-end sm:self-center"},_a={key:2,class:"flex flex-col gap-4 rounded-2xl border border-red-200/60 bg-red-50/40 p-4 text-sm text-red-700 backdrop-blur-sm dark:border-red-900/40 dark:bg-red-950/10 dark:text-red-300 sm:flex-row sm:items-center sm:justify-between"},Sa={class:"flex min-w-0 items-center gap-3.5"},wa={class:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-red-100/80 dark:bg-red-950/50"},Ca={class:"truncate font-medium"},Ta={class:"flex items-center shrink-0 self-end sm:self-center"},La=ke({__name:"ContactsStatusBlocks",props:{showDisabledNotice:{type:Boolean},activePrivateSessionCount:{},cacheStatus:{},taskFailed:{type:Boolean},taskLastError:{},isTaskRunning:{type:Boolean},isRecomputing:{type:Boolean}},emits:["recompute"],setup(n,{emit:s}){const h=s,{t:S}=be();return(C,A)=>{const I=Se,F=_e;return c(),f(q,null,[n.showDisabledNotice?(c(),f("div",pa,[a("div",ga,[y(I,{name:"i-lucide-alert-triangle",class:"h-5 w-5 text-amber-500"})]),a("span",va,o(r(S)("contacts.disabled",{count:n.activePrivateSessionCount})),1)])):E("",!0),n.cacheStatus==="stale"&&!n.isTaskRunning?(c(),f("div",xa,[a("div",ya,[a("div",ha,[y(I,{name:"i-lucide-history",class:"h-5 w-5 text-zinc-500 dark:text-zinc-400"})]),a("span",ka,o(r(S)("contacts.stale.inline")),1)]),a("div",ba,[y(F,{size:"sm",color:"primary",variant:"soft",class:"rounded-xl px-4 font-medium",loading:n.isRecomputing||n.isTaskRunning,disabled:n.isTaskRunning,onClick:A[0]||(A[0]=B=>h("recompute"))},{default:T(()=>[J(o(r(S)("contacts.actions.recompute")),1)]),_:1},8,["loading","disabled"])])])):E("",!0),n.taskFailed?(c(),f("div",_a,[a("div",Sa,[a("div",wa,[y(I,{name:"i-lucide-alert-circle",class:"h-5 w-5 text-red-500"})]),a("span",Ca,o(n.taskLastError||r(S)("contacts.task.failed")),1)]),a("div",Ta,[y(F,{size:"sm",color:"error",variant:"soft",class:"rounded-xl px-4 font-medium",onClick:A[1]||(A[1]=B=>h("recompute"))},{default:T(()=>[J(o(r(S)("contacts.task.retry")),1)]),_:1})])])):E("",!0)],64)}}});function $a(n){return!!n.diagnostics&&!n.showLoadingState&&!n.diagnostics.contactsEnabled}function Ia(n){return n.previousScrollTop}function je(n){return n!=="friend"}function Fa(n){return n.friendInitialLoading||n.groupmateInitialLoading}function Pa(n){return n.activeSection==="non_friend"||n.friendSectionReady}function Ma(n){return n.friendInitialLoading||n.groupmateInitialLoading||n.completionProgressVisible===!0||n.activeTaskStatus==="running"||n.friendTaskStatus==="running"||n.groupmateTaskStatus==="running"}function za(n){return n.previousStatus==="running"&&n.nextStatus==="succeeded"&&n.nextTotalSessions>0&&n.nextProcessedSessions>=n.nextTotalSessions&&n.previousProcessedSessions<n.nextTotalSessions}function Aa(n){return n.friendTaskStatus==="running"||n.groupmateTaskStatus==="running"?["friend","non_friend"]:[n.activePool]}function Na(n){const s=[{type:"section",key:"section:friend",pool:"friend"}];return s.push(...n.friends.map(h=>({type:"contact",key:h.key,pool:"friend",contact:h}))),n.friendLoadingMore&&s.push({type:"loading",key:"loading:friend",pool:"friend"}),n.showGroupSection&&(s.push({type:"section",key:"section:non_friend",pool:"non_friend"}),s.push(...n.groupmates.map(h=>({type:"contact",key:h.key,pool:"non_friend",contact:h}))),n.groupmateLoadingMore&&s.push({type:"loading",key:"loading:non_friend",pool:"non_friend"})),s}const Ea={class:"flex min-h-0 flex-1 flex-col text-gray-900 dark:bg-page-dark dark:text-gray-100"},Ba={class:"flex min-w-0 flex-1 flex-wrap items-center justify-end gap-2 py-1.5 xl:py-0"},ja={class:"flex min-h-0 flex-1 overflow-hidden"},Va={class:"min-h-0 min-w-0 flex-1 overflow-hidden"},Da={class:"flex h-full min-h-0 w-full flex-col gap-6 px-6 pb-3 pt-4"},Ga={class:"flex min-h-0 flex-1 flex-col gap-4"},Oa={key:1,class:"rounded-2xl border border-red-200 bg-red-50/50 p-4 text-sm text-red-700 dark:border-red-900/30 dark:bg-red-950/20 dark:text-red-300"},Ua={key:2,class:"min-h-0 flex-1"},qa={key:0,class:"flex flex-col items-center justify-center rounded-3xl border border-dashed border-gray-250 p-16 text-center dark:border-white/5"},Ra={class:"flex h-12 w-12 items-center justify-center rounded-2xl bg-gray-50 text-gray-400 dark:bg-white/5 dark:text-gray-500"},Ha={class:"mt-4 text-sm font-medium text-gray-400 dark:text-gray-500"},Ka={class:"shrink-0 overflow-hidden border-b border-gray-100 bg-white dark:border-white/5 dark:bg-[#202024]"},Ya={class:"flex min-w-0 items-center justify-end gap-1 text-right"},Qa={class:"truncate"},Wa={class:"max-w-[280px] whitespace-normal break-words text-left text-xs leading-5"},Xa={class:"flex min-w-0 items-center justify-end gap-1 text-right"},Za={class:"truncate"},Ja={class:"max-w-[280px] whitespace-normal break-words text-left text-xs leading-5"},en=["aria-label","onClick"],tn={class:"group flex min-w-0 w-full items-center gap-3"},an={class:"relative shrink-0 overflow-hidden rounded-lg"},nn=["src","alt"],sn={key:1,class:"flex h-10 w-10 items-center justify-center bg-gradient-to-br from-gray-50 to-gray-100 text-sm font-bold text-gray-500 transition-transform duration-300 group-hover:scale-105 dark:from-gray-800 dark:to-gray-800/60 dark:text-gray-400"},on={class:"min-w-0 flex-1"},rn={class:"flex min-w-0 items-center gap-1"},ln={class:"mt-1 inline-flex items-center rounded bg-gray-50 px-1.5 py-0.5 font-mono text-[9px] font-semibold uppercase tracking-wider text-gray-400 dark:bg-white/5 dark:text-gray-500"},cn={class:"contact-table-value"},dn={class:"contact-table-value"},un={class:"contact-table-value"},fn={class:"contact-table-value"},mn=100,Ve=69,pn=20,gn=ke({__name:"index",setup(n){const{t:s}=be(),h=jt(),S=Lt(),C=$t(),A=Nt(),I=b(!1),F=b(""),B=b(""),P=b("1y"),p=b("friend"),v=b(null),w=b(null),R=b(!1),x=b(!1),j=b(null),fe=b(!1),H=b(null),ee=b(null),te=b(null),M=b(null),ae={friend:null,non_friend:null},K=b(!1),Y=b(null),we=b(0),ne=b({});function me(){return{items:[],response:null,page:0,total:0,hasMore:!1,isLoadingInitial:!1,isLoadingMore:!1,error:"",requestId:0,scrollOffset:0}}const V=b({friend:me(),non_friend:me()}),ie=u(()=>V.value[p.value]),k=u(()=>V.value.friend),m=u(()=>V.value.non_friend),Ce=u(()=>!!k.value.response&&!k.value.hasMore&&!k.value.isLoadingInitial),pe=u(()=>Pa({activeSection:p.value,friendSectionReady:Ce.value,groupmateHasItems:m.value.items.length>0,groupmateLoading:m.value.isLoadingInitial||m.value.isLoadingMore})),N=u(()=>Na({friends:k.value.items,groupmates:m.value.items,showGroupSection:pe.value,friendLoadingMore:k.value.isLoadingMore,groupmateLoadingMore:m.value.isLoadingInitial||m.value.isLoadingMore})),le=u(()=>ie.value.response??k.value.response??m.value.response),ge=u(()=>[ie.value.response,k.value.response,m.value.response].find(e=>e?.task?.status==="running")??le.value),Ge=u(()=>k.value.items.length+m.value.items.length>0),Oe=u(()=>!Ge.value&&!!k.value.response&&!!m.value.response&&!k.value.hasMore&&!m.value.hasMore&&!k.value.isLoadingInitial&&!m.value.isLoadingInitial),Te=u(()=>k.value.error||m.value.error),ve=u(()=>le.value?.diagnostics),z=u(()=>ge.value?.task),ce=u(()=>H.value??z.value),Q=u(()=>z.value?.status==="running"),Ue=u(()=>z.value?.status==="failed"),Le=u(()=>Ma({activeTaskStatus:ie.value.response?.task?.status,friendTaskStatus:k.value.response?.task?.status,groupmateTaskStatus:m.value.response?.task?.status,friendInitialLoading:k.value.isLoadingInitial,groupmateInitialLoading:m.value.isLoadingInitial,completionProgressVisible:H.value!==null})),qe=u(()=>H.value?s("contacts.task.running",{current:ce.value?.processedSessions??0,total:ce.value?.totalSessions??0}):ge.value?.cache.status==="stale"&&Q.value?s("contacts.task.updating"):ge.value?.cache.status==="missing"&&Q.value?s("contacts.task.running",{current:ce.value?.processedSessions??0,total:ce.value?.totalSessions??0}):s("common.loading")),Re=u(()=>$a({diagnostics:ve.value,showLoadingState:Le.value})),se=u(()=>{const e=le.value?.stats,t=e?.friendsTotal??0,i=e?.nonFriendsTotal??0;return{total:t+i,friends:t,nonFriends:i}}),He=u(()=>[{id:"friend",label:`${s("contacts.tabs.friends")} ${se.value.friends.toLocaleString()}`,icon:"i-heroicons-user"},{id:"non_friend",label:`${s("contacts.tabs.groupContacts")} ${se.value.nonFriends.toLocaleString()}`,icon:"i-heroicons-user-group"}]),Ke=u(()=>Et.map(e=>({label:s(`contacts.timeRange.${e}`),value:e}))),de=It(u(()=>({count:N.value.length,getScrollElement:()=>Y.value,estimateSize:e=>Je(N.value[e]),overscan:10,getItemKey:e=>N.value[e]?.key??e}))),xe=u(()=>de.value.getVirtualItems()),Ye=u(()=>de.value.getTotalSize());O(F,e=>{te.value&&clearTimeout(te.value),te.value=setTimeout(()=>{B.value=e.trim()},300)}),O(()=>z.value?.status,()=>Pe()),O(()=>({status:z.value?.status,processedSessions:z.value?.processedSessions??0,totalSessions:z.value?.totalSessions??0}),(e,t)=>{e.status==="running"&&ue(),z.value&&za({previousStatus:t?.status,nextStatus:e.status,previousProcessedSessions:t?.processedSessions??0,nextProcessedSessions:e.processedSessions,nextTotalSessions:e.totalSessions})&&rt(z.value)}),O([B,P],()=>{nt(),$e()}),O(()=>N.value.length,()=>{de.value.measure()}),O(xe,()=>{Ze()},{flush:"post"}),O(N,()=>{v.value&&(k.value.items.some(e=>e.key===v.value)||m.value.items.some(e=>e.key===v.value)||oe())}),Ft(()=>{$e()}),Pt(()=>{Me(),ue(),te.value&&clearTimeout(te.value),M.value&&clearTimeout(M.value)});async function D(e,t){const i=W(e,1,{...t,replace:!0});ae[e]=i;try{await i}finally{ae[e]===i&&(ae[e]=null)}}async function $e(){await Promise.all([D("friend"),D("non_friend")])}async function Ie(e){const t=V.value[e];!t.hasMore||t.isLoadingInitial||t.isLoadingMore||await W(e,t.page+1,{acceptStale:!0,replace:!1})}async function W(e,t,i){const d=V.value[e],_=i?.replace!==!1,L=d.requestId+1;d.requestId=L,d.error="",i?.silent||(_?d.isLoadingInitial=d.items.length===0:d.isLoadingMore=!0);try{const $={acceptStale:i?.acceptStale,timeRangePreset:P.value,pool:e,page:t,pageSize:mn,query:B.value||void 0},l=i?.force?await S.recomputeContacts($):await S.getContacts($);if(d.requestId!==L)return;We(d,l,_,{preserveExisting:i?.preserveExisting}),Pe()}catch($){if(d.requestId===L&&(d.error=String($)),i?.throwOnError)throw $}finally{d.requestId===L&&(d.isLoadingInitial=!1,d.isLoadingMore=!1)}}async function Fe(){I.value=!0;try{await W(p.value,1,{acceptStale:!0,force:!0,replace:!0,throwOnError:!0}),h.success(s("contacts.toast.recomputeStarted"))}catch(e){h.fail(s("contacts.toast.recomputeFailed"),{description:String(e)})}finally{I.value=!1}}const Qe=u(()=>({title:s("layout.relationships"),description:s("contacts.subtitle",{count:ve.value?.privateSessionCount??0}),icon:"i-lucide-users",iconClass:"bg-primary-600 text-white dark:bg-primary-500 dark:text-white shadow-sm",action:{label:s("contacts.actions.recompute"),icon:"i-lucide-refresh-cw",loading:I.value,disabled:Q.value,class:"border border-pink-100 hover:border-pink-200 dark:border-pink-950/30 dark:hover:border-pink-900/50",onClick:Fe},stats:[{id:"total",label:s("contacts.stats.total"),value:se.value.total.toLocaleString()},{id:"friends",label:s("contacts.stats.friends"),value:se.value.friends.toLocaleString()},{id:"nonFriends",label:s("contacts.stats.nonFriends"),value:se.value.nonFriends.toLocaleString(),dividerBefore:!0}]}));Ot(Qe);function We(e,t,i,d){const _=e.response?.cache.signature,L=t.cache.signature,$=!!_&&!!L&&_!==L;if(e.response=t,e.total=t.pagination.total,d?.preserveExisting&&!$&&e.items.length>0){e.hasMore=e.items.length<t.pagination.total;return}e.page=t.pagination.page,e.hasMore=t.pagination.hasMore,e.items=i||$?t.contacts:Xe(e.items,t.contacts),$&&oe()}function Xe(e,t){const i=new Set(e.map(_=>_.key)),d=[...e];for(const _ of t)i.has(_.key)||(i.add(_.key),d.push(_));return d}function Ze(){const t=xe.value.at(-1);if(!t||t.index<N.value.length-pn)return;if(G(t.index).pool==="friend"){if(k.value.hasMore){Ie("friend");return}Ce.value&&!m.value.response&&!m.value.isLoadingInitial&&D("non_friend");return}if(!m.value.response&&!m.value.isLoadingInitial){D("non_friend");return}m.value.hasMore&&Ie("non_friend")}function G(e){return N.value[e]}function g(e){return G(e)}function Je(e){return e?.type==="section"?e.pool==="non_friend"?42:1:e?.type==="loading"?44:Ve}async function et(e){const t=e==="non_friend"?"non_friend":"friend";p.value=t,K.value=!0,M.value&&clearTimeout(M.value),t==="non_friend"&&await tt(),await Be();const i=N.value.findIndex(d=>d.type==="section"&&d.pool===t);if(i>=0){const d=t==="non_friend"?Math.min(i+1,N.value.length-1):i;de.value.scrollToIndex(d,{align:"start"})}M.value=setTimeout(()=>{K.value=!1,p.value=t},350)}async function tt(){!m.value.response&&!m.value.isLoadingInitial&&await D("non_friend",{acceptStale:!0}),await at()}async function at(e){if(!Fa({friendInitialLoading:k.value.isLoadingInitial,groupmateInitialLoading:m.value.isLoadingInitial}))return;const t=[ae.friend,ae.non_friend].filter(i=>!!i);t.length!==0&&await Promise.allSettled(t)}function nt(){K.value=!1,M.value&&clearTimeout(M.value),ue();for(const e of["friend","non_friend"])V.value[e].requestId++,V.value[e]=me();oe(),ne.value={},Y.value&&(Y.value.scrollTop=0)}function Pe(){Q.value?st():Me()}function st(){j.value||(j.value=setInterval(()=>{ot()},1500))}async function ot(){if(!fe.value){fe.value=!0;try{const e=Aa({activePool:p.value,friendTaskStatus:k.value.response?.task?.status,groupmateTaskStatus:m.value.response?.task?.status});await Promise.all(e.map(t=>W(t,1,{acceptStale:!0,replace:!0,preserveExisting:!0,silent:!0})))}finally{fe.value=!1}}}function Me(){j.value&&(clearInterval(j.value),j.value=null)}function rt(e){ue(),H.value={...e,processedSessions:e.totalSessions},ee.value=setTimeout(()=>{H.value=null,ee.value=null},450)}function ue(){ee.value&&(clearTimeout(ee.value),ee.value=null),H.value=null}async function it(e){v.value=e.key,await ze(e.key)}async function ze(e,t){const i=`${P.value}:${e}`,d=ne.value[i];if(d&&!t?.skipCache){w.value=d;return}w.value=null,R.value=!0;try{const _=await S.getContactDetail(e,{acceptStale:!0,timeRangePreset:P.value});if(v.value!==e)return;w.value=_.contact,_.contact&&(ne.value={...ne.value,[i]:_.contact})}catch(_){h.fail(s("contacts.toast.recomputeFailed"),{description:String(_)})}finally{v.value===e&&(R.value=!1)}}async function lt(){const e=w.value?.key;if(!(!e||x.value)){x.value=!0;try{await S.markContactAsFriend(e,{timeRangePreset:P.value}),h.success(s("contacts.toast.markFriendSucceeded")),await Ae(e)}catch(t){h.fail(s("contacts.toast.markFriendFailed"),{description:String(t)})}finally{x.value=!1}}}async function ct(){const e=w.value?.key;if(!(!e||x.value)){x.value=!0;try{await S.unmarkContactAsFriend(e,{timeRangePreset:P.value}),h.success(s("contacts.toast.unmarkFriendSucceeded")),await Ae(e)}catch(t){h.fail(s("contacts.toast.unmarkFriendFailed"),{description:String(t)})}finally{x.value=!1}}}async function Ae(e){const t=p.value,i=Y.value?.scrollTop??0,d=w.value?.pool??t;if(ne.value={},d==="non_friend"){dt(e),oe(),await Ee(t,i),await ut();return}await Promise.all([D("friend",{acceptStale:!0}),D("non_friend",{acceptStale:!0})]),v.value=e,await ze(e,{skipCache:!0}),await Ee(t,i)}function dt(e){const t=m.value,i=t.items.filter(d=>d.key!==e);i.length!==t.items.length&&(t.items=i,t.total=Math.max(0,t.total-1),t.hasMore=t.items.length<t.total)}async function ut(){await Promise.all([W("friend",1,{acceptStale:!0,replace:!0,preserveExisting:je("friend"),silent:!0}),W("non_friend",1,{acceptStale:!0,replace:!0,preserveExisting:je("non_friend"),silent:!0})])}function oe(){v.value=null,w.value=null,R.value=!1}function ft(e){return e.friendSource==="manual"?s("contacts.pool.manualFriend"):e.pool==="friend"?s("contacts.pool.friend"):s("contacts.pool.nonFriend")}function mt(e){return e.friendSource==="manual"?"bg-indigo-50 text-indigo-600 dark:bg-indigo-500/10 dark:text-indigo-400 border border-indigo-100/50 dark:border-indigo-500/20":e.pool==="friend"?"bg-sky-50 text-sky-600 dark:bg-sky-500/10 dark:text-sky-400 border border-sky-100/50 dark:border-sky-500/20":"bg-emerald-50 text-emerald-600 dark:bg-emerald-500/10 dark:text-emerald-400 border border-emerald-100/50 dark:border-emerald-500/20"}function ye(e){return e==="friend"?"contact-table-grid--friends":"contact-table-grid--group-contacts"}function pt(e,t){return X(e==="friend"?t.scoreBreakdown.privateMessageCount:t.scoreBreakdown.commonGroupCount)}function gt(e,t){return X(e==="friend"?t.scoreBreakdown.activePrivateMonths:t.scoreBreakdown.coOccurrenceCount)}function vt(e,t){return X(e==="friend"?t.scoreBreakdown.commonGroupCount:t.scoreBreakdown.replyInteractionCount)}function xt(e){return(e.displayName||e.platformId||"?").slice(0,1)}function yt(e){return Math.round(e*100).toString()}function ht(e){return e.friendSource==="manual"?"-":yt(e.score)}function X(e){return String(e??0)}function kt(e){return e?new Date(e*1e3).toLocaleDateString():s("contacts.emptyValue")}function bt(e){A.push({name:e.type==="private"?"private-chat":"group-chat",params:{id:e.id}})}function _t(e){C.openChatRecordDrawer({sessionId:e.id})}function St(e){const t=e.target;if(ie.value.scrollOffset=t.scrollTop,we.value=t.scrollLeft,K.value)return;const i=wt(t);p.value!==i&&(p.value=i)}function wt(e){return pe.value&&e.scrollTop>=Ne()?"non_friend":"friend"}function Ne(){return 1+k.value.items.length*Ve+(k.value.isLoadingMore?44:0)}async function Ee(e,t){p.value=e,await Be();const i=Y.value;i&&(K.value=!0,M.value&&clearTimeout(M.value),i.scrollTop=Ia({previousScrollTop:t,groupSectionScrollTop:Ct()}),M.value=setTimeout(()=>{K.value=!1,p.value=e},150))}function Ct(){return pe.value?Ne():null}return(e,t)=>{const i=Bt,d=_e,_=Mt,L=Se,$=At;return c(),f("div",Ea,[y(r(Gt),{modelValue:p.value,"onUpdate:modelValue":t[3]||(t[3]=l=>p.value=l),items:He.value,"persist-key":"contactsTab",onChange:et},{right:T(()=>[a("div",Ba,[y(i,{modelValue:P.value,"onUpdate:modelValue":t[0]||(t[0]=l=>P.value=l),items:Ke.value,content:!1,size:"xs",class:"min-w-max gap-0 bg-transparent dark:bg-transparent shadow-none",disabled:Q.value},null,8,["modelValue","items","disabled"]),y(_,{modelValue:F.value,"onUpdate:modelValue":t[2]||(t[2]=l=>F.value=l),icon:"i-lucide-search",placeholder:r(s)("contacts.search"),size:"sm",class:"w-full sm:w-36"},zt({_:2},[F.value?{name:"trailing",fn:T(()=>[y(d,{icon:"i-heroicons-x-mark",variant:"link",color:"neutral",size:"xs","aria-label":r(s)("contacts.actions.clearSearch"),onClick:t[1]||(t[1]=l=>F.value="")},null,8,["aria-label"])]),key:"0"}:void 0]),1032,["modelValue","placeholder"])])]),_:1},8,["modelValue","items"]),a("div",ja,[a("main",Va,[a("div",Da,[y(La,{"show-disabled-notice":Re.value,"active-private-session-count":ve.value?.activePrivateSessionCount??0,"cache-status":le.value?.cache.status,"task-failed":Ue.value,"task-last-error":z.value?.lastError,"is-task-running":Q.value,"is-recomputing":I.value,onRecompute:Fe},null,8,["show-disabled-notice","active-private-session-count","cache-status","task-failed","task-last-error","is-task-running","is-recomputing"]),a("section",Ga,[Le.value?(c(),re(r(Dt),{key:0,text:qe.value,height:"py-16"},null,8,["text"])):Te.value?(c(),f("div",Oa,o(Te.value),1)):(c(),f("div",Ua,[Oe.value?(c(),f("div",qa,[a("div",Ra,[y(L,{name:"i-lucide-users-2",class:"h-6 w-6"})]),a("p",Ha,o(r(s)("contacts.empty")),1)])):(c(),re(r(Vt),{key:1,shadow:!1,class:"flex h-full min-w-0 flex-col"},{default:T(()=>[a("div",Ka,[a("div",{class:U(["contact-table-grid min-w-[720px] px-4 py-3 text-[11px] font-bold uppercase tracking-wider text-gray-400 dark:text-gray-500",ye(p.value)]),style:Z({transform:`translateX(-${we.value}px)`})},[a("span",null,o(r(s)("contacts.table.contact")),1),a("span",null,o(r(s)("contacts.table.status")),1),p.value==="friend"?(c(),f(q,{key:0},[a("span",null,o(r(s)("contacts.metrics.privateMessagesLabel")),1),a("span",null,o(r(s)("contacts.metrics.activeMonths")),1),a("span",null,o(r(s)("contacts.metrics.commonGroups")),1)],64)):(c(),f(q,{key:1},[a("span",null,o(r(s)("contacts.metrics.commonGroups")),1),a("span",null,o(r(s)("contacts.metrics.coOccurrence")),1),a("span",null,o(r(s)("contacts.metrics.replies")),1)],64)),a("span",null,o(r(s)("contacts.metrics.lastInteractionShort")),1),a("span",Ya,[a("span",Qa,o(r(s)("contacts.detail.score")),1),y($,{content:{side:"top"},ui:{content:"h-auto"}},{content:T(()=>[a("div",Wa,o(r(s)("contacts.detail.scoreHelp")),1)]),default:T(()=>[y(L,{name:"i-lucide-circle-help",class:"h-3.5 w-3.5 shrink-0 text-gray-350 transition-colors hover:text-primary-500 dark:text-gray-600 dark:hover:text-primary-400"})]),_:1})])],6)]),a("div",{ref_key:"scrollContainerRef",ref:Y,class:"min-h-0 flex-1 overflow-auto scrollbar-hide",onScroll:St},[a("div",{class:"relative min-w-[720px]",style:Z({height:`${Ye.value}px`})},[(c(!0),f(q,null,he(xe.value,l=>(c(),f(q,{key:String(l.key)},[G(l.index).type==="section"&&G(l.index).pool==="friend"?(c(),f("div",{key:0,class:"absolute left-0 top-0 h-px w-full",style:Z({transform:`translateY(${l.start}px)`}),"aria-hidden":"true"},null,4)):G(l.index).type==="section"?(c(),f("div",{key:1,class:U(["contact-table-grid absolute left-0 top-0 w-full border-b border-gray-100 bg-white px-4 py-3 text-[11px] font-bold uppercase tracking-wider text-gray-400 dark:border-white/5 dark:bg-[#202024] dark:text-gray-500",ye(G(l.index).pool)]),style:Z({transform:`translateY(${l.start}px)`})},[a("span",null,o(r(s)("contacts.table.contact")),1),a("span",null,o(r(s)("contacts.table.status")),1),a("span",null,o(r(s)("contacts.metrics.commonGroups")),1),a("span",null,o(r(s)("contacts.metrics.coOccurrence")),1),a("span",null,o(r(s)("contacts.metrics.replies")),1),a("span",null,o(r(s)("contacts.metrics.lastInteractionShort")),1),a("span",Xa,[a("span",Za,o(r(s)("contacts.detail.score")),1),y($,{content:{side:"top"},ui:{content:"h-auto"}},{content:T(()=>[a("div",Ja,o(r(s)("contacts.detail.scoreHelp")),1)]),default:T(()=>[y(L,{name:"i-lucide-circle-help",class:"h-3.5 w-3.5 shrink-0 text-gray-350 transition-colors hover:text-primary-500 dark:text-gray-600 dark:hover:text-primary-400"})]),_:1})])],6)):G(l.index).type==="contact"?(c(),f("button",{key:2,type:"button",class:U(["contact-table-grid absolute left-0 top-0 w-full px-4 py-3.5 text-left outline-none transition-colors duration-200 focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-gray-900",[ye(g(l.index).pool),v.value===g(l.index).contact.key?"border-b border-primary-500/20 bg-primary-500/[0.03] dark:bg-primary-500/[0.04]":"border-b border-gray-100/50 bg-transparent hover:bg-gray-50/50 dark:border-white/5 dark:hover:bg-gray-800/20"]]),style:Z({transform:`translateY(${l.start}px)`}),"aria-label":r(s)("contacts.actions.viewDetail",{name:g(l.index).contact.displayName}),onClick:vn=>it(g(l.index).contact)},[a("div",{class:U(["absolute left-0 top-1/4 h-1/2 w-1 rounded-r-full bg-primary-500 transition-all duration-300",v.value===g(l.index).contact.key?"scale-100 opacity-100":"scale-75 opacity-0"])},null,2),a("div",tn,[a("div",an,[g(l.index).contact.avatar?(c(),f("img",{key:0,src:g(l.index).contact.avatar??"",alt:g(l.index).contact.displayName,loading:"lazy",decoding:"async",class:"h-10 w-10 object-cover transition-transform duration-300 group-hover:scale-105"},null,8,nn)):(c(),f("div",sn,o(xt(g(l.index).contact)),1))]),a("div",on,[a("div",rn,[a("span",{class:U(["truncate text-sm font-semibold leading-tight tracking-tight text-gray-800 transition-colors group-hover:text-primary-600 group-focus-visible:text-primary-600 dark:text-gray-200 dark:group-hover:text-primary-400 dark:group-focus-visible:text-primary-400",v.value===g(l.index).contact.key?"text-primary-600 dark:text-primary-400":""])},o(g(l.index).contact.displayName),3)]),a("span",ln,o(g(l.index).contact.platform),1)])]),a("span",{class:U(["inline-flex w-fit justify-self-start rounded-lg px-2.5 py-1 text-xs font-semibold",mt(g(l.index).contact)])},o(ft(g(l.index).contact)),3),a("span",cn,o(pt(g(l.index).pool,g(l.index).contact)),1),a("span",dn,o(gt(g(l.index).pool,g(l.index).contact)),1),a("span",un,o(vt(g(l.index).pool,g(l.index).contact)),1),a("span",fn,o(kt(g(l.index).contact.lastInteractionTs)),1),a("span",{class:U(["inline-flex h-7 w-12 items-center justify-center justify-self-end rounded-lg font-mono text-xs font-bold tabular-nums transition-colors duration-200",v.value===g(l.index).contact.key?"bg-primary-500 text-white":"bg-primary-50 text-primary-600 dark:bg-primary-500/10 dark:text-primary-400"])},o(ht(g(l.index).contact)),3)],14,en)):(c(),f("div",{key:3,class:"absolute left-0 top-0 flex h-11 w-full items-center justify-center gap-2 border-b border-gray-100/50 text-xs font-semibold text-gray-500 dark:border-white/5 dark:text-gray-400",style:Z({transform:`translateY(${l.start}px)`})},[y(L,{name:"i-lucide-loader-2",class:"h-4 w-4 animate-spin"}),a("span",null,o(r(s)("common.loading")),1)],4))],64))),128))],4)],544)]),_:1}))]))])])]),y(ma,{"selected-key":v.value,contact:w.value,"is-loading":R.value,"is-friend-action-loading":x.value,onClear:oe,onOpenSource:bt,onViewSourceRecords:_t,onMarkFriend:lt,onUnmarkFriend:ct},null,8,["selected-key","contact","is-loading","is-friend-action-loading"])])])}}}),Tn=De(gn,[["__scopeId","data-v-30c675a1"]]);export{Tn as default};
@@ -0,0 +1 @@
1
+ .insight-tab-slide-enter-active[data-v-4cb5830a],.insight-tab-slide-leave-active[data-v-4cb5830a]{transition:opacity .2s ease,transform .2s ease}.insight-tab-slide-enter-from[data-v-4cb5830a]{opacity:0;transform:translateY(10px)}.insight-tab-slide-leave-to[data-v-4cb5830a]{opacity:0;transform:translateY(-10px)}
@@ -0,0 +1 @@
1
+ import{i as d,j as p,f as u,r,p as I}from"./index-DkWTvE7d.js";const g=Symbol("InsightTimeRange");function S(){const e=new Date().getFullYear(),s=Math.floor(Date.now()/1e3),n=r(null),a=r(e),i=r(0),o=r([e]),f=u(()=>({mode:"year",year:a.value})),v=u(()=>{const t=o.value.at(-1)??e;return{availableYears:o.value,fullRange:{start:Math.floor(new Date(t,0,1).getTime()/1e3),end:s}}});function m(t){const c=[...new Set([e,...t])].sort((w,Y)=>Y-w);c.join(",")!==o.value.join(",")&&(o.value=c)}function h(t){a.value=t,n.value=null,i.value++}const l={modelValue:n,componentKey:i,initialState:f,rangeSource:v,setAvailableYears:m,switchToYear:h};return I(g,l),l}function b(){const e=p(g);if(!e)throw new Error("Insight time range context is unavailable");return e}function x(e,s){return d(e,(n,a)=>{a&&!n&&s()})}export{S as p,b as u,x as w};
@@ -0,0 +1 @@
1
+ import{j as l,f as n,J as u,p as d}from"./index-DkWTvE7d.js";const o=Symbol("PeoplePageHeader");function P(e){const a=u(null),r=n(()=>a.value?.value??e.value);function s(t){a.value=t}return d(o,{setHeader:s}),{header:r}}function c(e){l(o)?.setHeader(e)}export{P as p,c as u};
@@ -0,0 +1 @@
1
+ import{d as x,r as s}from"./index-DkWTvE7d.js";const k=x("prompt",()=>{const u=s(0),i=s({maxMessagesPerRequest:1e3,exportFormat:"markdown",sqlExportFormat:"csv",enableAutoSkill:!0,chartAutoMode:"suggest",searchContextBefore:2,searchContextAfter:2}),n=s([]),l=s([]),a=s({});function r(){u.value++}function d(e){i.value={...i.value,...e},r()}function c(e){n.value.push(e)}function f(e,t){const o=n.value.findIndex(h=>h.id===e);o!==-1&&(n.value[o]={...n.value[o],...t})}function m(e){const t=n.value.findIndex(o=>o.id===e);t!==-1&&n.value.splice(t,1)}function p(e){l.value.includes(e)||l.value.push(e)}function v(e,t){return a.value[`${e}:${t}`]}function g(e,t,o){a.value={...a.value,[`${e}:${t}`]:o}}return{aiConfigVersion:u,aiGlobalSettings:i,customKeywordTemplates:n,deletedPresetTemplateIds:l,thinkingLevels:a,notifyAIConfigChanged:r,updateAIGlobalSettings:d,addCustomKeywordTemplate:c,updateCustomKeywordTemplate:f,removeCustomKeywordTemplate:m,addDeletedPresetTemplateId:p,getThinkingLevel:v,setThinkingLevel:g}},{persist:!1,backendPersist:{pick:["aiGlobalSettings","customKeywordTemplates","deletedPresetTemplateIds","thinkingLevels"]}});export{k as u};
@@ -0,0 +1 @@
1
+ function N(t,e,s={}){const o=new Set;if(!e||!t.nodes.some(n=>n.key===e))return o;o.add(e);const i=new Map(t.nodes.map(n=>[n.key,n])),E=t.edges.reduce((n,r)=>r.sourceKey!==e&&r.targetKey!==e?n:Math.max(n,r.lastInteractionTs??0),0),u=t.edges.flatMap(n=>{if(n.sourceKey!==e&&n.targetKey!==e)return[];const r=n.sourceKey===e?n.targetKey:n.sourceKey,c=i.get(r);return c?[{node:c,edge:n}]:[]}).sort((n,r)=>C(n,r,E)).slice(0,s.limit??80);for(const n of u)o.add(n.node.key);return o}function _(t,e,s={}){if(!e||!t.nodes.some(i=>i.key===e))return t;const o=N(t,e,s);return{nodes:t.nodes.filter(i=>o.has(i.key)),edges:t.edges.filter(i=>o.has(i.sourceKey)&&o.has(i.targetKey)),communities:t.communities}}function C(t,e,s){return a(e.edge,s)-a(t.edge,s)||e.edge.weight-t.edge.weight||(e.edge.lastInteractionTs??0)-(t.edge.lastInteractionTs??0)||t.node.rank-e.node.rank||t.node.key.localeCompare(e.node.key)}function a(t,e){if(!t.lastInteractionTs||e<=0)return t.weight;const s=Math.max(0,e-t.lastInteractionTs),o=.1+(1-.1)*Math.pow(.5,s/10368e3);return t.weight*o}export{N as a,_ as b};
@@ -0,0 +1 @@
1
+ import{H as l,r as d,N as r,K as u,O as p}from"./index-DkWTvE7d.js";function h(e){const n=d(!1);function t(){n.value=!0}function a(o){l(()=>{n.value=!1,e?.(o)})}return{isComposing:n,handleCompositionStart:t,handleCompositionEnd:a}}const s="/ai/semantic-index";function i(e){return async n=>(await r(`${s}/${e}`,{sessionId:n})).status}const m={getConfig:()=>u(`${s}/config`),setConfig:(e,n)=>p(`${s}/config`,{config:e,apiKey:n}),listEnabled:async()=>(await u(`${s}/enabled`)).sessions,status:async e=>(await u(`${s}/status?sessionId=${encodeURIComponent(e)}`)).status,statusForSessions:async e=>(await r(`${s}/status`,{sessionIds:e})).sessions,enable:i("enable"),remove:i("remove"),build:i("build"),pause:i("pause"),cancel:i("cancel"),rebuild:i("rebuild"),buildPending:async()=>(await r(`${s}/build-pending`)).sessions,cleanup:()=>r(`${s}/cleanup`)};function $(){return m}function c(e){return(e??"").trim().replace(/\/+$/,"")}function S(e){if(!e)return!0;try{const n=new URL(e),t=n.hostname.toLowerCase(),a=t==="localhost"||t==="127.0.0.1"||t==="::1",o=n.port||(n.protocol==="https:"?"443":"80");return!(a&&o==="11434")}catch{return!0}}function f(e,n,t=!0){return!t||e?.mode!=="api"||!e.api?.authProfile?!1:c(e.api.baseUrl)===c(n)}function w(e,n){const t=n.apiBaseUrl.trim(),a=n.apiModel.trim(),o=f(e,t)?e?.api?.authProfile:void 0;return{version:e?.version??1,enabled:e?.enabled??!0,mode:n.mode,local:{modelId:n.localModelId,downloadSource:n.localDownloadSource},api:n.mode==="api"?{baseUrl:t,model:a,...o?{authProfile:o}:{}}:null,searchMaxResults:10}}export{$ as a,w as b,f as c,S as i,h as u};
@@ -0,0 +1 @@
1
+ import{U as e}from"./index-DkWTvE7d.js";import"./vendor-snapdom--nZvo8Sg.js";function c(){return e("cache")}export{c as useCacheService};
@@ -0,0 +1 @@
1
+ import{f as t,t as e,g as r}from"./index-DkWTvE7d.js";function n(o){return t(()=>e(o)?!!r(o)?.closest("form"):!0)}export{n as u};
@@ -0,0 +1 @@
1
+ import{a as J,a0 as Q,am as G,i as D,B as H,c as N,a5 as W,w as V,f as B,o as u,l as n,n as A,D as S,v as f,e as p,h,F as X,q as Y,a2 as Z,s as U,a4 as M,a3 as ee,r as C,an as te,ad as se,J as R}from"./index-DkWTvE7d.js";import{u as ae}from"./useToast-CxhJkhXK.js";const oe={class:"p-6"},ne={class:"mb-4 flex items-center justify-between"},re={class:"flex items-center gap-3"},le={class:"text-lg font-semibold text-gray-900 dark:text-white"},ie={class:"text-sm text-gray-500 dark:text-gray-400"},ce={class:"h-56 overflow-y-auto rounded-lg border border-gray-200 dark:border-gray-700"},ue={key:0,class:"flex h-full items-center justify-center"},de={key:1,class:"flex h-full items-center justify-center"},fe={class:"text-sm text-gray-500 dark:text-gray-400"},me={key:2,class:"divide-y divide-gray-100 dark:divide-gray-800"},ve=["onClick"],pe=["src","alt"],he={key:1,class:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-linear-to-br from-gray-300 to-gray-400 text-xs font-medium text-white dark:from-gray-600 dark:to-gray-700"},ye={class:"min-w-0 flex-1"},we={class:"truncate text-sm font-medium text-gray-900 dark:text-white"},ge={class:"truncate text-xs text-gray-500 dark:text-gray-400"},_e={class:"mt-3 text-xs text-gray-500 dark:text-gray-400"},xe={key:0,class:"mt-2"},ke={class:"mt-5 flex items-center justify-between gap-2"},Ie={key:1},be={class:"flex gap-2"},Oe=J({__name:"OwnerPromptModal",props:{sessionId:{},modelValue:{type:Boolean,default:!1},chatType:{default:"group"},autoCheck:{type:Boolean,default:!1}},emits:["update:modelValue","saved","cleared"],setup(y,{emit:c}){const e=y,w=c,{t:a}=Q(),g=ae(),m=G(),i=B({get:()=>e.modelValue,set:t=>w("update:modelValue",t)}),o=C([]),s=C(!1),r=C(!1),P=C(!1),x=C(""),v=C(null),_=B(()=>m.sessions.find(t=>t.id===e.sessionId)?.ownerId??null);function k(t){return t.groupNickname||t.accountName||t.platformId}const O=B(()=>{const t=x.value.trim().toLowerCase(),I=o.value.filter(d=>d.platformId&&d.platformId.trim()!=="");return t?I.filter(d=>[d.platformId,d.accountName??"",d.groupNickname??"",...d.aliases].some(b=>b.toLowerCase().includes(t))):I});async function $(){if(e.sessionId){s.value=!0;try{o.value=await se().getMembers(e.sessionId)}catch(t){console.error("加载成员列表失败:",t)}finally{s.value=!1}}}async function j(){if(!(!e.sessionId||!e.autoCheck)&&!_.value)try{const t=await m.tryApplyOwnerProfile(e.sessionId);if(t.applied||t.reason==="already_set"||t.reason==="missing_session"||t.excluded)return;i.value=!0}catch(t){console.error("检查会话 owner 失败:",t)}}async function L(){if(!(!v.value||!e.sessionId)){r.value=!0;try{const t=await m.setOwnerAndApplyProfile(e.sessionId,v.value);t.updatedSessionIds.length>0?g.success(a("members.ownerPrompt.saved"),{description:a("members.ownerPrompt.appliedToOthers",{count:t.updatedSessionIds.length})}):g.success(a("members.ownerPrompt.saved")),w("saved",t.ownerId),i.value=!1}catch(t){console.error("设置会话 owner 失败:",t),g.fail(a("members.ownerPrompt.saveFailed"))}finally{r.value=!1}}}async function F(){if(!(!e.sessionId||!_.value)){r.value=!0;try{await m.updateSessionOwnerId(e.sessionId,null)&&(v.value=null,w("cleared"),i.value=!1)}catch(t){console.error("清除会话 owner 失败:",t)}finally{r.value=!1}}}async function q(){if(e.sessionId){P.value=!0;try{await m.excludeOwnerSession(e.sessionId),i.value=!1}catch(t){console.error("忽略 owner 提醒失败:",t)}finally{P.value=!1}}}function T(){i.value=!1}function z(){x.value="",v.value=_.value,o.value=[],$()}return D(i,t=>{t&&z()},{immediate:!0}),D(()=>e.sessionId,()=>{i.value&&z(),j()}),H(()=>{j()}),(t,I)=>{const d=Z,b=ee,K=te,E=W;return u(),N(E,{open:i.value,"onUpdate:open":I[1]||(I[1]=l=>i.value=l),ui:{content:"max-w-md z-[111]",overlay:"z-[110]"}},{content:V(()=>[n("div",oe,[n("div",ne,[n("div",re,[n("div",{class:A(["flex h-10 w-10 items-center justify-center rounded-full bg-linear-to-br",y.chatType==="group"?"from-pink-400 to-pink-600":"from-purple-400 to-purple-600"])},[S(d,{name:"i-heroicons-user",class:"h-5 w-5 text-white"})],2),n("div",null,[n("h3",le,f(p(a)("members.ownerPrompt.title")),1),n("p",ie,f(p(a)("members.ownerPrompt.subtitle")),1)])]),S(b,{icon:"i-heroicons-x-mark",color:"neutral",variant:"ghost",size:"sm",onClick:T})]),S(K,{modelValue:x.value,"onUpdate:modelValue":I[0]||(I[0]=l=>x.value=l),placeholder:p(a)("members.ownerPrompt.searchPlaceholder"),icon:"i-heroicons-magnifying-glass",class:"mb-3 w-full"},null,8,["modelValue","placeholder"]),n("div",ce,[s.value?(u(),h("div",ue,[S(d,{name:"i-heroicons-arrow-path",class:"h-5 w-5 animate-spin text-gray-400"})])):O.value.length===0?(u(),h("div",de,[n("p",fe,f(x.value?p(a)("members.ownerPrompt.noMatch"):p(a)("members.ownerPrompt.empty")),1)])):(u(),h("ul",me,[(u(!0),h(X,null,Y(O.value,l=>(u(),h("li",{key:l.id},[n("button",{type:"button",class:A(["flex w-full items-center gap-3 px-3 py-2 text-left hover:bg-gray-50 dark:hover:bg-gray-800/50",v.value===l.platformId?"bg-primary-50 dark:bg-primary-900/20":""]),onClick:Se=>v.value=l.platformId},[l.avatar?(u(),h("img",{key:0,src:l.avatar,alt:k(l),class:"h-8 w-8 shrink-0 rounded-full object-cover"},null,8,pe)):(u(),h("div",he,f(k(l).slice(0,1)),1)),n("div",ye,[n("p",we,f(k(l)),1),n("p",ge,f(l.platformId),1)]),v.value===l.platformId?(u(),N(d,{key:2,name:"i-heroicons-check-circle-solid",class:"h-5 w-5 shrink-0 text-primary-500"})):U("",!0)],10,ve)]))),128))]))]),n("p",_e,f(p(a)("members.ownerPrompt.description")),1),_.value?(u(),h("div",xe,[S(b,{variant:"link",color:"neutral",size:"xs",disabled:r.value,onClick:F},{default:V(()=>[M(f(p(a)("members.ownerPrompt.clear")),1)]),_:1},8,["disabled"])])):U("",!0),n("div",ke,[_.value?(u(),h("span",Ie)):(u(),N(b,{key:0,variant:"soft",color:"primary",size:"sm",loading:P.value,onClick:q},{default:V(()=>[M(f(p(a)("members.ownerPrompt.notInConversation")),1)]),_:1},8,["loading"])),n("div",be,[S(b,{variant:"ghost",color:"neutral",onClick:T},{default:V(()=>[M(f(p(a)("members.ownerPrompt.later")),1)]),_:1}),S(b,{color:"primary",loading:r.value,disabled:!v.value,onClick:L},{default:V(()=>[M(f(p(a)("members.ownerPrompt.save")),1)]),_:1},8,["loading","disabled"])])])])]),_:1},8,["open"])}}});function Ve(y={}){const c=y.initialState??{field:null,direction:null},e=R({...c});function w(o){if(e.value.field!==o){e.value={field:o,direction:"asc"};return}if(e.value.direction==="asc"){e.value={field:o,direction:"desc"};return}if(e.value.direction==="desc"){e.value={field:null,direction:null};return}e.value={field:o,direction:"asc"}}function a(o,s){e.value={field:o,direction:s}}function g(){e.value={...c}}function m(o){return e.value.field===o?e.value.direction:null}function i(o,s){return m(o)===s}return{sortState:e,toggleSort:w,setSort:a,resetSort:g,getSortDirection:m,isSortActive:i}}function Me(y){const c=R(new Set),e=C(null);D(y.rows,()=>{e.value=null});function w(s){c.value=new Set(s)}function a(){w([]),e.value=null}function g(s){const r=new Set(c.value);r.has(s)?r.delete(s):r.add(s),c.value=r}function m(s){return c.value.has(s)}function i(s,r,P){if(P.shiftKey&&e.value!==null){const x=Math.min(e.value,s),v=Math.max(e.value,s),_=new Set(c.value);for(let k=x;k<=v;k+=1){const O=y.rows.value[k];O&&_.add(y.getRowId(O))}c.value=_}else g(r);e.value=s}function o(s){!s.shiftKey||s.target?.closest?.('input, textarea, [contenteditable="true"]')||s.preventDefault()}return{selectedIds:c,setSelection:w,clearSelection:a,toggleSelection:g,isSelected:m,handleRowClick:i,handleRowMouseDown:o}}export{Oe as _,Me as a,Ve as u};
@@ -0,0 +1 @@
1
+ import{$ as c}from"./index-DkWTvE7d.js";const t=2e3;function e(){const a=c(),s=o=>a.add({duration:t,...o});return{add:s,success:(o,r={})=>s({title:o,color:"success",...r}),fail:(o,r={})=>s({title:o,color:"error",...r}),info:(o,r={})=>s({title:o,color:"primary",...r}),warn:(o,r={})=>s({title:o,color:"warning",...r})}}export{e as u};