chatlab-cli 0.37.2 → 0.37.4

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 (148) hide show
  1. package/LICENSE +661 -0
  2. package/dist/{chat-command-G2EX7VHR.mjs → chat-command-DJKSQP6Y.mjs} +37 -9
  3. package/dist/chat-command-DJKSQP6Y.mjs.map +1 -0
  4. package/dist/{chunk-F4HVCFZL.mjs → chunk-3K7F2SRZ.mjs} +3 -3
  5. package/dist/{chunk-FCUUAGGC.mjs → chunk-ARRFRJOH.mjs} +2 -2
  6. package/dist/{chunk-H46CLFWK.mjs → chunk-D6BRSG3V.mjs} +4 -4
  7. package/dist/{chunk-YI3EQYEG.mjs → chunk-DJ7QEJNO.mjs} +12 -12
  8. package/dist/{chunk-XQ6Z2KNN.mjs → chunk-JWWWLW5G.mjs} +2 -2
  9. package/dist/{chunk-HBAQPF6X.mjs → chunk-NKSPJN6X.mjs} +210 -60
  10. package/dist/chunk-NKSPJN6X.mjs.map +1 -0
  11. package/dist/{chunk-HMVM7VCA.mjs → chunk-NVW3ZCYD.mjs} +3 -3
  12. package/dist/{chunk-T5H56AZV.mjs → chunk-OXRS2UPE.mjs} +13 -11
  13. package/dist/chunk-OXRS2UPE.mjs.map +1 -0
  14. package/dist/{chunk-EFX66A2O.mjs → chunk-QP77JL6O.mjs} +2 -2
  15. package/dist/{chunk-EK5QIJLZ.mjs → chunk-VCKF7RYB.mjs} +11 -11
  16. package/dist/{chunk-L6RJIVLS.mjs → chunk-WBPOMYBE.mjs} +315 -24
  17. package/dist/chunk-WBPOMYBE.mjs.map +1 -0
  18. package/dist/{chunk-E6LCCPIB.mjs → chunk-YPP3N2AX.mjs} +2 -2
  19. package/dist/cli.mjs +9 -9
  20. package/dist/contacts-worker.mjs +2 -2
  21. package/dist/global-insight-worker.mjs +1 -1
  22. package/dist/{http-5BRVWAJR.mjs → http-O4AZUIOD.mjs} +12 -12
  23. package/dist/{import-IAECQDKC.mjs → import-IALJQB7V.mjs} +7 -7
  24. package/dist/index.mjs +12 -12
  25. package/dist/{mcp-XXSQJBGU.mjs → mcp-VNBL4WMM.mjs} +24 -17
  26. package/dist/mcp-VNBL4WMM.mjs.map +1 -0
  27. package/dist/people-relationships-worker.mjs +2 -2
  28. package/dist/semantic-index-worker.mjs +1 -1
  29. package/dist/{src-4HLKMQ7S.mjs → src-6ICLBMOR.mjs} +6 -6
  30. package/dist/{stream-import-PUG42I36.mjs → stream-import-NKQYYSGZ.mjs} +7 -7
  31. package/dist/{worker-runtime-X5563TVT.mjs → worker-runtime-AE2I6U2G.mjs} +5 -5
  32. package/dist-cli-web/assets/{AISettingsTab-m_r2fFEj.js → AISettingsTab-mecu-HsX.js} +1 -1
  33. package/dist-cli-web/assets/{AboutTab-J65UqIuk.js → AboutTab-CgXYD50w.js} +1 -1
  34. package/dist-cli-web/assets/{Alert-qBIGn_CW.js → Alert-DR892gaV.js} +1 -1
  35. package/dist-cli-web/assets/{ApiSettingsTab-CxWRJI9j.js → ApiSettingsTab-Cvw8gStg.js} +1 -1
  36. package/dist-cli-web/assets/{BatchManageTab-BINNVwm1.js → BatchManageTab-DqSEzAtr.js} +1 -1
  37. package/dist-cli-web/assets/{BufferResource-C-jLPrHv.js → BufferResource-rydt5j-b.js} +1 -1
  38. package/dist-cli-web/assets/{CanvasRenderer-kDLW8GSt.js → CanvasRenderer-Ci5IaFxW.js} +1 -1
  39. package/dist-cli-web/assets/{CardDecoration-CnYxleQM.js → CardDecoration-8F4sZO4v.js} +1 -1
  40. package/dist-cli-web/assets/{ChatRecordDrawer-CMg3FEWH.js → ChatRecordDrawer-D3LzSRkL.js} +1 -1
  41. package/dist-cli-web/assets/{ChatRecordWorkspace-AfFIMUbZ.js → ChatRecordWorkspace-BDCIAjm3.js} +1 -1
  42. package/dist-cli-web/assets/{Checkbox-D-hAv15R.js → Checkbox-I1cjN4s_.js} +1 -1
  43. package/dist-cli-web/assets/{DataDirCleanupNotice-P80h2p4l.js → DataDirCleanupNotice-8zcIOyGl.js} +1 -1
  44. package/dist-cli-web/assets/{DatePicker.vue_vue_type_script_setup_true_lang-CSp691Uv.js → DatePicker.vue_vue_type_script_setup_true_lang-DWWzQOTU.js} +1 -1
  45. package/dist-cli-web/assets/{DebugToolsPanel-BK2VbKB0.js → DebugToolsPanel-CiGd5ttA.js} +1 -1
  46. package/dist-cli-web/assets/{EChart.vue_vue_type_script_setup_true_lang-BcE0mE_N.js → EChart.vue_vue_type_script_setup_true_lang-Rk-Bu-rv.js} +1 -1
  47. package/dist-cli-web/assets/{EChartBar.vue_vue_type_script_setup_true_lang-BypaV5wc.js → EChartBar.vue_vue_type_script_setup_true_lang-CB_KuKt4.js} +1 -1
  48. package/dist-cli-web/assets/{EChartLine.vue_vue_type_script_setup_true_lang-D8SyOfWC.js → EChartLine.vue_vue_type_script_setup_true_lang-5iW9KPRe.js} +1 -1
  49. package/dist-cli-web/assets/{EChartWordcloud-0rihhg03.js → EChartWordcloud-BiN68kpp.js} +1 -1
  50. package/dist-cli-web/assets/{FileDropZone.vue_vue_type_script_setup_true_lang-Dyuzh7Ex.js → FileDropZone.vue_vue_type_script_setup_true_lang-DpK_xXUN.js} +1 -1
  51. package/dist-cli-web/assets/{Filter-rD_jWpbO.js → Filter-Tmam9FK9.js} +1 -1
  52. package/dist-cli-web/assets/{GlobalTaskBar-sXQuGvF-.js → GlobalTaskBar-B77auVn7.js} +1 -1
  53. package/dist-cli-web/assets/{GroupRelationshipGalaxyView-BN1L9DFf.js → GroupRelationshipGalaxyView-DAmdqVxU.js} +1 -1
  54. package/dist-cli-web/assets/{Label-Ce4wl_Ph.js → Label-DTrL45eR.js} +1 -1
  55. package/dist-cli-web/assets/{LoadingState.vue_vue_type_script_setup_true_lang-DmVfwvnD.js → LoadingState.vue_vue_type_script_setup_true_lang-DH0zYa8f.js} +1 -1
  56. package/dist-cli-web/assets/{MessageExportModal-C2IUNPhg.js → MessageExportModal-DgvQvcc5.js} +1 -1
  57. package/dist-cli-web/assets/{PageHeader-D5BcYKBs.js → PageHeader-C-UYITO9.js} +1 -1
  58. package/dist-cli-web/assets/{PageTabs.vue_vue_type_script_setup_true_lang-DHly2-fe.js → PageTabs.vue_vue_type_script_setup_true_lang-BV344PR7.js} +1 -1
  59. package/dist-cli-web/assets/{RelationshipGalaxyCanvas-CHPqtqQz.js → RelationshipGalaxyCanvas-Bzh-vQI8.js} +3 -3
  60. package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-qR4S-9n7.js → RelationshipGalaxyThreeCanvas--DDkxCCc.js} +1 -1
  61. package/dist-cli-web/assets/{RenderTargetSystem-BaIFulUj.js → RenderTargetSystem-BP0KBa7R.js} +1 -1
  62. package/dist-cli-web/assets/{RovingFocusItem-Bqgmzo42.js → RovingFocusItem-BAQO8BlG.js} +1 -1
  63. package/dist-cli-web/assets/{ScreenCaptureModal-sJqB_hrK.js → ScreenCaptureModal-DtAB4lyN.js} +1 -1
  64. package/dist-cli-web/assets/{SectionTabs.vue_vue_type_script_setup_true_lang-BPt98e6z.js → SectionTabs.vue_vue_type_script_setup_true_lang-DjUq1i7-.js} +1 -1
  65. package/dist-cli-web/assets/{Select-BAnN4HMs.js → Select-CaRAtYOu.js} +1 -1
  66. package/dist-cli-web/assets/{SettingsModal-C4ANMlJJ.js → SettingsModal-BKu9l7vR.js} +2 -2
  67. package/dist-cli-web/assets/{StorageTab-BgNQliz4.js → StorageTab-DWUzStD4.js} +1 -1
  68. package/dist-cli-web/assets/{Switch-DddEvDJa.js → Switch-mMuTJ87v.js} +1 -1
  69. package/dist-cli-web/assets/{Tabs-xVtuBuO0.js → Tabs-B0DXvZn9.js} +1 -1
  70. package/dist-cli-web/assets/{Tabs-DwjL-ueH.js → Tabs-Bw65ChMB.js} +1 -1
  71. package/dist-cli-web/assets/{ThemeCard.vue_vue_type_script_setup_true_lang-CNCVa86b.js → ThemeCard.vue_vue_type_script_setup_true_lang-CFSCaL65.js} +1 -1
  72. package/dist-cli-web/assets/{TimeSelect.vue_vue_type_script_setup_true_lang-BehUIWki.js → TimeSelect.vue_vue_type_script_setup_true_lang-sP4Z2nbi.js} +1 -1
  73. package/dist-cli-web/assets/{VisuallyHiddenInput-ST6JNfSG.js → VisuallyHiddenInput-Cy3d6wW5.js} +1 -1
  74. package/dist-cli-web/assets/{WebGLRenderer-DRraqD4Y.js → WebGLRenderer-C86bSgXH.js} +1 -1
  75. package/dist-cli-web/assets/{WebGPURenderer-CnzaYARg.js → WebGPURenderer-EcnRVF_C.js} +1 -1
  76. package/dist-cli-web/assets/{aiChat-CeJy-gG-.js → aiChat-ZrHuq9Eb.js} +3 -3
  77. package/dist-cli-web/assets/{base-BHbtUviQ.js → base-DwqzgeyP.js} +1 -1
  78. package/dist-cli-web/assets/{browserAll-DYxkitnx.js → browserAll-DUX8qJC8.js} +1 -1
  79. package/dist-cli-web/assets/{chatMessages-Dj1u-tFB.js → chatMessages-By6kR5_1.js} +3 -3
  80. package/dist-cli-web/assets/{cli-web-BtH8nfjA.js → cli-web-JlckDfz0.js} +1 -1
  81. package/dist-cli-web/assets/{fetch-CAEyoWQA.js → fetch-Bhl8mtJ2.js} +11 -13
  82. package/dist-cli-web/assets/{fetch-DNmRaRxX.js → fetch-BjtwVVBg.js} +1 -1
  83. package/dist-cli-web/assets/{fetch-ejEMWPM2.js → fetch-BpoJa14b.js} +1 -1
  84. package/dist-cli-web/assets/{fetch-emZXHmoE.js → fetch-CY5yJNTL.js} +1 -1
  85. package/dist-cli-web/assets/{fetch-C1Tm66i9.js → fetch-ChSI9rRd.js} +1 -1
  86. package/dist-cli-web/assets/{fetch-JEEBqR_7.js → fetch-CuySZ9TW.js} +1 -1
  87. package/dist-cli-web/assets/{fetch-T5Gi1TUZ.js → fetch-DS-lTLBb.js} +1 -1
  88. package/dist-cli-web/assets/{fetch-D7hfFyoG.js → fetch-Dkyidev6.js} +1 -1
  89. package/dist-cli-web/assets/{fetch-U9QyidNZ.js → fetch-DtqHZHIT.js} +1 -1
  90. package/dist-cli-web/assets/{fetch-CGnWNSsG.js → fetch-GYzy1nua.js} +1 -1
  91. package/dist-cli-web/assets/{fetch-DogRrvT6.js → fetch-LZAcmdq3.js} +1 -1
  92. package/dist-cli-web/assets/{fetch-BJ82mWvv.js → fetch-w66ywFn5.js} +1 -1
  93. package/dist-cli-web/assets/{host-BUvwCvZR.js → host-CBXwW7_e.js} +1 -1
  94. package/dist-cli-web/assets/{host-VTWF81F5.js → host-CDCKLdfF.js} +1 -1
  95. package/dist-cli-web/assets/{index-DQFcmWSa.js → index-3KDkw8sV.js} +1 -1
  96. package/dist-cli-web/assets/{index-e6fOnhNS.js → index-BAjafcRU.js} +1 -1
  97. package/dist-cli-web/assets/{index-DZK9Njvy.js → index-BLO0CYvx.js} +1 -1
  98. package/dist-cli-web/assets/{index-KpnLSzzX.js → index-BVoFqt2r.js} +4 -4
  99. package/dist-cli-web/assets/{index-DDt7Tfda.js → index-CYmoNVAj.js} +1 -1
  100. package/dist-cli-web/assets/{index-D9C3dyV8.js → index-D07viL9P.js} +4 -4
  101. package/dist-cli-web/assets/{index-iEQnKg2R.js → index-DD7RFB6N.js} +2 -2
  102. package/dist-cli-web/assets/index-DEafpen2.js +137 -0
  103. package/dist-cli-web/assets/index-DRFMz0cs.css +1 -0
  104. package/dist-cli-web/assets/{index-HjrJ3DXO.js → index-D_CX3gzo.js} +1 -1
  105. package/dist-cli-web/assets/{index-BLYSew5C.js → index-D_SJKdur.js} +1 -1
  106. package/dist-cli-web/assets/{index-C75W1B5J.css → index-DbP9vQhR.css} +1 -1
  107. package/dist-cli-web/assets/{index-BI2Rb_L3.js → index-RqQZ2vvr.js} +2 -2
  108. package/dist-cli-web/assets/{index-B3MCGDwx.js → index-T_aveLoS.js} +1 -1
  109. package/dist-cli-web/assets/{index-BZpR015e.css → index-XC-s67UA.css} +1 -1
  110. package/dist-cli-web/assets/{index-DUBl6aBF.js → index-fhyFEtxF.js} +1 -1
  111. package/dist-cli-web/assets/{index-CVRBBnQw.js → index-sMeHjrc9.js} +1 -1
  112. package/dist-cli-web/assets/{people-page-header-DWXwFJ8M.js → people-page-header-DPOKmbHG.js} +1 -1
  113. package/dist-cli-web/assets/{prompt-Cepfb-5-.js → prompt-ipERjPzE.js} +1 -1
  114. package/dist-cli-web/assets/{semantic-index-config-builder-hTY6QyCe.js → semantic-index-config-builder-CjJ4q8PF.js} +1 -1
  115. package/dist-cli-web/assets/service-2UJZvVpa.js +1 -0
  116. package/dist-cli-web/assets/{service-DwCmXFtI.js → service-CAdsM9Hy.js} +1 -1
  117. package/dist-cli-web/assets/service-i_PJfTaR.js +1 -0
  118. package/dist-cli-web/assets/useFormControl-BPt9mIxj.js +1 -0
  119. package/dist-cli-web/assets/{useInsightTabAnalytics-CplGbsbe.js → useInsightTabAnalytics-s3wcN9Eo.js} +4 -4
  120. package/dist-cli-web/assets/{useTable-Dmpbk7fZ.js → useTable-DOM-gqX0.js} +1 -1
  121. package/dist-cli-web/assets/{useToast-Bmgpd3sl.js → useToast-BzK6i1Tk.js} +1 -1
  122. package/dist-cli-web/assets/{webworkerAll-DkPWEyVL.js → webworkerAll-ClkzpxNT.js} +1 -1
  123. package/dist-cli-web/index.html +2 -2
  124. package/package.json +1 -1
  125. package/dist/chat-command-G2EX7VHR.mjs.map +0 -1
  126. package/dist/chunk-HBAQPF6X.mjs.map +0 -1
  127. package/dist/chunk-L6RJIVLS.mjs.map +0 -1
  128. package/dist/chunk-T5H56AZV.mjs.map +0 -1
  129. package/dist/mcp-XXSQJBGU.mjs.map +0 -1
  130. package/dist-cli-web/assets/index-Bs7gk1gf.css +0 -1
  131. package/dist-cli-web/assets/index-Cza8BzZE.js +0 -137
  132. package/dist-cli-web/assets/service-BjE0YJaM.js +0 -1
  133. package/dist-cli-web/assets/service-DQxttlJp.js +0 -1
  134. package/dist-cli-web/assets/useFormControl-CJyJY8AK.js +0 -1
  135. /package/dist/{chunk-F4HVCFZL.mjs.map → chunk-3K7F2SRZ.mjs.map} +0 -0
  136. /package/dist/{chunk-FCUUAGGC.mjs.map → chunk-ARRFRJOH.mjs.map} +0 -0
  137. /package/dist/{chunk-H46CLFWK.mjs.map → chunk-D6BRSG3V.mjs.map} +0 -0
  138. /package/dist/{chunk-YI3EQYEG.mjs.map → chunk-DJ7QEJNO.mjs.map} +0 -0
  139. /package/dist/{chunk-XQ6Z2KNN.mjs.map → chunk-JWWWLW5G.mjs.map} +0 -0
  140. /package/dist/{chunk-HMVM7VCA.mjs.map → chunk-NVW3ZCYD.mjs.map} +0 -0
  141. /package/dist/{chunk-EFX66A2O.mjs.map → chunk-QP77JL6O.mjs.map} +0 -0
  142. /package/dist/{chunk-EK5QIJLZ.mjs.map → chunk-VCKF7RYB.mjs.map} +0 -0
  143. /package/dist/{chunk-E6LCCPIB.mjs.map → chunk-YPP3N2AX.mjs.map} +0 -0
  144. /package/dist/{http-5BRVWAJR.mjs.map → http-O4AZUIOD.mjs.map} +0 -0
  145. /package/dist/{import-IAECQDKC.mjs.map → import-IALJQB7V.mjs.map} +0 -0
  146. /package/dist/{src-4HLKMQ7S.mjs.map → src-6ICLBMOR.mjs.map} +0 -0
  147. /package/dist/{stream-import-PUG42I36.mjs.map → stream-import-NKQYYSGZ.mjs.map} +0 -0
  148. /package/dist/{worker-runtime-X5563TVT.mjs.map → worker-runtime-AE2I6U2G.mjs.map} +0 -0
@@ -1 +1 @@
1
- import{d as ve,ai as ke,aj as _e,ak as fe,b as $,K as be,al as we,a5 as Se,c as u,a as e,g as r,z as g,p as s,l as v,a9 as P,w as S,f as H,F as k,e as p,a8 as Te,am as ze,o as d,j as T,a7 as De,n as z,O as q,an as h}from"./index-D9C3dyV8.js";import{_ as Ce}from"./LoadingState.vue_vue_type_script_setup_true_lang-DmVfwvnD.js";import{_ as j}from"./ThemeCard.vue_vue_type_script_setup_true_lang-CNCVa86b.js";import{C as Ie}from"./CardDecoration-CnYxleQM.js";import{_ as Ee}from"./EChartLine.vue_vue_type_script_setup_true_lang-D8SyOfWC.js";import"./vendor-echarts-wordcloud-DNiU8Psq.js";import{T as Me}from"./service-DQxttlJp.js";import"./vendor-snapdom--nZvo8Sg.js";import"./EChart.vue_vue_type_script_setup_true_lang-BcE0mE_N.js";import"./vendor-echarts-C9ugTmum.js";import"./vendor-zrender-D8psf1AA.js";const Ae={class:"min-h-0 flex-1 overflow-y-auto"},Pe={class:"mx-auto w-full max-w-[920px] space-y-6 px-4 py-5 sm:px-6 sm:py-6"},Le={class:"min-w-0"},Oe={key:1,class:"flex items-center gap-2 rounded-xl border border-amber-100 bg-amber-50/50 px-4 py-2.5 text-xs text-amber-800 dark:border-amber-950/40 dark:bg-amber-950/20 dark:text-amber-300"},Ne={key:2,class:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-red-200 bg-red-50/50 px-4 py-2.5 text-xs text-red-800 dark:border-red-950/40 dark:bg-red-950/20 dark:text-red-300"},Re={key:0,class:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-gray-200 bg-white p-4 text-xs text-gray-600 dark:border-zinc-800 dark:bg-zinc-900/50 dark:text-zinc-300"},Ye={key:0},Ve={key:1},$e={key:2},je={class:"space-y-4"},Ue={class:"relative z-10 min-w-0 px-5 pt-6 pb-5 sm:px-8 sm:pt-8 sm:pb-6"},Be={class:"text-2xl font-bold tracking-tight text-gray-900 dark:text-white sm:text-3xl"},Fe={class:"mt-6 max-w-3xl space-y-3 text-gray-600 dark:text-zinc-300"},We={class:"flex flex-wrap items-baseline gap-x-2 gap-y-1 text-lg leading-relaxed sm:text-xl"},Ge={class:"font-black text-2xl tracking-tight tabular-nums text-pink-600 sm:text-3xl dark:text-pink-400"},He={class:"flex flex-wrap items-baseline gap-x-2 gap-y-1 text-base leading-relaxed sm:text-lg"},qe={class:"font-black text-2xl tabular-nums text-indigo-600 dark:text-indigo-400"},Ke={class:"font-black text-2xl tabular-nums text-blue-600 dark:text-blue-400"},Je={class:"mt-7"},Ze={class:"mb-2 text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-zinc-500"},Qe={class:"grid grid-cols-2 gap-2 lg:grid-cols-4"},Xe={class:"min-w-0"},et={class:"mt-0.5 truncate text-[10px] font-medium text-gray-500 dark:text-zinc-400"},tt={class:"mt-0.5 truncate text-[9px] text-gray-400 dark:text-zinc-500"},st={class:"mt-6"},at={class:"text-xs font-bold tracking-wide text-gray-700 dark:text-zinc-300"},nt={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},ot={class:"mt-2"},rt={class:"mt-2 text-[10px] leading-5 text-gray-400 dark:text-zinc-500"},it={class:"mt-4 flex flex-wrap items-center justify-between gap-x-6 gap-y-1 border-t border-gray-200/60 pt-4 font-mono text-[10px] text-gray-400 dark:border-white/5 dark:text-zinc-500"},lt={class:"min-w-0 p-5 sm:p-6"},ct={class:"flex items-center gap-2 text-xs font-bold uppercase tracking-wider text-gray-700 dark:text-zinc-300"},dt={class:"mt-1 text-[11px] text-gray-400 dark:text-zinc-500"},ut={class:"mt-5 grid gap-6 lg:grid-cols-7 lg:gap-0"},pt={class:"min-w-0 lg:col-span-4 lg:pr-8"},mt={key:0,class:"space-y-3.5"},xt={class:"text-xs font-medium text-gray-500 dark:text-zinc-400"},gt={class:"h-1.5 overflow-hidden rounded-full bg-gray-100 dark:bg-zinc-800"},ht={class:"min-w-[4.75rem] whitespace-nowrap text-right font-mono text-[10px] font-semibold tabular-nums text-gray-600 dark:text-zinc-300"},yt={key:1,class:"text-xs text-gray-400"},vt={class:"min-w-0 border-t border-gray-200/60 pt-5 lg:col-span-3 lg:border-t-0 lg:border-l lg:pt-0 lg:pl-8 dark:border-white/5"},kt={class:"text-xs font-semibold text-gray-700 dark:text-zinc-300"},_t={key:0,class:"mt-3 divide-y divide-gray-200/60 dark:divide-white/5"},ft={class:"flex h-5 w-5 items-center justify-center rounded-full bg-pink-50 font-mono text-[9px] font-bold text-pink-600 dark:bg-pink-950/30 dark:text-pink-400"},bt={class:"flex min-w-0 items-baseline gap-2"},wt={class:"font-mono text-xs font-semibold tabular-nums text-gray-700 dark:text-zinc-200"},St={class:"truncate text-[10px] text-gray-400 dark:text-zinc-500"},Tt={class:"whitespace-nowrap font-mono text-[10px] font-semibold tabular-nums text-gray-600 dark:text-zinc-300"},zt={key:1,class:"mt-3 text-xs text-gray-400"},Dt={class:"min-w-0 p-5 sm:p-6"},Ct={class:"flex flex-wrap items-end justify-between gap-x-6 gap-y-2"},It={class:"text-base font-semibold text-gray-800 dark:text-zinc-200"},Et={class:"mt-1 text-[11px] text-gray-400 dark:text-zinc-500"},Mt={key:0,class:"mt-5 grid gap-8 lg:grid-cols-2 lg:gap-0 lg:divide-x lg:divide-gray-200/60 dark:lg:divide-white/5"},At={class:"flex items-center justify-between gap-4 border-b border-gray-200/60 pb-3 dark:border-white/5"},Pt={class:"flex min-w-0 items-center gap-2"},Lt={class:"truncate text-sm font-semibold text-gray-700 dark:text-zinc-200"},Ot={class:"shrink-0 text-[10px] text-gray-400 dark:text-zinc-500"},Nt={key:0,class:"divide-y divide-gray-200/60 dark:divide-white/5"},Rt={class:"grid grid-cols-[28px_minmax(0,1fr)_auto] items-center gap-3"},Yt={class:"min-w-0"},Vt={class:"block truncate text-sm font-semibold text-gray-700 dark:text-zinc-200"},$t={class:"mt-1 block truncate text-[10px] text-gray-400 dark:text-zinc-500"},jt={class:"shrink-0 text-right"},Ut={class:"whitespace-nowrap font-mono text-xs font-black tabular-nums text-gray-900 dark:text-white"},Bt={class:"mt-1 font-mono text-[10px] tabular-nums text-gray-400 dark:text-zinc-500"},Ft={class:"mt-2 ml-10 h-1 overflow-hidden rounded-full bg-gray-100 dark:bg-zinc-800"},Wt={key:1,class:"pt-4 text-xs text-gray-400"},Gt={key:1,class:"mt-5 text-xs text-gray-400"},os=ve({__name:"index",setup(Ht){const U=ke(),n=_e(ze),{formatDate:_,formatNumber:K}=fe(),f=U.insightScope,b=U.services.get(Me),J=new Date().getFullYear(),D=$(f.getSnapshot()),l=$(null),C=$("");let I=null,E=0;const L=p(()=>{const t=D.value.time;return t?t.mode==="recent"?{mode:"recent",days:365,acceptStale:!0}:{mode:"year",year:t.year??J,acceptStale:!0}:null}),Z=p(()=>JSON.stringify(L.value)),O=p(()=>(l.value?.coverage.missingOwnerSessions??0)+(l.value?.coverage.unresolvedOwnerSessions??0)),N=p(()=>l.value?.metrics!==null&&l.value?.metrics!==void 0),Q=p(()=>l.value?.task.status==="running"),X=p(()=>N.value&&l.value?.metrics?.estimatedSeconds===0),ee=p(()=>(l.value?.coverage.totalSessions??0)>0&&l.value?.coverage.analyzedSessions===0&&O.value>0),te=p(()=>D.value.time?.mode==="year"?D.value.time.year:void 0),M=p(()=>{const t=te.value,a=l.value?.latestDataYear;return t===void 0||a===null||a===void 0||t===a?null:{year:t,latestYear:a}}),se=p(()=>l.value?.range.mode==="year"?n("yearTitle",{year:l.value.range.year}):n("recentTitle")),ae=p(()=>{const t=l.value?.range;if(!t)return"";const a={day:"2-digit",month:"2-digit",year:"numeric"},i=_(t.startTs*1e3,a),c=_(t.endTs*1e3,a);return i===c?i:`${i} – ${c}`}),ne=p(()=>{const t=l.value?.range,a=l.value?.monthlyActivity??[];return{labels:a.map(i=>t?.mode==="year"?n("monthLabel",{month:Number(i.key.slice(5))}):i.key.replace("-","/")),values:a.map(i=>me(i.estimatedSeconds))}}),R=p(()=>{const t=l.value?.range;if(!t)return[];const a=Array(7).fill(0),i=Array(7).fill(0),c=new Map((l.value?.dailyActivity??[]).map(x=>[x.key,x.estimatedSeconds])),o=W(new Date(t.startTs*1e3)),m=W(new Date(t.endTs*1e3));for(;o<=m;){const x=(o.getDay()+6)%7;a[x]+=c.get(xe(o))??0,i[x]++,o.setDate(o.getDate()+1)}const G=a.map((x,w)=>i[w]?Math.round(x/i[w]):0),ye=Math.max(...G,1);return G.map((x,w)=>({key:w,label:_(new Date(2024,0,1+w),{weekday:"short"}),seconds:x,width:x>0?Math.max(x/ye*100,3):0}))}),oe=p(()=>R.value.some(t=>t.seconds>0)),Y=p(()=>[...l.value?.dailyActivity??[]].filter(t=>t.estimatedSeconds>0).sort((t,a)=>a.estimatedSeconds-t.estimatedSeconds||t.key.localeCompare(a.key)).slice(0,3).map(t=>{const a=ge(t.key);return{...t,dateLabel:_(a,{month:"2-digit",day:"2-digit"}),weekdayLabel:_(a,{weekday:"short"})}})),B=p(()=>[h.GROUP,h.PRIVATE].map(t=>l.value?.chatTypes.find(a=>a.type===t)).filter(t=>t!==void 0)),re=p(()=>{const t=B.value.find(o=>o.type===h.PRIVATE),a=B.value.find(o=>o.type===h.GROUP),i=Y.value[0],c=[...R.value].sort((o,m)=>m.seconds-o.seconds)[0];return[{key:"private",icon:"i-heroicons-user",colorClass:"text-pink-600 dark:text-pink-400",label:n("privateChat"),value:t?y(t.seconds):"—",subtext:n("shareOfTotal",{share:t?.share??0})},{key:"group",icon:"i-heroicons-user-group",colorClass:"text-blue-600 dark:text-blue-400",label:n("groupChat"),value:a?y(a.seconds):"—",subtext:n("shareOfTotal",{share:a?.share??0})},{key:"peakDay",icon:"i-heroicons-fire",colorClass:"text-red-600 dark:text-red-400",label:n("peakDay"),value:i?.dateLabel??"—",subtext:i?y(i.estimatedSeconds):"—"},{key:"peakWeekday",icon:"i-heroicons-calendar-days",colorClass:"text-amber-600 dark:text-amber-400",label:n("peakWeekday"),value:c?.seconds?c.label:"—",subtext:c?.seconds?y(c.seconds):"—"}]}),F=p(()=>[h.PRIVATE,h.GROUP].map(t=>{const a=(l.value?.sessionRanking??[]).filter(i=>i.type===t).slice(0,10).map((i,c)=>({...i,rank:c+1}));return{type:t,items:a,maxSeconds:Math.max(...a.map(i=>i.seconds),1)}})),ie=p(()=>F.value.some(t=>t.items.length>0)),le=f.subscribe(()=>{D.value=f.getSnapshot()}),ce=b.subscribeOwnerSettingsClosed(()=>{A(!1)});be(Z,()=>{V(),L.value&&(l.value=null,A(!1))},{immediate:!0}),we(()=>{E++,V(),le(),ce()});async function A(t){const a=L.value;if(!a)return;const i=++E;C.value="";try{const c=t?await b.recompute(a):await b.get(a);if(i!==E)return;l.value=c,c.metrics&&f.setAvailableTimeYears(c.availableDataYears),c.task.status==="running"&&de()}catch(c){if(i!==E)return;const o=c instanceof Error?c.message:String(c);C.value=o,Se(`Global insight time investment failed: ${o}`,c instanceof Error?c.stack:void 0)}}function de(){V(),I=setTimeout(()=>{A(!1)},900)}function V(){I&&(clearTimeout(I),I=null)}function ue(){const t=l.value?.latestDataYear;t&&f.switchTimeToYear(t)}function pe(){b.openOwnerSettings()}function y(t){const a=Math.round(t/60);if(t>0&&a<1)return n("duration.lessThanMinute");if(a<60)return n("duration.minutes",{count:a});const i=Math.floor(a/60),c=a%60;return c?n("duration.hoursMinutes",{hours:i,minutes:c}):n("duration.hours",{count:i})}function me(t){return Math.round(t/3600*10)/10}function W(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate())}function xe(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function ge(t){const[a,i,c]=t.split("-").map(Number);return new Date(a,i-1,c)}function he(t){return n(t===h.PRIVATE?"privateChat":"groupChat")}return(t,a)=>{const i=De,c=Te;return d(),u("main",Ae,[e("div",Pe,[O.value>0&&r(b).canConfigureOwner?(d(),u("button",{key:0,type:"button",class:"inline-flex w-fit max-w-full items-center gap-2 rounded-lg bg-amber-50 px-3 py-2 text-left text-xs text-amber-800 transition-colors hover:bg-amber-100 dark:bg-amber-950/20 dark:text-amber-300 dark:hover:bg-amber-950/30",onClick:pe},[g(i,{name:"i-heroicons-user-circle",class:"h-4 w-4 shrink-0"}),e("span",Le,s(r(n)("status.ownerIssues",{count:O.value})),1),g(i,{name:"i-heroicons-arrow-right",class:"h-3.5 w-3.5 shrink-0 opacity-70"})])):v("",!0),l.value?.cache.status==="stale"||Q.value&&N.value?(d(),u("div",Oe,[g(i,{name:"i-heroicons-arrow-path",class:"h-4 w-4 shrink-0 animate-spin"}),P(" "+s(r(n)("status.updating")),1)])):v("",!0),C.value||l.value?.task.status==="failed"?(d(),u("div",Ne,[e("span",null,s(r(n)("failed")),1),g(c,{size:"xs",color:"error",variant:"soft",icon:"i-heroicons-arrow-path",onClick:a[0]||(a[0]=o=>A(!0))},{default:S(()=>[P(s(r(n)("actions.retry")),1)]),_:1})])):v("",!0),!N.value&&!C.value&&l.value?.task.status!=="failed"?(d(),H(Ce,{key:3,height:"min(52vh, 420px)",text:l.value?.task.status==="running"?r(n)("status.computingProgress",{processed:l.value.task.processedSessions,total:l.value.task.totalSessions}):r(n)("loading")},null,8,["text"])):l.value?.metrics?(d(),u(k,{key:4},[X.value?(d(),u("div",Re,[ee.value?(d(),u("span",Ye,s(r(n)("status.noAnalyzableOwner")),1)):M.value?(d(),u("span",Ve,s(r(n)("status.noDataWithLatest",M.value)),1)):(d(),u("span",$e,s(r(n)("noData")),1)),M.value?(d(),H(c,{key:3,size:"xs",variant:"soft",color:"neutral",icon:"i-heroicons-arrow-right",onClick:ue},{default:S(()=>[P(s(r(n)("actions.switchYear",{year:M.value.latestYear})),1)]),_:1})):v("",!0)])):v("",!0),e("div",je,[g(r(j),{class:"relative isolate overflow-hidden"},{default:S(()=>[g(r(Ie)),e("section",Ue,[e("h2",Be,s(se.value),1),e("div",Fe,[e("p",We,[e("span",null,s(r(n)("narrative.totalPrefix")),1),e("span",Ge,s(y(l.value.metrics.estimatedSeconds)),1),e("span",null,s(r(n)("narrative.totalSuffix")),1)]),e("p",He,[e("span",null,s(r(n)("narrative.daysPrefix")),1),e("span",qe,s(r(K)(l.value.metrics.activeDayCount)),1),e("span",null,s(r(n)("narrative.daysMiddle")),1),e("span",Ke,s(y(l.value.metrics.averagePerActiveDaySeconds)),1),e("span",null,s(r(n)("narrative.daysSuffix")),1)])]),e("div",Je,[e("div",Ze,s(r(n)("keyMetrics")),1),e("div",Qe,[(d(!0),u(k,null,T(re.value,o=>(d(),u("div",{key:o.key,class:"flex min-w-0 items-start gap-2 px-2.5 py-2"},[g(i,{name:o.icon,class:z(["mt-0.5 h-3.5 w-3.5 shrink-0",o.colorClass])},null,8,["name","class"]),e("div",Xe,[e("div",{class:z(["truncate font-mono text-sm leading-tight font-black tabular-nums",o.colorClass])},s(o.value),3),e("div",et,s(o.label),1),e("div",tt,s(o.subtext),1)])]))),128))])]),e("div",st,[e("div",null,[e("h3",at,s(r(n)("monthlyTitle")),1),e("p",nt,s(r(n)("monthlyDescription")),1)]),e("div",ot,[g(r(Ee),{data:ne.value,height:240,mode:"compact",smooth:!1,"show-area":!1},null,8,["data"])]),e("p",rt,s(r(n)("estimateNote")),1)]),e("div",it,[e("span",null,s(ae.value),1),e("span",null,s(r(n)("status.coverage",{analyzed:l.value.coverage.analyzedSessions,total:l.value.coverage.totalSessions})),1)])])]),_:1}),g(r(j),null,{default:S(()=>[e("section",lt,[e("h3",ct,[a[1]||(a[1]=e("span",{class:"inline-block h-2 w-2 rounded-full bg-pink-500 dark:bg-pink-400"},null,-1)),P(" "+s(r(n)("rhythmTitle")),1)]),e("p",dt,s(r(n)("rhythmDescription")),1),e("div",ut,[e("div",pt,[oe.value?(d(),u("div",mt,[(d(!0),u(k,null,T(R.value,o=>(d(),u("div",{key:o.key,class:"grid grid-cols-[2.25rem_minmax(0,1fr)_auto] items-center gap-3"},[e("span",xt,s(o.label),1),e("div",gt,[e("div",{class:"h-full rounded-full bg-pink-500 transition-[width] duration-500 dark:bg-pink-400",style:q({width:`${o.width}%`})},null,4)]),e("span",ht,s(y(o.seconds)),1)]))),128))])):(d(),u("p",yt,s(r(n)("noData")),1))]),e("div",vt,[e("h4",kt,s(r(n)("topDaysTitle")),1),Y.value.length?(d(),u("div",_t,[(d(!0),u(k,null,T(Y.value,(o,m)=>(d(),u("div",{key:o.key,class:"grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-center gap-3 py-2.5 first:pt-0 last:pb-0"},[e("span",ft,s(m+1),1),e("div",bt,[e("span",wt,s(o.dateLabel),1),e("span",St,s(o.weekdayLabel),1)]),e("span",Tt,s(y(o.estimatedSeconds)),1)]))),128))])):(d(),u("p",zt,s(r(n)("noData")),1))])])])]),_:1}),g(r(j),null,{default:S(()=>[e("section",Dt,[e("div",Ct,[e("div",null,[e("h3",It,s(r(n)("rankingTitle")),1),e("p",Et,s(r(n)("rankingDescription")),1)])]),ie.value?(d(),u("div",Mt,[(d(!0),u(k,null,T(F.value,o=>(d(),u("div",{key:o.type,class:"min-w-0 lg:px-10 lg:first:pl-0 lg:last:pr-0"},[e("div",At,[e("div",Pt,[e("span",{class:z(["h-2.5 w-2.5 shrink-0 rounded-full",o.type===r(h).PRIVATE?"bg-pink-500 dark:bg-pink-400":"bg-blue-500 dark:bg-blue-400"])},null,2),e("h4",Lt,s(he(o.type)),1)]),e("span",Ot,s(r(n)("rankingCount",{count:o.items.length})),1)]),o.items.length?(d(),u("div",Nt,[(d(!0),u(k,null,T(o.items,m=>(d(),u("div",{key:m.sessionId,class:"min-w-0 py-3 last:pb-0"},[e("div",Rt,[e("span",{class:z(["flex h-6 w-6 items-center justify-center rounded-full font-mono text-[10px] font-bold",m.rank<=3?o.type===r(h).PRIVATE?"bg-pink-50 text-pink-600 dark:bg-pink-950/30 dark:text-pink-400":"bg-blue-50 text-blue-600 dark:bg-blue-950/30 dark:text-blue-400":"bg-gray-100 text-gray-500 dark:bg-zinc-800 dark:text-zinc-400"])},s(m.rank),3),e("div",Yt,[e("span",Vt,s(m.name),1),e("span",$t,s(m.platform),1)]),e("div",jt,[e("div",Ut,s(y(m.seconds)),1),e("div",Bt,s(m.share)+"% ",1)])]),e("div",Ft,[e("div",{class:z(["h-full rounded-full",o.type===r(h).PRIVATE?"bg-pink-500 dark:bg-pink-400":"bg-blue-500 dark:bg-blue-400"]),style:q({width:`${m.seconds/o.maxSeconds*100}%`})},null,6)])]))),128))])):(d(),u("p",Wt,s(r(n)("noData")),1))]))),128))])):(d(),u("p",Gt,s(r(n)("noData")),1))])]),_:1})])],64)):v("",!0)])])}}});export{os as default};
1
+ import{d as ve,ai as ke,aj as _e,ak as fe,b as $,K as be,al as we,a5 as Se,c as u,a as e,g as r,z as g,p as s,l as v,a9 as P,w as S,f as H,F as k,e as p,a8 as Te,am as ze,o as d,j as T,a7 as De,n as z,O as q,an as h}from"./index-D07viL9P.js";import{_ as Ce}from"./LoadingState.vue_vue_type_script_setup_true_lang-DH0zYa8f.js";import{_ as j}from"./ThemeCard.vue_vue_type_script_setup_true_lang-CFSCaL65.js";import{C as Ie}from"./CardDecoration-8F4sZO4v.js";import{_ as Ee}from"./EChartLine.vue_vue_type_script_setup_true_lang-5iW9KPRe.js";import"./vendor-echarts-wordcloud-DNiU8Psq.js";import{T as Me}from"./service-2UJZvVpa.js";import"./vendor-snapdom--nZvo8Sg.js";import"./EChart.vue_vue_type_script_setup_true_lang-Rk-Bu-rv.js";import"./vendor-echarts-C9ugTmum.js";import"./vendor-zrender-D8psf1AA.js";const Ae={class:"min-h-0 flex-1 overflow-y-auto"},Pe={class:"mx-auto w-full max-w-[920px] space-y-6 px-4 py-5 sm:px-6 sm:py-6"},Le={class:"min-w-0"},Oe={key:1,class:"flex items-center gap-2 rounded-xl border border-amber-100 bg-amber-50/50 px-4 py-2.5 text-xs text-amber-800 dark:border-amber-950/40 dark:bg-amber-950/20 dark:text-amber-300"},Ne={key:2,class:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-red-200 bg-red-50/50 px-4 py-2.5 text-xs text-red-800 dark:border-red-950/40 dark:bg-red-950/20 dark:text-red-300"},Re={key:0,class:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-gray-200 bg-white p-4 text-xs text-gray-600 dark:border-zinc-800 dark:bg-zinc-900/50 dark:text-zinc-300"},Ye={key:0},Ve={key:1},$e={key:2},je={class:"space-y-4"},Ue={class:"relative z-10 min-w-0 px-5 pt-6 pb-5 sm:px-8 sm:pt-8 sm:pb-6"},Be={class:"text-2xl font-bold tracking-tight text-gray-900 dark:text-white sm:text-3xl"},Fe={class:"mt-6 max-w-3xl space-y-3 text-gray-600 dark:text-zinc-300"},We={class:"flex flex-wrap items-baseline gap-x-2 gap-y-1 text-lg leading-relaxed sm:text-xl"},Ge={class:"font-black text-2xl tracking-tight tabular-nums text-pink-600 sm:text-3xl dark:text-pink-400"},He={class:"flex flex-wrap items-baseline gap-x-2 gap-y-1 text-base leading-relaxed sm:text-lg"},qe={class:"font-black text-2xl tabular-nums text-indigo-600 dark:text-indigo-400"},Ke={class:"font-black text-2xl tabular-nums text-blue-600 dark:text-blue-400"},Je={class:"mt-7"},Ze={class:"mb-2 text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-zinc-500"},Qe={class:"grid grid-cols-2 gap-2 lg:grid-cols-4"},Xe={class:"min-w-0"},et={class:"mt-0.5 truncate text-[10px] font-medium text-gray-500 dark:text-zinc-400"},tt={class:"mt-0.5 truncate text-[9px] text-gray-400 dark:text-zinc-500"},st={class:"mt-6"},at={class:"text-xs font-bold tracking-wide text-gray-700 dark:text-zinc-300"},nt={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},ot={class:"mt-2"},rt={class:"mt-2 text-[10px] leading-5 text-gray-400 dark:text-zinc-500"},it={class:"mt-4 flex flex-wrap items-center justify-between gap-x-6 gap-y-1 border-t border-gray-200/60 pt-4 font-mono text-[10px] text-gray-400 dark:border-white/5 dark:text-zinc-500"},lt={class:"min-w-0 p-5 sm:p-6"},ct={class:"flex items-center gap-2 text-xs font-bold uppercase tracking-wider text-gray-700 dark:text-zinc-300"},dt={class:"mt-1 text-[11px] text-gray-400 dark:text-zinc-500"},ut={class:"mt-5 grid gap-6 lg:grid-cols-7 lg:gap-0"},pt={class:"min-w-0 lg:col-span-4 lg:pr-8"},mt={key:0,class:"space-y-3.5"},xt={class:"text-xs font-medium text-gray-500 dark:text-zinc-400"},gt={class:"h-1.5 overflow-hidden rounded-full bg-gray-100 dark:bg-zinc-800"},ht={class:"min-w-[4.75rem] whitespace-nowrap text-right font-mono text-[10px] font-semibold tabular-nums text-gray-600 dark:text-zinc-300"},yt={key:1,class:"text-xs text-gray-400"},vt={class:"min-w-0 border-t border-gray-200/60 pt-5 lg:col-span-3 lg:border-t-0 lg:border-l lg:pt-0 lg:pl-8 dark:border-white/5"},kt={class:"text-xs font-semibold text-gray-700 dark:text-zinc-300"},_t={key:0,class:"mt-3 divide-y divide-gray-200/60 dark:divide-white/5"},ft={class:"flex h-5 w-5 items-center justify-center rounded-full bg-pink-50 font-mono text-[9px] font-bold text-pink-600 dark:bg-pink-950/30 dark:text-pink-400"},bt={class:"flex min-w-0 items-baseline gap-2"},wt={class:"font-mono text-xs font-semibold tabular-nums text-gray-700 dark:text-zinc-200"},St={class:"truncate text-[10px] text-gray-400 dark:text-zinc-500"},Tt={class:"whitespace-nowrap font-mono text-[10px] font-semibold tabular-nums text-gray-600 dark:text-zinc-300"},zt={key:1,class:"mt-3 text-xs text-gray-400"},Dt={class:"min-w-0 p-5 sm:p-6"},Ct={class:"flex flex-wrap items-end justify-between gap-x-6 gap-y-2"},It={class:"text-base font-semibold text-gray-800 dark:text-zinc-200"},Et={class:"mt-1 text-[11px] text-gray-400 dark:text-zinc-500"},Mt={key:0,class:"mt-5 grid gap-8 lg:grid-cols-2 lg:gap-0 lg:divide-x lg:divide-gray-200/60 dark:lg:divide-white/5"},At={class:"flex items-center justify-between gap-4 border-b border-gray-200/60 pb-3 dark:border-white/5"},Pt={class:"flex min-w-0 items-center gap-2"},Lt={class:"truncate text-sm font-semibold text-gray-700 dark:text-zinc-200"},Ot={class:"shrink-0 text-[10px] text-gray-400 dark:text-zinc-500"},Nt={key:0,class:"divide-y divide-gray-200/60 dark:divide-white/5"},Rt={class:"grid grid-cols-[28px_minmax(0,1fr)_auto] items-center gap-3"},Yt={class:"min-w-0"},Vt={class:"block truncate text-sm font-semibold text-gray-700 dark:text-zinc-200"},$t={class:"mt-1 block truncate text-[10px] text-gray-400 dark:text-zinc-500"},jt={class:"shrink-0 text-right"},Ut={class:"whitespace-nowrap font-mono text-xs font-black tabular-nums text-gray-900 dark:text-white"},Bt={class:"mt-1 font-mono text-[10px] tabular-nums text-gray-400 dark:text-zinc-500"},Ft={class:"mt-2 ml-10 h-1 overflow-hidden rounded-full bg-gray-100 dark:bg-zinc-800"},Wt={key:1,class:"pt-4 text-xs text-gray-400"},Gt={key:1,class:"mt-5 text-xs text-gray-400"},os=ve({__name:"index",setup(Ht){const U=ke(),n=_e(ze),{formatDate:_,formatNumber:K}=fe(),f=U.insightScope,b=U.services.get(Me),J=new Date().getFullYear(),D=$(f.getSnapshot()),l=$(null),C=$("");let I=null,E=0;const L=p(()=>{const t=D.value.time;return t?t.mode==="recent"?{mode:"recent",days:365,acceptStale:!0}:{mode:"year",year:t.year??J,acceptStale:!0}:null}),Z=p(()=>JSON.stringify(L.value)),O=p(()=>(l.value?.coverage.missingOwnerSessions??0)+(l.value?.coverage.unresolvedOwnerSessions??0)),N=p(()=>l.value?.metrics!==null&&l.value?.metrics!==void 0),Q=p(()=>l.value?.task.status==="running"),X=p(()=>N.value&&l.value?.metrics?.estimatedSeconds===0),ee=p(()=>(l.value?.coverage.totalSessions??0)>0&&l.value?.coverage.analyzedSessions===0&&O.value>0),te=p(()=>D.value.time?.mode==="year"?D.value.time.year:void 0),M=p(()=>{const t=te.value,a=l.value?.latestDataYear;return t===void 0||a===null||a===void 0||t===a?null:{year:t,latestYear:a}}),se=p(()=>l.value?.range.mode==="year"?n("yearTitle",{year:l.value.range.year}):n("recentTitle")),ae=p(()=>{const t=l.value?.range;if(!t)return"";const a={day:"2-digit",month:"2-digit",year:"numeric"},i=_(t.startTs*1e3,a),c=_(t.endTs*1e3,a);return i===c?i:`${i} – ${c}`}),ne=p(()=>{const t=l.value?.range,a=l.value?.monthlyActivity??[];return{labels:a.map(i=>t?.mode==="year"?n("monthLabel",{month:Number(i.key.slice(5))}):i.key.replace("-","/")),values:a.map(i=>me(i.estimatedSeconds))}}),R=p(()=>{const t=l.value?.range;if(!t)return[];const a=Array(7).fill(0),i=Array(7).fill(0),c=new Map((l.value?.dailyActivity??[]).map(x=>[x.key,x.estimatedSeconds])),o=W(new Date(t.startTs*1e3)),m=W(new Date(t.endTs*1e3));for(;o<=m;){const x=(o.getDay()+6)%7;a[x]+=c.get(xe(o))??0,i[x]++,o.setDate(o.getDate()+1)}const G=a.map((x,w)=>i[w]?Math.round(x/i[w]):0),ye=Math.max(...G,1);return G.map((x,w)=>({key:w,label:_(new Date(2024,0,1+w),{weekday:"short"}),seconds:x,width:x>0?Math.max(x/ye*100,3):0}))}),oe=p(()=>R.value.some(t=>t.seconds>0)),Y=p(()=>[...l.value?.dailyActivity??[]].filter(t=>t.estimatedSeconds>0).sort((t,a)=>a.estimatedSeconds-t.estimatedSeconds||t.key.localeCompare(a.key)).slice(0,3).map(t=>{const a=ge(t.key);return{...t,dateLabel:_(a,{month:"2-digit",day:"2-digit"}),weekdayLabel:_(a,{weekday:"short"})}})),B=p(()=>[h.GROUP,h.PRIVATE].map(t=>l.value?.chatTypes.find(a=>a.type===t)).filter(t=>t!==void 0)),re=p(()=>{const t=B.value.find(o=>o.type===h.PRIVATE),a=B.value.find(o=>o.type===h.GROUP),i=Y.value[0],c=[...R.value].sort((o,m)=>m.seconds-o.seconds)[0];return[{key:"private",icon:"i-heroicons-user",colorClass:"text-pink-600 dark:text-pink-400",label:n("privateChat"),value:t?y(t.seconds):"—",subtext:n("shareOfTotal",{share:t?.share??0})},{key:"group",icon:"i-heroicons-user-group",colorClass:"text-blue-600 dark:text-blue-400",label:n("groupChat"),value:a?y(a.seconds):"—",subtext:n("shareOfTotal",{share:a?.share??0})},{key:"peakDay",icon:"i-heroicons-fire",colorClass:"text-red-600 dark:text-red-400",label:n("peakDay"),value:i?.dateLabel??"—",subtext:i?y(i.estimatedSeconds):"—"},{key:"peakWeekday",icon:"i-heroicons-calendar-days",colorClass:"text-amber-600 dark:text-amber-400",label:n("peakWeekday"),value:c?.seconds?c.label:"—",subtext:c?.seconds?y(c.seconds):"—"}]}),F=p(()=>[h.PRIVATE,h.GROUP].map(t=>{const a=(l.value?.sessionRanking??[]).filter(i=>i.type===t).slice(0,10).map((i,c)=>({...i,rank:c+1}));return{type:t,items:a,maxSeconds:Math.max(...a.map(i=>i.seconds),1)}})),ie=p(()=>F.value.some(t=>t.items.length>0)),le=f.subscribe(()=>{D.value=f.getSnapshot()}),ce=b.subscribeOwnerSettingsClosed(()=>{A(!1)});be(Z,()=>{V(),L.value&&(l.value=null,A(!1))},{immediate:!0}),we(()=>{E++,V(),le(),ce()});async function A(t){const a=L.value;if(!a)return;const i=++E;C.value="";try{const c=t?await b.recompute(a):await b.get(a);if(i!==E)return;l.value=c,c.metrics&&f.setAvailableTimeYears(c.availableDataYears),c.task.status==="running"&&de()}catch(c){if(i!==E)return;const o=c instanceof Error?c.message:String(c);C.value=o,Se(`Global insight time investment failed: ${o}`,c instanceof Error?c.stack:void 0)}}function de(){V(),I=setTimeout(()=>{A(!1)},900)}function V(){I&&(clearTimeout(I),I=null)}function ue(){const t=l.value?.latestDataYear;t&&f.switchTimeToYear(t)}function pe(){b.openOwnerSettings()}function y(t){const a=Math.round(t/60);if(t>0&&a<1)return n("duration.lessThanMinute");if(a<60)return n("duration.minutes",{count:a});const i=Math.floor(a/60),c=a%60;return c?n("duration.hoursMinutes",{hours:i,minutes:c}):n("duration.hours",{count:i})}function me(t){return Math.round(t/3600*10)/10}function W(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate())}function xe(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function ge(t){const[a,i,c]=t.split("-").map(Number);return new Date(a,i-1,c)}function he(t){return n(t===h.PRIVATE?"privateChat":"groupChat")}return(t,a)=>{const i=De,c=Te;return d(),u("main",Ae,[e("div",Pe,[O.value>0&&r(b).canConfigureOwner?(d(),u("button",{key:0,type:"button",class:"inline-flex w-fit max-w-full items-center gap-2 rounded-lg bg-amber-50 px-3 py-2 text-left text-xs text-amber-800 transition-colors hover:bg-amber-100 dark:bg-amber-950/20 dark:text-amber-300 dark:hover:bg-amber-950/30",onClick:pe},[g(i,{name:"i-heroicons-user-circle",class:"h-4 w-4 shrink-0"}),e("span",Le,s(r(n)("status.ownerIssues",{count:O.value})),1),g(i,{name:"i-heroicons-arrow-right",class:"h-3.5 w-3.5 shrink-0 opacity-70"})])):v("",!0),l.value?.cache.status==="stale"||Q.value&&N.value?(d(),u("div",Oe,[g(i,{name:"i-heroicons-arrow-path",class:"h-4 w-4 shrink-0 animate-spin"}),P(" "+s(r(n)("status.updating")),1)])):v("",!0),C.value||l.value?.task.status==="failed"?(d(),u("div",Ne,[e("span",null,s(r(n)("failed")),1),g(c,{size:"xs",color:"error",variant:"soft",icon:"i-heroicons-arrow-path",onClick:a[0]||(a[0]=o=>A(!0))},{default:S(()=>[P(s(r(n)("actions.retry")),1)]),_:1})])):v("",!0),!N.value&&!C.value&&l.value?.task.status!=="failed"?(d(),H(Ce,{key:3,height:"min(52vh, 420px)",text:l.value?.task.status==="running"?r(n)("status.computingProgress",{processed:l.value.task.processedSessions,total:l.value.task.totalSessions}):r(n)("loading")},null,8,["text"])):l.value?.metrics?(d(),u(k,{key:4},[X.value?(d(),u("div",Re,[ee.value?(d(),u("span",Ye,s(r(n)("status.noAnalyzableOwner")),1)):M.value?(d(),u("span",Ve,s(r(n)("status.noDataWithLatest",M.value)),1)):(d(),u("span",$e,s(r(n)("noData")),1)),M.value?(d(),H(c,{key:3,size:"xs",variant:"soft",color:"neutral",icon:"i-heroicons-arrow-right",onClick:ue},{default:S(()=>[P(s(r(n)("actions.switchYear",{year:M.value.latestYear})),1)]),_:1})):v("",!0)])):v("",!0),e("div",je,[g(r(j),{class:"relative isolate overflow-hidden"},{default:S(()=>[g(r(Ie)),e("section",Ue,[e("h2",Be,s(se.value),1),e("div",Fe,[e("p",We,[e("span",null,s(r(n)("narrative.totalPrefix")),1),e("span",Ge,s(y(l.value.metrics.estimatedSeconds)),1),e("span",null,s(r(n)("narrative.totalSuffix")),1)]),e("p",He,[e("span",null,s(r(n)("narrative.daysPrefix")),1),e("span",qe,s(r(K)(l.value.metrics.activeDayCount)),1),e("span",null,s(r(n)("narrative.daysMiddle")),1),e("span",Ke,s(y(l.value.metrics.averagePerActiveDaySeconds)),1),e("span",null,s(r(n)("narrative.daysSuffix")),1)])]),e("div",Je,[e("div",Ze,s(r(n)("keyMetrics")),1),e("div",Qe,[(d(!0),u(k,null,T(re.value,o=>(d(),u("div",{key:o.key,class:"flex min-w-0 items-start gap-2 px-2.5 py-2"},[g(i,{name:o.icon,class:z(["mt-0.5 h-3.5 w-3.5 shrink-0",o.colorClass])},null,8,["name","class"]),e("div",Xe,[e("div",{class:z(["truncate font-mono text-sm leading-tight font-black tabular-nums",o.colorClass])},s(o.value),3),e("div",et,s(o.label),1),e("div",tt,s(o.subtext),1)])]))),128))])]),e("div",st,[e("div",null,[e("h3",at,s(r(n)("monthlyTitle")),1),e("p",nt,s(r(n)("monthlyDescription")),1)]),e("div",ot,[g(r(Ee),{data:ne.value,height:240,mode:"compact",smooth:!1,"show-area":!1},null,8,["data"])]),e("p",rt,s(r(n)("estimateNote")),1)]),e("div",it,[e("span",null,s(ae.value),1),e("span",null,s(r(n)("status.coverage",{analyzed:l.value.coverage.analyzedSessions,total:l.value.coverage.totalSessions})),1)])])]),_:1}),g(r(j),null,{default:S(()=>[e("section",lt,[e("h3",ct,[a[1]||(a[1]=e("span",{class:"inline-block h-2 w-2 rounded-full bg-pink-500 dark:bg-pink-400"},null,-1)),P(" "+s(r(n)("rhythmTitle")),1)]),e("p",dt,s(r(n)("rhythmDescription")),1),e("div",ut,[e("div",pt,[oe.value?(d(),u("div",mt,[(d(!0),u(k,null,T(R.value,o=>(d(),u("div",{key:o.key,class:"grid grid-cols-[2.25rem_minmax(0,1fr)_auto] items-center gap-3"},[e("span",xt,s(o.label),1),e("div",gt,[e("div",{class:"h-full rounded-full bg-pink-500 transition-[width] duration-500 dark:bg-pink-400",style:q({width:`${o.width}%`})},null,4)]),e("span",ht,s(y(o.seconds)),1)]))),128))])):(d(),u("p",yt,s(r(n)("noData")),1))]),e("div",vt,[e("h4",kt,s(r(n)("topDaysTitle")),1),Y.value.length?(d(),u("div",_t,[(d(!0),u(k,null,T(Y.value,(o,m)=>(d(),u("div",{key:o.key,class:"grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-center gap-3 py-2.5 first:pt-0 last:pb-0"},[e("span",ft,s(m+1),1),e("div",bt,[e("span",wt,s(o.dateLabel),1),e("span",St,s(o.weekdayLabel),1)]),e("span",Tt,s(y(o.estimatedSeconds)),1)]))),128))])):(d(),u("p",zt,s(r(n)("noData")),1))])])])]),_:1}),g(r(j),null,{default:S(()=>[e("section",Dt,[e("div",Ct,[e("div",null,[e("h3",It,s(r(n)("rankingTitle")),1),e("p",Et,s(r(n)("rankingDescription")),1)])]),ie.value?(d(),u("div",Mt,[(d(!0),u(k,null,T(F.value,o=>(d(),u("div",{key:o.type,class:"min-w-0 lg:px-10 lg:first:pl-0 lg:last:pr-0"},[e("div",At,[e("div",Pt,[e("span",{class:z(["h-2.5 w-2.5 shrink-0 rounded-full",o.type===r(h).PRIVATE?"bg-pink-500 dark:bg-pink-400":"bg-blue-500 dark:bg-blue-400"])},null,2),e("h4",Lt,s(he(o.type)),1)]),e("span",Ot,s(r(n)("rankingCount",{count:o.items.length})),1)]),o.items.length?(d(),u("div",Nt,[(d(!0),u(k,null,T(o.items,m=>(d(),u("div",{key:m.sessionId,class:"min-w-0 py-3 last:pb-0"},[e("div",Rt,[e("span",{class:z(["flex h-6 w-6 items-center justify-center rounded-full font-mono text-[10px] font-bold",m.rank<=3?o.type===r(h).PRIVATE?"bg-pink-50 text-pink-600 dark:bg-pink-950/30 dark:text-pink-400":"bg-blue-50 text-blue-600 dark:bg-blue-950/30 dark:text-blue-400":"bg-gray-100 text-gray-500 dark:bg-zinc-800 dark:text-zinc-400"])},s(m.rank),3),e("div",Yt,[e("span",Vt,s(m.name),1),e("span",$t,s(m.platform),1)]),e("div",jt,[e("div",Ut,s(y(m.seconds)),1),e("div",Bt,s(m.share)+"% ",1)])]),e("div",Ft,[e("div",{class:z(["h-full rounded-full",o.type===r(h).PRIVATE?"bg-pink-500 dark:bg-pink-400":"bg-blue-500 dark:bg-blue-400"]),style:q({width:`${m.seconds/o.maxSeconds*100}%`})},null,6)])]))),128))])):(d(),u("p",Wt,s(r(n)("noData")),1))]))),128))])):(d(),u("p",Gt,s(r(n)("noData")),1))])]),_:1})])],64)):v("",!0)])])}}});export{os as default};