chatlab-cli 0.36.2 → 0.37.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 (203) hide show
  1. package/dist/{chat-command-SEV6N3AR.mjs → chat-command-YAFRLHMQ.mjs} +15 -16
  2. package/dist/{chat-command-SEV6N3AR.mjs.map → chat-command-YAFRLHMQ.mjs.map} +1 -1
  3. package/dist/{chunk-6EZPD3XJ.mjs → chunk-2PY4XCH3.mjs} +6 -3
  4. package/dist/chunk-2PY4XCH3.mjs.map +1 -0
  5. package/dist/{chunk-HWIXK7SU.mjs → chunk-73TJ2S7W.mjs} +1643 -3
  6. package/dist/chunk-73TJ2S7W.mjs.map +1 -0
  7. package/dist/{chunk-YUH3H3QW.mjs → chunk-ARIBCH47.mjs} +96 -5
  8. package/dist/chunk-ARIBCH47.mjs.map +1 -0
  9. package/dist/{chunk-WRBFV2GX.mjs → chunk-FPVRSXQ4.mjs} +49 -55
  10. package/dist/chunk-FPVRSXQ4.mjs.map +1 -0
  11. package/dist/{chunk-VREVDZ4Q.mjs → chunk-GKCIRKOH.mjs} +1934 -35
  12. package/dist/chunk-GKCIRKOH.mjs.map +1 -0
  13. package/dist/{chunk-TJ3NOBVI.mjs → chunk-JWJREWVN.mjs} +119 -288
  14. package/dist/chunk-JWJREWVN.mjs.map +1 -0
  15. package/dist/{chunk-TWH422HC.mjs → chunk-MMTEGUQA.mjs} +3 -3
  16. package/dist/{chunk-VUYWUHWW.mjs → chunk-N4SB6QZV.mjs} +3 -3
  17. package/dist/chunk-N4SB6QZV.mjs.map +1 -0
  18. package/dist/{chunk-TRGR3KKJ.mjs → chunk-OTYNMDDL.mjs} +2643 -682
  19. package/dist/chunk-OTYNMDDL.mjs.map +1 -0
  20. package/dist/{chunk-CH5YAZ4Q.mjs → chunk-PDQV4RUA.mjs} +2 -2
  21. package/dist/{chunk-WJQOXOMR.mjs → chunk-UP6JIV3S.mjs} +285 -41
  22. package/dist/chunk-UP6JIV3S.mjs.map +1 -0
  23. package/dist/chunk-WDLO7OLX.mjs +101 -0
  24. package/dist/chunk-WDLO7OLX.mjs.map +1 -0
  25. package/dist/cli.mjs +9 -9
  26. package/dist/contacts-worker.mjs +2 -2
  27. package/dist/global-insight-worker.mjs +1 -1
  28. package/dist/{http-237XYNRT.mjs → http-LPFPVTBC.mjs} +12 -12
  29. package/dist/{import-R2E2TFAK.mjs → import-T4WX2ZJL.mjs} +7 -7
  30. package/dist/index.mjs +12 -12
  31. package/dist/{mcp-BED4AARV.mjs → mcp-SMF3NWIN.mjs} +8 -8
  32. package/dist/people-relationships-worker.mjs +2 -2
  33. package/dist/semantic-index-worker.mjs +1 -1
  34. package/dist/{src-AYMALWU5.mjs → src-EGLLMTAU.mjs} +44 -14
  35. package/dist/{stream-import-RXNSOOYH.mjs → stream-import-2BXJTTCE.mjs} +7 -7
  36. package/dist/{worker-runtime-JGAZU7MC.mjs → worker-runtime-RDLSPXFT.mjs} +5 -5
  37. package/dist-cli-web/assets/AISettingsTab-CEhrXlYR.js +1 -0
  38. package/dist-cli-web/assets/{AboutTab-DCM1-glA.js → AboutTab-Bbu0SsMM.js} +1 -1
  39. package/dist-cli-web/assets/ActionToolsPanel-DDNXXH8v.css +1 -0
  40. package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-IB1yZxCE.js +75 -0
  41. package/dist-cli-web/assets/{Alert-D-egBWcb.js → Alert-510jTN3l.js} +1 -1
  42. package/dist-cli-web/assets/ApiSettingsTab-Bi1GRMN4.js +2 -0
  43. package/dist-cli-web/assets/BatchManageTab-DhnqMCSM.js +1 -0
  44. package/dist-cli-web/assets/{BufferResource-BE2_2bZK.js → BufferResource-CKZxnACp.js} +1 -1
  45. package/dist-cli-web/assets/{CanvasRenderer-DDKdvEYQ.js → CanvasRenderer-BeK5POBy.js} +1 -1
  46. package/dist-cli-web/assets/CardDecoration-RuBA3N2j.js +1 -0
  47. package/dist-cli-web/assets/ChatRecordDrawer-BY_-lIEj.js +1 -0
  48. package/dist-cli-web/assets/{ChatRecordWorkspace-DqUI4QiU.js → ChatRecordWorkspace-7prKd-Tq.js} +1 -1
  49. package/dist-cli-web/assets/Checkbox-_eH64bb0.js +1 -0
  50. package/dist-cli-web/assets/DataDirCleanupNotice-BHaXwlfr.js +1 -0
  51. package/dist-cli-web/assets/{DatePicker.vue_vue_type_script_setup_true_lang-sPDoPzZ9.js → DatePicker.vue_vue_type_script_setup_true_lang-D9Ul_GYz.js} +1 -1
  52. package/dist-cli-web/assets/{DebugToolsPanel-BIHA6jw4.js → DebugToolsPanel-ByKItGrS.js} +1 -1
  53. package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-DubnuUXI.js +1 -0
  54. package/dist-cli-web/assets/EChartBar.vue_vue_type_script_setup_true_lang-DKNCZuFm.js +1 -0
  55. package/dist-cli-web/assets/EChartLine.vue_vue_type_script_setup_true_lang-Fl7xAOSR.js +1 -0
  56. package/dist-cli-web/assets/EChartWordcloud-C6XM4KOX.js +1 -0
  57. package/dist-cli-web/assets/FileDropZone.vue_vue_type_script_setup_true_lang-DYDdRSNE.js +1 -0
  58. package/dist-cli-web/assets/{Filter-kO4dIDJ2.js → Filter-CByj_rCR.js} +1 -1
  59. package/dist-cli-web/assets/GlobalTaskBar-BdELjzrs.js +1 -0
  60. package/dist-cli-web/assets/GlobalTaskBar-haLzezqY.css +1 -0
  61. package/dist-cli-web/assets/GroupRelationshipGalaxyView-CnzPEgUS.js +1 -0
  62. package/dist-cli-web/assets/Label-DCIcxkhU.js +1 -0
  63. package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-BBcCt_Qm.js +1 -0
  64. package/dist-cli-web/assets/MessageExportModal-DNU16Bs8.js +1 -0
  65. package/dist-cli-web/assets/PageHeader-CKeZjNNR.js +1 -0
  66. package/dist-cli-web/assets/PageHeader-CPLgiKT8.css +1 -0
  67. package/dist-cli-web/assets/{PageTabs.vue_vue_type_script_setup_true_lang-Cgungbjl.js → PageTabs.vue_vue_type_script_setup_true_lang-C8M3wNNH.js} +1 -1
  68. package/dist-cli-web/assets/{RelationshipGalaxyCanvas-Cod1JX9m.js → RelationshipGalaxyCanvas-CDhljGyJ.js} +3 -3
  69. package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-CkefzeFJ.js → RelationshipGalaxyThreeCanvas-BP8fsvvf.js} +1 -1
  70. package/dist-cli-web/assets/{RenderTargetSystem-SuQ7cbze.js → RenderTargetSystem-D76QrDT_.js} +1 -1
  71. package/dist-cli-web/assets/{RovingFocusItem-psoFYxrC.js → RovingFocusItem-BJMUQ5DJ.js} +1 -1
  72. package/dist-cli-web/assets/{ScreenCaptureModal-D4r9ixKh.js → ScreenCaptureModal-DkX4z-M1.js} +1 -1
  73. package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-qFhJO5B0.js +1 -0
  74. package/dist-cli-web/assets/Select-B5oJc5y1.js +1 -0
  75. package/dist-cli-web/assets/SettingsModal-BO-QKQ2h.js +2 -0
  76. package/dist-cli-web/assets/{StorageTab-DhSJ-0Ir.js → StorageTab-CPPXXaRm.js} +1 -1
  77. package/dist-cli-web/assets/Switch-CDk3LZ4_.js +1 -0
  78. package/dist-cli-web/assets/Tabs-BMq9wODW.js +1 -0
  79. package/dist-cli-web/assets/{Tabs-Bnm_Q7yW.js → Tabs-DqWTBV8x.js} +1 -1
  80. package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-D2outEOV.js +1 -0
  81. package/dist-cli-web/assets/{TimeSelect.vue_vue_type_script_setup_true_lang-Cjz8Wpg-.js → TimeSelect.vue_vue_type_script_setup_true_lang-BcflxP_U.js} +1 -1
  82. package/dist-cli-web/assets/{VisuallyHiddenInput-Bo_XwaLu.js → VisuallyHiddenInput-BAFpkxMI.js} +1 -1
  83. package/dist-cli-web/assets/{WebGLRenderer-D1x9WZRj.js → WebGLRenderer-DjCPvR_O.js} +1 -1
  84. package/dist-cli-web/assets/{WebGPURenderer-37Nw-tLm.js → WebGPURenderer-C2B_u03z.js} +1 -1
  85. package/dist-cli-web/assets/aiChat--CR4g2M7.js +8 -0
  86. package/dist-cli-web/assets/base-F6s0vTrr.js +1 -0
  87. package/dist-cli-web/assets/{browserAll-CWrz_-4U.js → browserAll-DiUAZg4L.js} +1 -1
  88. package/dist-cli-web/assets/chatMessages-BGRbSlvD.css +1 -0
  89. package/dist-cli-web/assets/chatMessages-Bd33SSXI.js +147 -0
  90. package/dist-cli-web/assets/cli-web-DoibEdj2.js +1 -0
  91. package/dist-cli-web/assets/{fetch-CkXgOxcu.js → fetch-4nh1LaVF.js} +3 -3
  92. package/dist-cli-web/assets/fetch-7lUvXbhU.js +1 -0
  93. package/dist-cli-web/assets/{fetch-CFpLXWTe.js → fetch-BEaW1j5H.js} +1 -1
  94. package/dist-cli-web/assets/{fetch-CgA1peJD.js → fetch-B_YFABxI.js} +1 -1
  95. package/dist-cli-web/assets/{fetch-BGmCCyzz.js → fetch-BeX69kpS.js} +1 -1
  96. package/dist-cli-web/assets/{fetch-Du-wU0OO.js → fetch-CRocA-4C.js} +1 -1
  97. package/dist-cli-web/assets/{fetch-DPSWt6yX.js → fetch-CXM-cjDS.js} +1 -1
  98. package/dist-cli-web/assets/{fetch-qd2FgBWQ.js → fetch-CXqeAbnY.js} +1 -1
  99. package/dist-cli-web/assets/{fetch-6pcVxB9h.js → fetch-CxVcHNid.js} +1 -1
  100. package/dist-cli-web/assets/fetch-DBpDMy29.js +1 -0
  101. package/dist-cli-web/assets/{fetch-Gu4qQjUB.js → fetch-DKBBS9Op.js} +1 -1
  102. package/dist-cli-web/assets/{fetch-DZ6OF-xW.js → fetch-epFXmPIQ.js} +1 -1
  103. package/dist-cli-web/assets/{host-D8zlA62K.js → host-C4rU8pKA.js} +1 -1
  104. package/dist-cli-web/assets/{host-CWsAWKgy.js → host-CtSqR_Zm.js} +1 -1
  105. package/dist-cli-web/assets/{index-Dy0fRMDf.js → index-4DVZ2g0M.js} +10 -10
  106. package/dist-cli-web/assets/index-B1oj9KDv.js +135 -0
  107. package/dist-cli-web/assets/index-BFH1j_R9.js +1 -0
  108. package/dist-cli-web/assets/index-BZpR015e.css +1 -0
  109. package/dist-cli-web/assets/index-BgelKQTW.css +1 -0
  110. package/dist-cli-web/assets/{index-v6DlL4ue.js → index-BvMAw3Zd.js} +1 -1
  111. package/dist-cli-web/assets/index-C1A1FwpO.css +1 -0
  112. package/dist-cli-web/assets/index-CIIyg_o9.css +1 -0
  113. package/dist-cli-web/assets/index-CaYtkONV.js +64 -0
  114. package/dist-cli-web/assets/index-CuCQ1d9f.js +1 -0
  115. package/dist-cli-web/assets/index-D3Hyjv4e.js +137 -0
  116. package/dist-cli-web/assets/index-D8cHMqV-.js +2 -0
  117. package/dist-cli-web/assets/index-DlHuILT_.js +1 -0
  118. package/dist-cli-web/assets/index-R4LqAnx9.js +2 -0
  119. package/dist-cli-web/assets/index-_m1mf1jm.js +1 -0
  120. package/dist-cli-web/assets/{index-a7CT8DQm.js → index-ekvsNmfe.js} +1 -1
  121. package/dist-cli-web/assets/index-mXe1LssU.js +1 -0
  122. package/dist-cli-web/assets/index-mbLXPIyC.js +1 -0
  123. package/dist-cli-web/assets/{people-page-header-Czt9e1jv.js → people-page-header-BbYSSpsO.js} +1 -1
  124. package/dist-cli-web/assets/{prompt-DGazz143.js → prompt-C-ofJ7t_.js} +1 -1
  125. package/dist-cli-web/assets/{semantic-index-config-builder-BkFHzIUy.js → semantic-index-config-builder-D3TYVYC-.js} +1 -1
  126. package/dist-cli-web/assets/service-BYOUkk7V.js +1 -0
  127. package/dist-cli-web/assets/{service-CAp0YJoS.js → service-CppETV4a.js} +1 -1
  128. package/dist-cli-web/assets/service-tEx-5LUL.js +1 -0
  129. package/dist-cli-web/assets/useFormControl-CrWi_6Hn.js +1 -0
  130. package/dist-cli-web/assets/useTable-Clk7ecq-.js +1 -0
  131. package/dist-cli-web/assets/{useToast-YAHDkKDN.js → useToast-B5LaA6c-.js} +1 -1
  132. package/dist-cli-web/assets/{vendor-echarts-hTLhTs52.js → vendor-echarts-C9ugTmum.js} +1 -1
  133. package/dist-cli-web/assets/{vendor-echarts-wordcloud-B8CF_NgP.js → vendor-echarts-wordcloud-DNiU8Psq.js} +1 -1
  134. package/dist-cli-web/assets/{webworkerAll-CvSp2Y8j.js → webworkerAll-CyA4b4LT.js} +1 -1
  135. package/dist-cli-web/index.html +2 -2
  136. package/package.json +3 -3
  137. package/dist/chunk-6E46U4H2.mjs +0 -41
  138. package/dist/chunk-6E46U4H2.mjs.map +0 -1
  139. package/dist/chunk-6EZPD3XJ.mjs.map +0 -1
  140. package/dist/chunk-HWIXK7SU.mjs.map +0 -1
  141. package/dist/chunk-TJ3NOBVI.mjs.map +0 -1
  142. package/dist/chunk-TRGR3KKJ.mjs.map +0 -1
  143. package/dist/chunk-VREVDZ4Q.mjs.map +0 -1
  144. package/dist/chunk-VUYWUHWW.mjs.map +0 -1
  145. package/dist/chunk-WJQOXOMR.mjs.map +0 -1
  146. package/dist/chunk-WRBFV2GX.mjs.map +0 -1
  147. package/dist/chunk-YUH3H3QW.mjs.map +0 -1
  148. package/dist-cli-web/assets/AISettingsTab-VgI7PiJd.js +0 -1
  149. package/dist-cli-web/assets/ActionToolsPanel-BTGgwXVD.css +0 -1
  150. package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-a7RMjjve.js +0 -112
  151. package/dist-cli-web/assets/ApiSettingsTab-Co3LWf1f.js +0 -2
  152. package/dist-cli-web/assets/BatchManageTab-2LrckmQm.js +0 -1
  153. package/dist-cli-web/assets/ChatRecordDrawer-DRhztqLG.js +0 -1
  154. package/dist-cli-web/assets/Checkbox-EfpQmv4A.js +0 -1
  155. package/dist-cli-web/assets/DataDirCleanupNotice-BYIiR58J.js +0 -1
  156. package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-DryMSoCz.js +0 -1
  157. package/dist-cli-web/assets/EChartBar.vue_vue_type_script_setup_true_lang-BdFW-hvt.js +0 -1
  158. package/dist-cli-web/assets/EChartLine.vue_vue_type_script_setup_true_lang-C69Kdw9X.js +0 -1
  159. package/dist-cli-web/assets/EChartWordcloud-DM7UEHdK.js +0 -1
  160. package/dist-cli-web/assets/GlobalTaskBar-BZS_h0zC.js +0 -1
  161. package/dist-cli-web/assets/GlobalTaskBar-COW_uBX6.css +0 -1
  162. package/dist-cli-web/assets/GroupRelationshipGalaxyView--WIaHx_F.js +0 -1
  163. package/dist-cli-web/assets/Label-CIuDXyeM.js +0 -1
  164. package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-B_7VHxTx.js +0 -1
  165. package/dist-cli-web/assets/MessageExportModal-BQsIpyxv.js +0 -1
  166. package/dist-cli-web/assets/PageHeader-DxhQHF_0.js +0 -1
  167. package/dist-cli-web/assets/PageHeader-XIXMTomn.css +0 -1
  168. package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-v_7aRBgM.js +0 -1
  169. package/dist-cli-web/assets/Select-CxurgslB.js +0 -1
  170. package/dist-cli-web/assets/SettingsModal-DBZucuf6.js +0 -2
  171. package/dist-cli-web/assets/Switch-3D81G6uV.js +0 -1
  172. package/dist-cli-web/assets/Tabs-DB603EEu.js +0 -1
  173. package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-BDTdkH5i.js +0 -1
  174. package/dist-cli-web/assets/aiChat-BCzYQeZq.js +0 -8
  175. package/dist-cli-web/assets/cli-web-C-8N0CJh.js +0 -1
  176. package/dist-cli-web/assets/fetch-B69OkB6B.js +0 -1
  177. package/dist-cli-web/assets/fetch-z9M9FcIC.js +0 -1
  178. package/dist-cli-web/assets/index-BGd4ZfhO.js +0 -2
  179. package/dist-cli-web/assets/index-BYZF1ngN.js +0 -1
  180. package/dist-cli-web/assets/index-BcuwlCin.css +0 -1
  181. package/dist-cli-web/assets/index-BnaLj2dx.css +0 -1
  182. package/dist-cli-web/assets/index-Bq5q3kSU.js +0 -36
  183. package/dist-cli-web/assets/index-CPR3jdC2.js +0 -137
  184. package/dist-cli-web/assets/index-D3AjvaOX.js +0 -1
  185. package/dist-cli-web/assets/index-DAitScUA.js +0 -1
  186. package/dist-cli-web/assets/index-DBSMWAJ0.js +0 -1
  187. package/dist-cli-web/assets/index-DTn9htw-.js +0 -64
  188. package/dist-cli-web/assets/index-DV_rWxcH.js +0 -1
  189. package/dist-cli-web/assets/index-DxhAGqYM.css +0 -1
  190. package/dist-cli-web/assets/index-I0mIcDpE.css +0 -1
  191. package/dist-cli-web/assets/index-onwNShRw.js +0 -2
  192. package/dist-cli-web/assets/service-BMqwB74f.js +0 -1
  193. package/dist-cli-web/assets/service-CUQ8iHdS.js +0 -1
  194. package/dist-cli-web/assets/useFormControl-DcSMUc2d.js +0 -1
  195. package/dist-cli-web/assets/useTable-Clmq3sge.js +0 -1
  196. /package/dist/{chunk-TWH422HC.mjs.map → chunk-MMTEGUQA.mjs.map} +0 -0
  197. /package/dist/{chunk-CH5YAZ4Q.mjs.map → chunk-PDQV4RUA.mjs.map} +0 -0
  198. /package/dist/{http-237XYNRT.mjs.map → http-LPFPVTBC.mjs.map} +0 -0
  199. /package/dist/{import-R2E2TFAK.mjs.map → import-T4WX2ZJL.mjs.map} +0 -0
  200. /package/dist/{mcp-BED4AARV.mjs.map → mcp-SMF3NWIN.mjs.map} +0 -0
  201. /package/dist/{src-AYMALWU5.mjs.map → src-EGLLMTAU.mjs.map} +0 -0
  202. /package/dist/{stream-import-RXNSOOYH.mjs.map → stream-import-2BXJTTCE.mjs.map} +0 -0
  203. /package/dist/{worker-runtime-JGAZU7MC.mjs.map → worker-runtime-RDLSPXFT.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- .tab-slide-enter-active[data-v-acde5f9a],.tab-slide-leave-active[data-v-acde5f9a]{transition:opacity .2s ease,transform .2s ease}.tab-slide-enter-from[data-v-acde5f9a]{opacity:0;transform:translateY(10px)}.tab-slide-leave-to[data-v-acde5f9a]{opacity:0;transform:translateY(-10px)}
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MessageExportModal-BQsIpyxv.js","assets/index-Bq5q3kSU.js","assets/vendor-snapdom--nZvo8Sg.js","assets/index-DxhAGqYM.css","assets/useToast-YAHDkKDN.js","assets/Tabs-Bnm_Q7yW.js","assets/Tabs-DB603EEu.js","assets/RovingFocusItem-psoFYxrC.js"])))=>i.map(i=>d[i]);
2
- import{a as G,a3 as Y,a9 as he,J as Q,x as xe,y as fe,o as n,c as V,e as t,w as H,h as d,i as e,p as o,F as O,j as J,n as F,l as L,z as j,a4 as X,am as ve,f as k,r as U,I as Re,K as Se,aq as Le,b as Be,a5 as De,a6 as $e,Y as Ne,aC as Ve,ax as Fe,ao as Oe,a8 as Ue,az as Ee,bd as Pe,aD as We,br as He,a7 as Je,bs as Ke,H as Ge,ae as Ye}from"./index-Bq5q3kSU.js";import{_ as Me,a as je,b as le,c as Qe,d as Te,e as Xe,u as Ze,f as et,I as tt,g as at,h as st,i as nt,j as it,k as ot,C as rt,l as lt,L as ct,D as ut,m as dt,n as mt,o as gt,M as pt}from"./ActionToolsPanel.vue_vue_type_script_setup_true_lang-a7RMjjve.js";import{_ as vt}from"./SectionTabs.vue_vue_type_script_setup_true_lang-v_7aRBgM.js";import{_ as ht}from"./Select-CxurgslB.js";import{_ as ye,L as xt}from"./LoadingState.vue_vue_type_script_setup_true_lang-B_7VHxTx.js";import{T as qe}from"./Tabs-Bnm_Q7yW.js";import{_ as Ie}from"./EChart.vue_vue_type_script_setup_true_lang-DryMSoCz.js";import"./vendor-echarts-wordcloud-B8CF_NgP.js";import{u as be,x as ft,j as ke,i as _e,k as ae,n as Ae,t as ze,s as yt,m as bt}from"./vendor-echarts-hTLhTs52.js";import{_ as we}from"./ThemeCard.vue_vue_type_script_setup_true_lang-BDTdkH5i.js";import{g as kt}from"./EChartBar.vue_vue_type_script_setup_true_lang-BdFW-hvt.js";import{_ as _t}from"./useTable-Clmq3sge.js";import"./vendor-snapdom--nZvo8Sg.js";import"./Checkbox-EfpQmv4A.js";import"./useFormControl-DcSMUc2d.js";import"./VisuallyHiddenInput-Bo_XwaLu.js";import"./RovingFocusItem-psoFYxrC.js";import"./Label-CIuDXyeM.js";import"./useToast-YAHDkKDN.js";import"./index-Dy0fRMDf.js";import"./service-CAp0YJoS.js";import"./prompt-DGazz143.js";import"./aiChat-BCzYQeZq.js";import"./chatlabSiteLocale-CrCNb8QP.js";import"./ChatRecordWorkspace-DqUI4QiU.js";import"./DatePicker.vue_vue_type_script_setup_true_lang-sPDoPzZ9.js";import"./clamp-jFYhBC76.js";import"./EChartLine.vue_vue_type_script_setup_true_lang-C69Kdw9X.js";import"./Tabs-DB603EEu.js";import"./semantic-index-config-builder-BkFHzIUy.js";import"./TimeSelect.vue_vue_type_script_setup_true_lang-Cjz8Wpg-.js";import"./PageHeader-DxhQHF_0.js";import"./PageTabs.vue_vue_type_script_setup_true_lang-Cgungbjl.js";import"./Alert-D-egBWcb.js";import"./vendor-zrender-D8psf1AA.js";const wt={key:0,class:"relative z-10 flex flex-col h-full"},Ct={class:"flex flex-col sm:flex-row items-center sm:items-start gap-6 px-6 pt-8 pb-4 sm:px-8"},$t={class:"w-full flex-1 min-w-0"},St={class:"flex items-center gap-x-2 sm:gap-x-3 mb-6 sm:mb-8"},Mt={class:"text-2xl sm:text-4xl font-black tracking-tight text-blue-600 dark:text-blue-400 truncate"},jt={class:"text-2xl sm:text-4xl font-black tracking-tight text-pink-600 dark:text-pink-400 truncate"},Pt={class:"grid grid-cols-2 gap-4 sm:gap-10"},Tt={class:"text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-gray-500"},It={class:"flex flex-col gap-2.5"},Rt=["title","onClick"],Dt={class:"shrink-0 text-[10px] sm:text-xs font-semibold tabular-nums text-gray-400/80"},qt={key:0,class:"text-xs sm:text-sm font-medium text-gray-400"},At={class:"hidden shrink-0 sm:block"},zt={class:"px-6 pb-6 pt-2 sm:px-8 mt-auto"},Lt={class:"mb-3 flex items-center justify-between"},Bt={class:"text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-gray-500"},Nt={class:"grid grid-cols-1 sm:grid-cols-3 gap-4"},Vt={class:"mb-4 flex items-center gap-2.5"},Ft={class:"text-sm font-bold tracking-wide text-gray-900 dark:text-white"},Ot={class:"flex items-center justify-between mb-4 w-full"},Ut={class:"flex flex-col flex-1 min-w-0"},Et={class:"truncate text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-1"},Wt={class:"flex flex-col flex-1 min-w-0 items-end text-right"},Ht={class:"truncate text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-1"},Jt={class:"mt-auto pt-3 border-t border-gray-100 dark:border-white/5 flex flex-col"},Kt={key:0,class:"flex items-start justify-between gap-2 mb-2 min-h-[24px]"},Gt={class:"flex flex-1 flex-nowrap overflow-hidden gap-1"},Yt={key:0,class:"text-[11px] text-gray-400"},Qt={class:"flex flex-1 flex-nowrap overflow-hidden gap-1 justify-end"},Xt={key:0,class:"text-[11px] text-gray-400"},Zt={key:1,class:"flex flex-nowrap overflow-hidden items-center gap-x-1.5 mb-2 min-h-[24px]"},ea=["onClick"],ta={key:0,class:"shrink-0 text-gray-300 dark:text-gray-600 font-normal"},aa={key:0,class:"text-[11px] text-gray-400"},sa={class:"text-[10px] leading-relaxed text-gray-500 dark:text-gray-400"},na={class:"flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},ia={class:"flex items-center gap-1.5"},oa={class:"text-[9px] font-medium uppercase tracking-widest"},ra=G({__name:"LanguagePreferenceCard",props:{data:{},enableRecordNavigation:{type:Boolean,default:!0}},emits:["wordClick"],setup(_,{emit:s}){be([ft,ke,_e]);const{t:a}=Y(),w=he(),i=_,h=s,R=k(()=>i.data.members[0]),f=k(()=>i.data.members[1]);function p(l,m){return l.length<=m?l:l.slice(0,m)+"…"}function $(l){const m=l.posDistribution,r=m.noun+m.verb+m.adjective+m.adverb+m.modalParticle+m.interjection+m.other;return r===0?a("quotes.languagePreference.pos.styleBalanced"):m.noun/r>.5?a("quotes.languagePreference.pos.styleEncyclopedia"):m.verb/r>.45?a("quotes.languagePreference.pos.styleAction"):m.adjective/r>.3?a("quotes.languagePreference.pos.styleExpressive"):a("quotes.languagePreference.pos.styleBalanced")}function N(l){const r=[["ellipsis",l.ellipsis],["exclamation",l.exclamation],["question",l.question],["tilde",l.tilde],["noPunct",l.noPunct],["period",l.period]].reduce((b,P)=>b[1]>=P[1]?b:P);return{ellipsis:a("quotes.languagePreference.punctuation.personalityDeep"),exclamation:a("quotes.languagePreference.punctuation.personalityPassionate"),question:a("quotes.languagePreference.punctuation.personalityCurious"),tilde:a("quotes.languagePreference.punctuation.personalityCheerful"),noPunct:a("quotes.languagePreference.punctuation.personalityFreeflow"),period:a("quotes.languagePreference.punctuation.personalityPrecise")}[r[0]]||"-"}function A(l,m=5){return[["...",l.ellipsis],["!",l.exclamation],["?",l.question],["~",l.tilde],["。",l.period]].filter(([,u])=>u>0).sort((u,b)=>b[1]-u[1]).slice(0,m).map(([u])=>u)}const M=["#6366f1","#ec4899","#f97316","#22c55e","#3b82f6","#8b5cf6","#14b8a6","#f43f5e","#eab308","#06b6d4"],y=k(()=>{const l=R.value,m=f.value;if(!l||!m)return[];const r=i.data.sharedWords.slice(0,6).map((u,b)=>({word:u.word,color:M[b%M.length]}));return[{icon:"i-heroicons-book-open",iconBgClass:"bg-blue-100 dark:bg-blue-500/20",iconColorClass:"text-blue-600 dark:text-blue-400",title:a("quotes.languagePreference.card.diversityTitle"),leftName:l.name,leftValue:`${l.lexicalDiversity}%`,rightName:m.name,rightValue:`${m.lexicalDiversity}%`,valueClass:"text-lg text-blue-600 dark:text-blue-400",detail:{kind:"tags-single",tags:r},desc:a("quotes.languagePreference.card.diversityDesc")},{icon:"i-heroicons-sparkles",iconBgClass:"bg-violet-100 dark:bg-violet-500/20",iconColorClass:"text-violet-600 dark:text-violet-400",title:a("quotes.languagePreference.card.styleTitle"),leftName:l.name,leftValue:$(l),rightName:m.name,rightValue:$(m),valueClass:"text-xs text-violet-600 dark:text-violet-400",detail:{kind:"tags-vs",leftTags:l.modalParticles.slice(0,4).map(u=>u.word),rightTags:m.modalParticles.slice(0,4).map(u=>u.word)},desc:a("quotes.languagePreference.card.styleDesc")},{icon:"i-heroicons-finger-print",iconBgClass:"bg-orange-100 dark:bg-orange-500/20",iconColorClass:"text-orange-600 dark:text-orange-400",title:a("quotes.languagePreference.card.punctTitle"),leftName:l.name,leftValue:N(l.punctuation),rightName:m.name,rightValue:N(m.punctuation),valueClass:"text-xs text-orange-600 dark:text-orange-400",detail:{kind:"tags-vs",leftTags:A(l.punctuation,4),rightTags:A(m.punctuation,4)},desc:a("quotes.languagePreference.card.punctDesc")}]}),q=U(null);let C=null;function S(){q.value&&(C=ae(q.value,void 0,{renderer:"canvas"}),x())}function x(){if(!C||!R.value||!f.value)return;const l=R.value.posDistribution,m=f.value.posDistribution,r=[{name:a("quotes.languagePreference.card.radarFactual"),max:0},{name:a("quotes.languagePreference.card.radarActive"),max:0},{name:a("quotes.languagePreference.card.radarDescriptive"),max:0},{name:a("quotes.languagePreference.card.radarAffable"),max:0},{name:a("quotes.languagePreference.card.radarIntense"),max:0}],u=[l.noun,l.verb,l.adjective,l.modalParticle+l.interjection,l.adverb],b=[m.noun,m.verb,m.adjective,m.modalParticle+m.interjection,m.adverb];for(let E=0;E<r.length;E++)r[E].max=Math.max(u[E],b[E],1)*1.3;const P=w.value?"#9ca3af":"#6b7280";C.setOption({backgroundColor:"transparent",tooltip:{trigger:"item"},legend:{bottom:0,itemWidth:10,itemHeight:10,textStyle:{fontSize:10,color:P},data:[R.value.name,f.value.name]},radar:{indicator:r,radius:"60%",center:["50%","50%"],splitArea:{areaStyle:{color:w.value?["rgba(255,255,255,0.02)","rgba(255,255,255,0.04)"]:["rgba(0,0,0,0.01)","rgba(0,0,0,0.03)"]}},axisName:{color:P,fontSize:10},splitLine:{lineStyle:{color:w.value?"rgba(255,255,255,0.08)":"rgba(0,0,0,0.06)"}},axisLine:{lineStyle:{color:w.value?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.08)"}}},series:[{type:"radar",data:[{value:u,name:R.value.name,lineStyle:{color:"#3b82f6",width:2},areaStyle:{color:"rgba(59,130,246,0.15)"},itemStyle:{color:"#3b82f6"},symbol:"circle",symbolSize:4},{value:b,name:f.value.name,lineStyle:{color:"#ec4899",width:2},areaStyle:{color:"rgba(236,72,153,0.15)"},itemStyle:{color:"#ec4899"},symbol:"circle",symbolSize:4}]}]},{notMerge:!0})}function g(){C?.resize()}return Q(()=>i.data,()=>x(),{deep:!0}),Q(w,()=>{C?.dispose(),S()}),xe(()=>{S(),window.addEventListener("resize",g)}),fe(()=>{window.removeEventListener("resize",g),C?.dispose()}),(l,m)=>{const r=X;return n(),V(t(Me),null,{default:H(()=>[R.value&&f.value?(n(),d("div",wt,[e("div",Ct,[e("div",$t,[e("div",St,[e("span",Mt,o(R.value.name),1),m[0]||(m[0]=e("span",{class:"text-sm sm:text-lg font-black text-gray-300 dark:text-gray-600 italic px-1 sm:px-2 shrink-0"}," VS ",-1)),e("span",jt,o(f.value.name),1)]),e("div",Pt,[(n(!0),d(O,null,J([R.value,f.value],(u,b)=>(n(),d("div",{key:u.memberId,class:"flex flex-col gap-3"},[e("div",Tt,o(t(a)("quotes.languagePreference.card.topCatchphrases")),1),e("div",It,[(n(!0),d(O,null,J(u.catchphrases.slice(0,3),(P,E)=>(n(),d("div",{key:E,class:"flex items-center gap-2 group"},[e("span",{class:F(["text-xs sm:text-sm font-black font-mono opacity-40 transition-opacity group-hover:opacity-100",b===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])}," #"+o(E+1),3),e("span",{class:F(["truncate text-sm font-bold text-gray-700 transition-opacity dark:text-gray-200 sm:text-base",i.enableRecordNavigation?"cursor-pointer hover:opacity-70":""]),title:P.content,onClick:W=>i.enableRecordNavigation&&h("wordClick",P.content)}," 「"+o(p(P.content,12))+"」 ",11,Rt),e("span",Dt," ×"+o(P.count),1)]))),128)),u.catchphrases.length===0?(n(),d("div",qt,"-")):L("",!0)])]))),128))])]),e("div",At,[e("div",{ref_key:"radarRef",ref:q,style:{width:"250px",height:"230px"},class:"-mt-4 sm:-mr-4"},null,512)])]),e("div",zt,[e("div",Lt,[e("span",Bt,o(t(a)("quotes.languagePreference.card.languageProfiles")),1)]),e("div",Nt,[(n(!0),d(O,null,J(y.value,u=>(n(),d("div",{key:u.title,class:"flex min-w-0 flex-col p-4"},[e("div",Vt,[e("div",{class:F(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",u.iconBgClass])},[j(r,{name:u.icon,class:F(["h-4 w-4",u.iconColorClass])},null,8,["name","class"])],2),e("span",Ft,o(u.title),1)]),e("div",Ot,[e("div",Ut,[e("span",Et,o(u.leftName),1),e("span",{class:F(["truncate text-xl font-black font-mono leading-none",u.valueClass])},o(u.leftValue),3)]),m[1]||(m[1]=e("div",{class:"px-2 shrink-0"},[e("span",{class:"text-[10px] font-black text-gray-300 dark:text-gray-600 italic"},"VS")],-1)),e("div",Wt,[e("span",Ht,o(u.rightName),1),e("span",{class:F(["truncate text-xl font-black font-mono leading-none",u.valueClass])},o(u.rightValue),3)])]),e("div",Jt,[u.detail.kind==="tags-vs"?(n(),d("div",Kt,[e("div",Gt,[(n(!0),d(O,null,J(u.detail.leftTags,b=>(n(),d("span",{key:b,class:"shrink-0 px-1.5 py-0.5 rounded-md text-[10px] font-semibold font-mono bg-blue-50 text-blue-600 dark:bg-blue-500/10 dark:text-blue-400"},o(b),1))),128)),u.detail.leftTags.length===0?(n(),d("span",Yt,"-")):L("",!0)]),e("div",Qt,[(n(!0),d(O,null,J(u.detail.rightTags,b=>(n(),d("span",{key:b,class:"shrink-0 px-1.5 py-0.5 rounded-md text-[10px] font-semibold font-mono bg-pink-50 text-pink-600 dark:bg-pink-500/10 dark:text-pink-400"},o(b),1))),128)),u.detail.rightTags.length===0?(n(),d("span",Xt,"-")):L("",!0)])])):u.detail.kind==="tags-single"?(n(),d("div",Zt,[(n(!0),d(O,null,J(u.detail.tags.slice(0,6),(b,P)=>(n(),d(O,{key:b.word},[e("span",{class:F(["shrink-0 text-[11px] font-bold transition-opacity",i.enableRecordNavigation?"cursor-pointer hover:opacity-80":""]),style:ve({color:b.color}),onClick:E=>i.enableRecordNavigation&&h("wordClick",b.word)},o(b.word),15,ea),P<u.detail.tags.slice(0,6).length-1?(n(),d("span",ta," · ")):L("",!0)],64))),128)),u.detail.tags.length===0?(n(),d("span",aa,"-")):L("",!0)])):L("",!0),e("p",sa,o(u.desc),1)])]))),128))])]),e("div",na,[e("div",ia,[j(r,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),m[2]||(m[2]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",oa,o(t(a)("quotes.languagePreference.card.watermark")),1)])])):L("",!0)]),_:1})}}}),la={class:"px-5 py-4 sm:px-6"},ca={class:"mb-4 flex items-center justify-between"},ua={class:"flex items-center gap-2"},da={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},ma={key:0,class:"rounded-full bg-pink-100 px-2 py-0.5 text-[10px] font-bold text-pink-600 dark:bg-pink-900/30 dark:text-pink-400"},ga={key:0,class:"grid grid-cols-2 gap-6"},pa={class:"mb-3 text-center"},va={class:"text-sm font-semibold text-blue-600 dark:text-blue-400"},ha={class:"flex flex-wrap gap-2"},xa=["title","onClick"],fa={class:"text-[10px] font-semibold opacity-60"},ya={class:"mb-3 text-center"},ba={class:"text-sm font-semibold text-pink-600 dark:text-pink-400"},ka={class:"flex flex-wrap gap-2"},_a=["title","onClick"],wa={class:"text-[10px] font-semibold opacity-60"},Ca={key:1,class:"mt-4 text-center text-xs text-gray-500 dark:text-gray-400"},$a=G({__name:"CatchphrasePKSection",props:{members:{},enableRecordNavigation:{type:Boolean,default:!0}},emits:["wordClick"],setup(_,{emit:s}){const{t:a}=Y(),w=_,i=s,h=U(20),R=[{label:"10",value:10},{label:"20",value:20},{label:"30",value:30}],f=k(()=>w.members[0]),p=k(()=>w.members[1]),$=k(()=>f.value?.catchphrases.slice(0,h.value)??[]),N=k(()=>p.value?.catchphrases.slice(0,h.value)??[]),A=k(()=>{if(!f.value||!p.value)return new Set;const C=new Set(f.value.catchphrases.map(x=>x.content)),S=new Set(p.value.catchphrases.map(x=>x.content));return new Set([...C].filter(x=>S.has(x)))}),M=[{bg:"bg-amber-50 text-amber-600 ring-1 ring-amber-500/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30",text:"text-amber-700 dark:text-amber-400 font-bold",badge:"bg-amber-500 text-white dark:bg-amber-600"},{bg:"bg-slate-50 text-slate-600 ring-1 ring-slate-500/20 dark:bg-slate-500/10 dark:text-slate-400 dark:ring-slate-500/30",text:"text-slate-700 dark:text-slate-300 font-bold",badge:"bg-slate-400 text-white dark:bg-slate-500"},{bg:"bg-orange-50 text-orange-600 ring-1 ring-orange-500/20 dark:bg-orange-500/10 dark:text-orange-400 dark:ring-orange-500/30",text:"text-orange-700 dark:text-orange-400 font-bold",badge:"bg-orange-400 text-white dark:bg-orange-500"}];function y(C){return C<M.length?M[C]:{bg:"bg-gray-50/50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/30 dark:text-gray-400 dark:ring-white/10",text:"text-gray-600 dark:text-gray-400",badge:"bg-transparent text-gray-400"}}function q(C,S=20){return C.length<=S?C:C.slice(0,S)+"..."}return(C,S)=>{const x=X;return n(),V(t(we),null,{default:H(()=>[e("div",la,[e("div",ca,[e("div",ua,[j(x,{name:"i-heroicons-chat-bubble-bottom-center-text",class:"h-4 w-4 text-indigo-500"}),e("span",da,o(t(a)("quotes.languagePreference.catchphrasePK.title")),1),A.value.size>0?(n(),d("span",ma,o(t(a)("quotes.languagePreference.catchphrasePK.sharedCount",{count:A.value.size})),1)):L("",!0)]),j(t(qe),{modelValue:h.value,"onUpdate:modelValue":S[0]||(S[0]=g=>h.value=g),size:"xs",items:R},null,8,["modelValue"])]),f.value&&p.value?(n(),d("div",ga,[e("div",null,[e("div",pa,[e("span",va,o(f.value.name),1)]),e("div",ha,[(n(!0),d(O,null,J($.value,(g,l)=>(n(),d("div",{key:g.content,class:F(["inline-flex items-center gap-1.5 rounded-full px-3 py-1 transition-opacity",[w.enableRecordNavigation?"cursor-pointer hover:opacity-75":"",A.value.has(g.content)?"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30 shadow-sm":y(l).bg]]),title:g.content,onClick:m=>w.enableRecordNavigation&&i("wordClick",g.content)},[l<3?(n(),d("span",{key:0,class:F(["flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold",y(l).badge])},o(l+1),3)):L("",!0),e("span",{class:F(["text-[13px] font-medium",A.value.has(g.content)?"font-bold":y(l).text])},o(q(g.content)),3),e("span",fa,"×"+o(g.count),1)],10,xa))),128))])]),e("div",null,[e("div",ya,[e("span",ba,o(p.value.name),1)]),e("div",ka,[(n(!0),d(O,null,J(N.value,(g,l)=>(n(),d("div",{key:g.content,class:F(["inline-flex items-center gap-1.5 rounded-full px-3 py-1 transition-opacity",[w.enableRecordNavigation?"cursor-pointer hover:opacity-75":"",A.value.has(g.content)?"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30 shadow-sm":y(l).bg]]),title:g.content,onClick:m=>w.enableRecordNavigation&&i("wordClick",g.content)},[l<3?(n(),d("span",{key:0,class:F(["flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold",y(l).badge])},o(l+1),3)):L("",!0),e("span",{class:F(["text-[13px] font-medium",A.value.has(g.content)?"font-bold":y(l).text])},o(q(g.content)),3),e("span",wa,"×"+o(g.count),1)],10,_a))),128))])])])):L("",!0),w.enableRecordNavigation?(n(),d("p",Ca,o(t(a)("quotes.languagePreference.catchphrasePK.hint")),1)):L("",!0)])]),_:1})}}}),Sa={class:"px-5 py-4 sm:px-6"},Ma={class:"mb-4 flex items-center gap-2"},ja={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Pa={class:"flex flex-col gap-4 lg:flex-row lg:gap-6"},Ta={class:"flex-1"},Ia={key:0,class:"flex shrink-0 flex-col gap-3 lg:w-48"},Ra={class:"min-w-0"},Da={class:"truncate text-xs font-semibold text-gray-500 dark:text-gray-400"},qa=G({__name:"PosPortraitSection",props:{members:{}},setup(_){be([Ae,ze,ke,yt,_e]);const{t:s}=Y(),a=he(),w=_,i=k(()=>w.members[0]),h=k(()=>w.members[1]);function R(M){const y=M.posDistribution,q=y.noun+y.verb+y.adjective+y.adverb+y.modalParticle+y.interjection+y.other;if(q===0)return{label:s("quotes.languagePreference.pos.styleBalanced"),icon:"i-heroicons-scale-solid",colorClass:"text-cyan-600 dark:text-cyan-400"};const C=y.noun/q,S=y.verb/q,x=y.adjective/q;return C>.5?{label:s("quotes.languagePreference.pos.styleEncyclopedia"),icon:"i-heroicons-book-open-solid",colorClass:"text-indigo-600 dark:text-indigo-400"}:S>.45?{label:s("quotes.languagePreference.pos.styleAction"),icon:"i-heroicons-rocket-launch-solid",colorClass:"text-orange-600 dark:text-orange-400"}:x>.3?{label:s("quotes.languagePreference.pos.styleExpressive"),icon:"i-heroicons-paint-brush-solid",colorClass:"text-pink-600 dark:text-pink-400"}:{label:s("quotes.languagePreference.pos.styleBalanced"),icon:"i-heroicons-scale-solid",colorClass:"text-cyan-600 dark:text-cyan-400"}}const f=U(null);let p=null;function $(){f.value&&(p=ae(f.value,void 0,{renderer:"canvas"}),N())}function N(){if(!p||!i.value||!h.value)return;const M=i.value.posDistribution,y=h.value.posDistribution,q=[s("quotes.languagePreference.card.radarNoun"),s("quotes.languagePreference.card.radarVerb"),s("quotes.languagePreference.card.radarAdj"),s("quotes.languagePreference.card.radarModal"),s("quotes.languagePreference.card.radarAdv")],C=[M.noun,M.verb,M.adjective,M.modalParticle+M.interjection,M.adverb],S=[y.noun,y.verb,y.adjective,y.modalParticle+y.interjection,y.adverb],x=a.value?"#9ca3af":"#6b7280";p.setOption({backgroundColor:"transparent",tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{data:[i.value.name,h.value.name],top:0,textStyle:{fontSize:11,color:x}},grid:{left:80,right:20,top:36,bottom:10},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:q,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:11,color:x}},series:[{name:i.value.name,type:"bar",data:C,itemStyle:{color:"#3b82f6",borderRadius:[0,4,4,0]},barGap:"20%",barCategoryGap:"40%"},{name:h.value.name,type:"bar",data:S,itemStyle:{color:"#ec4899",borderRadius:[0,4,4,0]}}]},{notMerge:!0})}function A(){p?.resize()}return Q(()=>w.members,()=>N(),{deep:!0}),Q(a,()=>{p?.dispose(),$()}),xe(()=>{$(),window.addEventListener("resize",A)}),fe(()=>{window.removeEventListener("resize",A),p?.dispose()}),(M,y)=>{const q=X;return n(),V(t(we),null,{default:H(()=>[e("div",Sa,[e("div",Ma,[j(q,{name:"i-heroicons-chart-bar",class:"h-4 w-4 text-violet-500"}),e("span",ja,o(t(s)("quotes.languagePreference.pos.title")),1)]),e("div",Pa,[e("div",Ta,[e("div",{ref_key:"chartRef",ref:f,style:{width:"100%",height:"220px"}},null,512)]),i.value&&h.value?(n(),d("div",Ia,[(n(!0),d(O,null,J([i.value,h.value],C=>(n(),d("div",{key:C.memberId,class:"flex min-w-0 items-center gap-3 px-1 py-3"},[j(q,{name:R(C).icon,class:F(["h-5 w-5 shrink-0",R(C).colorClass])},null,8,["name","class"]),e("div",Ra,[e("div",Da,o(C.name),1),e("div",{class:F(["truncate text-sm font-bold",R(C).colorClass])},o(R(C).label),3)])]))),128))])):L("",!0)])])]),_:1})}}}),Aa={class:"px-5 py-4 sm:px-6"},za={class:"mb-4 flex items-center gap-2"},La={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Ba={key:0,class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Na={class:"mb-2 flex items-center justify-between"},Va={key:1,class:"flex h-[200px] items-center justify-center text-sm text-gray-400"},Fa=G({__name:"ModalParticleSection",props:{members:{}},setup(_){be([Ae,ze,ke,_e]);const{t:s}=Y(),a=he(),w=_,i=k(()=>w.members[0]),h=k(()=>w.members[1]),R=new Set(["呀","哒","滴","啦","哇","耶"]),f=new Set(["呢","吗","嘛"]),p=new Set(["吧","喔","噢","嘛"]),$=new Set(["嗯","哦","额","呃"]);function N(g){const l={label:s("quotes.languagePreference.modal.toneMixed"),colorClass:"bg-gray-50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/50 dark:text-gray-400 dark:ring-white/10"};if(g.modalParticles.length===0)return l;let m=0,r=0,u=0,b=0,P=0;for(const W of g.modalParticles)P+=W.count,R.has(W.word)&&(m+=W.count),f.has(W.word)&&(r+=W.count),p.has(W.word)&&(u+=W.count),$.has(W.word)&&(b+=W.count);if(P===0)return l;const E=Math.max(m,r,u,b);return E===m&&m/P>.3?{label:s("quotes.languagePreference.modal.toneSoft"),colorClass:"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30"}:E===r&&r/P>.3?{label:s("quotes.languagePreference.modal.toneCurious"),colorClass:"bg-violet-50 text-violet-600 ring-1 ring-violet-500/20 dark:bg-violet-500/10 dark:text-violet-400 dark:ring-violet-500/30"}:E===u&&u/P>.3?{label:s("quotes.languagePreference.modal.toneCasual"),colorClass:"bg-emerald-50 text-emerald-600 ring-1 ring-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400 dark:ring-emerald-500/30"}:E===b&&b/P>.3?{label:s("quotes.languagePreference.modal.toneCalm"),colorClass:"bg-blue-50 text-blue-600 ring-1 ring-blue-500/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30"}:l}const A=U(null),M=U(null);let y=null,q=null;function C(g,l){const m=g.modalParticles.slice(0,8),r=a.value?"#9ca3af":"#6b7280";return{backgroundColor:"transparent",tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:40,right:20,top:4,bottom:4},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:m.map(u=>u.word).reverse(),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:12,color:r},inverse:!1},series:[{type:"bar",data:m.map(u=>u.count).reverse(),itemStyle:{color:l,borderRadius:[0,4,4,0]},barWidth:"50%",label:{show:!0,position:"right",fontSize:10,color:r,formatter:"{c}"}}]}}function S(){A.value&&i.value&&(y=ae(A.value,void 0,{renderer:"canvas"}),y.setOption(C(i.value,"#3b82f6"),{notMerge:!0})),M.value&&h.value&&(q=ae(M.value,void 0,{renderer:"canvas"}),q.setOption(C(h.value,"#ec4899"),{notMerge:!0}))}function x(){y?.resize(),q?.resize()}return Q(()=>w.members,()=>{y&&i.value&&y.setOption(C(i.value,"#3b82f6"),{notMerge:!0}),q&&h.value&&q.setOption(C(h.value,"#ec4899"),{notMerge:!0})},{deep:!0}),Q(a,()=>{y?.dispose(),q?.dispose(),S()}),xe(()=>{S(),window.addEventListener("resize",x)}),fe(()=>{window.removeEventListener("resize",x),y?.dispose(),q?.dispose()}),(g,l)=>{const m=X;return n(),V(t(we),null,{default:H(()=>[e("div",Aa,[e("div",za,[j(m,{name:"i-heroicons-chat-bubble-oval-left-ellipsis",class:"h-4 w-4 text-pink-500"}),e("span",La,o(t(s)("quotes.languagePreference.modal.title")),1)]),i.value&&h.value?(n(),d("div",Ba,[(n(!0),d(O,null,J([i.value,h.value],(r,u)=>(n(),d("div",{key:r.memberId},[e("div",Na,[e("span",{class:F(["text-sm font-semibold",u===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])},o(r.name),3),e("span",{class:F(["rounded-full px-2 py-0.5 text-[10px] font-bold",N(r).colorClass])},o(N(r).label),3)]),r.modalParticles.length>0?(n(),d("div",{key:0,ref_for:!0,ref:b=>{u===0?A.value=b:M.value=b},style:{width:"100%",height:"200px"}},null,512)):(n(),d("div",Va,o(t(s)("quotes.languagePreference.modal.empty")),1))]))),128))])):L("",!0)])]),_:1})}}}),Oa={class:"px-5 py-4 sm:px-6"},Ua={class:"mb-4 flex items-center gap-2"},Ea={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Wa={key:0,class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Ha={class:"mb-2 flex items-center gap-2"},Ja={key:1,class:"flex h-[200px] items-center justify-center text-sm text-gray-400"},Ka=G({__name:"PunctuationSection",props:{members:{}},setup(_){be([bt,ke,_e]);const{t:s}=Y(),a=he(),w=_,i=k(()=>w.members[0]),h=k(()=>w.members[1]),R=["#6366f1","#ec4899","#f97316","#22c55e","#06b6d4","#8b5cf6"];function f(S){const g=[["ellipsis",S.ellipsis],["exclamation",S.exclamation],["question",S.question],["tilde",S.tilde],["noPunct",S.noPunct],["period",S.period]].reduce((m,r)=>m[1]>=r[1]?m:r);return{ellipsis:{label:s("quotes.languagePreference.punctuation.personalityDeep"),colorClass:"bg-indigo-50 text-indigo-600 ring-1 ring-indigo-500/20 dark:bg-indigo-500/10 dark:text-indigo-400 dark:ring-indigo-500/30"},exclamation:{label:s("quotes.languagePreference.punctuation.personalityPassionate"),colorClass:"bg-rose-50 text-rose-600 ring-1 ring-rose-500/20 dark:bg-rose-500/10 dark:text-rose-400 dark:ring-rose-500/30"},question:{label:s("quotes.languagePreference.punctuation.personalityCurious"),colorClass:"bg-amber-50 text-amber-600 ring-1 ring-amber-500/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30"},tilde:{label:s("quotes.languagePreference.punctuation.personalityCheerful"),colorClass:"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30"},noPunct:{label:s("quotes.languagePreference.punctuation.personalityFreeflow"),colorClass:"bg-emerald-50 text-emerald-600 ring-1 ring-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400 dark:ring-emerald-500/30"},period:{label:s("quotes.languagePreference.punctuation.personalityPrecise"),colorClass:"bg-blue-50 text-blue-600 ring-1 ring-blue-500/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30"}}[g[0]]||{label:"-",colorClass:"bg-gray-50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/50 dark:text-gray-400 dark:ring-white/10"}}function p(S){return[{name:"...",value:S.ellipsis},{name:"!",value:S.exclamation},{name:"?",value:S.question},{name:"~",value:S.tilde},{name:"。",value:S.period},{name:s("quotes.languagePreference.punctuation.none"),value:S.noPunct}].filter(x=>x.value>0)}const $=U(null),N=U(null);let A=null,M=null;function y(S){return{backgroundColor:"transparent",tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},series:[{type:"pie",radius:["45%","75%"],center:["50%","50%"],avoidLabelOverlap:!1,padAngle:2,itemStyle:{borderRadius:4},label:{show:!0,fontSize:10,color:a.value?"#9ca3af":"#6b7280",formatter:"{b}"},emphasis:{label:{show:!0,fontWeight:"bold"},scaleSize:4},data:S.map((x,g)=>({...x,itemStyle:{color:R[g%R.length]}}))}]}}function q(){$.value&&i.value&&(A=ae($.value,void 0,{renderer:"canvas"}),A.setOption(y(p(i.value.punctuation)),{notMerge:!0})),N.value&&h.value&&(M=ae(N.value,void 0,{renderer:"canvas"}),M.setOption(y(p(h.value.punctuation)),{notMerge:!0}))}function C(){A?.resize(),M?.resize()}return Q(()=>w.members,()=>{A&&i.value&&A.setOption(y(p(i.value.punctuation)),{notMerge:!0}),M&&h.value&&M.setOption(y(p(h.value.punctuation)),{notMerge:!0})},{deep:!0}),Q(a,()=>{A?.dispose(),M?.dispose(),q()}),xe(()=>{q(),window.addEventListener("resize",C)}),fe(()=>{window.removeEventListener("resize",C),A?.dispose(),M?.dispose()}),(S,x)=>{const g=X;return n(),V(t(we),null,{default:H(()=>[e("div",Oa,[e("div",Ua,[j(g,{name:"i-heroicons-ellipsis-horizontal",class:"h-4 w-4 text-orange-500"}),e("span",Ea,o(t(s)("quotes.languagePreference.punctuation.title")),1)]),i.value&&h.value?(n(),d("div",Wa,[(n(!0),d(O,null,J([i.value,h.value],(l,m)=>(n(),d("div",{key:l.memberId,class:"flex flex-col items-center"},[e("div",Ha,[e("span",{class:F(["text-sm font-semibold",m===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])},o(l.name),3),e("span",{class:F(["rounded-full px-2 py-0.5 text-[10px] font-bold",f(l.punctuation).colorClass])},o(f(l.punctuation).label),3)]),l.punctuation.total>0?(n(),d("div",{key:0,ref_for:!0,ref:r=>{m===0?$.value=r:N.value=r},style:{width:"100%",height:"200px"}},null,512)):(n(),d("div",Ja,o(t(s)("quotes.languagePreference.punctuation.empty")),1))]))),128))])):L("",!0)])]),_:1})}}}),Ga={class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},Ya=G({__name:"LanguagePreferenceTab",props:{sessionId:{},timeFilter:{},enableRecordNavigation:{type:Boolean,default:!0}},setup(_){const{t:s,locale:a}=Y(),w=Re(),i=_,h=U(null),R=U(!1),f=k(()=>h.value&&h.value.members.length>=2);async function p(){if(i.sessionId){R.value=!0;try{h.value=await Se().getLanguagePreferenceAnalysis(i.sessionId,a.value,i.timeFilter)}catch(N){console.error("[LanguagePreferenceTab] Failed to load:",N)}finally{R.value=!1}}}function $(N){i.enableRecordNavigation&&w.openChatRecordDrawer({keywords:[N]})}return Q(()=>[i.sessionId,i.timeFilter],()=>p(),{immediate:!0,deep:!0}),(N,A)=>(n(),d("div",Ga,[R.value?(n(),V(t(ye),{key:0,text:t(s)("quotes.languagePreference.loading")},null,8,["text"])):f.value?h.value?(n(),d(O,{key:2},[j(ra,{data:h.value,"enable-record-navigation":i.enableRecordNavigation,onWordClick:$},null,8,["data","enable-record-navigation"]),j($a,{members:h.value.members,"enable-record-navigation":i.enableRecordNavigation,onWordClick:$},null,8,["members","enable-record-navigation"]),j(qa,{members:h.value.members},null,8,["members"]),j(Fa,{members:h.value.members},null,8,["members"]),j(Ka,{members:h.value.members},null,8,["members"])],64)):L("",!0):(n(),V(t(je),{key:1,text:t(s)("quotes.languagePreference.empty")},null,8,["text"]))]))}}),Qa={class:"flex min-w-0 flex-col p-4"},Xa={class:"mb-2 min-h-8"},Za={class:"flex items-center justify-between gap-2"},es={class:"flex min-w-0 items-center gap-2"},ts={class:"truncate text-xs font-bold tracking-wide text-gray-900 dark:text-white"},as={key:0,class:"shrink-0"},ss={class:"flex h-full flex-col"},ns={class:"grid grid-cols-2 gap-2"},is={class:"flex min-w-0 flex-col items-center px-1 py-1.5 text-center"},os=["title"],rs={class:"flex min-w-0 flex-col items-center px-1 py-1.5 text-center"},ls=["title"],cs={class:"mt-auto pt-3 min-h-8 text-[10px] leading-relaxed text-gray-500 dark:text-gray-400 sm:min-h-6"},pe=G({__name:"RelationshipMetricCard",props:{title:{},iconName:{},iconBgClass:{},iconColorClass:{},leftName:{default:"—"},leftValue:{default:"--"},rightName:{default:"—"},rightValue:{default:"--"},valueClass:{default:"text-gray-700 dark:text-gray-200"},description:{default:""}},setup(_){const s=Le(),a=k(()=>!!s["header-extra"]);return(w,i)=>{const h=X;return n(),d("div",Qa,[e("div",Xa,[e("div",Za,[e("div",es,[e("div",{class:F(["flex h-6 w-6 shrink-0 items-center justify-center rounded-full",_.iconBgClass])},[j(h,{name:_.iconName,class:F(["h-3.5 w-3.5",_.iconColorClass])},null,8,["name","class"])],2),e("span",ts,o(_.title),1)]),a.value?(n(),d("div",as,[Be(w.$slots,"header-extra")])):L("",!0)])]),e("div",ss,[e("div",ns,[e("div",is,[e("div",{class:"w-full truncate text-[10px] font-semibold tracking-wide text-gray-500 dark:text-gray-400",title:_.leftName},o(_.leftName),9,os),e("div",{class:F(["mt-2 font-black font-mono leading-none tabular-nums",_.valueClass])},o(_.leftValue),3)]),e("div",rs,[e("div",{class:"w-full truncate text-[10px] font-semibold tracking-wide text-gray-500 dark:text-gray-400",title:_.rightName},o(_.rightName),9,ls),e("div",{class:F(["mt-2 font-black font-mono leading-none tabular-nums",_.valueClass])},o(_.rightValue),3)])]),e("p",cs,o(_.description),1)])])}}}),us={key:1,class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},ds={class:"space-y-6"},ms={class:"relative z-10 flex flex-col items-center justify-center gap-10 px-6 pt-10 pb-6 sm:px-8 lg:flex-row lg:items-start lg:justify-between lg:gap-8 xl:gap-12"},gs={class:"flex min-w-0 max-w-full flex-1 flex-col items-center justify-center lg:items-start"},ps={class:"flex flex-col text-[15px] leading-relaxed text-gray-600 dark:text-gray-300"},vs={class:"mb-2 text-sm font-medium tracking-wide text-gray-500 dark:text-gray-400"},hs={class:"mb-4 flex min-w-0 flex-wrap items-baseline gap-2"},xs={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},fs={class:"font-black text-5xl tracking-tight text-gray-900 dark:text-white"},ys={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},bs={class:"flex min-w-0 max-w-full flex-wrap items-baseline gap-x-1.5 gap-y-1"},ks={class:"text-base font-medium text-gray-600 dark:text-gray-300"},_s={class:"font-black text-3xl text-pink-500 dark:text-pink-400"},ws={class:"text-base font-medium text-gray-600 dark:text-gray-300"},Cs={class:"max-w-full break-all text-xl font-bold leading-snug text-gray-900 dark:text-white"},$s={class:"text-base font-medium text-gray-600 dark:text-gray-300"},Ss={class:"mt-8 flex w-full max-w-[320px] items-center justify-between gap-4"},Ms={class:"flex flex-1 flex-col items-center overflow-hidden"},js=["title"],Ps={class:"mt-1 text-2xl font-black text-blue-500 dark:text-blue-400"},Ts={class:"mt-0.5 text-[10px] font-medium text-gray-400"},Is={class:"flex flex-1 flex-col items-center overflow-hidden"},Rs=["title"],Ds={class:"mt-1 text-2xl font-black text-pink-500 dark:text-pink-400"},qs={class:"mt-0.5 text-[10px] font-medium text-gray-400"},As={key:0,class:"flex min-w-0 w-full max-w-[400px] flex-1 flex-col justify-center lg:max-w-[460px]"},zs={class:"mb-2 flex items-center justify-between px-1"},Ls={class:"text-sm font-bold text-gray-900 dark:text-white"},Bs={class:"text-[10px] font-medium text-gray-500 dark:text-gray-400"},Ns={class:"w-full"},Vs={class:"h-[200px] w-full"},Fs={class:"relative z-10 grid grid-cols-2 gap-3 p-4 pt-2 sm:p-6 sm:pt-2 lg:grid-cols-4"},Os={class:"relative z-10 flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},Us={class:"flex items-center gap-1.5"},Es={class:"text-[9px] font-medium uppercase tracking-widest"},Ws={class:"px-4 pb-5 sm:px-6 sm:pb-6"},Hs={key:0,class:"mt-6"},Js={class:"mb-3 text-xs font-semibold tracking-wide text-gray-400 uppercase dark:text-gray-500"},Ks={class:"grid gap-x-8 gap-y-4 sm:grid-cols-3"},Gs={class:"min-w-0"},Ys={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Qs=["title"],Xs={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Zs={class:"mt-5 flex justify-center"},en={key:1,class:"mt-3 overflow-x-auto rounded-lg border border-gray-200/80 dark:border-white/10"},tn={class:"min-w-full text-left text-sm"},an={class:"bg-gray-50/80 text-xs text-gray-500 dark:bg-white/[0.03] dark:text-gray-400"},sn={scope:"col",class:"px-4 py-2.5 font-medium"},nn={scope:"col",class:"px-4 py-2.5 text-right font-medium"},on={scope:"col",class:"px-4 py-2.5 text-right font-medium"},rn={scope:"col",class:"max-w-[180px] truncate px-4 py-2.5 text-right font-medium"},ln={scope:"col",class:"max-w-[180px] truncate px-4 py-2.5 text-right font-medium"},cn={class:"divide-y divide-gray-100 dark:divide-white/5"},un={class:"whitespace-nowrap px-4 py-2.5 font-medium text-gray-700 dark:text-gray-300"},dn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},mn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},gn={class:"whitespace-nowrap px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},pn={class:"whitespace-nowrap px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},vn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},hn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},xn=G({__name:"PrivateRelationshipView",props:{sessionId:{},timeFilter:{}},setup(_){const{t:s,locale:a}=Y(),w=_,i=U(null),h=U(!1),R=U(!1),f=U("activity"),p=U(!1),$=U(300);async function N(c){if(!w.sessionId)return;const v=c?.localOnly==="perseverance";v?R.value=!0:h.value=!0;try{i.value=await Se().getRelationshipStats(w.sessionId,w.timeFilter,{perseveranceThreshold:$.value})}catch(z){console.error("Failed to load relationship stats:",z)}finally{v?R.value=!1:h.value=!1}}Q(()=>[w.sessionId,w.timeFilter],()=>N(),{immediate:!0,deep:!0});const A=[{label:"1m",value:60},{label:"3m",value:180},{label:"5m",value:300},{label:"10m",value:600},{label:"30m",value:1800}];function M(c){$.value!==c&&($.value=c,N({localOnly:"perseverance"}))}const y=k({get:()=>$.value,set:c=>M(c)});function q(c){return s("views.relationship.perseverance.thresholdMinutes",{n:Math.round(c/60)})}const C=k(()=>s("views.relationship.perseverance.hintWithThreshold",{threshold:q($.value)})),S=k(()=>i.value?.hasSessionIndex&&i.value.totalSessions>0),x=k(()=>i.value?.members[0]),g=k(()=>i.value?.members[1]),l=k(()=>{if(!x.value||!i.value)return 50;const c=(x.value.totalInitiateCount??0)+(g.value?.totalInitiateCount??0);return c===0?50:Math.round(x.value.totalInitiateCount/c*100)}),m=k(()=>{if(!i.value||i.value.months.length===0)return"";const c=[...i.value.months].sort((D,I)=>D.month.localeCompare(I.month)),v=c[0].month.replace("-","/"),z=c[c.length-1].month.replace("-","/");return v===z?v:`${v} – ${z}`}),r=k(()=>a.value.startsWith("en")?"max-w-[420px]":"max-w-[320px]"),u=k(()=>{if(!i.value||i.value.months.length===0||!x.value)return{};const c=[...i.value.months].sort((B,te)=>B.month.localeCompare(te.month)),v=c.map(B=>P(B.month)),z=x.value.name,D=g.value?.name??"—",I=c.map(B=>{const te=B.members.find(ge=>ge.memberId===x.value.memberId);return!te||B.totalSessions===0?50:Math.round(te.initiateCount/B.totalSessions*100)});return{tooltip:{trigger:"axis",formatter(B){const te=B[0],ge=te.value;return`${te.axisValue}<br/>${z}: ${ge}%<br/>${D}: ${100-ge}%`}},grid:{left:40,right:20,top:20,bottom:30},xAxis:{type:"category",data:v,axisLabel:{fontSize:11}},yAxis:{type:"value",min:0,max:100,axisLabel:{formatter:"{value}%",fontSize:11},splitLine:{lineStyle:{type:"dashed"}}},series:[{type:"line",data:I,smooth:!0,symbol:"circle",symbolSize:6,lineStyle:{width:2,color:"#3b82f6"},itemStyle:{color:"#3b82f6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(59, 130, 246, 0.15)"},{offset:1,color:"rgba(59, 130, 246, 0)"}]}},markLine:{silent:!0,data:[{yAxis:50,lineStyle:{type:"dashed",color:"#9ca3af"}}],label:{show:!1},symbol:"none"}}]}});function b(c){const[v,z]=c.split("-");return s("views.relationship.monthFormat",{year:v,month:Number.parseInt(z,10)})}function P(c){const v=c.split("-");return s("views.relationship.monthShortFormat",{month:Number.parseInt(v[1],10)})}function E(c){return!c||!i.value?.iceBreakers?.length?0:i.value.iceBreakers.filter(v=>v.memberId===c).reduce((v,z)=>v+z.count,0)}function W(c){if(!c||!i.value?.responseLatency?.length)return null;const v=i.value.responseLatency.find(z=>z.memberId===c);return v?v.avgResponseTime:null}function se(c){return!c||!i.value?.perseverance?.length?0:i.value.perseverance.find(z=>z.memberId===c)?.totalDoubleTexts??0}function ce(c){const v=W(c);return v!=null?ee(v):"--"}function ue(c){return i.value?.monthlyResponseLatency?.find(v=>v.month===c)?.members??[]}function de(c){return i.value?.monthlyPerseverance?.find(v=>v.month===c)?.members??[]}function ne(c,v){return v?ue(c).find(D=>D.memberId===v)?.avgResponseTime??null:null}function ie(c,v){const z=ne(c,v);return z==null?"—":ee(z)}function Z(c,v){return v?de(c).find(D=>D.memberId===v)?.doubleTextCount??0:0}function oe(c){return i.value?.iceBreakers?.filter(v=>v.month===c).reduce((v,z)=>v+z.count,0)??0}function Ce(c){const v=ue(c),z=v.reduce((D,I)=>D+I.responseCount,0);return z===0?null:v.reduce((D,I)=>D+I.avgResponseTime*I.responseCount,0)/z}function ee(c){const v=Math.max(0,Math.round(c));if(v<60)return s("views.relationship.responseLatency.seconds",{n:v});if(v<3600){const I=Math.floor(v/60),B=v%60;return s("views.relationship.responseLatency.minutesSeconds",{m:I,s:B})}const z=Math.floor(v/3600),D=Math.floor(v%3600/60);return D===0?s("views.relationship.responseLatency.hours",{n:z}):s("views.relationship.responseLatency.hoursMinutes",{h:z,m:D})}const K=k(()=>[...i.value?.months??[]].sort((c,v)=>c.month.localeCompare(v.month))),T=k(()=>[{label:s("views.relationship.trajectory.metrics.activity"),value:"activity"},{label:s("views.relationship.trajectory.metrics.response"),value:"response"},{label:s("views.relationship.trajectory.metrics.perseverance"),value:"perseverance"}]),re=k(()=>{const c=K.value,v=new Set(c.map(I=>I.month.slice(0,4))).size>1,z=c.map(I=>v?I.month.replace("-","/"):P(I.month)),D={color:["#3b82f6","#ec4899"],tooltip:{trigger:"axis"},legend:{top:4,textStyle:{fontSize:11}},grid:{left:52,right:24,top:44,bottom:34},xAxis:{type:"category",data:z,axisTick:{show:!1},axisLabel:{fontSize:11}},yAxis:{type:"value",min:0,minInterval:1,axisLabel:{fontSize:11},splitLine:{lineStyle:{type:"dashed"}}}};return f.value==="activity"?{...D,series:[{name:s("views.relationship.trajectory.conversations"),type:"bar",data:c.map(I=>I.totalSessions),barMaxWidth:32,itemStyle:{borderRadius:[4,4,0,0]}},{name:s("views.relationship.trajectory.iceBreaks"),type:"line",data:c.map(I=>oe(I.month)),smooth:!0,symbolSize:7,lineStyle:{width:2}}]}:f.value==="response"?{...D,tooltip:{trigger:"axis",valueFormatter(I){return typeof I=="number"?ee(I):String(I??"—")}},yAxis:{type:"value",min:0,axisLabel:{fontSize:11,formatter(I){return ee(I)}},splitLine:{lineStyle:{type:"dashed"}}},series:[{name:x.value?.name??"—",type:"line",data:c.map(I=>ne(I.month,x.value?.memberId)),connectNulls:!1,smooth:!0,symbolSize:7,lineStyle:{width:2}},{name:g.value?.name??"—",type:"line",data:c.map(I=>ne(I.month,g.value?.memberId)),connectNulls:!1,smooth:!0,symbolSize:7,lineStyle:{width:2}}]}:{...D,series:[{name:x.value?.name??"—",type:"bar",data:c.map(I=>Z(I.month,x.value?.memberId)),barMaxWidth:24,itemStyle:{borderRadius:[4,4,0,0]}},{name:g.value?.name??"—",type:"bar",data:c.map(I=>Z(I.month,g.value?.memberId)),barMaxWidth:24,itemStyle:{borderRadius:[4,4,0,0]}}]}}),me=k(()=>{const c=K.value.reduce((D,I)=>!D||I.totalSessions>D.totalSessions?I:D,null),v=K.value.map(D=>({month:D.month,count:oe(D.month)})).filter(D=>D.count>0).sort((D,I)=>I.count-D.count)[0],z=K.value.map(D=>({month:D.month,value:Ce(D.month)})).filter(D=>D.value!=null).sort((D,I)=>D.value-I.value)[0];return[c&&c.totalSessions>0?{icon:"i-heroicons-chart-bar-square-solid",iconClass:"bg-blue-50 text-blue-500 dark:bg-blue-500/10 dark:text-blue-400",title:s("views.relationship.trajectory.activityPeak"),month:b(c.month),detail:s("views.relationship.trajectory.activityPeakDetail",{count:c.totalSessions})}:null,v?{icon:"i-heroicons-fire-solid",iconClass:"bg-pink-50 text-pink-500 dark:bg-pink-500/10 dark:text-pink-400",title:s("views.relationship.trajectory.iceBreakPeak"),month:b(v.month),detail:s("views.relationship.trajectory.iceBreakPeakDetail",{count:v.count})}:null,z?{icon:"i-heroicons-clock-solid",iconClass:"bg-blue-50 text-blue-500 dark:bg-blue-500/10 dark:text-blue-400",title:s("views.relationship.trajectory.fastestResponse"),month:b(z.month),detail:s("views.relationship.trajectory.fastestResponseDetail",{duration:ee(z.value)})}:null].filter(D=>D!=null)});return(c,v)=>{const z=ht,D=X,I=De;return n(),d("div",{class:F(h.value?"h-full":"")},[h.value?(n(),V(t(ye),{key:0,variant:"page",text:t(s)("common.loading")},null,8,["text"])):(n(),d("div",us,[i.value&&!S.value?(n(),V(t(je),{key:0,icon:"i-heroicons-heart",title:t(s)("views.relationship.empty.title"),description:t(s)("views.relationship.empty.description")},null,8,["title","description"])):i.value&&S.value?(n(),d(O,{key:1},[e("div",ds,[j(t(Me),{id:"shareable-poster"},{default:H(()=>[e("div",ms,[e("div",gs,[e("div",{class:F(["flex w-fit min-w-0 flex-col items-start text-left",r.value])},[e("div",ps,[e("p",vs,o(m.value),1),e("div",hs,[e("span",xs,o(t(s)("views.relationship.hero.totalSessionsPrefix")),1),e("span",fs,o(i.value.totalSessions),1),e("span",ys,o(t(s)("views.relationship.hero.totalSessionsSuffix")),1)]),e("div",bs,[e("span",ks,o(t(s)("views.relationship.hero.initiativePrefix")),1),e("span",_s,o(l.value>=50?l.value:100-l.value)+"% ",1),e("span",ws,o(t(s)("views.relationship.hero.initiativeByPrefix")),1),e("span",Cs,o(l.value>=50?x.value?.name:g.value?.name),1),e("span",$s,o(t(s)("views.relationship.hero.initiativeBySuffix")),1)])]),e("div",Ss,[e("div",Ms,[e("div",{class:"w-full truncate text-center text-xs font-bold text-gray-500 dark:text-gray-400",title:x.value?.name},o(x.value?.name),9,js),e("div",Ps,o(x.value?.totalInitiateCount),1),e("div",Ts,o(t(s)("views.relationship.hero.initiateTimes")),1)]),v[3]||(v[3]=e("div",{class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-gray-100 font-black text-[10px] italic text-gray-400 shadow-inner dark:bg-page-dark/80 dark:text-gray-500"}," VS ",-1)),e("div",Is,[e("div",{class:"w-full truncate text-center text-xs font-bold text-gray-500 dark:text-gray-400",title:g.value?.name},o(g.value?.name),9,Rs),e("div",Ds,o(g.value?.totalInitiateCount),1),e("div",qs,o(t(s)("views.relationship.hero.initiateTimes")),1)])])],2)]),i.value.months.length>=2?(n(),d("div",As,[e("div",zs,[e("span",Ls,o(t(s)("views.relationship.trend.title")),1),e("span",Bs,o(t(s)("views.relationship.trend.hint",{name:x.value?.name??""})),1)]),e("div",Ns,[e("div",Vs,[j(t(Ie),{option:u.value,height:200},null,8,["option"])])])])):L("",!0)]),e("div",Fs,[j(pe,{title:t(s)("views.relationship.closerTitle"),"icon-name":"i-heroicons-hand-raised-solid","icon-bg-class":"bg-blue-100 dark:bg-blue-500/20","icon-color-class":"text-blue-600 dark:text-blue-400","left-name":x.value?.name,"left-value":x.value?.totalCloseCount??0,"right-name":g.value?.name,"right-value":g.value?.totalCloseCount??0,"value-class":"text-lg text-blue-600 dark:text-blue-400",description:t(s)("views.relationship.closerHint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(pe,{title:t(s)("views.relationship.iceBreaker.title"),"icon-name":"i-heroicons-fire-solid","icon-bg-class":"bg-pink-100 dark:bg-pink-500/20","icon-color-class":"text-pink-600 dark:text-pink-400","left-name":x.value?.name,"left-value":E(x.value?.memberId),"right-name":g.value?.name,"right-value":E(g.value?.memberId),"value-class":"text-lg text-pink-600 dark:text-pink-400",description:t(s)("views.relationship.iceBreaker.hint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(pe,{title:t(s)("views.relationship.responseLatency.title"),"icon-name":"i-heroicons-clock-solid","icon-bg-class":"bg-amber-100 dark:bg-amber-500/20","icon-color-class":"text-amber-600 dark:text-amber-400","left-name":x.value?.name,"left-value":ce(x.value?.memberId),"right-name":g.value?.name,"right-value":ce(g.value?.memberId),"value-class":"text-base text-amber-600 dark:text-amber-400",description:t(s)("views.relationship.responseLatency.hint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(pe,{title:t(s)("views.relationship.perseverance.title"),"icon-name":"i-heroicons-arrow-path-solid","icon-bg-class":"bg-purple-100 dark:bg-purple-500/20","icon-color-class":"text-purple-600 dark:text-purple-400","left-name":x.value?.name,"left-value":se(x.value?.memberId),"right-name":g.value?.name,"right-value":se(g.value?.memberId),"value-class":"text-lg text-purple-600 dark:text-purple-400",description:C.value},{"header-extra":H(()=>[j(z,{modelValue:y.value,"onUpdate:modelValue":v[0]||(v[0]=B=>y.value=B),items:A,"value-key":"value",size:"xs",class:"relative z-[120] w-16",ui:{content:"z-[121]"},disabled:R.value},null,8,["modelValue","disabled"])]),_:1},8,["title","left-name","left-value","right-name","right-value","description"])]),e("div",Os,[e("div",Us,[j(D,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),v[4]||(v[4]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",Es,o(t(s)("views.relationship.watermarkReport")),1)])]),_:1})]),j(t(le),{title:t(s)("views.relationship.trajectory.title"),description:t(s)("views.relationship.trajectory.description"),"show-divider":!1},{headerRight:H(()=>[j(t(qe),{modelValue:f.value,"onUpdate:modelValue":v[1]||(v[1]=B=>f.value=B),items:T.value,size:"sm",class:"max-w-[58vw] sm:max-w-none"},null,8,["modelValue","items"])]),default:H(()=>[e("div",Ws,[j(t(Ie),{option:re.value,height:280},null,8,["option"]),me.value.length>0?(n(),d("div",Hs,[e("p",Js,o(t(s)("views.relationship.trajectory.keyMoments")),1),e("div",Ks,[(n(!0),d(O,null,J(me.value,B=>(n(),d("div",{key:B.title,class:"flex min-w-0 items-start gap-3 py-1"},[e("div",{class:F(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",B.iconClass])},[j(D,{name:B.icon,class:"h-4 w-4"},null,8,["name"])],2),e("div",Gs,[e("p",Ys,o(B.title),1),e("p",{class:"mt-0.5 truncate text-sm font-semibold text-gray-900 dark:text-white",title:B.month},o(B.month),9,Qs),e("p",Xs,o(B.detail),1)])]))),128))])])):L("",!0),e("div",Zs,[j(I,{color:"neutral",variant:"ghost",size:"sm",icon:p.value?"i-heroicons-chevron-up":"i-heroicons-chevron-down",onClick:v[2]||(v[2]=B=>p.value=!p.value)},{default:H(()=>[$e(o(p.value?t(s)("views.relationship.trajectory.hideAll"):t(s)("views.relationship.trajectory.showAll")),1)]),_:1},8,["icon"])]),p.value?(n(),d("div",en,[e("table",tn,[e("thead",an,[e("tr",null,[e("th",sn,o(t(s)("views.relationship.trajectory.month")),1),f.value==="activity"?(n(),d(O,{key:0},[e("th",nn,o(t(s)("views.relationship.trajectory.conversations")),1),e("th",on,o(t(s)("views.relationship.trajectory.iceBreaks")),1)],64)):(n(),d(O,{key:1},[e("th",rn,o(x.value?.name),1),e("th",ln,o(g.value?.name),1)],64))])]),e("tbody",cn,[(n(!0),d(O,null,J([...K.value].reverse(),B=>(n(),d("tr",{key:B.month},[e("td",un,o(b(B.month)),1),f.value==="activity"?(n(),d(O,{key:0},[e("td",dn,o(B.totalSessions),1),e("td",mn,o(oe(B.month)),1)],64)):f.value==="response"?(n(),d(O,{key:1},[e("td",gn,o(ie(B.month,x.value?.memberId)),1),e("td",pn,o(ie(B.month,g.value?.memberId)),1)],64)):(n(),d(O,{key:2},[e("td",vn,o(Z(B.month,x.value?.memberId)),1),e("td",hn,o(Z(B.month,g.value?.memberId)),1)],64))]))),128))])])])):L("",!0)])]),_:1},8,["title","description"])],64)):L("",!0)]))],2)}}}),fn={class:"relative z-10 px-6 pt-8 pb-5 sm:px-8 sm:pt-10"},yn={class:"flex flex-col gap-8 lg:flex-row lg:items-center lg:justify-between lg:gap-12"},bn={class:"min-w-0 flex-1"},kn={class:"text-sm font-medium tracking-wide text-gray-500 dark:text-gray-400"},_n={class:"mt-3 flex flex-wrap items-baseline gap-x-2 gap-y-1"},wn={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},Cn={class:"text-4xl font-black tracking-tight text-gray-900 dark:text-white sm:text-5xl"},$n={class:"mt-3 max-w-xl text-sm leading-6 text-gray-500 dark:text-gray-400"},Sn={class:"w-full min-w-0 lg:max-w-[380px]"},Mn={class:"mb-3 flex items-center justify-between gap-4"},jn={class:"text-xs font-bold tracking-wide text-gray-700 dark:text-gray-300"},Pn={class:"text-[10px] font-medium text-gray-400 dark:text-gray-500"},Tn=["title"],In={class:"mt-2 flex justify-between text-[10px] font-medium text-gray-400 dark:text-gray-500"},Rn={class:"relative z-10 grid grid-cols-2 gap-x-3 gap-y-4 px-4 pt-2 pb-6 sm:px-6 lg:grid-cols-4"},Dn={class:"min-w-0"},qn={class:"mt-1 truncate text-[10px] font-semibold text-gray-600 dark:text-gray-300"},An={class:"mt-0.5 line-clamp-2 text-[9px] leading-4 text-gray-400 dark:text-gray-500"},zn={class:"relative z-10 flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},Ln={class:"flex items-center gap-1.5"},Bn={class:"text-[9px] font-medium uppercase tracking-widest"},Nn=G({__name:"JourneyReportCard",props:{stats:{},filtered:{type:Boolean}},setup(_){const s=_,{t:a,locale:w}=Y(),i=k(()=>new Intl.NumberFormat(w.value)),h=k(()=>new Intl.DateTimeFormat(w.value,{year:"numeric",month:"short",day:"numeric"})),R=k(()=>new Intl.DateTimeFormat(w.value,{year:"numeric",month:"short"})),f=k(()=>s.stats.range),p=k(()=>Math.max(...s.stats.months.map(g=>g.messageCount),1)),$=k(()=>({gridTemplateColumns:`repeat(${s.stats.months.length}, minmax(2px, 1fr))`,gap:s.stats.months.length>96?"1px":"2px"})),N=k(()=>{const g=f.value.spanDays;if(g<30)return a("views.journey.duration.days",{count:g});const l=Math.floor(g/365),m=Math.floor(g%365/30);return l>0?m>0?a("views.journey.duration.yearsMonths",{years:l,months:m}):a("views.journey.duration.years",{count:l}):a("views.journey.duration.months",{count:Math.max(1,m)})}),A=k(()=>[{icon:"i-heroicons-sparkles-solid",colorClass:"text-pink-500 dark:text-pink-400",label:a("views.journey.metrics.peakMonth"),value:s.stats.peakMonth?q(s.stats.peakMonth.month):"—",subtext:s.stats.peakMonth?a("views.journey.metrics.messagesAndDays",{messages:M(s.stats.peakMonth.messageCount),days:M(s.stats.peakMonth.activeDays)}):"—"},{icon:"i-heroicons-calendar-days-solid",colorClass:"text-indigo-500 dark:text-indigo-400",label:a("views.journey.metrics.activeMonths"),value:a("views.journey.metrics.monthsRatio",{active:M(f.value.activeMonths),total:M(f.value.spanMonths)}),subtext:a("views.journey.metrics.activeDays",{count:M(f.value.activeDays)})},{icon:"i-heroicons-chat-bubble-left-right-solid",colorClass:"text-blue-500 dark:text-blue-400",label:a("views.journey.metrics.longestConversation"),value:s.stats.longestSegment?C(s.stats.longestSegment.durationSeconds):"—",subtext:s.stats.longestSegment?a("views.journey.metrics.conversationDetail",{date:y(s.stats.longestSegment.startTs),count:M(s.stats.longestSegment.messageCount)}):a("views.journey.metrics.noIndex")},{icon:"i-heroicons-moon-solid",colorClass:"text-violet-500 dark:text-violet-400",label:a("views.journey.metrics.longestSilence"),value:s.stats.longestSilence?C(s.stats.longestSilence.durationSeconds):"—",subtext:s.stats.longestSilence?s.stats.longestSilence.reopenedBy?a("views.journey.metrics.reopenedBy",{name:s.stats.longestSilence.reopenedBy.name}):a("views.journey.metrics.reopened"):s.stats.hasSessionIndex?a("views.journey.metrics.noSilence"):a("views.journey.metrics.noIndex")}]);function M(g){return i.value.format(g)}function y(g){return h.value.format(g*1e3)}function q(g){const[l,m]=g.split("-").map(Number);return R.value.format(new Date(l,m-1,1))}function C(g){const l=Math.max(0,Math.round(g/60));if(l<1)return a("views.journey.duration.lessThanMinute");if(l<60)return a("views.journey.duration.minutes",{count:l});const m=Math.floor(l/60);if(m<24){const b=l%60;return b>0?a("views.journey.duration.hoursMinutes",{hours:m,minutes:b}):a("views.journey.duration.hours",{count:m})}const r=Math.floor(m/24),u=m%24;return u>0?a("views.journey.duration.daysHours",{days:r,hours:u}):a("views.journey.duration.days",{count:r})}function S(g){if(g===0)return"4px";const l=Math.sqrt(g/p.value);return`${Math.round(10+l*50)}px`}function x(g,l){return a("views.journey.hero.monthTooltip",{month:q(g),count:M(l)})}return(g,l)=>{const m=X;return n(),V(t(Me),null,{default:H(()=>[e("div",fn,[e("div",yn,[e("div",bn,[e("p",kn,o(y(f.value.firstMessageTs))+" – "+o(y(f.value.lastMessageTs)),1),e("div",_n,[e("span",wn,o(t(a)("views.journey.hero.prefix")),1),e("span",Cn,o(N.value),1)]),e("p",$n,o(t(a)(_.filtered?"views.journey.hero.filteredSummary":"views.journey.hero.summary",{activeMonths:M(f.value.activeMonths),activeDays:M(f.value.activeDays)})),1)]),e("div",Sn,[e("div",Mn,[e("p",jn,o(t(a)("views.journey.hero.footprint")),1),e("p",Pn,o(t(a)("views.journey.hero.monthCount",{count:M(f.value.spanMonths)})),1)]),e("div",{class:"grid h-16 items-end overflow-hidden rounded-xl bg-gray-50/80 px-3 py-2 dark:bg-white/[0.035]",style:ve($.value)},[(n(!0),d(O,null,J(_.stats.months,r=>(n(),d("div",{key:r.month,class:F(["min-w-0 rounded-t-sm",r.messageCount>0?"bg-pink-400/80 dark:bg-pink-400/75":"bg-gray-200 dark:bg-white/10"]),style:ve({height:S(r.messageCount)}),title:x(r.month,r.messageCount)},null,14,Tn))),128))],4),e("div",In,[e("span",null,o(q(_.stats.months[0].month)),1),e("span",null,o(q(_.stats.months[_.stats.months.length-1].month)),1)])])])]),e("div",Rn,[(n(!0),d(O,null,J(A.value,r=>(n(),d("div",{key:r.label,class:"flex min-w-0 items-start gap-2.5 px-2 py-1"},[j(m,{name:r.icon,class:F(["mt-0.5 h-4 w-4 shrink-0",r.colorClass])},null,8,["name","class"]),e("div",Dn,[e("p",{class:F(["truncate text-sm font-black leading-tight tabular-nums",r.colorClass])},o(r.value),3),e("p",qn,o(r.label),1),e("p",An,o(r.subtext),1)])]))),128))]),e("div",zn,[e("div",Ln,[j(m,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),l[0]||(l[0]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",Bn,o(t(a)("views.journey.watermark")),1)])]),_:1})}}}),Vn={key:1,class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},Fn={class:"grid gap-4 px-5 pb-6 sm:grid-cols-2 sm:px-6 lg:grid-cols-3"},On={class:"min-w-0"},Un={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},En={class:"mt-0.5 text-sm font-semibold text-gray-900 dark:text-white"},Wn={class:"mt-1 text-xs leading-5 text-gray-500 dark:text-gray-400"},Hn={class:"space-y-3 px-5 pb-5 sm:px-6 sm:pb-6"},Jn={class:"font-mono text-xl font-black tabular-nums text-gray-900 dark:text-white"},Kn={class:"min-w-0"},Gn={class:"h-1.5 overflow-hidden rounded-full bg-gray-200/80 dark:bg-white/10"},Yn={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},Qn={key:0,class:"text-left sm:min-w-28 sm:text-right"},Xn={class:"text-xs font-semibold text-gray-700 dark:text-gray-300"},Zn={class:"mt-0.5 text-[10px] text-gray-400 dark:text-gray-500"},ei=G({__name:"JourneyView",props:{sessionId:{},timeFilter:{},timeRange:{}},setup(_){const s=_,{t:a,locale:w}=Y(),i=U(null),h=U(!1),R=U(!1),f=k(()=>new Intl.NumberFormat(w.value)),p=k(()=>new Intl.DateTimeFormat(w.value,{year:"numeric",month:"short",day:"numeric"})),$=k(()=>new Intl.DateTimeFormat(w.value,{year:"numeric",month:"short"})),N=k(()=>s.timeRange?s.timeFilter?.startTs!=null&&s.timeFilter.startTs>s.timeRange.start||s.timeFilter?.endTs!=null&&s.timeFilter.endTs<s.timeRange.end:!1),A=k(()=>i.value?.range!=null),M=k(()=>Math.max(...i.value?.years.map(r=>r.messageCount)??[],1)),y=k(()=>{if(!i.value?.range)return[];const r=[{id:"start",order:0,timestamp:i.value.range.firstMessageTs,icon:"i-heroicons-play-solid",iconClass:"bg-emerald-50 text-emerald-600 dark:bg-emerald-500/10 dark:text-emerald-400",title:a("views.journey.milestones.start"),date:S(i.value.range.firstMessageTs),detail:a("views.journey.milestones.startDetail")}];return i.value.peakMonth&&r.push({id:"peak",order:1,timestamp:g(i.value.peakMonth.month),icon:"i-heroicons-sparkles-solid",iconClass:"bg-pink-50 text-pink-600 dark:bg-pink-500/10 dark:text-pink-400",title:a("views.journey.milestones.peak"),date:x(i.value.peakMonth.month),detail:a("views.journey.milestones.peakDetail",{count:C(i.value.peakMonth.messageCount)})}),i.value.longestSegment&&r.push({id:"conversation",order:2,timestamp:i.value.longestSegment.startTs,icon:"i-heroicons-chat-bubble-left-right-solid",iconClass:"bg-blue-50 text-blue-600 dark:bg-blue-500/10 dark:text-blue-400",title:a("views.journey.milestones.longestConversation"),date:S(i.value.longestSegment.startTs),detail:a("views.journey.milestones.conversationDetail",{duration:l(i.value.longestSegment.durationSeconds),count:C(i.value.longestSegment.messageCount)})}),i.value.longestSilence&&r.push({id:"silence",order:3,timestamp:i.value.longestSilence.endTs,icon:"i-heroicons-moon-solid",iconClass:"bg-violet-50 text-violet-600 dark:bg-violet-500/10 dark:text-violet-400",title:a("views.journey.milestones.longestSilence"),date:a("views.journey.milestones.silenceRange",{start:S(i.value.longestSilence.startTs),end:S(i.value.longestSilence.endTs)}),detail:i.value.longestSilence.reopenedBy?a("views.journey.milestones.silenceDetailWithMember",{duration:l(i.value.longestSilence.durationSeconds),name:i.value.longestSilence.reopenedBy.name}):a("views.journey.milestones.silenceDetail",{duration:l(i.value.longestSilence.durationSeconds)})}),r.push({id:"end",order:4,timestamp:i.value.range.lastMessageTs,icon:"i-heroicons-flag-solid",iconClass:"bg-amber-50 text-amber-600 dark:bg-amber-500/10 dark:text-amber-400",title:a("views.journey.milestones.end"),date:S(i.value.range.lastMessageTs),detail:a(N.value?"views.journey.milestones.filteredEndDetail":"views.journey.milestones.endDetail")}),r.sort((u,b)=>u.timestamp-b.timestamp||u.order-b.order)});Q(()=>[s.sessionId,s.timeFilter],()=>q(),{immediate:!0,deep:!0});async function q(){if(s.sessionId){h.value=!0,R.value=!1;try{i.value=await Se().getJourneyStats(s.sessionId,s.timeFilter)}catch(r){i.value=null,R.value=!0;const u=r instanceof Error?r.message:String(r);console.error("Failed to load journey stats:",r),Ne(`Journey stats load failed: ${u}`,r instanceof Error?r.stack:void 0)}finally{h.value=!1}}}function C(r){return f.value.format(r)}function S(r){return p.value.format(r*1e3)}function x(r){const[u,b]=r.split("-").map(Number);return $.value.format(new Date(u,b-1,1))}function g(r){const[u,b]=r.split("-").map(Number);return Math.floor(new Date(u,b-1,1).getTime()/1e3)}function l(r){const u=Math.max(0,Math.round(r/60));if(u<1)return a("views.journey.duration.lessThanMinute");if(u<60)return a("views.journey.duration.minutes",{count:u});const b=Math.floor(u/60);if(b<24){const W=u%60;return W>0?a("views.journey.duration.hoursMinutes",{hours:b,minutes:W}):a("views.journey.duration.hours",{count:b})}const P=Math.floor(b/24),E=b%24;return E>0?a("views.journey.duration.daysHours",{days:P,hours:E}):a("views.journey.duration.days",{count:P})}function m(r){return r===0?"0%":`${Math.max(4,Math.round(r/M.value*100))}%`}return(r,u)=>{const b=X;return n(),d("div",{class:F(h.value?"h-full":"")},[h.value?(n(),V(t(ye),{key:0,variant:"page",text:t(a)("common.loading")},null,8,["text"])):(n(),d("div",Vn,[A.value?i.value?(n(),d(O,{key:1},[j(Nn,{stats:i.value,filtered:N.value},null,8,["stats","filtered"]),j(t(le),{title:t(a)("views.journey.milestones.title"),description:t(a)("views.journey.milestones.description"),"show-divider":!1},{default:H(()=>[e("div",Fn,[(n(!0),d(O,null,J(y.value,P=>(n(),d("div",{key:P.id,class:"flex min-w-0 items-start gap-3 py-1"},[e("div",{class:F(["flex h-9 w-9 shrink-0 items-center justify-center rounded-xl",P.iconClass])},[j(b,{name:P.icon,class:"h-4 w-4"},null,8,["name"])],2),e("div",On,[e("p",Un,o(P.title),1),e("p",En,o(P.date),1),e("p",Wn,o(P.detail),1)])]))),128))])]),_:1},8,["title","description"]),j(t(le),{title:t(a)("views.journey.years.title"),description:t(a)("views.journey.years.description"),"show-divider":!1},{default:H(()=>[e("div",Hn,[(n(!0),d(O,null,J(i.value.years,P=>(n(),d("div",{key:P.year,class:"grid gap-3 rounded-xl bg-gray-50/70 px-4 py-3 dark:bg-white/[0.025] sm:grid-cols-[72px_minmax(0,1fr)_auto] sm:items-center"},[e("div",Jn,o(P.year),1),e("div",Kn,[e("div",Gn,[e("div",{class:"h-full rounded-full bg-pink-400 dark:bg-pink-400/80",style:ve({width:m(P.messageCount)})},null,4)]),e("p",Yn,[P.messageCount>0?(n(),d(O,{key:0},[$e(o(t(a)("views.journey.years.summary",{messages:C(P.messageCount),days:C(P.activeDays),months:C(P.activeMonths)})),1)],64)):(n(),d(O,{key:1},[$e(o(t(a)("views.journey.years.quiet")),1)],64))])]),P.messageCount>0?(n(),d("div",Qn,[e("p",Xn,o(x(P.peakMonth)),1),e("p",Zn,o(t(a)("views.journey.years.peak",{count:C(P.peakMonthMessageCount)})),1)])):L("",!0)]))),128))])]),_:1},8,["title","description"])],64)):L("",!0):(n(),V(t(je),{key:0,icon:"🗓️",text:t(a)(R.value?"views.journey.loadError":"views.journey.empty"),padding:"lg"},null,8,["text"]))]))],2)}}}),ti={class:"main-content mx-auto max-w-[920px] space-y-4 p-4 sm:space-y-6 sm:p-6"},ai={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},si={class:"p-3 sm:p-5"},ni={class:"p-3 sm:p-5"},ii=G({__name:"PrivateChatOverview",props:{session:{},memberActivity:{},messageTypes:{},hourlyActivity:{},dailyActivity:{},timeRange:{},filteredMessageCount:{},filteredMemberCount:{},timeFilter:{}},setup(_){const{t:s}=Y(),a=_,{dailyChartData:w}=Ze(()=>a.dailyActivity),i=k(()=>({labels:a.messageTypes.map(f=>kt(f.type,s)),values:a.messageTypes.map(f=>f.count)})),h=k(()=>{if(a.memberActivity.length<2)return null;const p=[...a.memberActivity].sort((N,A)=>A.messageCount-N.messageCount).slice(0,2),$=p[0].messageCount+p[1].messageCount;return{member1:{name:p[0].name,avatar:p[0].avatar,count:p[0].messageCount,percentage:$>0?Math.round(p[0].messageCount/$*100):0},member2:{name:p[1].name,avatar:p[1].avatar,count:p[1].messageCount,percentage:$>0?Math.round(p[1].messageCount/$*100):0},total:$}}),R=k(()=>h.value?{labels:[h.value.member1.name,h.value.member2.name],values:[h.value.member1.count,h.value.member2.count]}:{labels:[],values:[]});return(f,p)=>(n(),d("div",ti,[j(Qe,{session:_.session,"daily-activity":_.dailyActivity,"message-types":_.messageTypes,"hourly-activity":_.hourlyActivity,"time-range":_.timeRange,"filtered-message-count":_.filteredMessageCount,"filtered-member-count":_.filteredMemberCount,"time-filter":_.timeFilter},null,8,["session","daily-activity","message-types","hourly-activity","time-range","filtered-message-count","filtered-member-count","time-filter"]),e("div",ai,[j(t(le),{title:t(s)("analysis.overview.messageTypeDistribution"),"show-divider":!1},{default:H(()=>[e("div",si,[j(t(Te),{data:i.value,height:280},null,8,["data"])])]),_:1},8,["title"]),h.value?(n(),V(t(le),{key:0,title:t(s)("analysis.overview.memberComparison"),"show-divider":!1},{default:H(()=>[e("div",ni,[j(t(Te),{data:R.value,height:280},null,8,["data"])])]),_:1},8,["title"])):L("",!0)]),j(Xe,{"daily-activity":_.dailyActivity,"daily-chart-data":t(w)},null,8,["daily-activity","daily-chart-data"])]))}}),oi={class:"flex h-full flex-col"},ri={class:"min-h-0 flex-1 overflow-auto"},li=G({__name:"PrivateChatInsights",props:{sessionId:{},session:{},memberActivity:{},messageTypes:{},hourlyActivity:{},dailyActivity:{},timeRange:{},filteredMessageCount:{},filteredMemberCount:{},timeFilter:{}},setup(_){const{t:s}=Y(),a=_,w=k(()=>[{id:"overview",label:s("analysis.tabs.overview"),icon:"i-heroicons-squares-2x2"},{id:"relationship",label:s("analysis.subTabs.insights.relationship"),icon:"i-heroicons-heart"},{id:"journey",label:s("analysis.subTabs.insights.journey"),icon:"i-heroicons-map"},{id:"type-analysis",label:s("analysis.subTabs.insights.typeAnalysis"),icon:"i-heroicons-chart-pie"},{id:"time-analysis",label:s("analysis.subTabs.insights.timeAnalysis"),icon:"i-heroicons-clock"},{id:"topic",label:s("analysis.subTabs.insights.topic"),icon:"i-heroicons-cloud"},{id:"language-preference",label:s("analysis.subTabs.insights.languagePreference"),icon:"i-heroicons-language"}]),i=U("overview"),h=U(null),R=k(()=>({...a.timeFilter,memberId:h.value}));return(f,p)=>(n(),d("div",oi,[j(t(vt),{modelValue:i.value,"onUpdate:modelValue":p[1]||(p[1]=$=>i.value=$),items:w.value,"persist-key":"privateInsightsTab"},{right:H(()=>[i.value==="type-analysis"||i.value==="time-analysis"?(n(),V(et,{key:0,modelValue:h.value,"onUpdate:modelValue":p[0]||(p[0]=$=>h.value=$),"session-id":a.sessionId},null,8,["modelValue","session-id"])):L("",!0)]),_:1},8,["modelValue","items"]),e("div",ri,[j(t(tt),{"active-key":i.value},{default:H(({viewKey:$})=>[$==="overview"?(n(),V(ii,{key:0,session:a.session,"member-activity":a.memberActivity,"message-types":a.messageTypes,"hourly-activity":a.hourlyActivity,"daily-activity":a.dailyActivity,"time-range":a.timeRange,"filtered-message-count":a.filteredMessageCount,"filtered-member-count":a.filteredMemberCount,"time-filter":a.timeFilter},null,8,["session","member-activity","message-types","hourly-activity","daily-activity","time-range","filtered-message-count","filtered-member-count","time-filter"])):$==="type-analysis"?(n(),V(at,{key:1,"session-id":a.sessionId,"session-name":a.session.name,"time-filter":R.value},null,8,["session-id","session-name","time-filter"])):$==="time-analysis"?(n(),V(st,{key:2,"session-id":a.sessionId,"session-name":a.session.name,"time-filter":R.value},null,8,["session-id","session-name","time-filter"])):$==="relationship"?(n(),V(xn,{key:3,"session-id":a.sessionId,"time-filter":a.timeFilter},null,8,["session-id","time-filter"])):$==="journey"?(n(),V(ei,{key:4,"session-id":a.sessionId,"time-filter":a.timeFilter,"time-range":a.timeRange},null,8,["session-id","time-filter","time-range"])):$==="topic"?(n(),V(t(nt),{key:5,"session-id":a.sessionId,"time-filter":a.timeFilter,"show-shared-topics":!0},null,8,["session-id","time-filter"])):$==="language-preference"?(n(),V(t(Ya),{key:6,"session-id":a.sessionId,"time-filter":a.timeFilter},null,8,["session-id","time-filter"])):L("",!0)]),_:1},8,["active-key"])])]))}}),ci={class:"relative flex h-full flex-col dark:bg-page-dark",style:{"padding-top":"var(--titlebar-area-height)"}},ui=["aria-label"],di={class:"relative flex-1 overflow-y-auto"},mi={class:"h-full"},gi={key:2,class:"flex h-full items-center justify-center"},pi={class:"text-gray-500"},vi={class:"flex h-full flex-col overflow-hidden bg-white dark:bg-page-dark"},hi={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},xi={class:"text-lg font-semibold text-gray-900 dark:text-white"},fi={class:"text-sm text-gray-500 dark:text-gray-400"},yi={class:"flex-1 overflow-hidden"},bi=G({__name:"index",setup(_){const s=He(()=>Ke(()=>import("./MessageExportModal-BQsIpyxv.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),{t:a}=Y(),w=Ve(),i=Fe(),h=Oe(),R=Re(),f=Ue(),{currentSessionId:p}=Ee(h),$=U(!1),N=U(!1),A=U(!1),M=U(!1),y=U(!1);function q(){R.openChatRecordDrawer({})}const C=[{id:"insights",labelKey:"analysis.tabs.insights",icon:"i-heroicons-presentation-chart-bar"},{id:"ai-chat",labelKey:"analysis.tabs.aiChat",icon:"i-heroicons-chat-bubble-left-ellipsis"},{id:"memory",labelKey:"analysis.tabs.memory",icon:"i-heroicons-light-bulb"},{id:"lab",labelKey:"analysis.tabs.lab",icon:"i-heroicons-beaker"}],S=k(()=>f.debugMode?[...C,{id:"debug",labelKey:"analysis.tabs.debug",icon:"i-heroicons-bug-ant"}]:C),{activeTab:x,isLoading:g,isInitialLoad:l,isSessionSwitching:m,session:r,memberActivity:u,hourlyActivity:b,dailyActivity:P,messageTypes:E,timeRangeValue:W,fullTimeRange:se,timeFilter:ce,initialTimeState:ue,loadAnalysisData:de,handleTimeRangeInitialized:ne}=it({route:w,router:i,currentSessionId:p,selectSession:h.selectSession,defaultTab:f.defaultSessionTab,validTabIds:S.value.map(K=>K.id)});Ge("session-switch-loading",m);const ie=U(x.value==="ai-chat"&&typeof w.query.aiChatId=="string"),Z=k(()=>m.value||ie.value),oe=k(()=>u.value.reduce((K,T)=>K+T.messageCount,0)),Ce=k(()=>u.value.filter(K=>K.messageCount>0).length),ee=k(()=>{if(!r.value)return null;if(r.value.memberAvatar)return r.value.memberAvatar;if(u.value.length===0)return null;if(r.value.ownerId){const T=u.value.find(re=>re.platformId!==r.value?.ownerId);if(T?.avatar)return T.avatar}const K=u.value.find(T=>T.name===r.value?.name);return K?.avatar?K.avatar:(u.value.length,null)});return(K,T)=>{const re=De,me=Je;return n(),d("div",ci,[Z.value?(n(),d("div",{key:0,"data-testid":"private-chat-switch-loading",class:"absolute inset-0 z-20 flex cursor-wait items-center justify-center bg-page-bg dark:bg-page-dark",style:{paddingTop:"var(--titlebar-area-height)"},role:"status","aria-live":"polite","aria-label":t(a)("common.loading")},[j(t(xt))],8,ui)):L("",!0),t(r)?(n(),d(O,{key:1},[j(ot,{"active-tab":t(x),"onUpdate:activeTab":T[0]||(T[0]=c=>Pe(x)?x.value=c:null),"time-range-value":t(W),"onUpdate:timeRangeValue":T[1]||(T[1]=c=>Pe(W)?W.value=c:null),title:t(r).name,avatar:ee.value,icon:"i-heroicons-user","icon-class":"bg-pink-600 text-white dark:bg-pink-500 dark:text-white",tabs:S.value,"current-session-id":t(p),"initial-time-state":t(ue),onOpenIncrementalImport:T[2]||(T[2]=c=>A.value=!0),onOpenMemberManagement:T[3]||(T[3]=c=>y.value=!0),onOpenChatRecord:q,"onUpdate:fullRange":T[4]||(T[4]=c=>se.value=c),onTimeRangeInitialized:t(ne)},null,8,["active-tab","time-range-value","title","avatar","tabs","current-session-id","initial-time-state","onTimeRangeInitialized"]),e("div",di,[t(g)&&!Z.value?(n(),V(t(ye),{key:0,variant:"overlay",text:t(a)("common.loading")},null,8,["text"])):L("",!0),e("div",mi,[j(We,{name:"tab-slide",mode:"out-in"},{default:H(()=>[t(x)==="insights"?(n(),V(li,{key:"insights-"+t(p),"session-id":t(p),session:t(r),"member-activity":t(u),"message-types":t(E),"hourly-activity":t(b),"daily-activity":t(P),"time-range":t(se),"filtered-message-count":oe.value,"filtered-member-count":Ce.value,"time-filter":t(ce)},null,8,["session-id","session","member-activity","message-types","hourly-activity","daily-activity","time-range","filtered-message-count","filtered-member-count","time-filter"])):t(x)==="ai-chat"?(n(),V(t(rt),{key:"ai-chat-"+t(p),"session-id":t(p),"session-name":t(r).name,"chat-type":"private",onRestoreLoadingChange:T[5]||(T[5]=c=>ie.value=c)},null,8,["session-id","session-name"])):t(x)==="memory"?(n(),V(lt,{key:"memory-"+t(p),"session-id":t(p),"session-name":t(r).name},null,8,["session-id","session-name"])):t(x)==="lab"?(n(),V(ct,{key:"lab-"+t(p),"session-id":t(p),"chat-type":"private"},null,8,["session-id"])):t(x)==="debug"?(n(),V(t(ut),{key:"debug-"+t(p),"session-id":t(p)},null,8,["session-id"])):L("",!0)]),_:1})])]),j(dt,{onOpenIncrementalImport:T[6]||(T[6]=c=>A.value=!0),onOpenSemanticIndex:T[7]||(T[7]=c=>$.value=!0),onOpenMemberManagement:T[8]||(T[8]=c=>y.value=!0),onOpenChatRecord:q,onOpenMessageExport:T[9]||(T[9]=c=>M.value=!0)})],64)):t(l)?L("",!0):(n(),d("div",gi,[e("p",pi,o(t(a)("analysis.privateChat.loadError")),1)])),t(p)&&t(r)?(n(),V(mt,{key:3,modelValue:$.value,"onUpdate:modelValue":T[10]||(T[10]=c=>$.value=c),"session-id":t(p),"message-count":t(r).messageCount},null,8,["modelValue","session-id","message-count"])):L("",!0),t(p)&&t(r)?(n(),V(_t,{key:4,modelValue:N.value,"onUpdate:modelValue":T[11]||(T[11]=c=>N.value=c),"session-id":t(p),"chat-type":"private","auto-check":""},null,8,["modelValue","session-id"])):L("",!0),t(p)&&t(r)?(n(),V(gt,{key:5,modelValue:A.value,"onUpdate:modelValue":T[12]||(T[12]=c=>A.value=c),"session-id":t(p),"session-name":t(r).name,onImported:T[13]||(T[13]=()=>{t(de)(),t(h).loadSessions()})},null,8,["modelValue","session-id","session-name"])):L("",!0),t(p)?(n(),V(t(s),{key:6,modelValue:M.value,"onUpdate:modelValue":T[14]||(T[14]=c=>M.value=c)},null,8,["modelValue"])):L("",!0),t(p)?(n(),V(me,{key:7,open:y.value,"onUpdate:open":T[16]||(T[16]=c=>y.value=c),ui:{content:"max-w-6xl h-[85vh]"}},{content:H(()=>[e("div",vi,[e("div",hi,[e("div",null,[e("h2",xi,o(t(a)("analysis.tooltip.memberManagement")),1),e("p",fi,o(t(a)("members.private.description",{count:t(r)?.memberCount??0})),1)]),j(re,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:T[15]||(T[15]=c=>y.value=!1)})]),e("div",yi,[j(pt,{"session-id":t(p),"show-header":!1,"chat-type":"private",onDataChanged:t(de)},null,8,["session-id","onDataChanged"])])])]),_:1},8,["open"])):L("",!0)])}}}),ao=Ye(bi,[["__scopeId","data-v-acde5f9a"]]);export{ao as default};
@@ -1 +0,0 @@
1
- import{L as e}from"./index-Bq5q3kSU.js";const r=e("insight.annual-summary.ui-service");export{r as A};
@@ -1 +0,0 @@
1
- import{L as e}from"./index-Bq5q3kSU.js";const t=e("insight.time-investment.ui-service");export{t as T};
@@ -1 +0,0 @@
1
- import{f as t,t as e,g as r}from"./index-Bq5q3kSU.js";function n(o){return t(()=>e(o)?!!r(o)?.closest("form"):!0)}export{n as u};
@@ -1 +0,0 @@
1
- import{a as G,a3 as J,ao as Q,J as z,x as H,o as u,c as N,a7 as W,w as V,i as n,n as A,z as S,a4 as X,p as f,e as p,a5 as Y,ap as Z,h,F as ee,j as te,l as U,a6 as M,f as j,r as C,K as se,G as R}from"./index-Bq5q3kSU.js";import{u as ae}from"./useToast-YAHDkKDN.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=G({__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}=J(),g=ae(),m=Q(),i=j({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),_=j(()=>m.sessions.find(t=>t.id===e.sessionId)?.ownerId??null);function k(t){return t.groupNickname||t.accountName||t.platformId}const O=j(()=>{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 B(){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 K(){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 D(){i.value=!1}function T(){x.value="",v.value=_.value,o.value=[],$()}return z(i,t=>{t&&T()},{immediate:!0}),z(()=>e.sessionId,()=>{i.value&&T(),B()}),H(()=>{B()}),(t,I)=>{const d=X,b=Y,q=Z,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:D})]),S(q,{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(ee,null,te(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:K},{default:V(()=>[M(f(p(a)("members.ownerPrompt.notInConversation")),1)]),_:1},8,["loading"])),n("div",be,[S(b,{variant:"ghost",color:"neutral",onClick:D},{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);z(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};