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.
- package/dist/{chat-command-SEV6N3AR.mjs → chat-command-YAFRLHMQ.mjs} +15 -16
- package/dist/{chat-command-SEV6N3AR.mjs.map → chat-command-YAFRLHMQ.mjs.map} +1 -1
- package/dist/{chunk-6EZPD3XJ.mjs → chunk-2PY4XCH3.mjs} +6 -3
- package/dist/chunk-2PY4XCH3.mjs.map +1 -0
- package/dist/{chunk-HWIXK7SU.mjs → chunk-73TJ2S7W.mjs} +1643 -3
- package/dist/chunk-73TJ2S7W.mjs.map +1 -0
- package/dist/{chunk-YUH3H3QW.mjs → chunk-ARIBCH47.mjs} +96 -5
- package/dist/chunk-ARIBCH47.mjs.map +1 -0
- package/dist/{chunk-WRBFV2GX.mjs → chunk-FPVRSXQ4.mjs} +49 -55
- package/dist/chunk-FPVRSXQ4.mjs.map +1 -0
- package/dist/{chunk-VREVDZ4Q.mjs → chunk-GKCIRKOH.mjs} +1934 -35
- package/dist/chunk-GKCIRKOH.mjs.map +1 -0
- package/dist/{chunk-TJ3NOBVI.mjs → chunk-JWJREWVN.mjs} +119 -288
- package/dist/chunk-JWJREWVN.mjs.map +1 -0
- package/dist/{chunk-TWH422HC.mjs → chunk-MMTEGUQA.mjs} +3 -3
- package/dist/{chunk-VUYWUHWW.mjs → chunk-N4SB6QZV.mjs} +3 -3
- package/dist/chunk-N4SB6QZV.mjs.map +1 -0
- package/dist/{chunk-TRGR3KKJ.mjs → chunk-OTYNMDDL.mjs} +2643 -682
- package/dist/chunk-OTYNMDDL.mjs.map +1 -0
- package/dist/{chunk-CH5YAZ4Q.mjs → chunk-PDQV4RUA.mjs} +2 -2
- package/dist/{chunk-WJQOXOMR.mjs → chunk-UP6JIV3S.mjs} +285 -41
- package/dist/chunk-UP6JIV3S.mjs.map +1 -0
- package/dist/chunk-WDLO7OLX.mjs +101 -0
- package/dist/chunk-WDLO7OLX.mjs.map +1 -0
- package/dist/cli.mjs +9 -9
- package/dist/contacts-worker.mjs +2 -2
- package/dist/global-insight-worker.mjs +1 -1
- package/dist/{http-237XYNRT.mjs → http-LPFPVTBC.mjs} +12 -12
- package/dist/{import-R2E2TFAK.mjs → import-T4WX2ZJL.mjs} +7 -7
- package/dist/index.mjs +12 -12
- package/dist/{mcp-BED4AARV.mjs → mcp-SMF3NWIN.mjs} +8 -8
- package/dist/people-relationships-worker.mjs +2 -2
- package/dist/semantic-index-worker.mjs +1 -1
- package/dist/{src-AYMALWU5.mjs → src-EGLLMTAU.mjs} +44 -14
- package/dist/{stream-import-RXNSOOYH.mjs → stream-import-2BXJTTCE.mjs} +7 -7
- package/dist/{worker-runtime-JGAZU7MC.mjs → worker-runtime-RDLSPXFT.mjs} +5 -5
- package/dist-cli-web/assets/AISettingsTab-CEhrXlYR.js +1 -0
- package/dist-cli-web/assets/{AboutTab-DCM1-glA.js → AboutTab-Bbu0SsMM.js} +1 -1
- package/dist-cli-web/assets/ActionToolsPanel-DDNXXH8v.css +1 -0
- package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-IB1yZxCE.js +75 -0
- package/dist-cli-web/assets/{Alert-D-egBWcb.js → Alert-510jTN3l.js} +1 -1
- package/dist-cli-web/assets/ApiSettingsTab-Bi1GRMN4.js +2 -0
- package/dist-cli-web/assets/BatchManageTab-DhnqMCSM.js +1 -0
- package/dist-cli-web/assets/{BufferResource-BE2_2bZK.js → BufferResource-CKZxnACp.js} +1 -1
- package/dist-cli-web/assets/{CanvasRenderer-DDKdvEYQ.js → CanvasRenderer-BeK5POBy.js} +1 -1
- package/dist-cli-web/assets/CardDecoration-RuBA3N2j.js +1 -0
- package/dist-cli-web/assets/ChatRecordDrawer-BY_-lIEj.js +1 -0
- package/dist-cli-web/assets/{ChatRecordWorkspace-DqUI4QiU.js → ChatRecordWorkspace-7prKd-Tq.js} +1 -1
- package/dist-cli-web/assets/Checkbox-_eH64bb0.js +1 -0
- package/dist-cli-web/assets/DataDirCleanupNotice-BHaXwlfr.js +1 -0
- 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
- package/dist-cli-web/assets/{DebugToolsPanel-BIHA6jw4.js → DebugToolsPanel-ByKItGrS.js} +1 -1
- package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-DubnuUXI.js +1 -0
- package/dist-cli-web/assets/EChartBar.vue_vue_type_script_setup_true_lang-DKNCZuFm.js +1 -0
- package/dist-cli-web/assets/EChartLine.vue_vue_type_script_setup_true_lang-Fl7xAOSR.js +1 -0
- package/dist-cli-web/assets/EChartWordcloud-C6XM4KOX.js +1 -0
- package/dist-cli-web/assets/FileDropZone.vue_vue_type_script_setup_true_lang-DYDdRSNE.js +1 -0
- package/dist-cli-web/assets/{Filter-kO4dIDJ2.js → Filter-CByj_rCR.js} +1 -1
- package/dist-cli-web/assets/GlobalTaskBar-BdELjzrs.js +1 -0
- package/dist-cli-web/assets/GlobalTaskBar-haLzezqY.css +1 -0
- package/dist-cli-web/assets/GroupRelationshipGalaxyView-CnzPEgUS.js +1 -0
- package/dist-cli-web/assets/Label-DCIcxkhU.js +1 -0
- package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-BBcCt_Qm.js +1 -0
- package/dist-cli-web/assets/MessageExportModal-DNU16Bs8.js +1 -0
- package/dist-cli-web/assets/PageHeader-CKeZjNNR.js +1 -0
- package/dist-cli-web/assets/PageHeader-CPLgiKT8.css +1 -0
- 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
- package/dist-cli-web/assets/{RelationshipGalaxyCanvas-Cod1JX9m.js → RelationshipGalaxyCanvas-CDhljGyJ.js} +3 -3
- package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-CkefzeFJ.js → RelationshipGalaxyThreeCanvas-BP8fsvvf.js} +1 -1
- package/dist-cli-web/assets/{RenderTargetSystem-SuQ7cbze.js → RenderTargetSystem-D76QrDT_.js} +1 -1
- package/dist-cli-web/assets/{RovingFocusItem-psoFYxrC.js → RovingFocusItem-BJMUQ5DJ.js} +1 -1
- package/dist-cli-web/assets/{ScreenCaptureModal-D4r9ixKh.js → ScreenCaptureModal-DkX4z-M1.js} +1 -1
- package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-qFhJO5B0.js +1 -0
- package/dist-cli-web/assets/Select-B5oJc5y1.js +1 -0
- package/dist-cli-web/assets/SettingsModal-BO-QKQ2h.js +2 -0
- package/dist-cli-web/assets/{StorageTab-DhSJ-0Ir.js → StorageTab-CPPXXaRm.js} +1 -1
- package/dist-cli-web/assets/Switch-CDk3LZ4_.js +1 -0
- package/dist-cli-web/assets/Tabs-BMq9wODW.js +1 -0
- package/dist-cli-web/assets/{Tabs-Bnm_Q7yW.js → Tabs-DqWTBV8x.js} +1 -1
- package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-D2outEOV.js +1 -0
- 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
- package/dist-cli-web/assets/{VisuallyHiddenInput-Bo_XwaLu.js → VisuallyHiddenInput-BAFpkxMI.js} +1 -1
- package/dist-cli-web/assets/{WebGLRenderer-D1x9WZRj.js → WebGLRenderer-DjCPvR_O.js} +1 -1
- package/dist-cli-web/assets/{WebGPURenderer-37Nw-tLm.js → WebGPURenderer-C2B_u03z.js} +1 -1
- package/dist-cli-web/assets/aiChat--CR4g2M7.js +8 -0
- package/dist-cli-web/assets/base-F6s0vTrr.js +1 -0
- package/dist-cli-web/assets/{browserAll-CWrz_-4U.js → browserAll-DiUAZg4L.js} +1 -1
- package/dist-cli-web/assets/chatMessages-BGRbSlvD.css +1 -0
- package/dist-cli-web/assets/chatMessages-Bd33SSXI.js +147 -0
- package/dist-cli-web/assets/cli-web-DoibEdj2.js +1 -0
- package/dist-cli-web/assets/{fetch-CkXgOxcu.js → fetch-4nh1LaVF.js} +3 -3
- package/dist-cli-web/assets/fetch-7lUvXbhU.js +1 -0
- package/dist-cli-web/assets/{fetch-CFpLXWTe.js → fetch-BEaW1j5H.js} +1 -1
- package/dist-cli-web/assets/{fetch-CgA1peJD.js → fetch-B_YFABxI.js} +1 -1
- package/dist-cli-web/assets/{fetch-BGmCCyzz.js → fetch-BeX69kpS.js} +1 -1
- package/dist-cli-web/assets/{fetch-Du-wU0OO.js → fetch-CRocA-4C.js} +1 -1
- package/dist-cli-web/assets/{fetch-DPSWt6yX.js → fetch-CXM-cjDS.js} +1 -1
- package/dist-cli-web/assets/{fetch-qd2FgBWQ.js → fetch-CXqeAbnY.js} +1 -1
- package/dist-cli-web/assets/{fetch-6pcVxB9h.js → fetch-CxVcHNid.js} +1 -1
- package/dist-cli-web/assets/fetch-DBpDMy29.js +1 -0
- package/dist-cli-web/assets/{fetch-Gu4qQjUB.js → fetch-DKBBS9Op.js} +1 -1
- package/dist-cli-web/assets/{fetch-DZ6OF-xW.js → fetch-epFXmPIQ.js} +1 -1
- package/dist-cli-web/assets/{host-D8zlA62K.js → host-C4rU8pKA.js} +1 -1
- package/dist-cli-web/assets/{host-CWsAWKgy.js → host-CtSqR_Zm.js} +1 -1
- package/dist-cli-web/assets/{index-Dy0fRMDf.js → index-4DVZ2g0M.js} +10 -10
- package/dist-cli-web/assets/index-B1oj9KDv.js +135 -0
- package/dist-cli-web/assets/index-BFH1j_R9.js +1 -0
- package/dist-cli-web/assets/index-BZpR015e.css +1 -0
- package/dist-cli-web/assets/index-BgelKQTW.css +1 -0
- package/dist-cli-web/assets/{index-v6DlL4ue.js → index-BvMAw3Zd.js} +1 -1
- package/dist-cli-web/assets/index-C1A1FwpO.css +1 -0
- package/dist-cli-web/assets/index-CIIyg_o9.css +1 -0
- package/dist-cli-web/assets/index-CaYtkONV.js +64 -0
- package/dist-cli-web/assets/index-CuCQ1d9f.js +1 -0
- package/dist-cli-web/assets/index-D3Hyjv4e.js +137 -0
- package/dist-cli-web/assets/index-D8cHMqV-.js +2 -0
- package/dist-cli-web/assets/index-DlHuILT_.js +1 -0
- package/dist-cli-web/assets/index-R4LqAnx9.js +2 -0
- package/dist-cli-web/assets/index-_m1mf1jm.js +1 -0
- package/dist-cli-web/assets/{index-a7CT8DQm.js → index-ekvsNmfe.js} +1 -1
- package/dist-cli-web/assets/index-mXe1LssU.js +1 -0
- package/dist-cli-web/assets/index-mbLXPIyC.js +1 -0
- package/dist-cli-web/assets/{people-page-header-Czt9e1jv.js → people-page-header-BbYSSpsO.js} +1 -1
- package/dist-cli-web/assets/{prompt-DGazz143.js → prompt-C-ofJ7t_.js} +1 -1
- package/dist-cli-web/assets/{semantic-index-config-builder-BkFHzIUy.js → semantic-index-config-builder-D3TYVYC-.js} +1 -1
- package/dist-cli-web/assets/service-BYOUkk7V.js +1 -0
- package/dist-cli-web/assets/{service-CAp0YJoS.js → service-CppETV4a.js} +1 -1
- package/dist-cli-web/assets/service-tEx-5LUL.js +1 -0
- package/dist-cli-web/assets/useFormControl-CrWi_6Hn.js +1 -0
- package/dist-cli-web/assets/useTable-Clk7ecq-.js +1 -0
- package/dist-cli-web/assets/{useToast-YAHDkKDN.js → useToast-B5LaA6c-.js} +1 -1
- package/dist-cli-web/assets/{vendor-echarts-hTLhTs52.js → vendor-echarts-C9ugTmum.js} +1 -1
- package/dist-cli-web/assets/{vendor-echarts-wordcloud-B8CF_NgP.js → vendor-echarts-wordcloud-DNiU8Psq.js} +1 -1
- package/dist-cli-web/assets/{webworkerAll-CvSp2Y8j.js → webworkerAll-CyA4b4LT.js} +1 -1
- package/dist-cli-web/index.html +2 -2
- package/package.json +3 -3
- package/dist/chunk-6E46U4H2.mjs +0 -41
- package/dist/chunk-6E46U4H2.mjs.map +0 -1
- package/dist/chunk-6EZPD3XJ.mjs.map +0 -1
- package/dist/chunk-HWIXK7SU.mjs.map +0 -1
- package/dist/chunk-TJ3NOBVI.mjs.map +0 -1
- package/dist/chunk-TRGR3KKJ.mjs.map +0 -1
- package/dist/chunk-VREVDZ4Q.mjs.map +0 -1
- package/dist/chunk-VUYWUHWW.mjs.map +0 -1
- package/dist/chunk-WJQOXOMR.mjs.map +0 -1
- package/dist/chunk-WRBFV2GX.mjs.map +0 -1
- package/dist/chunk-YUH3H3QW.mjs.map +0 -1
- package/dist-cli-web/assets/AISettingsTab-VgI7PiJd.js +0 -1
- package/dist-cli-web/assets/ActionToolsPanel-BTGgwXVD.css +0 -1
- package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-a7RMjjve.js +0 -112
- package/dist-cli-web/assets/ApiSettingsTab-Co3LWf1f.js +0 -2
- package/dist-cli-web/assets/BatchManageTab-2LrckmQm.js +0 -1
- package/dist-cli-web/assets/ChatRecordDrawer-DRhztqLG.js +0 -1
- package/dist-cli-web/assets/Checkbox-EfpQmv4A.js +0 -1
- package/dist-cli-web/assets/DataDirCleanupNotice-BYIiR58J.js +0 -1
- package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-DryMSoCz.js +0 -1
- package/dist-cli-web/assets/EChartBar.vue_vue_type_script_setup_true_lang-BdFW-hvt.js +0 -1
- package/dist-cli-web/assets/EChartLine.vue_vue_type_script_setup_true_lang-C69Kdw9X.js +0 -1
- package/dist-cli-web/assets/EChartWordcloud-DM7UEHdK.js +0 -1
- package/dist-cli-web/assets/GlobalTaskBar-BZS_h0zC.js +0 -1
- package/dist-cli-web/assets/GlobalTaskBar-COW_uBX6.css +0 -1
- package/dist-cli-web/assets/GroupRelationshipGalaxyView--WIaHx_F.js +0 -1
- package/dist-cli-web/assets/Label-CIuDXyeM.js +0 -1
- package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-B_7VHxTx.js +0 -1
- package/dist-cli-web/assets/MessageExportModal-BQsIpyxv.js +0 -1
- package/dist-cli-web/assets/PageHeader-DxhQHF_0.js +0 -1
- package/dist-cli-web/assets/PageHeader-XIXMTomn.css +0 -1
- package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-v_7aRBgM.js +0 -1
- package/dist-cli-web/assets/Select-CxurgslB.js +0 -1
- package/dist-cli-web/assets/SettingsModal-DBZucuf6.js +0 -2
- package/dist-cli-web/assets/Switch-3D81G6uV.js +0 -1
- package/dist-cli-web/assets/Tabs-DB603EEu.js +0 -1
- package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-BDTdkH5i.js +0 -1
- package/dist-cli-web/assets/aiChat-BCzYQeZq.js +0 -8
- package/dist-cli-web/assets/cli-web-C-8N0CJh.js +0 -1
- package/dist-cli-web/assets/fetch-B69OkB6B.js +0 -1
- package/dist-cli-web/assets/fetch-z9M9FcIC.js +0 -1
- package/dist-cli-web/assets/index-BGd4ZfhO.js +0 -2
- package/dist-cli-web/assets/index-BYZF1ngN.js +0 -1
- package/dist-cli-web/assets/index-BcuwlCin.css +0 -1
- package/dist-cli-web/assets/index-BnaLj2dx.css +0 -1
- package/dist-cli-web/assets/index-Bq5q3kSU.js +0 -36
- package/dist-cli-web/assets/index-CPR3jdC2.js +0 -137
- package/dist-cli-web/assets/index-D3AjvaOX.js +0 -1
- package/dist-cli-web/assets/index-DAitScUA.js +0 -1
- package/dist-cli-web/assets/index-DBSMWAJ0.js +0 -1
- package/dist-cli-web/assets/index-DTn9htw-.js +0 -64
- package/dist-cli-web/assets/index-DV_rWxcH.js +0 -1
- package/dist-cli-web/assets/index-DxhAGqYM.css +0 -1
- package/dist-cli-web/assets/index-I0mIcDpE.css +0 -1
- package/dist-cli-web/assets/index-onwNShRw.js +0 -2
- package/dist-cli-web/assets/service-BMqwB74f.js +0 -1
- package/dist-cli-web/assets/service-CUQ8iHdS.js +0 -1
- package/dist-cli-web/assets/useFormControl-DcSMUc2d.js +0 -1
- package/dist-cli-web/assets/useTable-Clmq3sge.js +0 -1
- /package/dist/{chunk-TWH422HC.mjs.map → chunk-MMTEGUQA.mjs.map} +0 -0
- /package/dist/{chunk-CH5YAZ4Q.mjs.map → chunk-PDQV4RUA.mjs.map} +0 -0
- /package/dist/{http-237XYNRT.mjs.map → http-LPFPVTBC.mjs.map} +0 -0
- /package/dist/{import-R2E2TFAK.mjs.map → import-T4WX2ZJL.mjs.map} +0 -0
- /package/dist/{mcp-BED4AARV.mjs.map → mcp-SMF3NWIN.mjs.map} +0 -0
- /package/dist/{src-AYMALWU5.mjs.map → src-EGLLMTAU.mjs.map} +0 -0
- /package/dist/{stream-import-RXNSOOYH.mjs.map → stream-import-2BXJTTCE.mjs.map} +0 -0
- /package/dist/{worker-runtime-JGAZU7MC.mjs.map → worker-runtime-RDLSPXFT.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as K,o as d,c as m,a as e,F as Y,j as U,p as s,g as r,e as u,n as W,ah as Q,f as H,z as C,w as B,a9 as E,a7 as Z,O as X,b as q,M as ee,ai as te,aj as ae,ak as se,K as ne,al as re,a5 as oe,l as I,a8 as ie,bu as le}from"./index-B1oj9KDv.js";import{_ as ce}from"./LoadingState.vue_vue_type_script_setup_true_lang-BBcCt_Qm.js";import{A as ue}from"./service-tEx-5LUL.js";import{g as de}from"./base-F6s0vTrr.js";import{_ as V}from"./ThemeCard.vue_vue_type_script_setup_true_lang-D2outEOV.js";import{C as ge}from"./CardDecoration-RuBA3N2j.js";import{_ as me}from"./EChartBar.vue_vue_type_script_setup_true_lang-DKNCZuFm.js";import"./vendor-echarts-wordcloud-DNiU8Psq.js";import"./vendor-snapdom--nZvo8Sg.js";import"./EChart.vue_vue_type_script_setup_true_lang-DubnuUXI.js";import"./vendor-echarts-C9ugTmum.js";import"./vendor-zrender-D8psf1AA.js";const xe=1440*60*1e3;function ve(v){const t=new Map;for(const o of v){if(o.messageCount<=0)continue;const l=pe(o.date);l!==null&&t.set(l,(t.get(l)??0)+o.messageCount)}const n=[...t.keys()].sort((o,l)=>o-l);if(n.length===0)return{longestActiveStreak:0,topWeekday:null,weekdayMessageRate:null,weekendMessageRate:null};const x=Array.from({length:7},()=>0);let _=1,y=1;n.forEach((o,l)=>{const p=(new Date(o).getUTCDay()+6)%7;x[p]+=t.get(o)??0,l!==0&&(o-n[l-1]===xe?(y++,_=Math.max(_,y)):y=1)});const k=x.reduce((o,l)=>o+l,0),A=x[5]+x[6],w=Math.round(A/k*100),i=x.reduce((o,l,p)=>l>x[o]?p:o,0);return{longestActiveStreak:_,topWeekday:i+1,weekdayMessageRate:100-w,weekendMessageRate:w}}function pe(v){const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(v);if(!t)return null;const n=Number(t[1]),x=Number(t[2]),_=Number(t[3]),y=Date.UTC(n,x-1,_),k=new Date(y);return k.getUTCFullYear()!==n||k.getUTCMonth()!==x-1||k.getUTCDate()!==_?null:y}const he={class:"annual-calendar"},ye={class:"annual-calendar-months grid grid-cols-2 gap-x-4 gap-y-5"},ke={class:"mb-1.5 text-[11px] font-bold text-gray-500 dark:text-zinc-400"},fe={class:"grid grid-cols-7 gap-[3px]","aria-hidden":"true"},be=["title"],_e={class:"mt-4 flex items-center justify-end gap-1.5 text-[10px] text-gray-400 dark:text-zinc-500"},we=K({__name:"InsightCalendarGrid",props:{t:{type:Function},range:{},data:{},formatValue:{type:Function}},setup(v){const t=v,n=t.t,x=u(()=>Math.max(...t.data.map(o=>o.value),1)),_=u(()=>new Map(t.data.map(o=>[o.date,o.value]))),y=u(()=>new Date(t.range.startTs*1e3)),k=u(()=>new Date(t.range.endTs*1e3)),A=u(()=>{const o=y.value,l=k.value,p=[],h=t.range.year??o.getFullYear(),$=t.range.mode==="year"?new Date(h,0,1):new Date(o.getFullYear(),o.getMonth(),1),F=t.range.mode==="year"?new Date(h,11,1):new Date(l.getFullYear(),l.getMonth(),1);for(;$<=F;){const N=$.getFullYear(),M=$.getMonth(),R=`${N}-${String(M+1).padStart(2,"0")}`,f=new Date(N,M+1,0).getDate(),O=Array.from({length:f},(P,L)=>{const T=L+1,a=`${R}-${String(T).padStart(2,"0")}`,g=new Date(N,M,T),S=_.value.get(a)??0,c=g>=w(o)&&g<=w(l);return{key:a,day:T,count:S,inRange:c,level:c&&S>0?Math.max(1,Math.ceil(S/x.value*4)):0}});p.push({key:R,label:t.range.mode==="year"?t.t("monthLabel",{month:M+1}):R.replace("-","/"),leadingDays:(new Date(N,M,1).getDay()+6)%7,days:O}),$.setMonth($.getMonth()+1)}return p});function w(o){return new Date(o.getFullYear(),o.getMonth(),o.getDate())}function i(o){return t.formatValue?.(o)??`${o} ${t.t("messages")}`}return(o,l)=>(d(),m("div",he,[e("div",ye,[(d(!0),m(Y,null,U(A.value,p=>(d(),m("div",{key:p.key,class:"min-w-0"},[e("div",ke,s(p.label),1),e("div",fe,[(d(!0),m(Y,null,U(p.leadingDays,h=>(d(),m("span",{key:`blank-${h}`,class:"aspect-square min-h-[7px] rounded-[3px] bg-gray-50 dark:bg-zinc-800/30"}))),128)),(d(!0),m(Y,null,U(p.days,h=>(d(),m("span",{key:h.key,class:W(["aspect-square min-h-[7px] rounded-[3px]",{"opacity-30":!h.inRange,"bg-gray-50 dark:bg-zinc-800/30":h.level===0,"bg-pink-100 dark:bg-pink-500/10":h.level===1,"bg-pink-200 dark:bg-pink-500/25":h.level===2,"bg-pink-400 dark:bg-pink-500/50":h.level===3,"bg-pink-600 dark:bg-pink-500/80":h.level===4}]),title:`${h.key}: ${i(h.count)}`},null,10,be))),128))])]))),128))]),e("div",_e,[e("span",null,s(r(n)("calendar.less")),1),l[0]||(l[0]=e("span",{"aria-hidden":"true",class:"inline-block h-2.5 w-2.5 rounded-[2px] bg-pink-100 dark:bg-pink-500/10"},null,-1)),l[1]||(l[1]=e("span",{"aria-hidden":"true",class:"inline-block h-2.5 w-2.5 rounded-[2px] bg-pink-200 dark:bg-pink-500/25"},null,-1)),l[2]||(l[2]=e("span",{"aria-hidden":"true",class:"inline-block h-2.5 w-2.5 rounded-[2px] bg-pink-400 dark:bg-pink-500/50"},null,-1)),l[3]||(l[3]=e("span",{"aria-hidden":"true",class:"inline-block h-2.5 w-2.5 rounded-[2px] bg-pink-600 dark:bg-pink-500/80"},null,-1)),e("span",null,s(r(n)("calendar.more")),1)])]))}}),De=Q(we,[["__scopeId","data-v-593a96f3"]]),Ce=K({__name:"AnnualMonthlyTrend",props:{t:{type:Function},range:{},data:{},height:{}},setup(v){const t=v,n=u(()=>({labels:t.data.map(x=>t.range.mode==="year"?t.t("monthLabel",{month:Number(x.month.slice(5))}):x.month.replace("-","/")),values:t.data.map(x=>x.value)}));return(x,_)=>(d(),H(r(me),{data:n.value,height:v.height??260,"border-radius":3},null,8,["data","height"]))}}),Me={class:"grid gap-4 xl:grid-cols-7"},Se={class:"relative z-10 min-w-0 px-5 pt-6 pb-5 sm:px-8 sm:pt-8 sm:pb-6"},ze={class:"text-2xl font-bold tracking-tight text-gray-900 dark:text-white sm:text-3xl"},Te={class:"mt-6"},$e={class:"max-w-3xl space-y-3 text-gray-600 dark:text-zinc-300"},Ae={class:"flex flex-wrap items-baseline gap-x-2 gap-y-1 text-lg leading-relaxed sm:text-xl"},Ne={class:"font-black text-2xl tracking-tight tabular-nums text-pink-600 sm:text-3xl dark:text-pink-400"},Le={class:"font-black text-2xl tabular-nums text-blue-600 sm:text-3xl dark:text-blue-400"},Ye={class:"flex flex-wrap items-baseline gap-x-2 gap-y-1 text-base leading-relaxed sm:text-lg"},Fe={class:"font-black text-2xl tabular-nums text-indigo-600 dark:text-indigo-400"},Re={class:"font-black text-2xl tabular-nums text-amber-600 dark:text-amber-400"},Ue={class:"mt-7"},je={class:"mb-2 text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-zinc-500"},Ie={class:"grid grid-cols-2 gap-2 lg:grid-cols-4"},Be={class:"min-w-0"},Ee={class:"mt-0.5 truncate text-[10px] font-medium text-gray-500 dark:text-zinc-400"},Oe={class:"mt-0.5 truncate text-[9px] text-gray-400 dark:text-zinc-500"},Pe={class:"mt-6 w-full min-w-0"},Ve={class:"mb-1 flex flex-wrap items-center justify-between gap-3"},We={class:"text-xs font-bold tracking-wide text-gray-700 dark:text-zinc-300"},qe={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},Ke={class:"flex rounded-lg bg-gray-100 p-0.5 dark:bg-zinc-800"},Ge=["aria-pressed","onClick"],He={class:"mt-5 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"},Je={class:"grid min-w-0 gap-4 xl:col-span-4"},Xe={class:"min-w-0 p-5 sm:p-6"},Ze={class:"flex items-center gap-2 text-xs font-bold uppercase tracking-wider text-gray-700 dark:text-zinc-300"},Qe={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},et={key:0,class:"mt-5 grid grid-cols-2 gap-x-5 gap-y-4 sm:grid-cols-3"},tt={class:"flex items-end justify-between gap-2"},at={class:"truncate text-xs font-medium text-gray-600 dark:text-zinc-300"},st={class:"font-mono text-xs font-black tabular-nums text-gray-900 dark:text-white"},nt={class:"mt-2 h-1 overflow-hidden rounded-full bg-gray-100 dark:bg-zinc-800"},rt={class:"mt-1.5 font-mono text-[10px] text-gray-400 dark:text-zinc-500"},ot={key:1,class:"flex h-28 items-center justify-center text-xs text-gray-400 dark:text-zinc-600"},it={class:"min-w-0 p-5 sm:p-6"},lt={class:"flex items-start justify-between gap-3"},ct={class:"flex items-center gap-2 text-xs font-bold uppercase tracking-wider text-gray-700 dark:text-zinc-300"},ut={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},dt={class:"flex shrink-0 gap-3 text-right"},gt={class:"font-mono text-sm font-black text-gray-900 dark:text-white"},mt={class:"text-[10px] text-gray-400 dark:text-zinc-500"},xt={class:"font-mono text-sm font-black text-gray-900 dark:text-white"},vt={key:0,class:"mt-5 flex h-24 items-end gap-2"},pt={class:"flex h-16 w-full items-end rounded-sm bg-gray-100 dark:bg-zinc-800"},ht=["title"],yt={class:"w-full truncate text-center font-mono text-[9px] text-gray-400 dark:text-zinc-500"},kt={key:1,class:"flex h-24 items-center justify-center text-xs text-gray-400 dark:text-zinc-600"},ft={class:"h-full min-w-0 p-5 sm:p-6"},bt={class:"flex items-start justify-between gap-4"},_t={class:"flex items-center gap-2 text-xs font-bold uppercase tracking-wider text-gray-700 dark:text-zinc-300"},wt={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},Dt={class:"shrink-0 text-right"},Ct={class:"font-mono text-lg font-black tabular-nums text-gray-900 dark:text-white"},Mt={class:"text-[10px] text-gray-400 dark:text-zinc-500"},St={class:"mt-5"},zt=K({__name:"AnnualInsightBoard",props:{t:{type:Function},formatDate:{type:Function},formatNumber:{type:Function},range:{},metrics:{},coverage:{},monthlyActivity:{},monthlyDirectContacts:{},dailyActivity:{},messageTypes:{},textLength:{}},setup(v){const t=v,n=t.t,x=q("messages"),_=u(()=>t.range.mode==="year"?t.t("overview.yearTitle",{year:t.range.year}):t.t("overview.recentTitle")),y=u(()=>{const a={day:"2-digit",month:"2-digit",year:"numeric"};return`${t.formatDate(t.range.startTs*1e3,a)} – ${t.formatDate(t.range.endTs*1e3,a)}`}),k=u(()=>t.monthlyActivity.reduce((a,g)=>!a||g.messageCount>a.messageCount?g:a,null)),A=u(()=>t.dailyActivity.reduce((a,g)=>!a||g.messageCount>a.messageCount?g:a,null)),w=u(()=>[...t.messageTypes].sort((a,g)=>g.count-a.count).slice(0,6)),i=u(()=>t.messageTypes.reduce((a,g)=>a+g.count,0)),o=u(()=>t.messageTypes.find(a=>a.type===ee.TEXT)?.count??0),l=u(()=>L(o.value,i.value)),p=u(()=>Math.max(...t.textLength.buckets.map(a=>a.count),1)),h=u(()=>{const a=Math.max(1,Math.round((t.range.endTs-t.range.startTs)/86400)+1);return L(t.metrics.activeDayCount,a)}),$=u(()=>ve(t.dailyActivity)),F=u(()=>[{key:"dailyContacts",value:f(t.metrics.averageDirectContactsPerDay),label:t.t("overview.dailyContacts"),subtext:t.t("overview.perDay"),icon:"i-heroicons-user-plus",colorClass:"text-blue-600 dark:text-blue-400"},{key:"peakMonth",value:O(k.value?.month),label:t.t("overview.peakMonth"),subtext:t.t("overview.messagesCount",{count:f(k.value?.messageCount??0)}),icon:"i-heroicons-calendar-days",colorClass:"text-pink-600 dark:text-pink-400"},{key:"peakDay",value:P(A.value?.date),label:t.t("overview.peakDay"),subtext:t.t("overview.messagesCount",{count:f(A.value?.messageCount??0)}),icon:"i-heroicons-fire",colorClass:"text-red-600 dark:text-red-400"},{key:"longestActiveStreak",value:f($.value.longestActiveStreak),label:t.t("overview.longestActiveStreak"),subtext:t.t("overview.consecutiveActiveDays"),icon:"i-heroicons-bolt",colorClass:"text-amber-600 dark:text-amber-400"}]),N=u(()=>x.value==="messages"?t.monthlyActivity.map(a=>({month:a.month,value:a.messageCount})):t.monthlyDirectContacts.map(a=>({month:a.month,value:a.contactCount}))),M=u(()=>t.dailyActivity.map(a=>({date:a.date,value:a.messageCount}))),R=u(()=>t.t(x.value==="messages"?"sections.overviewDescription":"sections.directContactsDescription"));function f(a){return t.formatNumber(a,Number.isInteger(a)?void 0:{maximumFractionDigits:1})}function O(a){return a?t.range.mode==="year"?t.t("monthLabel",{month:Number(a.slice(5))}):a.replace("-","/"):"-"}function P(a){if(!a)return"-";const[g,S,c]=a.split("-");return t.formatDate(new Date(Number(g),Number(S)-1,Number(c)),{day:"2-digit",month:"2-digit"})}function L(a,g){return g>0?Math.round(a/g*100):0}function T(a){return n(a)}return(a,g)=>{const S=Z;return d(),m("div",Me,[C(r(V),{class:"relative isolate overflow-hidden xl:col-span-7"},{default:B(()=>[C(r(ge)),e("section",Se,[e("h2",ze,s(_.value),1),e("div",Te,[e("div",$e,[e("p",Ae,[e("span",null,s(r(n)("overview.narrative.messagesPrefix")),1),e("span",Ne,s(f(v.metrics.sentMessageCount)),1),e("span",null,s(r(n)("overview.narrative.messagesSuffix")),1),e("span",Le,s(f(v.metrics.averageMessagesPerDay)),1),e("span",null,s(r(n)("overview.narrative.dailySuffix")),1)]),e("p",Ye,[e("span",null,s(r(n)("overview.narrative.activePrefix")),1),e("span",Fe,s(f(v.metrics.activeDayCount)),1),e("span",null,s(r(n)("overview.narrative.activeMiddle")),1),e("span",Re,s(f(v.metrics.directContactCount)),1),e("span",null,s(r(n)("overview.narrative.contactsSuffix")),1)])]),e("div",Ue,[e("div",je,s(r(n)("overview.keyMetrics")),1),e("div",Ie,[(d(!0),m(Y,null,U(F.value,c=>(d(),m("div",{key:c.key,class:"flex min-w-0 items-start gap-2 px-2.5 py-2"},[C(S,{name:c.icon,class:W(["mt-0.5 h-3.5 w-3.5 shrink-0",c.colorClass])},null,8,["name","class"]),e("div",Be,[e("div",{class:W(["truncate font-mono text-sm leading-tight font-black tabular-nums",c.colorClass])},s(c.value),3),e("div",Ee,s(c.label),1),e("div",Oe,s(c.subtext),1)])]))),128))])]),e("div",Pe,[e("div",Ve,[e("div",null,[e("h3",We,s(r(n)("sections.overview")),1),e("p",qe,s(R.value),1)]),e("div",Ke,[(d(),m(Y,null,U(["messages","contacts"],c=>e("button",{key:c,type:"button",class:W(["rounded-md px-2.5 py-1 text-[10px] font-medium transition-colors",x.value===c?"bg-white text-gray-900 shadow-sm dark:bg-zinc-700 dark:text-white":"text-gray-500 hover:text-gray-700 dark:text-zinc-400 dark:hover:text-zinc-200"]),"aria-pressed":x.value===c,onClick:J=>x.value=c},s(r(n)(`overview.monthlyTrend.${c}`)),11,Ge)),64))])]),C(Ce,{t:r(n),range:v.range,data:N.value,height:240},null,8,["t","range","data"])])]),e("div",He,[e("span",null,s(y.value),1),e("span",null,s(r(n)("status.coverage",{analyzed:v.coverage.analyzedSessions,total:v.coverage.totalSessions})),1)])])]),_:1}),e("div",Je,[C(r(V),null,{default:B(()=>[e("section",Xe,[e("h3",Ze,[g[0]||(g[0]=e("span",{class:"inline-block h-2 w-2 rounded-full bg-pink-500 dark:bg-pink-400"},null,-1)),E(" "+s(r(n)("sections.messageTypes")),1)]),e("p",Qe,s(r(n)("sections.messageTypesDescription")),1),w.value.length?(d(),m("div",et,[(d(!0),m(Y,null,U(w.value,c=>(d(),m("div",{key:c.type,class:"min-w-0"},[e("div",tt,[e("span",at,s(r(de)(c.type,T)),1),e("span",st,s(L(c.count,i.value))+"% ",1)]),e("div",nt,[e("div",{class:"h-full rounded-full bg-pink-500 dark:bg-pink-400",style:X({width:`${L(c.count,i.value)}%`})},null,4)]),e("div",rt,s(f(c.count)),1)]))),128))])):(d(),m("div",ot,s(r(n)("noData")),1))])]),_:1}),C(r(V),null,{default:B(()=>[e("section",it,[e("div",lt,[e("div",null,[e("h3",ct,[g[1]||(g[1]=e("span",{class:"inline-block h-2 w-2 rounded-full bg-pink-500 dark:bg-pink-400"},null,-1)),E(" "+s(r(n)("sections.textLength")),1)]),e("p",ut,s(r(n)("overview.textRatio"))+" "+s(l.value)+"% ",1)]),e("div",dt,[e("div",null,[e("div",gt,s(v.textLength.median??"-"),1),e("div",mt,s(r(n)("length.median")),1)]),e("div",null,[e("div",xt,s(v.textLength.p90??"-"),1),g[2]||(g[2]=e("div",{class:"text-[10px] text-gray-400 dark:text-zinc-500"},"P90",-1))])])]),v.textLength.textMessageCount?(d(),m("div",vt,[(d(!0),m(Y,null,U(v.textLength.buckets,c=>(d(),m("div",{key:c.key,class:"flex min-w-0 flex-1 flex-col items-center gap-2"},[e("div",pt,[e("div",{class:"w-full rounded-sm bg-pink-500/80 dark:bg-pink-400/80",style:X({height:`${Math.max(4,c.count/p.value*100)}%`}),title:`${c.key}: ${c.count}`},null,12,ht)]),e("span",yt,s(c.key),1)]))),128))])):(d(),m("div",kt,s(r(n)("noTextData")),1))])]),_:1})]),C(r(V),{class:"xl:col-span-3"},{default:B(()=>[e("section",ft,[e("div",bt,[e("div",null,[e("h3",_t,[g[3]||(g[3]=e("span",{class:"inline-block h-2 w-2 rounded-full bg-pink-500 dark:bg-pink-400"},null,-1)),E(" "+s(r(n)("overview.activity")),1)]),e("p",wt,s(r(n)("sections.activityDescription")),1)]),e("div",Dt,[e("div",Ct,s(v.metrics.activeDayCount),1),e("div",Mt,s(r(n)("overview.activeRate",{rate:h.value})),1)])]),e("div",St,[C(De,{t:r(n),range:v.range,data:M.value},null,8,["t","range","data"])])])]),_:1})])}}}),Tt={class:"min-h-0 flex-1 overflow-y-auto"},$t={class:"mx-auto w-full max-w-[920px] space-y-6 px-4 py-5 sm:px-6 sm:py-6"},At={class:"min-w-0"},Nt={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 backdrop-blur-sm dark:border-amber-950/40 dark:bg-amber-950/20 dark:text-amber-300"},Lt={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 backdrop-blur-sm dark:border-red-950/40 dark:bg-red-950/20 dark:text-red-300"},Yt={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"},Ft={key:0},Rt={key:1},Ht=K({__name:"index",setup(v){const t=te(),n=ae(le),{formatDate:x,formatNumber:_}=se(),y=t.insightScope,k=t.services.get(ue),A=new Date().getFullYear(),w=q(y.getSnapshot()),i=q(null),o=q("");let l=null,p=0;const h=y.subscribe(()=>{w.value=y.getSnapshot()}),$=k.subscribeOwnerSettingsClosed(()=>{a(!1)}),F=u(()=>{const b=w.value.time;return b?b.mode==="recent"?{mode:"recent",days:365,acceptStale:!0}:b.mode==="year"?{mode:"year",year:b.year??A,acceptStale:!0}:null:null}),N=u(()=>JSON.stringify(F.value)),M=u(()=>(i.value?.coverage.missingOwnerSessions??0)+(i.value?.coverage.unresolvedOwnerSessions??0)),R=u(()=>i.value?.task.status==="running"),f=u(()=>i.value?.metrics!==null&&i.value?.metrics!==void 0),O=u(()=>f.value&&i.value?.metrics?.sentMessageCount===0),P=u(()=>(i.value?.coverage.totalSessions??0)>0&&i.value?.coverage.analyzedSessions===0&&M.value>0),L=u(()=>w.value.time?.mode==="year"?w.value.time.year:void 0),T=u(()=>{const b=L.value,z=i.value?.latestDataYear;return b===void 0||z===null||z===void 0||b===z?null:{year:b,latestYear:z}});ne(N,()=>{S(),F.value&&(i.value=null,a(!1))},{immediate:!0}),re(()=>{p++,S(),h(),$()});async function a(b){const z=F.value;if(!z)return;const j=++p;o.value="";try{const D=b?await k.recompute(z):await k.get(z);if(j!==p)return;i.value=D,D.metrics&&y.setAvailableTimeYears(D.availableDataYears),D.task.status==="running"&&g()}catch(D){if(j!==p)return;const G=D instanceof Error?D.message:String(D);o.value=G,oe(`Global insight annual summary failed: ${G}`,D instanceof Error?D.stack:void 0)}}function g(){S(),l=setTimeout(()=>{a(!1)},900)}function S(){l&&(clearTimeout(l),l=null)}function c(){const b=i.value?.latestDataYear;b&&y.switchTimeToYear(b)}function J(){k.openOwnerSettings()}return(b,z)=>{const j=Z,D=ie;return d(),m("main",Tt,[e("div",$t,[M.value>0?(d(),m("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:J},[C(j,{name:"i-heroicons-user-circle",class:"h-4 w-4 shrink-0"}),e("span",At,s(r(n)("status.ownerIssues",{count:M.value})),1),C(j,{name:"i-heroicons-arrow-right",class:"h-3.5 w-3.5 shrink-0 opacity-70"})])):I("",!0),i.value?.cache.status==="stale"||R.value&&f.value?(d(),m("div",Nt,[C(j,{name:"i-heroicons-arrow-path",class:"h-4 w-4 shrink-0 animate-spin text-amber-600 dark:text-amber-400"}),E(" "+s(r(n)("status.updating")),1)])):I("",!0),o.value||i.value?.task.status==="failed"?(d(),m("div",Lt,[e("span",null,s(r(n)("status.failed")),1),C(D,{size:"xs",color:"error",variant:"soft",icon:"i-heroicons-arrow-path",onClick:z[0]||(z[0]=G=>a(!0))},{default:B(()=>[E(s(r(n)("actions.retry")),1)]),_:1})])):I("",!0),!f.value&&!o.value&&i.value?.task.status!=="failed"?(d(),H(ce,{key:3,height:"min(52vh, 420px)",text:i.value?.task.status==="running"?r(n)("status.computingProgress",{processed:i.value.task.processedSessions,total:i.value.task.totalSessions}):r(n)("status.loading")},null,8,["text"])):i.value?.metrics&&i.value.textLength?(d(),m(Y,{key:4},[O.value&&!P.value?(d(),m("div",Yt,[T.value?(d(),m("span",Ft,s(r(n)("status.noDataWithLatest",T.value)),1)):(d(),m("span",Rt,s(r(n)("noData")),1)),T.value?(d(),H(D,{key:2,size:"xs",variant:"soft",color:"neutral",icon:"i-heroicons-arrow-right",onClick:c},{default:B(()=>[E(s(r(n)("actions.switchYear",{year:T.value.latestYear})),1)]),_:1})):I("",!0)])):I("",!0),C(zt,{t:r(n),"format-date":r(x),"format-number":r(_),range:i.value.range,metrics:i.value.metrics,coverage:i.value.coverage,"monthly-activity":i.value.monthlyActivity,"monthly-direct-contacts":i.value.monthlyDirectContacts,"daily-activity":i.value.dailyActivity,"message-types":i.value.messageTypes,"text-length":i.value.textLength},null,8,["t","format-date","format-number","range","metrics","coverage","monthly-activity","monthly-direct-contacts","daily-activity","message-types","text-length"])],64)):I("",!0)])])}}});export{Ht as default};
|