cognova 0.2.13 → 0.2.14
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/-mGU8_Hv.js +1 -0
- package/.output/public/_nuxt/0GqCtQ9S.js +1 -0
- package/.output/public/_nuxt/{DFpmIy6J.js → 1wCoXZ14.js} +1 -1
- package/.output/public/_nuxt/2J1KxdHv.js +1 -0
- package/.output/public/_nuxt/6VDUZECX.js +1 -0
- package/.output/public/_nuxt/{C7m9zGMG.js → 8WMJQbWG.js} +1 -1
- package/.output/public/_nuxt/9Rw88G6h.js +1 -0
- package/.output/public/_nuxt/{BjsKx597.js → B-yW4SD3.js} +1 -1
- package/.output/public/_nuxt/B20jNAhm.js +1 -0
- package/.output/public/_nuxt/B3OpTH_e.js +1 -0
- package/.output/public/_nuxt/B9Y3_B5G.js +1 -0
- package/.output/public/_nuxt/B9_vmatf.js +1 -0
- package/.output/public/_nuxt/B9o6sFST.js +1 -0
- package/.output/public/_nuxt/{CseYuM6E.js → BAY3_Hrq.js} +1 -1
- package/.output/public/_nuxt/{B_9zJTqe.js → BD5rPkc2.js} +3 -3
- package/.output/public/_nuxt/BGYoW3kO.js +1 -0
- package/.output/public/_nuxt/BHUy5EAj.js +1 -0
- package/.output/public/_nuxt/BLdMRpJD.js +1 -0
- package/.output/public/_nuxt/{D6tVZcRs.js → BOCn_SGf.js} +12 -12
- package/.output/public/_nuxt/BQi8LIrn.js +1 -0
- package/.output/public/_nuxt/BS1t375R.js +1 -0
- package/.output/public/_nuxt/BTGeP1bA.js +1 -0
- package/.output/public/_nuxt/{pdYvpiud.js → BVYYP4eQ.js} +5 -5
- package/.output/public/_nuxt/BWQ7zE01.js +1 -0
- package/.output/public/_nuxt/BWqJInD3.js +1 -0
- package/.output/public/_nuxt/BXdQ9ASJ.js +1 -0
- package/.output/public/_nuxt/{DQhm-UPG.js → BXxZokD_.js} +2 -2
- package/.output/public/_nuxt/BZ7DAtPi.js +1 -0
- package/.output/public/_nuxt/BZm9w7en.js +1 -0
- package/.output/public/_nuxt/B_hNqC64.js +1 -0
- package/.output/public/_nuxt/Be47YE2L.js +1 -0
- package/.output/public/_nuxt/BgIS9_ti.js +39 -0
- package/.output/public/_nuxt/BgavRUl_.js +1 -0
- package/.output/public/_nuxt/Bh0yGTzr.js +1 -0
- package/.output/public/_nuxt/BhhMUror.js +1 -0
- package/.output/public/_nuxt/Bj5e7QPz.js +1 -0
- package/.output/public/_nuxt/{9kAKMaPC.js → Bnn59-FS.js} +1 -1
- package/.output/public/_nuxt/BoCU3mWu.js +1 -0
- package/.output/public/_nuxt/Br6epbzY.js +1 -0
- package/.output/public/_nuxt/Br81Sr2R.js +1 -0
- package/.output/public/_nuxt/BrkEOLHu.js +9 -0
- package/.output/public/_nuxt/BtrNCc2S.js +1 -0
- package/.output/public/_nuxt/BxsQlbgl.js +1 -0
- package/.output/public/_nuxt/BzrhNhdT.js +1 -0
- package/.output/public/_nuxt/{B-DMcEU9.js → C-78dDNd.js} +1 -1
- package/.output/public/_nuxt/C1oaoi1p.js +1 -0
- package/.output/public/_nuxt/C2-_hcwB.js +1 -0
- package/.output/public/_nuxt/{TxMdabnL.js → C2Gh3qqr.js} +1 -1
- package/.output/public/_nuxt/C2OHaW6l.js +1 -0
- package/.output/public/_nuxt/C3szZmvA.js +1 -0
- package/.output/public/_nuxt/C3xzleKP.js +1 -0
- package/.output/public/_nuxt/C4sG6rdW.js +1 -0
- package/.output/public/_nuxt/C5Cu9Fx6.js +1 -0
- package/.output/public/_nuxt/{LRO7YHoH.js → C5gfF7J1.js} +1 -1
- package/.output/public/_nuxt/C6Eoiclo.js +1 -0
- package/.output/public/_nuxt/C7hFztZL.js +1 -0
- package/.output/public/_nuxt/CAVUAxNU.js +2 -0
- package/.output/public/_nuxt/{CiNxIhaq.js → CCeM5lW2.js} +1 -1
- package/.output/public/_nuxt/CDcQ31Eh.js +1 -0
- package/.output/public/_nuxt/CHbHVtCy.js +1 -0
- package/.output/public/_nuxt/CHnVFnBW.js +1 -0
- package/.output/public/_nuxt/CLNcmNQS.js +1 -0
- package/.output/public/_nuxt/{D7N3EZ-I.js → CPwCTHun.js} +1 -1
- package/.output/public/_nuxt/{CFmvNggn.js → CS8SdmH2.js} +1 -1
- package/.output/public/_nuxt/CTGm_mc8.js +1 -0
- package/.output/public/_nuxt/{DNcOC5zj.js → CTQFGHjS.js} +1 -1
- package/.output/public/_nuxt/{B0nzD8Sk.js → CVVtVzXC.js} +1 -1
- package/.output/public/_nuxt/CZNOaqeX.js +1 -0
- package/.output/public/_nuxt/C_A_NkeC.js +2 -0
- package/.output/public/_nuxt/{CGplHfmR.js → C_doutX-.js} +1 -1
- package/.output/public/_nuxt/{BrX-PnSK.js → CbDLhrNA.js} +2 -2
- package/.output/public/_nuxt/CePKCqSb.js +1 -0
- package/.output/public/_nuxt/Cet4T_yO.js +1 -0
- package/.output/public/_nuxt/{C6OSRpRd.js → CjJPkhbc.js} +1 -1
- package/.output/public/_nuxt/CkZT4LGq.js +1 -0
- package/.output/public/_nuxt/CkrW8sGL.js +1 -0
- package/.output/public/_nuxt/Co0UxVsx.js +1 -0
- package/.output/public/_nuxt/CqS0zXYQ.js +1 -0
- package/.output/public/_nuxt/CskGv_Km.js +1 -0
- package/.output/public/_nuxt/{DuzpliIL.js → CuvkTsqs.js} +1 -1
- package/.output/public/_nuxt/{B2wI_pYg.js → CxMuZEwX.js} +1 -1
- package/.output/public/_nuxt/{9O1MXkck.js → CxSijT71.js} +8 -8
- package/.output/public/_nuxt/Cywo6tZI.js +1 -0
- package/.output/public/_nuxt/D1reIfpX.js +1 -0
- package/.output/public/_nuxt/D1uV2uir.js +1 -0
- package/.output/public/_nuxt/{BWuL2CzO.js → D2edadpd.js} +1 -1
- package/.output/public/_nuxt/D3cEeQh7.js +1 -0
- package/.output/public/_nuxt/D41A2mE2.js +1 -0
- package/.output/public/_nuxt/D49P2RhG.js +1 -0
- package/.output/public/_nuxt/D867g6Ds.js +1 -0
- package/.output/public/_nuxt/DEFWIjWl.js +1 -0
- package/.output/public/_nuxt/DFTEBTzZ.js +1 -0
- package/.output/public/_nuxt/{-HePz7lp.js → DHRexj9X.js} +2 -2
- package/.output/public/_nuxt/DL4EpgqQ.js +1 -0
- package/.output/public/_nuxt/DLHnP6tw.js +1 -0
- package/.output/public/_nuxt/DM20WaLq.js +1 -0
- package/.output/public/_nuxt/{B8DFEjxA.js → DNAMjHbb.js} +1 -1
- package/.output/public/_nuxt/{CLkkdThv.js → DP8t9VWs.js} +24 -24
- package/.output/public/_nuxt/DTR31rjp.js +1 -0
- package/.output/public/_nuxt/{Bc8bTnkd.js → DTlSLSo1.js} +3 -3
- package/.output/public/_nuxt/{DowkFZ2V.js → DVdnhfXT.js} +1 -1
- package/.output/public/_nuxt/{DvHS7_h2.js → DZikIgHK.js} +1 -1
- package/.output/public/_nuxt/D_YGqvw_.js +1 -0
- package/.output/public/_nuxt/D_k1YwXm.js +1 -0
- package/.output/public/_nuxt/Daf2MbWG.js +7 -0
- package/.output/public/_nuxt/DcJ0GstJ.js +1 -0
- package/.output/public/_nuxt/DcYKh6QA.js +1 -0
- package/.output/public/_nuxt/DhN3_DYH.js +1 -0
- package/.output/public/_nuxt/DhSvBSt3.js +1 -0
- package/.output/public/_nuxt/DhlIWT8K.js +1 -0
- package/.output/public/_nuxt/DjsqyRqt.js +1 -0
- package/.output/public/_nuxt/DpSM97eH.js +1 -0
- package/.output/public/_nuxt/DqR9SdeU.js +1 -0
- package/.output/public/_nuxt/DqmQtg6Y.js +1 -0
- package/.output/public/_nuxt/Dsuag_iW.js +1 -0
- package/.output/public/_nuxt/Dtr_0IbE.js +1 -0
- package/.output/public/_nuxt/DwrmFEZN.js +1 -0
- package/.output/public/_nuxt/DxE8r3r4.js +1 -0
- package/.output/public/_nuxt/G_CsVlOR.js +1 -0
- package/.output/public/_nuxt/Gyw_2f6x.js +1 -0
- package/.output/public/_nuxt/HStC1ZyE.js +1 -0
- package/.output/public/_nuxt/Hh9mv0Ek.js +1 -0
- package/.output/public/_nuxt/LR0kCjbe.js +1 -0
- package/.output/public/_nuxt/MYeLvJGV.js +1 -0
- package/.output/public/_nuxt/NKs0EGrh.js +1 -0
- package/.output/public/_nuxt/PY5EGujn.js +1 -0
- package/.output/public/_nuxt/PamJNol9.js +1 -0
- package/.output/public/_nuxt/RlvwEbHv.js +1 -0
- package/.output/public/_nuxt/{BghuwIGa.js → TNpdJOlc.js} +1 -1
- package/.output/public/_nuxt/TSYrPbLR.js +1 -0
- package/.output/public/_nuxt/U-eBrbR4.js +1 -0
- package/.output/public/_nuxt/UuqXScSw.js +1 -0
- package/.output/public/_nuxt/V04-MrLN.js +1 -0
- package/.output/public/_nuxt/X0o5GcBb.js +1 -0
- package/.output/public/_nuxt/XQNzmQy9.js +1 -0
- package/.output/public/_nuxt/Y59XKprr.js +1 -0
- package/.output/public/_nuxt/YZQjZgsH.js +1 -0
- package/.output/public/_nuxt/_-TGPiLQ.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/d7188f50-b42c-4d2c-afab-066d318f0af8.json +1 -0
- package/.output/public/_nuxt/dashboard.ByJQ-Wzh.css +1 -0
- package/.output/public/_nuxt/entry.ZJxWCrU6.css +1 -0
- package/.output/public/_nuxt/{D12qPplu.js → hCeWb_38.js} +1 -1
- package/.output/public/_nuxt/{sBzyvWMJ.js → hrPTRWjM.js} +1 -1
- package/.output/public/_nuxt/jC4pIK1p.js +1 -0
- package/.output/public/_nuxt/jTT1R-Vz.js +1 -0
- package/.output/public/_nuxt/{CRRw0Thu.js → kkAMoB43.js} +1 -1
- package/.output/public/_nuxt/{h_bXa-f2.js → mzM4BGtv.js} +1 -1
- package/.output/public/_nuxt/o-s8JBm2.js +1 -0
- package/.output/public/_nuxt/pwJTkIQ4.js +1 -0
- package/.output/public/_nuxt/{BL1mkqgd.js → rIgg2Arf.js} +3 -3
- package/.output/public/_nuxt/subdxgSQ.js +1 -0
- package/.output/public/_nuxt/t8B72leH.js +1 -0
- package/.output/public/_nuxt/vCFAHwdt.js +1 -0
- package/.output/public/_nuxt/z-MP0bB7.js +1 -0
- package/.output/server/chunks/build/CodeIcon-CWD5HcV7.mjs +1 -1
- package/.output/server/chunks/build/DropdownMenu-BBrV9nXz.mjs +1 -1
- package/.output/server/chunks/build/{EditorToolbar-DIfb5arC.mjs → EditorToolbar-B9OwSI5e.mjs} +3 -3
- package/.output/server/chunks/build/{EditorToolbar-DIfb5arC.mjs.map → EditorToolbar-B9OwSI5e.mjs.map} +1 -1
- package/.output/server/chunks/build/Img-CWLmvN1t.mjs +1 -1
- package/.output/server/chunks/build/MDC-Dx0YPDhe.mjs +1 -1
- package/.output/server/chunks/build/Select-BB1oLrCD.mjs +1 -1
- package/.output/server/chunks/build/SelectMenu-DPssg6zD.mjs +1 -1
- package/.output/server/chunks/build/Table-DCwTlhCj.mjs +1 -1
- package/.output/server/chunks/build/Tooltip-TRyl6dje.mjs +1 -1
- package/.output/server/chunks/build/Tree-DUhXKd8y.mjs +1 -1
- package/.output/server/chunks/build/{_id_-DN00UDdO.mjs → _id_-CwBeklIM.mjs} +296 -430
- package/.output/server/chunks/build/_id_-CwBeklIM.mjs.map +1 -0
- package/.output/server/chunks/build/{_name_-BnS_KEfX.mjs → _name_-D7MtW4Vu.mjs} +2 -2
- package/.output/server/chunks/build/{_name_-BnS_KEfX.mjs.map → _name_-D7MtW4Vu.mjs.map} +1 -1
- package/.output/server/chunks/build/{_uuid_-DfJaumTE.mjs → _uuid_-lvG92ein.mjs} +4 -4
- package/.output/server/chunks/build/{_uuid_-DfJaumTE.mjs.map → _uuid_-lvG92ein.mjs.map} +1 -1
- package/.output/server/chunks/build/account-LDZ4TL6x.mjs +513 -0
- package/.output/server/chunks/build/account-LDZ4TL6x.mjs.map +1 -0
- package/.output/server/chunks/build/app-CGhRZPNT.mjs +252 -0
- package/.output/server/chunks/build/app-CGhRZPNT.mjs.map +1 -0
- package/.output/server/chunks/build/{chat-m4-n9vC6.mjs → chat-BphuYhvA.mjs} +18 -27
- package/.output/server/chunks/build/chat-BphuYhvA.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/cookie-C_iulBi6.mjs +1 -1
- package/.output/server/chunks/build/{dashboard-CiVTAZuF.mjs → dashboard-nDujDyOg.mjs} +55 -16
- package/.output/server/chunks/build/{dashboard-CiVTAZuF.mjs.map → dashboard-nDujDyOg.mjs.map} +1 -1
- package/.output/server/chunks/build/{docs-ChGwOPg5.mjs → docs-Bwucwp0r.mjs} +664 -592
- package/.output/server/chunks/build/docs-Bwucwp0r.mjs.map +1 -0
- package/.output/server/chunks/build/fetch-BB7Qzkwe.mjs +1 -1
- package/.output/server/chunks/build/{hooks-D328DcO6.mjs → hooks-D6PmTth8.mjs} +19 -29
- package/.output/server/chunks/build/hooks-D6PmTth8.mjs.map +1 -0
- package/.output/server/chunks/build/{index-CAnGTRlu.mjs → index-CJkn2jiM.mjs} +2 -2
- package/.output/server/chunks/build/{index-CAnGTRlu.mjs.map → index-CJkn2jiM.mjs.map} +1 -1
- package/.output/server/chunks/build/index-CxDxc9fm.mjs +1 -1
- package/.output/server/chunks/build/index-Cz9Y6NwN.mjs +723 -0
- package/.output/server/chunks/build/index-Cz9Y6NwN.mjs.map +1 -0
- package/.output/server/chunks/build/index-hwhuKhuZ.mjs +76 -0
- package/.output/server/chunks/build/index-hwhuKhuZ.mjs.map +1 -0
- package/.output/server/chunks/build/integrations-D5JWURiJ.mjs +1499 -0
- package/.output/server/chunks/build/integrations-D5JWURiJ.mjs.map +1 -0
- package/.output/server/chunks/build/{library-Aeg7_Lsb.mjs → library-DxRdgP6X.mjs} +2 -2
- package/.output/server/chunks/build/{library-Aeg7_Lsb.mjs.map → library-DxRdgP6X.mjs.map} +1 -1
- package/.output/server/chunks/build/{login-DnnElTl2.mjs → login-BmER_VoU.mjs} +2 -2
- package/.output/server/chunks/build/{login-DnnElTl2.mjs.map → login-BmER_VoU.mjs.map} +1 -1
- package/.output/server/chunks/build/manage-secrets-BWzqc_-f.mjs +669 -0
- package/.output/server/chunks/build/manage-secrets-BWzqc_-f.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +65 -34
- package/.output/server/chunks/build/server.mjs.map +1 -1
- package/.output/server/chunks/build/settings-neokAVE5.mjs +154 -0
- package/.output/server/chunks/build/settings-neokAVE5.mjs.map +1 -0
- package/.output/server/chunks/build/styles.mjs +2 -2
- package/.output/server/chunks/build/{tasks-DnAFqbtt.mjs → tasks-CnpIQNpS.mjs} +27 -37
- package/.output/server/chunks/build/tasks-CnpIQNpS.mjs.map +1 -0
- package/.output/server/chunks/build/{useAgents-DHEXiFSc.mjs → useAgents-nmbkB9-_.mjs} +5 -26
- package/.output/server/chunks/build/useAgents-nmbkB9-_.mjs.map +1 -0
- package/.output/server/chunks/build/{view-n2sYa4Zh.mjs → view-mb0ISqfM.mjs} +3 -3
- package/.output/server/chunks/build/{view-n2sYa4Zh.mjs.map → view-mb0ISqfM.mjs.map} +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +1000 -858
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +17 -2
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +21 -3
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +10 -9
- package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get9.mjs +10 -8
- package/.output/server/chunks/routes/api/index.get9.mjs.map +1 -1
- package/.output/server/chunks/routes/api/memory/search.get.mjs +10 -5
- package/.output/server/chunks/routes/api/memory/search.get.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/app/components/AssistantPanel.client.vue +16 -314
- package/app/components/agents/AgentCard.vue +111 -0
- package/app/components/agents/AgentInfoCard.vue +54 -0
- package/app/components/agents/AgentRunHistory.vue +103 -0
- package/app/components/agents/AgentRunModal.vue +1 -24
- package/app/components/agents/AgentStatsCards.vue +1 -26
- package/app/components/assistant/AssistantChat.vue +156 -0
- package/app/components/assistant/AssistantTerminal.client.vue +178 -0
- package/app/components/chat/ConversationList.vue +2 -12
- package/app/components/files/FileTree.vue +23 -202
- package/app/components/files/FileTreeModals.vue +226 -0
- package/app/components/hooks/HookStatsCards.vue +1 -6
- package/app/components/hooks/ToolBreakdownTable.vue +1 -6
- package/app/components/search/DashboardSearch.vue +38 -1
- package/app/components/tasks/TaskCard.vue +2 -7
- package/app/components/tasks/TaskDetail.vue +4 -9
- package/app/composables/useSearch.ts +21 -11
- package/app/layouts/dashboard.vue +1 -1
- package/app/pages/agents/[id].vue +6 -197
- package/app/pages/agents/index.vue +9 -142
- package/app/pages/settings/account.vue +243 -0
- package/app/pages/settings/app.vue +230 -0
- package/app/pages/settings/index.vue +12 -0
- package/app/pages/settings/integrations.vue +794 -0
- package/app/pages/settings/manage-secrets.vue +295 -0
- package/app/pages/settings.vue +20 -1581
- package/dist/cli/index.js +26 -2
- package/package.json +1 -1
- package/server/api/agents/index.get.ts +20 -1
- package/server/api/conversations/index.get.ts +23 -5
- package/server/api/documents/index.get.ts +11 -9
- package/server/api/memory/search.get.ts +11 -6
- package/server/api/tasks/index.get.ts +11 -9
- package/server/drizzle/migrations/0016_full_text_search.sql +127 -0
- package/server/drizzle/migrations/meta/_journal.json +7 -0
- package/shared/types/index.ts +7 -1
- package/shared/utils/formatting.ts +105 -0
- package/.output/public/_nuxt/4ALIM-zZ.js +0 -1
- package/.output/public/_nuxt/5sUbkh_6.js +0 -16
- package/.output/public/_nuxt/6bB8Ev7a.js +0 -1
- package/.output/public/_nuxt/7rT1DCe2.js +0 -1
- package/.output/public/_nuxt/B2PqR2Vu.js +0 -1
- package/.output/public/_nuxt/B5FuOh7E.js +0 -1
- package/.output/public/_nuxt/B6om4MW2.js +0 -1
- package/.output/public/_nuxt/B7ikW4eF.js +0 -1
- package/.output/public/_nuxt/B9kWNcU7.js +0 -1
- package/.output/public/_nuxt/BAZ8sewA.js +0 -1
- package/.output/public/_nuxt/BCPwL4ma.js +0 -1
- package/.output/public/_nuxt/BCrlmHh_.js +0 -1
- package/.output/public/_nuxt/BD-AFJWW.js +0 -1
- package/.output/public/_nuxt/BGcQMReV.js +0 -1
- package/.output/public/_nuxt/BNJJSRKh.js +0 -1
- package/.output/public/_nuxt/BNeeERBt.js +0 -1
- package/.output/public/_nuxt/BSJb5amZ.js +0 -1
- package/.output/public/_nuxt/BSsaE9Db.js +0 -1
- package/.output/public/_nuxt/BVO3XpHT.js +0 -1
- package/.output/public/_nuxt/B_Lr1vlV.js +0 -1
- package/.output/public/_nuxt/Bl0qBhCG.js +0 -1
- package/.output/public/_nuxt/Bl43dkDq.js +0 -1
- package/.output/public/_nuxt/BnMTFF5R.js +0 -1
- package/.output/public/_nuxt/BtV7oNn3.js +0 -1
- package/.output/public/_nuxt/BvFYnRMR.js +0 -1
- package/.output/public/_nuxt/BvTUBUNN.js +0 -1
- package/.output/public/_nuxt/ByLsRRoQ.js +0 -1
- package/.output/public/_nuxt/C1LcEMwB.js +0 -1
- package/.output/public/_nuxt/C2IiXp9N.js +0 -2
- package/.output/public/_nuxt/C796kFT9.js +0 -1
- package/.output/public/_nuxt/C8AtdrMH.js +0 -1
- package/.output/public/_nuxt/CAWbHTgy.js +0 -1
- package/.output/public/_nuxt/CJPrV25_.js +0 -1
- package/.output/public/_nuxt/CKKEWapF.js +0 -1
- package/.output/public/_nuxt/CNjv28J2.js +0 -1
- package/.output/public/_nuxt/CT8s4rqa.js +0 -1
- package/.output/public/_nuxt/CZSOrxUy.js +0 -1
- package/.output/public/_nuxt/CaNEL9JC.js +0 -39
- package/.output/public/_nuxt/CbTLg9oX.js +0 -1
- package/.output/public/_nuxt/CfCXpVn5.js +0 -1
- package/.output/public/_nuxt/ChmNlvWR.js +0 -1
- package/.output/public/_nuxt/Ck0QYdxe.js +0 -1
- package/.output/public/_nuxt/Ckb0pu4-.js +0 -1
- package/.output/public/_nuxt/CkwPRs1D.js +0 -1
- package/.output/public/_nuxt/CmEJg8C6.js +0 -2
- package/.output/public/_nuxt/CmL_vMJD.js +0 -1
- package/.output/public/_nuxt/Cq8zPxkT.js +0 -1
- package/.output/public/_nuxt/CxRnB4NC.js +0 -1
- package/.output/public/_nuxt/D0zMyG8n.js +0 -1
- package/.output/public/_nuxt/D1XYB283.js +0 -1
- package/.output/public/_nuxt/D2NxqyzW.js +0 -1
- package/.output/public/_nuxt/D5xyrvFu.js +0 -1
- package/.output/public/_nuxt/D8iBB0Py.js +0 -1
- package/.output/public/_nuxt/D8oIH8m1.js +0 -1
- package/.output/public/_nuxt/DB2zZev7.js +0 -1
- package/.output/public/_nuxt/DBrOAqkm.js +0 -1
- package/.output/public/_nuxt/DDXDFweK.js +0 -1
- package/.output/public/_nuxt/DFZkCmLQ.js +0 -1
- package/.output/public/_nuxt/DKZmgHNU.js +0 -1
- package/.output/public/_nuxt/DR8tGJhL.js +0 -1
- package/.output/public/_nuxt/DVAEVTjy.js +0 -1
- package/.output/public/_nuxt/DVqrPkCJ.js +0 -1
- package/.output/public/_nuxt/DWZ9ieYa.js +0 -1
- package/.output/public/_nuxt/DWj6VsZv.js +0 -1
- package/.output/public/_nuxt/DXJ9PxCv.js +0 -1
- package/.output/public/_nuxt/D_ziPROx.js +0 -1
- package/.output/public/_nuxt/Da2vwoYG.js +0 -1
- package/.output/public/_nuxt/Ddz3HcBB.js +0 -1
- package/.output/public/_nuxt/DgYei0bK.js +0 -1
- package/.output/public/_nuxt/Di_3GV_R.js +0 -1
- package/.output/public/_nuxt/Djog1f_e.js +0 -1
- package/.output/public/_nuxt/Dkap2-Pj.js +0 -7
- package/.output/public/_nuxt/DlJe_sHk.js +0 -1
- package/.output/public/_nuxt/DlPOQpH_.js +0 -1
- package/.output/public/_nuxt/DmYWMtVA.js +0 -1
- package/.output/public/_nuxt/DmxKU7sH.js +0 -1
- package/.output/public/_nuxt/DsodHRrQ.js +0 -1
- package/.output/public/_nuxt/DwSY6_2U.js +0 -1
- package/.output/public/_nuxt/DypJaSm-.js +0 -1
- package/.output/public/_nuxt/DzKaXH6P.js +0 -1
- package/.output/public/_nuxt/FK-jSuOT.js +0 -1
- package/.output/public/_nuxt/Fc2JsQt4.js +0 -1
- package/.output/public/_nuxt/IYCBGuRS.js +0 -1
- package/.output/public/_nuxt/NrRzUJNY.js +0 -1
- package/.output/public/_nuxt/OeVS0Rsb.js +0 -1
- package/.output/public/_nuxt/OlF0QnKF.js +0 -1
- package/.output/public/_nuxt/QuAoqY7t.js +0 -1
- package/.output/public/_nuxt/RlXHkmOd.js +0 -9
- package/.output/public/_nuxt/WZnvL9Dh.js +0 -1
- package/.output/public/_nuxt/ZvG7a1W3.js +0 -1
- package/.output/public/_nuxt/aPNZBVrG.js +0 -1
- package/.output/public/_nuxt/builds/meta/495aca73-bfa5-456e-b96a-f02e009c72d3.json +0 -1
- package/.output/public/_nuxt/dashboard.BxCOkJwt.css +0 -1
- package/.output/public/_nuxt/entry.C_udkZt9.css +0 -1
- package/.output/public/_nuxt/evY81hM3.js +0 -1
- package/.output/public/_nuxt/i6QBzaEi.js +0 -1
- package/.output/public/_nuxt/iTVKJ1kw.js +0 -1
- package/.output/public/_nuxt/j92uR3uR.js +0 -1
- package/.output/public/_nuxt/jdUkeAj_.js +0 -1
- package/.output/public/_nuxt/jeRvcMHU.js +0 -1
- package/.output/public/_nuxt/kuv0zpKq.js +0 -1
- package/.output/public/_nuxt/l3lKQs7b.js +0 -1
- package/.output/public/_nuxt/qIgZ7OXa.js +0 -1
- package/.output/public/_nuxt/qcVwZv8e.js +0 -1
- package/.output/public/_nuxt/ru8fqqWs.js +0 -1
- package/.output/public/_nuxt/sgmhgpCS.js +0 -1
- package/.output/public/_nuxt/y2jv0da-.js +0 -1
- package/.output/public/_nuxt/yyS4-kAX.js +0 -1
- package/.output/public/_nuxt/zIoBLBHF.js +0 -1
- package/.output/public/_nuxt/zpazwPgx.js +0 -1
- package/.output/server/chunks/build/_id_-DN00UDdO.mjs.map +0 -1
- package/.output/server/chunks/build/chat-m4-n9vC6.mjs.map +0 -1
- package/.output/server/chunks/build/docs-ChGwOPg5.mjs.map +0 -1
- package/.output/server/chunks/build/hooks-D328DcO6.mjs.map +0 -1
- package/.output/server/chunks/build/index-C9PuieXh.mjs +0 -820
- package/.output/server/chunks/build/index-C9PuieXh.mjs.map +0 -1
- package/.output/server/chunks/build/settings-B2KXoGcz.mjs +0 -3232
- package/.output/server/chunks/build/settings-B2KXoGcz.mjs.map +0 -1
- package/.output/server/chunks/build/tasks-DnAFqbtt.mjs.map +0 -1
- package/.output/server/chunks/build/useAgents-DHEXiFSc.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as O,a_ as re,S as L,T as y,U as x,a4 as G,aa as U,X as ie,C as u,a3 as ue,aR as ut,aP as He,aQ as dt,c as F,aE as ct,aF as ft,ae as S,ah as gt,e as H,G as z,y as mt,f as ee,a2 as Ve,K as Le,D as ze,aI as pt,q as Ie,k as vt,a9 as Q,aj as J,ak as ce,ab as v,V as w,_ as Ke,aN as ht,b8 as Re,Y as le,aV as yt,W as oe,ao as bt,N as _t,P as xt,ay as kt,az as $t,am as De,ai as we,aW as Ct}from"./D6tVZcRs.js";import{x as At,y as wt,B as Me,s as Se,E as Pt,k as Ye,F as Rt,c as _e,i as St,G as Tt,H as Lt,g as Oe,e as zt,p as Mt,I as Nt,r as Xe,q as Qe,J as Ut,K as Ft,t as It,_ as Je,S as qt,C as Dt,A as Ot,z as Et,f as $e}from"./9O1MXkck.js";import{_ as Bt,a as jt}from"./CfCXpVn5.js";import{_ as Ze}from"./OlF0QnKF.js";import{c as et}from"./DQhm-UPG.js";import{_ as Te}from"./DXJ9PxCv.js";import{e as Gt}from"./D12qPplu.js";import{p as Ee,c as de,s as Z,a as j,h as Be,b as Wt,e as W,t as Pe,d as be,m as Ne,f as je,g as D,i as Ge,j as Ht,k as Vt,P as Kt,S as Yt}from"./pdYvpiud.js";import{_ as Xt}from"./DlAUqK2U.js";import{_ as tt}from"./BnMTFF5R.js";import{_ as Qt}from"./BAZ8sewA.js";import{_ as Jt}from"./ByLsRRoQ.js";import{_ as Zt}from"./-HePz7lp.js";import{f as ea}from"./CWePHsZr.js";import{u as ta}from"./B-DMcEU9.js";import"./C8ut0f5H.js";import"./CqkleIqs.js";import"./ZvG7a1W3.js";import"./C7m9zGMG.js";import"./IYCBGuRS.js";import"./B6om4MW2.js";import"./BvFYnRMR.js";import"./CAWbHTgy.js";import"./B2wI_pYg.js";import"./sBzyvWMJ.js";import"./DvHS7_h2.js";import"./DWZ9ieYa.js";import"./88opOQSr.js";import"./B0nzD8Sk.js";var aa=O({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;return re(),(e,o)=>(y(),L(u(ue),ie(n,{"data-type":"ellipsis"}),{default:x(()=>[G(e.$slots,"default",{},()=>[o[0]||(o[0]=U("…"))])]),_:3},16))}}),na=aa;const[xe,sa]=ut("PaginationRoot");var oa=O({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(t,{emit:n}){const e=t,o=n,{siblingCount:l,disabled:r,showEdges:s}=He(e);re();const a=dt(e,"page",o,{defaultValue:e.defaultPage,passive:e.page===void 0}),g=F(()=>Math.max(1,Math.ceil(e.total/(e.itemsPerPage||1))));return sa({page:a,onPageChange(i){a.value=i},pageCount:g,siblingCount:l,disabled:r,showEdges:s}),(i,b)=>(y(),L(u(ue),{as:i.as,"as-child":i.asChild},{default:x(()=>[G(i.$slots,"default",{page:u(a),pageCount:g.value})]),_:3},8,["as","as-child"]))}}),la=oa,ia=O({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,e=xe();re();const o=F(()=>e.page.value===1||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"First Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("First page"))])]),_:3},16,["type","disabled"]))}}),ra=ia,ua=O({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,e=xe();re();const o=F(()=>e.page.value===e.pageCount.value||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Last Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).pageCount.value))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Last page"))])]),_:3},16,["type","disabled"]))}}),da=ua;function se(t,n){const e=n-t+1;return Array.from({length:e},(o,l)=>l+t)}function ca(t){return t.map(n=>typeof n=="number"?{type:"page",value:n}:{type:"ellipsis"})}const Ce="ellipsis";function fa(t,n,e,o){const r=n,s=Math.max(t-e,1),a=Math.min(t+e,r);if(o){const i=Math.min(2*e+5,n)-2,b=s>3&&Math.abs(r-i-1+1)>2&&Math.abs(s-1)>2,m=a<r-2&&Math.abs(r-i)>2&&Math.abs(r-a)>2;if(!b&&m)return[...se(1,i),Ce,r];if(b&&!m){const f=se(r-i+1,r);return[1,Ce,...f]}if(b&&m){const f=se(s,a);return[1,Ce,...f,Ce,r]}return se(1,r)}else{const g=e*2+1;return n<g?se(1,r):t<=e+1?se(1,g):n-t<=e?se(n-g+1,r):se(s,a)}}var ga=O({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;re();const e=xe(),o=F(()=>ca(fa(e.page.value,e.pageCount.value,e.siblingCount.value,e.showEdges.value)));return(l,r)=>(y(),L(u(ue),ct(ft(n)),{default:x(()=>[G(l.$slots,"default",{items:o.value})]),_:3},16))}}),ma=ga,pa=O({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===n.value),l=F(()=>e.disabled.value);return(r,s)=>(y(),L(u(ue),ie(n,{"data-type":"page","aria-label":`Page ${r.value}`,"aria-current":o.value?"page":void 0,"data-selected":o.value?"true":void 0,disabled:l.value,type:r.as==="button"?"button":void 0,onClick:s[0]||(s[0]=a=>!l.value&&u(e).onPageChange(r.value))}),{default:x(()=>[G(r.$slots,"default",{},()=>[U(S(r.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),va=pa,ha=O({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===e.pageCount.value||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Next Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).page.value+1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Next page"))])]),_:3},16,["type","disabled"]))}}),ya=ha,ba=O({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===1||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Previous Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).page.value-1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Prev page"))])]),_:3},16,["type","disabled"]))}}),_a=ba;const xa=Object.assign(Object.assign({},At),{tooltip:void 0,annotations:void 0});class ka extends wt{constructor(n,e,o){var l;super(n),this._defaultConfig=xa,this.config=this._defaultConfig,e&&(this.updateContainer(e,!0),this.component=e.component),o&&this.setData(o,!0),!((l=this.component)===null||l===void 0)&&l.datamodel.data&&this.render()}setData(n,e){var o;const{config:l}=this;this.component&&this.component.setData(n),e||this.render(),(o=l.tooltip)===null||o===void 0||o.hide()}updateContainer(n,e){super.updateContainer(n),this._removeAllChildren(),this.component=n.component,n.sizing&&(this.component.sizing=n.sizing),this.element.appendChild(this.component.element);const o=n.tooltip;o&&(o.hasContainer()||o.setContainer(this._container),o.setComponents([this.component]));const l=n.annotations;l&&this.element.appendChild(l.element),this.element.appendChild(this._svgDefs.node()),this.element.appendChild(this._svgDefsExternal.node()),e||this.render()}updateComponent(n,e){this.component.setConfig(n),e||this.render()}update(n,e,o){n&&this.updateContainer(n,!0),e&&this.updateComponent(e,!0),o&&this.setData(o,!0),this.render()}getFitWidthScale(){const{config:n,component:e}=this,o=e;if(!o.getWidth)return 1;const l=o.getWidth()+n.margin.left+n.margin.right;return this.width/l}_preRender(){var n,e;super._preRender(),this.component.setSize(this.width,this.height,this.containerWidth,this.containerHeight),this.component.setContainerMargin(this.config.margin),(n=this.config.annotations)===null||n===void 0||n.setSize(this.width,this.height,this.containerWidth,this.containerHeight),(e=this.config.annotations)===null||e===void 0||e.setContainerMargin(this.config.margin)}_render(n){var e;const{config:o,component:l}=this;super._render(n),l.g.attr("transform",`translate(${o.margin.left},${o.margin.top})`),l.render(n),(e=o.annotations)===null||e===void 0||e.render(n),o.tooltip&&o.tooltip.update()}render(n=this.config.duration){const{config:e,component:o}=this;if(e.sizing===Me.Extend||e.sizing===Me.FitWidth){const l=e.sizing===Me.FitWidth,r=o,s=r.getWidth()+e.margin.left+e.margin.right,a=r.getHeight()+e.margin.top+e.margin.bottom,g=l?this.getFitWidthScale():1,i=this.svg.attr("width"),b=this.svg.attr("height"),m=s*g,c=a*g,f=i||b;Se(this.svg,f?n:0).attr("width",m).attr("height",c).attr("viewBox",`0 0 ${s} ${l?c:a}`).attr("preserveAspectRatio","xMinYMin")}else this.svg.attr("width",this.config.width||this.containerWidth).attr("height",this.config.height||this.containerHeight);this._resizeObserver||this._setUpResizeObserver(),cancelAnimationFrame(this._renderAnimationFrameId),this._renderAnimationFrameId=requestAnimationFrame(()=>{this._preRender(),this._render(n)})}_onResize(){var n;const{config:e}=this;super._onResize(),(n=e.tooltip)===null||n===void 0||n.hide()}destroy(){var n,e;const{component:o,config:l}=this;super.destroy(),o?.destroy(),(n=l.tooltip)===null||n===void 0||n.destroy(),(e=l.annotations)===null||e===void 0||e.destroy()}}function $a(t){return t.innerRadius}function Ca(t){return t.outerRadius}function Aa(t){return t.startAngle}function wa(t){return t.endAngle}function Pa(t){return t&&t.padAngle}function Ra(t,n,e,o,l,r,s,a){var g=e-t,i=o-n,b=s-l,m=a-r,c=m*g-b*i;if(!(c*c<W))return c=(b*(n-r)-m*(t-l))/c,[t+c*g,n+c*i]}function Ae(t,n,e,o,l,r,s){var a=t-e,g=n-o,i=(s?r:-r)/be(a*a+g*g),b=i*g,m=-i*a,c=t+b,f=n+m,h=e+b,$=o+m,d=(c+h)/2,T=(f+$)/2,P=h-c,_=$-f,C=P*P+_*_,N=l-r,M=c*$-h*f,R=(_<0?-1:1)*be(Ht(0,N*N*C-M*M)),q=(M*_-P*R)/C,I=(-M*P-_*R)/C,E=(M*_+P*R)/C,B=(-M*P+_*R)/C,p=q-d,A=I-T,K=E-d,Y=B-T;return p*p+A*A>K*K+Y*Y&&(q=E,I=B),{cx:q,cy:I,x01:-b,y01:-m,x11:q*(l/N-1),y11:I*(l/N-1)}}function Sa(){var t=$a,n=Ca,e=j(0),o=null,l=Aa,r=wa,s=Pa,a=null;function g(){var i,b,m=+t.apply(this,arguments),c=+n.apply(this,arguments),f=l.apply(this,arguments)-Be,h=r.apply(this,arguments)-Be,$=je(h-f),d=h>f;if(a||(a=i=Wt()),c<m&&(b=c,c=m,m=b),!(c>W))a.moveTo(0,0);else if($>Pe-W)a.moveTo(c*de(f),c*Z(f)),a.arc(0,0,c,f,h,!d),m>W&&(a.moveTo(m*de(h),m*Z(h)),a.arc(0,0,m,h,f,d));else{var T=f,P=h,_=f,C=h,N=$,M=$,R=s.apply(this,arguments)/2,q=R>W&&(o?+o.apply(this,arguments):be(m*m+c*c)),I=Ne(je(c-m)/2,+e.apply(this,arguments)),E=I,B=I,p,A;if(q>W){var K=Ge(q/m*Z(R)),Y=Ge(q/c*Z(R));(N-=K*2)>W?(K*=d?1:-1,_+=K,C-=K):(N=0,_=C=(f+h)/2),(M-=Y*2)>W?(Y*=d?1:-1,T+=Y,P-=Y):(M=0,T=P=(f+h)/2)}var te=c*de(T),ae=c*Z(T),ke=m*de(C),fe=m*Z(C);if(I>W){var ne=c*de(P),ge=c*Z(P),me=m*de(_),pe=m*Z(_),X;if($<Ee&&(X=Ra(te,ae,me,pe,ne,ge,ke,fe))){var ve=te-X[0],he=ae-X[1],k=ne-X[0],V=ge-X[1],ye=1/Z(Vt((ve*k+he*V)/(be(ve*ve+he*he)*be(k*k+V*V)))/2),qe=be(X[0]*X[0]+X[1]*X[1]);E=Ne(I,(m-qe)/(ye-1)),B=Ne(I,(c-qe)/(ye+1))}}M>W?B>W?(p=Ae(me,pe,te,ae,c,B,d),A=Ae(ne,ge,ke,fe,c,B,d),a.moveTo(p.cx+p.x01,p.cy+p.y01),B<I?a.arc(p.cx,p.cy,B,D(p.y01,p.x01),D(A.y01,A.x01),!d):(a.arc(p.cx,p.cy,B,D(p.y01,p.x01),D(p.y11,p.x11),!d),a.arc(0,0,c,D(p.cy+p.y11,p.cx+p.x11),D(A.cy+A.y11,A.cx+A.x11),!d),a.arc(A.cx,A.cy,B,D(A.y11,A.x11),D(A.y01,A.x01),!d))):(a.moveTo(te,ae),a.arc(0,0,c,T,P,!d)):a.moveTo(te,ae),!(m>W)||!(N>W)?a.lineTo(ke,fe):E>W?(p=Ae(ke,fe,ne,ge,m,-E,d),A=Ae(te,ae,me,pe,m,-E,d),a.lineTo(p.cx+p.x01,p.cy+p.y01),E<I?a.arc(p.cx,p.cy,E,D(p.y01,p.x01),D(A.y01,A.x01),!d):(a.arc(p.cx,p.cy,E,D(p.y01,p.x01),D(p.y11,p.x11),!d),a.arc(0,0,m,D(p.cy+p.y11,p.cx+p.x11),D(A.cy+A.y11,A.cx+A.x11),d),a.arc(A.cx,A.cy,E,D(A.y11,A.x11),D(A.y01,A.x01),!d))):a.arc(0,0,m,C,_,d)}if(a.closePath(),i)return a=null,i+""||null}return g.centroid=function(){var i=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,b=(+l.apply(this,arguments)+ +r.apply(this,arguments))/2-Ee/2;return[de(b)*i,Z(b)*i]},g.innerRadius=function(i){return arguments.length?(t=typeof i=="function"?i:j(+i),g):t},g.outerRadius=function(i){return arguments.length?(n=typeof i=="function"?i:j(+i),g):n},g.cornerRadius=function(i){return arguments.length?(e=typeof i=="function"?i:j(+i),g):e},g.padRadius=function(i){return arguments.length?(o=i==null?null:typeof i=="function"?i:j(+i),g):o},g.startAngle=function(i){return arguments.length?(l=typeof i=="function"?i:j(+i),g):l},g.endAngle=function(i){return arguments.length?(r=typeof i=="function"?i:j(+i),g):r},g.padAngle=function(i){return arguments.length?(s=typeof i=="function"?i:j(+i),g):s},g.context=function(i){return arguments.length?(a=i??null,g):a},g}function Ta(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function La(t){return t}function za(){var t=La,n=Ta,e=null,o=j(0),l=j(Pe),r=j(0);function s(a){var g,i=a.length,b,m,c=0,f=new Array(i),h=new Array(i),$=+o.apply(this,arguments),d=Math.min(Pe,Math.max(-Pe,l.apply(this,arguments)-$)),T,P=Math.min(Math.abs(d)/i,r.apply(this,arguments)),_=P*(d<0?-1:1),C;for(g=0;g<i;++g)(C=h[f[g]=g]=+t(a[g],g,a))>0&&(c+=C);for(n!=null?f.sort(function(N,M){return n(h[N],h[M])}):e!=null&&f.sort(function(N,M){return e(a[N],a[M])}),g=0,m=c?(d-i*_)/c:0;g<i;++g,$=T)b=f[g],C=h[b],T=$+(C>0?C*m:0)+_,h[b]={data:a[b],index:g,value:C,startAngle:$,endAngle:T,padAngle:P};return h}return s.value=function(a){return arguments.length?(t=typeof a=="function"?a:j(+a),s):t},s.sortValues=function(a){return arguments.length?(n=a,e=null,s):n},s.sort=function(a){return arguments.length?(e=a,n=null,s):e},s.startAngle=function(a){return arguments.length?(o=typeof a=="function"?a:j(+a),s):o},s.endAngle=function(a){return arguments.length?(l=typeof a=="function"?a:j(+a),s):l},s.padAngle=function(a){return arguments.length?(r=typeof a=="function"?a:j(+a),s):r},s}const Ma=Object.assign(Object.assign({},Pt),{id:(t,n)=>{var e;return(e=t.id)!==null&&e!==void 0?e:n},value:void 0,angleRange:[0,2*Math.PI],padAngle:0,sortFunction:void 0,cornerRadius:0,color:void 0,radius:void 0,arcWidth:20,centralLabel:void 0,centralSubLabel:void 0,centralSubLabelWrap:!0,showEmptySegments:!1,emptySegmentAngle:.5*Math.PI/180,showBackground:!0,backgroundAngleRange:void 0,centralLabelOffsetX:void 0,centralLabelOffsetY:void 0});function Na(t,n){t.style("fill",e=>Ye(e.data,n.color,e.index)).style("opacity",0).each((e,o,l)=>{const r=l[o],s=(e.startAngle+e.endAngle)/2,a=(e.endAngle-e.startAngle)/2;r._animState={startAngle:s-a,endAngle:s+a,innerRadius:e.innerRadius,outerRadius:e.outerRadius,padAngle:e.padAngle}})}function Ua(t,n,e,o){t.style("transition",`fill ${o}ms`).style("fill",r=>Ye(r.data,n.color,r.index));const l=r=>n.showEmptySegments||r.value?1:0;o?Se(t,o).style("opacity",l).attrTween("d",(s,a,g)=>{const i=g[a],b={startAngle:s.startAngle,endAngle:s.endAngle,innerRadius:s.innerRadius,outerRadius:s.outerRadius,padAngle:s.padAngle},m=Rt(i._animState,b);return c=>(i._animState=m(c),e(i._animState))}):t.attr("d",e).style("opacity",l)}function Fa(t,n){Se(t,n).style("opacity",0).remove()}const at=Array.from({length:4},(t,n)=>{const e=-Math.PI/2+n*Math.PI/2;return[e,e+Math.PI]}),[Us,Fs,Is,qs]=at,nt=_e`
|
|
1
|
+
import{d as O,u as re,c as L,o as y,w as x,r as G,ab as U,m as ie,a as u,P as ue,aQ as ut,aR as We,aS as dt,i as F,aL as ct,aM as ft,af as S,an as gt,e as W,M as z,F as mt,h as ee,a5 as Ve,R as Le,J as ze,as as pt,C as Ie,B as vt,aa as J,al as Q,am as ce,ac as v,Z as w,_ as Ke,aO as ht,b9 as Re,a0 as le,a$ as yt,$ as oe,ax as bt,U as _t,W as xt,aG as kt,aH as $t,ap as De,ak as we,b0 as Ct}from"./BOCn_SGf.js";import{x as At,y as wt,B as Me,s as Se,E as Pt,k as Ye,F as Rt,c as _e,i as St,G as Tt,H as Lt,g as Oe,e as zt,p as Mt,I as Nt,r as Xe,q as Je,J as Ut,K as Ft,t as It,_ as Qe,S as qt,C as Dt,A as Ot,z as Et,f as $e}from"./CxSijT71.js";import{_ as Bt,a as jt}from"./CHnVFnBW.js";import{_ as Ze}from"./MYeLvJGV.js";import{a as et}from"./BXxZokD_.js";import{_ as Te}from"./BTGeP1bA.js";import{e as Gt}from"./hCeWb_38.js";import{p as Ee,c as de,s as Z,a as j,h as Be,b as Ht,e as H,t as Pe,d as be,m as Ne,f as je,g as D,i as Ge,j as Wt,k as Vt,P as Kt,S as Yt}from"./BVYYP4eQ.js";import{_ as Xt}from"./DlAUqK2U.js";import{_ as tt}from"./BhhMUror.js";import{_ as Jt}from"./D_k1YwXm.js";import{_ as Qt}from"./DqR9SdeU.js";import{_ as Zt}from"./DHRexj9X.js";import{f as ea}from"./CWePHsZr.js";import{u as ta}from"./C-78dDNd.js";import"./C8ut0f5H.js";import"./CqkleIqs.js";import"./BZm9w7en.js";import"./8WMJQbWG.js";import"./BWqJInD3.js";import"./B9o6sFST.js";import"./jTT1R-Vz.js";import"./C6Eoiclo.js";import"./CxMuZEwX.js";import"./hrPTRWjM.js";import"./DZikIgHK.js";import"./DTR31rjp.js";import"./88opOQSr.js";import"./CVVtVzXC.js";var aa=O({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;return re(),(e,o)=>(y(),L(u(ue),ie(n,{"data-type":"ellipsis"}),{default:x(()=>[G(e.$slots,"default",{},()=>[o[0]||(o[0]=U("…"))])]),_:3},16))}}),na=aa;const[xe,sa]=ut("PaginationRoot");var oa=O({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(t,{emit:n}){const e=t,o=n,{siblingCount:l,disabled:r,showEdges:s}=We(e);re();const a=dt(e,"page",o,{defaultValue:e.defaultPage,passive:e.page===void 0}),g=F(()=>Math.max(1,Math.ceil(e.total/(e.itemsPerPage||1))));return sa({page:a,onPageChange(i){a.value=i},pageCount:g,siblingCount:l,disabled:r,showEdges:s}),(i,b)=>(y(),L(u(ue),{as:i.as,"as-child":i.asChild},{default:x(()=>[G(i.$slots,"default",{page:u(a),pageCount:g.value})]),_:3},8,["as","as-child"]))}}),la=oa,ia=O({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,e=xe();re();const o=F(()=>e.page.value===1||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"First Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("First page"))])]),_:3},16,["type","disabled"]))}}),ra=ia,ua=O({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,e=xe();re();const o=F(()=>e.page.value===e.pageCount.value||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Last Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).pageCount.value))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Last page"))])]),_:3},16,["type","disabled"]))}}),da=ua;function se(t,n){const e=n-t+1;return Array.from({length:e},(o,l)=>l+t)}function ca(t){return t.map(n=>typeof n=="number"?{type:"page",value:n}:{type:"ellipsis"})}const Ce="ellipsis";function fa(t,n,e,o){const r=n,s=Math.max(t-e,1),a=Math.min(t+e,r);if(o){const i=Math.min(2*e+5,n)-2,b=s>3&&Math.abs(r-i-1+1)>2&&Math.abs(s-1)>2,m=a<r-2&&Math.abs(r-i)>2&&Math.abs(r-a)>2;if(!b&&m)return[...se(1,i),Ce,r];if(b&&!m){const f=se(r-i+1,r);return[1,Ce,...f]}if(b&&m){const f=se(s,a);return[1,Ce,...f,Ce,r]}return se(1,r)}else{const g=e*2+1;return n<g?se(1,r):t<=e+1?se(1,g):n-t<=e?se(n-g+1,r):se(s,a)}}var ga=O({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;re();const e=xe(),o=F(()=>ca(fa(e.page.value,e.pageCount.value,e.siblingCount.value,e.showEdges.value)));return(l,r)=>(y(),L(u(ue),ct(ft(n)),{default:x(()=>[G(l.$slots,"default",{items:o.value})]),_:3},16))}}),ma=ga,pa=O({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===n.value),l=F(()=>e.disabled.value);return(r,s)=>(y(),L(u(ue),ie(n,{"data-type":"page","aria-label":`Page ${r.value}`,"aria-current":o.value?"page":void 0,"data-selected":o.value?"true":void 0,disabled:l.value,type:r.as==="button"?"button":void 0,onClick:s[0]||(s[0]=a=>!l.value&&u(e).onPageChange(r.value))}),{default:x(()=>[G(r.$slots,"default",{},()=>[U(S(r.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),va=pa,ha=O({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===e.pageCount.value||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Next Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).page.value+1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Next page"))])]),_:3},16,["type","disabled"]))}}),ya=ha,ba=O({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===1||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Previous Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).page.value-1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Prev page"))])]),_:3},16,["type","disabled"]))}}),_a=ba;const xa=Object.assign(Object.assign({},At),{tooltip:void 0,annotations:void 0});class ka extends wt{constructor(n,e,o){var l;super(n),this._defaultConfig=xa,this.config=this._defaultConfig,e&&(this.updateContainer(e,!0),this.component=e.component),o&&this.setData(o,!0),!((l=this.component)===null||l===void 0)&&l.datamodel.data&&this.render()}setData(n,e){var o;const{config:l}=this;this.component&&this.component.setData(n),e||this.render(),(o=l.tooltip)===null||o===void 0||o.hide()}updateContainer(n,e){super.updateContainer(n),this._removeAllChildren(),this.component=n.component,n.sizing&&(this.component.sizing=n.sizing),this.element.appendChild(this.component.element);const o=n.tooltip;o&&(o.hasContainer()||o.setContainer(this._container),o.setComponents([this.component]));const l=n.annotations;l&&this.element.appendChild(l.element),this.element.appendChild(this._svgDefs.node()),this.element.appendChild(this._svgDefsExternal.node()),e||this.render()}updateComponent(n,e){this.component.setConfig(n),e||this.render()}update(n,e,o){n&&this.updateContainer(n,!0),e&&this.updateComponent(e,!0),o&&this.setData(o,!0),this.render()}getFitWidthScale(){const{config:n,component:e}=this,o=e;if(!o.getWidth)return 1;const l=o.getWidth()+n.margin.left+n.margin.right;return this.width/l}_preRender(){var n,e;super._preRender(),this.component.setSize(this.width,this.height,this.containerWidth,this.containerHeight),this.component.setContainerMargin(this.config.margin),(n=this.config.annotations)===null||n===void 0||n.setSize(this.width,this.height,this.containerWidth,this.containerHeight),(e=this.config.annotations)===null||e===void 0||e.setContainerMargin(this.config.margin)}_render(n){var e;const{config:o,component:l}=this;super._render(n),l.g.attr("transform",`translate(${o.margin.left},${o.margin.top})`),l.render(n),(e=o.annotations)===null||e===void 0||e.render(n),o.tooltip&&o.tooltip.update()}render(n=this.config.duration){const{config:e,component:o}=this;if(e.sizing===Me.Extend||e.sizing===Me.FitWidth){const l=e.sizing===Me.FitWidth,r=o,s=r.getWidth()+e.margin.left+e.margin.right,a=r.getHeight()+e.margin.top+e.margin.bottom,g=l?this.getFitWidthScale():1,i=this.svg.attr("width"),b=this.svg.attr("height"),m=s*g,c=a*g,f=i||b;Se(this.svg,f?n:0).attr("width",m).attr("height",c).attr("viewBox",`0 0 ${s} ${l?c:a}`).attr("preserveAspectRatio","xMinYMin")}else this.svg.attr("width",this.config.width||this.containerWidth).attr("height",this.config.height||this.containerHeight);this._resizeObserver||this._setUpResizeObserver(),cancelAnimationFrame(this._renderAnimationFrameId),this._renderAnimationFrameId=requestAnimationFrame(()=>{this._preRender(),this._render(n)})}_onResize(){var n;const{config:e}=this;super._onResize(),(n=e.tooltip)===null||n===void 0||n.hide()}destroy(){var n,e;const{component:o,config:l}=this;super.destroy(),o?.destroy(),(n=l.tooltip)===null||n===void 0||n.destroy(),(e=l.annotations)===null||e===void 0||e.destroy()}}function $a(t){return t.innerRadius}function Ca(t){return t.outerRadius}function Aa(t){return t.startAngle}function wa(t){return t.endAngle}function Pa(t){return t&&t.padAngle}function Ra(t,n,e,o,l,r,s,a){var g=e-t,i=o-n,b=s-l,m=a-r,c=m*g-b*i;if(!(c*c<H))return c=(b*(n-r)-m*(t-l))/c,[t+c*g,n+c*i]}function Ae(t,n,e,o,l,r,s){var a=t-e,g=n-o,i=(s?r:-r)/be(a*a+g*g),b=i*g,m=-i*a,c=t+b,f=n+m,h=e+b,$=o+m,d=(c+h)/2,T=(f+$)/2,P=h-c,_=$-f,C=P*P+_*_,N=l-r,M=c*$-h*f,R=(_<0?-1:1)*be(Wt(0,N*N*C-M*M)),q=(M*_-P*R)/C,I=(-M*P-_*R)/C,E=(M*_+P*R)/C,B=(-M*P+_*R)/C,p=q-d,A=I-T,K=E-d,Y=B-T;return p*p+A*A>K*K+Y*Y&&(q=E,I=B),{cx:q,cy:I,x01:-b,y01:-m,x11:q*(l/N-1),y11:I*(l/N-1)}}function Sa(){var t=$a,n=Ca,e=j(0),o=null,l=Aa,r=wa,s=Pa,a=null;function g(){var i,b,m=+t.apply(this,arguments),c=+n.apply(this,arguments),f=l.apply(this,arguments)-Be,h=r.apply(this,arguments)-Be,$=je(h-f),d=h>f;if(a||(a=i=Ht()),c<m&&(b=c,c=m,m=b),!(c>H))a.moveTo(0,0);else if($>Pe-H)a.moveTo(c*de(f),c*Z(f)),a.arc(0,0,c,f,h,!d),m>H&&(a.moveTo(m*de(h),m*Z(h)),a.arc(0,0,m,h,f,d));else{var T=f,P=h,_=f,C=h,N=$,M=$,R=s.apply(this,arguments)/2,q=R>H&&(o?+o.apply(this,arguments):be(m*m+c*c)),I=Ne(je(c-m)/2,+e.apply(this,arguments)),E=I,B=I,p,A;if(q>H){var K=Ge(q/m*Z(R)),Y=Ge(q/c*Z(R));(N-=K*2)>H?(K*=d?1:-1,_+=K,C-=K):(N=0,_=C=(f+h)/2),(M-=Y*2)>H?(Y*=d?1:-1,T+=Y,P-=Y):(M=0,T=P=(f+h)/2)}var te=c*de(T),ae=c*Z(T),ke=m*de(C),fe=m*Z(C);if(I>H){var ne=c*de(P),ge=c*Z(P),me=m*de(_),pe=m*Z(_),X;if($<Ee&&(X=Ra(te,ae,me,pe,ne,ge,ke,fe))){var ve=te-X[0],he=ae-X[1],k=ne-X[0],V=ge-X[1],ye=1/Z(Vt((ve*k+he*V)/(be(ve*ve+he*he)*be(k*k+V*V)))/2),qe=be(X[0]*X[0]+X[1]*X[1]);E=Ne(I,(m-qe)/(ye-1)),B=Ne(I,(c-qe)/(ye+1))}}M>H?B>H?(p=Ae(me,pe,te,ae,c,B,d),A=Ae(ne,ge,ke,fe,c,B,d),a.moveTo(p.cx+p.x01,p.cy+p.y01),B<I?a.arc(p.cx,p.cy,B,D(p.y01,p.x01),D(A.y01,A.x01),!d):(a.arc(p.cx,p.cy,B,D(p.y01,p.x01),D(p.y11,p.x11),!d),a.arc(0,0,c,D(p.cy+p.y11,p.cx+p.x11),D(A.cy+A.y11,A.cx+A.x11),!d),a.arc(A.cx,A.cy,B,D(A.y11,A.x11),D(A.y01,A.x01),!d))):(a.moveTo(te,ae),a.arc(0,0,c,T,P,!d)):a.moveTo(te,ae),!(m>H)||!(N>H)?a.lineTo(ke,fe):E>H?(p=Ae(ke,fe,ne,ge,m,-E,d),A=Ae(te,ae,me,pe,m,-E,d),a.lineTo(p.cx+p.x01,p.cy+p.y01),E<I?a.arc(p.cx,p.cy,E,D(p.y01,p.x01),D(A.y01,A.x01),!d):(a.arc(p.cx,p.cy,E,D(p.y01,p.x01),D(p.y11,p.x11),!d),a.arc(0,0,m,D(p.cy+p.y11,p.cx+p.x11),D(A.cy+A.y11,A.cx+A.x11),d),a.arc(A.cx,A.cy,E,D(A.y11,A.x11),D(A.y01,A.x01),!d))):a.arc(0,0,m,C,_,d)}if(a.closePath(),i)return a=null,i+""||null}return g.centroid=function(){var i=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,b=(+l.apply(this,arguments)+ +r.apply(this,arguments))/2-Ee/2;return[de(b)*i,Z(b)*i]},g.innerRadius=function(i){return arguments.length?(t=typeof i=="function"?i:j(+i),g):t},g.outerRadius=function(i){return arguments.length?(n=typeof i=="function"?i:j(+i),g):n},g.cornerRadius=function(i){return arguments.length?(e=typeof i=="function"?i:j(+i),g):e},g.padRadius=function(i){return arguments.length?(o=i==null?null:typeof i=="function"?i:j(+i),g):o},g.startAngle=function(i){return arguments.length?(l=typeof i=="function"?i:j(+i),g):l},g.endAngle=function(i){return arguments.length?(r=typeof i=="function"?i:j(+i),g):r},g.padAngle=function(i){return arguments.length?(s=typeof i=="function"?i:j(+i),g):s},g.context=function(i){return arguments.length?(a=i??null,g):a},g}function Ta(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function La(t){return t}function za(){var t=La,n=Ta,e=null,o=j(0),l=j(Pe),r=j(0);function s(a){var g,i=a.length,b,m,c=0,f=new Array(i),h=new Array(i),$=+o.apply(this,arguments),d=Math.min(Pe,Math.max(-Pe,l.apply(this,arguments)-$)),T,P=Math.min(Math.abs(d)/i,r.apply(this,arguments)),_=P*(d<0?-1:1),C;for(g=0;g<i;++g)(C=h[f[g]=g]=+t(a[g],g,a))>0&&(c+=C);for(n!=null?f.sort(function(N,M){return n(h[N],h[M])}):e!=null&&f.sort(function(N,M){return e(a[N],a[M])}),g=0,m=c?(d-i*_)/c:0;g<i;++g,$=T)b=f[g],C=h[b],T=$+(C>0?C*m:0)+_,h[b]={data:a[b],index:g,value:C,startAngle:$,endAngle:T,padAngle:P};return h}return s.value=function(a){return arguments.length?(t=typeof a=="function"?a:j(+a),s):t},s.sortValues=function(a){return arguments.length?(n=a,e=null,s):n},s.sort=function(a){return arguments.length?(e=a,n=null,s):e},s.startAngle=function(a){return arguments.length?(o=typeof a=="function"?a:j(+a),s):o},s.endAngle=function(a){return arguments.length?(l=typeof a=="function"?a:j(+a),s):l},s.padAngle=function(a){return arguments.length?(r=typeof a=="function"?a:j(+a),s):r},s}const Ma=Object.assign(Object.assign({},Pt),{id:(t,n)=>{var e;return(e=t.id)!==null&&e!==void 0?e:n},value:void 0,angleRange:[0,2*Math.PI],padAngle:0,sortFunction:void 0,cornerRadius:0,color:void 0,radius:void 0,arcWidth:20,centralLabel:void 0,centralSubLabel:void 0,centralSubLabelWrap:!0,showEmptySegments:!1,emptySegmentAngle:.5*Math.PI/180,showBackground:!0,backgroundAngleRange:void 0,centralLabelOffsetX:void 0,centralLabelOffsetY:void 0});function Na(t,n){t.style("fill",e=>Ye(e.data,n.color,e.index)).style("opacity",0).each((e,o,l)=>{const r=l[o],s=(e.startAngle+e.endAngle)/2,a=(e.endAngle-e.startAngle)/2;r._animState={startAngle:s-a,endAngle:s+a,innerRadius:e.innerRadius,outerRadius:e.outerRadius,padAngle:e.padAngle}})}function Ua(t,n,e,o){t.style("transition",`fill ${o}ms`).style("fill",r=>Ye(r.data,n.color,r.index));const l=r=>n.showEmptySegments||r.value?1:0;o?Se(t,o).style("opacity",l).attrTween("d",(s,a,g)=>{const i=g[a],b={startAngle:s.startAngle,endAngle:s.endAngle,innerRadius:s.innerRadius,outerRadius:s.outerRadius,padAngle:s.padAngle},m=Rt(i._animState,b);return c=>(i._animState=m(c),e(i._animState))}):t.attr("d",e).style("opacity",l)}function Fa(t,n){Se(t,n).style("opacity",0).remove()}const at=Array.from({length:4},(t,n)=>{const e=-Math.PI/2+n*Math.PI/2;return[e,e+Math.PI]}),[Us,Fs,Is,qs]=at,nt=_e`
|
|
2
2
|
label: donut-component;
|
|
3
3
|
`,Ia=St`
|
|
4
4
|
:root {
|
|
@@ -55,7 +55,7 @@ import{a as O,a_ as re,S as L,T as y,U as x,a4 as G,aa as U,X as ie,C as u,a3 as
|
|
|
55
55
|
font-family: var(--vis-donut-central-sub-label-font-family, var(--vis-font-family));
|
|
56
56
|
font-weight: var(--vis-donut-central-sub-label-font-weight);
|
|
57
57
|
fill: var(--vis-donut-central-sub-label-text-color);
|
|
58
|
-
`,qa=Object.freeze(Object.defineProperty({__proto__:null,background:st,centralLabel:lt,centralSubLabel:it,root:nt,segment:Fe,segmentExit:ot,variables:Ia},Symbol.toStringTag,{value:"Module"}));class rt extends Tt{constructor(n){super(),this._defaultConfig=Ma,this.config=this._defaultConfig,this.datamodel=new Lt,this.arcGen=Sa(),this.events={},n&&this.setConfig(n),this.arcBackground=this.g.append("path"),this.arcGroup=this.g.append("g"),this.centralLabel=this.g.append("text").attr("class",lt),this.centralSubLabel=this.g.append("text").attr("class",it)}get bleed(){return{top:0,bottom:0,left:0,right:0}}_render(n){var e,o,l,r,s,a,g,i,b,m,c,f,h,$;const{config:d,datamodel:T,bleed:P}=this,_=T.data.map((k,V)=>({index:V,datum:k})).filter(k=>d.showEmptySegments||Oe(k.datum,d.value,k.index)),C=zt(n)?n:d.duration,[N,M,R,q]=at.map(k=>d.angleRange&&d.angleRange[0]===k[0]&&d.angleRange[1]===k[1]),I=N||R,E=M||q,B=this._width*(E?2:1),p=this._height*(I?2:1),A=d.radius||Math.min(B-P.left-P.right,p-P.top-P.bottom)/2,K=d.arcWidth===0?0:Mt(A-d.arcWidth,0,A-1),Y=this._height/2+(N?A/2:R?-A/2:0),te=this._width/2+(q?A/2:M?-A/2:0),ae=`translate(${te},${Y})`;this.arcGroup.attr("transform",ae),this.arcGen.startAngle(k=>k.startAngle).endAngle(k=>k.endAngle).innerRadius(k=>k.innerRadius).outerRadius(k=>k.outerRadius).padAngle(k=>k.padAngle).cornerRadius(d.cornerRadius);const fe=za().startAngle((o=(e=d.angleRange)===null||e===void 0?void 0:e[0])!==null&&o!==void 0?o:0).endAngle((r=(l=d.angleRange)===null||l===void 0?void 0:l[1])!==null&&r!==void 0?r:2*Math.PI).padAngle(d.padAngle).value(k=>Oe(k.datum,d.value,k.index)||0).sort((k,V)=>{var ye;return(ye=d.sortFunction)===null||ye===void 0?void 0:ye.call(d,k.datum,V.datum)})(_).map(k=>{const V=Object.assign(Object.assign({},k),{data:k.data.datum,index:k.data.index,innerRadius:K,outerRadius:A});return d.showEmptySegments&&k.endAngle-k.startAngle-k.padAngle<=Number.EPSILON&&(V.endAngle=k.startAngle+Math.max(d.emptySegmentAngle,d.padAngle),V.padAngle=k.padAngle/2),V}),ne=this.arcGroup.selectAll(`.${Fe}`).data(fe,k=>d.id(k.data,k.index)),ge=ne.enter().append("path").attr("class",Fe).call(Na,d),me=ne.merge(ge);me.call(Ua,d,this.arcGen,C),me.sort((k,V)=>V.value-k.value),ne.exit().attr("class",ot).call(Fa,C);const pe=M?"start":q?"end":"middle";this.centralLabel.attr("dy",d.centralSubLabel?"-0.55em":null).style("text-anchor",pe).text((s=d.centralLabel)!==null&&s!==void 0?s:null),this.centralSubLabel.attr("dy",d.centralLabel?"0.55em":null).style("text-anchor",pe).text((a=d.centralSubLabel)!==null&&a!==void 0?a:null),d.centralSubLabelWrap&&Nt(this.centralSubLabel,K*1.9);const X=(d.centralLabelOffsetX||0)+te;let ve=(d.centralLabelOffsetY||0)+Y;I&&d.centralLabelOffsetX===void 0&&d.centralLabelOffsetY===void 0&&(ve=(N?-this.centralSubLabel.node().getBoundingClientRect().height:R?this.centralLabel.node().getBoundingClientRect().height:0)+Y);const he=`translate(${X},${ve})`;this.centralLabel.attr("transform",he),this.centralSubLabel.attr("transform",he),this.arcBackground.attr("class",st).attr("visibility",d.showBackground?null:"hidden").attr("transform",ae),Se(this.arcBackground,C).attr("d",this.arcGen({startAngle:(m=(i=(g=d.backgroundAngleRange)===null||g===void 0?void 0:g[0])!==null&&i!==void 0?i:(b=d.angleRange)===null||b===void 0?void 0:b[0])!==null&&m!==void 0?m:0,endAngle:($=(f=(c=d.backgroundAngleRange)===null||c===void 0?void 0:c[1])!==null&&f!==void 0?f:(h=d.angleRange)===null||h===void 0?void 0:h[1])!==null&&$!==void 0?$:2*Math.PI,innerRadius:K,outerRadius:A}))}}rt.selectors=qa;const Da=O({__name:"index",props:{component:{},tooltip:{},annotations:{},duration:{},margin:{},padding:{},sizing:{},width:{},height:{},svgDefs:{},ariaLabel:{},data:{}},setup(t,{expose:n}){const e=t,{data:o}=
|
|
58
|
+
`,qa=Object.freeze(Object.defineProperty({__proto__:null,background:st,centralLabel:lt,centralSubLabel:it,root:nt,segment:Fe,segmentExit:ot,variables:Ia},Symbol.toStringTag,{value:"Module"}));class rt extends Tt{constructor(n){super(),this._defaultConfig=Ma,this.config=this._defaultConfig,this.datamodel=new Lt,this.arcGen=Sa(),this.events={},n&&this.setConfig(n),this.arcBackground=this.g.append("path"),this.arcGroup=this.g.append("g"),this.centralLabel=this.g.append("text").attr("class",lt),this.centralSubLabel=this.g.append("text").attr("class",it)}get bleed(){return{top:0,bottom:0,left:0,right:0}}_render(n){var e,o,l,r,s,a,g,i,b,m,c,f,h,$;const{config:d,datamodel:T,bleed:P}=this,_=T.data.map((k,V)=>({index:V,datum:k})).filter(k=>d.showEmptySegments||Oe(k.datum,d.value,k.index)),C=zt(n)?n:d.duration,[N,M,R,q]=at.map(k=>d.angleRange&&d.angleRange[0]===k[0]&&d.angleRange[1]===k[1]),I=N||R,E=M||q,B=this._width*(E?2:1),p=this._height*(I?2:1),A=d.radius||Math.min(B-P.left-P.right,p-P.top-P.bottom)/2,K=d.arcWidth===0?0:Mt(A-d.arcWidth,0,A-1),Y=this._height/2+(N?A/2:R?-A/2:0),te=this._width/2+(q?A/2:M?-A/2:0),ae=`translate(${te},${Y})`;this.arcGroup.attr("transform",ae),this.arcGen.startAngle(k=>k.startAngle).endAngle(k=>k.endAngle).innerRadius(k=>k.innerRadius).outerRadius(k=>k.outerRadius).padAngle(k=>k.padAngle).cornerRadius(d.cornerRadius);const fe=za().startAngle((o=(e=d.angleRange)===null||e===void 0?void 0:e[0])!==null&&o!==void 0?o:0).endAngle((r=(l=d.angleRange)===null||l===void 0?void 0:l[1])!==null&&r!==void 0?r:2*Math.PI).padAngle(d.padAngle).value(k=>Oe(k.datum,d.value,k.index)||0).sort((k,V)=>{var ye;return(ye=d.sortFunction)===null||ye===void 0?void 0:ye.call(d,k.datum,V.datum)})(_).map(k=>{const V=Object.assign(Object.assign({},k),{data:k.data.datum,index:k.data.index,innerRadius:K,outerRadius:A});return d.showEmptySegments&&k.endAngle-k.startAngle-k.padAngle<=Number.EPSILON&&(V.endAngle=k.startAngle+Math.max(d.emptySegmentAngle,d.padAngle),V.padAngle=k.padAngle/2),V}),ne=this.arcGroup.selectAll(`.${Fe}`).data(fe,k=>d.id(k.data,k.index)),ge=ne.enter().append("path").attr("class",Fe).call(Na,d),me=ne.merge(ge);me.call(Ua,d,this.arcGen,C),me.sort((k,V)=>V.value-k.value),ne.exit().attr("class",ot).call(Fa,C);const pe=M?"start":q?"end":"middle";this.centralLabel.attr("dy",d.centralSubLabel?"-0.55em":null).style("text-anchor",pe).text((s=d.centralLabel)!==null&&s!==void 0?s:null),this.centralSubLabel.attr("dy",d.centralLabel?"0.55em":null).style("text-anchor",pe).text((a=d.centralSubLabel)!==null&&a!==void 0?a:null),d.centralSubLabelWrap&&Nt(this.centralSubLabel,K*1.9);const X=(d.centralLabelOffsetX||0)+te;let ve=(d.centralLabelOffsetY||0)+Y;I&&d.centralLabelOffsetX===void 0&&d.centralLabelOffsetY===void 0&&(ve=(N?-this.centralSubLabel.node().getBoundingClientRect().height:R?this.centralLabel.node().getBoundingClientRect().height:0)+Y);const he=`translate(${X},${ve})`;this.centralLabel.attr("transform",he),this.centralSubLabel.attr("transform",he),this.arcBackground.attr("class",st).attr("visibility",d.showBackground?null:"hidden").attr("transform",ae),Se(this.arcBackground,C).attr("d",this.arcGen({startAngle:(m=(i=(g=d.backgroundAngleRange)===null||g===void 0?void 0:g[0])!==null&&i!==void 0?i:(b=d.angleRange)===null||b===void 0?void 0:b[0])!==null&&m!==void 0?m:0,endAngle:($=(f=(c=d.backgroundAngleRange)===null||c===void 0?void 0:c[1])!==null&&f!==void 0?f:(h=d.angleRange)===null||h===void 0?void 0:h[1])!==null&&$!==void 0?$:2*Math.PI,innerRadius:K,outerRadius:A}))}}rt.selectors=qa;const Da=O({__name:"index",props:{component:{},tooltip:{},annotations:{},duration:{},margin:{},padding:{},sizing:{},width:{},height:{},svgDefs:{},ariaLabel:{},data:{}},setup(t,{expose:n}){const e=t,{data:o}=We(e),l=Xe(e);let r;const s=gt({component:void 0,tooltip:void 0,annotations:void 0}),a=W(),g=()=>{r||a.value&&s.component&&(r=new ka(a.value,{...ze(s)},o.value))};return mt(()=>{var i;g(),(i=s.component)==null||i.config,r?.updateContainer({...ze(l.value),...ze(s)})}),ee(o,()=>{r?r.setData(o.value,!0):g()}),Ve(()=>r?.destroy()),Le(Je,{data:o,update:i=>s.component=i,destroy:()=>s.component=void 0}),Le(Ut,{data:o,update:i=>s.tooltip=i,destroy:()=>{s.tooltip=void 0}}),Le(Ft,{data:o,update:i=>s.annotations=i,destroy:()=>{s.annotations=void 0}}),n({component:r}),(i,b)=>(y(),z("div",{"data-vis-single-container":"",ref_key:"elRef",ref:a,class:"unovis-single-container"},[G(i.$slots,"default")],512))}}),Oa={"data-vis-component":""},Ea=O({__name:"index",props:{id:{type:Function},value:{},angleRange:{},padAngle:{},sortFunction:{type:Function},cornerRadius:{},color:{},radius:{},arcWidth:{},centralLabel:{},centralSubLabel:{},centralSubLabelWrap:{type:Boolean},showEmptySegments:{type:Boolean},emptySegmentAngle:{},showBackground:{type:Boolean},backgroundAngleRange:{},centralLabelOffsetX:{},centralLabelOffsetY:{},duration:{},events:{},attributes:{},data:{}},setup(t,{expose:n}){const e=pt(Je),o=t,l=F(()=>e.data.value??o.data),r=Xe(o),s=W();return Ie(()=>{vt(()=>{var a;s.value=new rt(r.value),(a=s.value)==null||a.setData(l.value),e.update(s.value)})}),Ve(()=>{var a;(a=s.value)==null||a.destroy(),e.destroy()}),ee(r,(a,g)=>{var i;It(a,g)||(i=s.value)==null||i.setConfig(r.value)}),ee(l,()=>{var a;(a=s.value)==null||a.setData(l.value)}),n({component:s}),(a,g)=>(y(),z("div",Oa))}}),Ba={class:"grid gap-4 grid-cols-2 sm:grid-cols-3 lg:grid-cols-5"},ja={class:"p-4 rounded-lg bg-elevated border border-default"},Ga={class:"flex items-center gap-2 text-muted text-sm mb-1"},Ha={class:"text-2xl font-semibold"},Wa={class:"p-4 rounded-lg bg-elevated border border-default"},Va={class:"flex items-center gap-2 text-muted text-sm mb-1"},Ka={class:"text-2xl font-semibold"},Ya={class:"p-4 rounded-lg bg-elevated border border-default"},Xa={class:"flex items-center gap-2 text-muted text-sm mb-1"},Ja={class:"text-2xl font-semibold"},Qa={class:"p-4 rounded-lg bg-elevated border border-default"},Za={class:"flex items-center gap-2 text-muted text-sm mb-1"},en={class:"text-2xl font-semibold"},tn={class:"p-4 rounded-lg bg-elevated border border-default"},an={class:"flex items-center gap-2 text-muted text-sm mb-1"},nn={class:"text-2xl font-semibold"},sn=O({__name:"UsageStatsCards",props:{stats:{},loading:{type:Boolean}},setup(t){function n(o){return o<.01&&o>0?"<$0.01":`$${o.toFixed(2)}`}function e(o){return o>=1e6?`${(o/1e6).toFixed(1)}M`:o>=1e3?`${(o/1e3).toFixed(1)}K`:String(o)}return(o,l)=>{const r=Ze,s=Ke;return y(),z("div",Ba,[t.loading?(y(),z(Q,{key:0},ce(5,a=>v("div",{key:a,class:"p-4 rounded-lg bg-elevated border border-default"},[w(r,{class:"h-4 w-16 mb-2"}),w(r,{class:"h-8 w-12"})])),64)):t.stats?(y(),z(Q,{key:1},[v("div",ja,[v("div",Ga,[w(s,{name:"i-lucide-dollar-sign",class:"size-4"}),l[0]||(l[0]=v("span",null,"Total Cost",-1))]),v("p",Ha,S(n(t.stats.totalCostUsd)),1)]),v("div",Wa,[v("div",Va,[w(s,{name:"i-lucide-arrow-down",class:"size-4"}),l[1]||(l[1]=v("span",null,"Input Tokens",-1))]),v("p",Ka,S(e(t.stats.totalInputTokens)),1)]),v("div",Ya,[v("div",Xa,[w(s,{name:"i-lucide-arrow-up",class:"size-4"}),l[2]||(l[2]=v("span",null,"Output Tokens",-1))]),v("p",Ja,S(e(t.stats.totalOutputTokens)),1)]),v("div",Qa,[v("div",Za,[w(s,{name:"i-lucide-zap",class:"size-4"}),l[3]||(l[3]=v("span",null,"API Calls",-1))]),v("p",en,S(t.stats.totalCalls),1)]),v("div",tn,[v("div",an,[w(s,{name:"i-lucide-calculator",class:"size-4"}),l[4]||(l[4]=v("span",null,"Avg / Call",-1))]),v("p",nn,S(n(t.stats.avgCostPerCall)),1)])],64)):J("",!0)])}}}),on=Object.assign(sn,{__name:"UsageStatsCards"}),ln={class:"flex items-center justify-between"},rn={class:"flex items-center gap-3"},un={class:"text-sm font-medium"},dn={class:"flex items-center gap-3 text-xs text-muted"},cn={key:0,class:"flex items-center justify-center h-64 text-muted"},fn=O({__name:"UsageCostChart.client",props:{data:{},title:{},granularity:{},displayMode:{}},emits:["update:granularity"],setup(t,{emit:n}){const e=t,o=n,l=ht("cardRef"),{width:r}=Gt(l),s=F(()=>e.displayMode==="tokens"),a=(f,h)=>h,g=f=>s.value?f.inputTokens+f.outputTokens:f.totalCost;function i(f){const[h,$,d]=f.slice(0,10).split("-").map(Number);return new Date(h,$-1,d)}const b=f=>{const h=e.data[f];if(!h)return"";if(e.granularity==="hourly"){const $=Number(h.date.slice(11,13)),d=$>=12?"pm":"am",T=$%12||12;return f===0||h.date.slice(0,10)!==e.data[f-1]?.date.slice(0,10)?`${$e(i(h.date),"MMM d")} ${T}${d}`:`${T}${d}`}return $e(i(h.date),"d MMM")};function m(f){return f>=1e6?`${(f/1e6).toFixed(1)}M`:f>=1e3?`${(f/1e3).toFixed(1)}K`:String(f)}const c=f=>{let h;if(e.granularity==="hourly"){const $=Number(f.date.slice(11,13)),d=$>=12?"pm":"am",T=$%12||12;h=`${$e(i(f.date),"MMM d, yyyy")} ${T}:00${d}`}else h=$e(i(f.date),"MMM d, yyyy");return s.value?`<div class="p-2 text-sm">
|
|
59
59
|
<div class="font-medium">${h}</div>
|
|
60
60
|
<div style="color: var(--ui-primary)">Input: ${m(f.inputTokens)}</div>
|
|
61
61
|
<div style="color: var(--ui-warning)">Output: ${m(f.outputTokens)}</div>
|
|
@@ -68,4 +68,4 @@ import{a as O,a_ as re,S as L,T as y,U as x,a4 as G,aa as U,X as ie,C as u,a3 as
|
|
|
68
68
|
<div style="color: var(--ui-info)">Memory: $${f.memory.toFixed(4)}</div>
|
|
69
69
|
<div class="text-muted mt-1">Total: $${f.totalCost.toFixed(4)}</div>
|
|
70
70
|
<div class="text-muted">${f.calls} calls</div>
|
|
71
|
-
</div>`};return(f,h)=>{const $=le,d=Je,T=Te;return y(),L(T,{ref_key:"cardRef",ref:l,ui:{root:"overflow-visible",body:"!px-0 !pt-0 !pb-3"}},Re({default:x(()=>[t.data.length===0?(y(),z("div",cn," No usage data ")):(y(),L(u(qt),{key:1,data:t.data,padding:{top:10,left:10,right:10,bottom:10},class:"h-64",width:u(r)},{default:x(()=>[w(u(Kt),{x:a,y:g,color:"var(--ui-primary)",opacity:.1}),w(u(Yt),{x:a,y:g,color:"var(--ui-primary)"}),w(u(Dt),{type:"x",x:a,"tick-format":b}),w(u(Ot),{color:"var(--ui-primary)",template:c}),w(u(Et))]),_:1},8,["data","width"]))]),_:2},[t.title?{name:"header",fn:x(()=>[v("div",ln,[v("div",rn,[v("p",un,S(t.title),1),w(d,null,{default:x(()=>[w($,{color:t.granularity==="daily"?"primary":"neutral",variant:t.granularity==="daily"?"solid":"ghost",size:"xs",onClick:h[0]||(h[0]=P=>o("update:granularity","daily"))},{default:x(()=>[...h[2]||(h[2]=[U(" Daily ",-1)])]),_:1},8,["color","variant"]),w($,{color:t.granularity==="hourly"?"primary":"neutral",variant:t.granularity==="hourly"?"solid":"ghost",size:"xs",onClick:h[1]||(h[1]=P=>o("update:granularity","hourly"))},{default:x(()=>[...h[3]||(h[3]=[U(" Hourly ",-1)])]),_:1},8,["color","variant"])]),_:1})]),v("div",dn,[u(s)?(y(),z(J,{key:0},[h[4]||(h[4]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-primary)"}}),U(" Input ")],-1)),h[5]||(h[5]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-warning)"}}),U(" Output ")],-1))],64)):(y(),z(J,{key:1},[h[6]||(h[6]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-primary)"}}),U(" Chat ")],-1)),h[7]||(h[7]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-warning)"}}),U(" Agents ")],-1)),h[8]||(h[8]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-info)"}}),U(" Memory ")],-1))],64))])])]),key:"0"}:void 0]),1536)}}}),gn=Object.assign(Xt(fn,[["__scopeId","data-v-b986ec70"]]),{__name:"UsageCostChart"}),mn={class:"text-sm font-medium"},pn={key:0,class:"flex items-center justify-center h-64 text-muted"},vn={key:1,class:"flex items-center gap-6"},hn={class:"flex-1 space-y-3"},yn={class:"flex items-center gap-2"},bn={class:"text-sm font-medium"},_n={class:"text-right"},xn={class:"text-sm font-semibold"},kn={class:"text-xs text-muted ml-2"},$n=O({__name:"UsageSourceDonut.client",props:{data:{},title:{},displayMode:{}},setup(t){const n=t,e={chat:"Chat",agent:"Agents",memory_extraction:"Memory",bridge:"Bridge"},o={chat:"var(--ui-primary)",agent:"var(--ui-warning)",memory_extraction:"var(--ui-info)",bridge:"var(--ui-success)"},l=F(()=>n.displayMode==="tokens"),r=i=>l.value?i.tokens:i.cost,s=i=>o[i.source]||"var(--ui-neutral)",a=F(()=>n.data.reduce((i,b)=>i+(l.value?b.tokens:b.cost),0));function g(i){return i>=1e6?`${(i/1e6).toFixed(1)}M`:i>=1e3?`${(i/1e3).toFixed(1)}K`:String(i)}return(i,b)=>{const m=Te;return y(),L(m,null,Re({default:x(()=>[t.data.length===0?(y(),z("div",pn," No usage data ")):(y(),z("div",vn,[w(u(Da),{data:t.data,class:"h-48 w-48 shrink-0"},{default:x(()=>[w(u(Ea),{value:r,color:s,"arc-width":30,"pad-angle":.02,"corner-radius":3})]),_:1},8,["data"]),v("div",hn,[(y(!0),z(J,null,ce(t.data,c=>(y(),z("div",{key:c.source,class:"flex items-center justify-between"},[v("div",yn,[v("span",{class:"inline-block size-3 rounded-full",style:yt({background:o[c.source]})},null,4),v("span",bn,S(e[c.source]),1)]),v("div",_n,[v("span",xn,S(u(l)?g(c.tokens):`$${c.cost.toFixed(2)}`),1),v("span",kn,S(u(a)>0?Math.round((u(l)?c.tokens:c.cost)/u(a)*100):0)+"% ",1)])]))),128))])]))]),_:2},[t.title?{name:"header",fn:x(()=>[v("p",mn,S(t.title),1)]),key:"0"}:void 0]),1024)}}}),Cn=Object.assign($n,{__name:"UsageSourceDonut"}),An={class:"text-sm font-medium"},wn={key:0,class:"flex items-center justify-center h-32 text-muted"},Pn={key:1,class:"divide-y divide-default"},Rn={class:"flex items-center gap-3 min-w-0"},Sn={class:"text-sm text-muted w-5 text-right shrink-0"},Tn={class:"min-w-0"},Ln={class:"text-sm font-medium truncate"},zn={class:"text-right shrink-0 ml-4"},Mn={class:"text-sm font-semibold"},Nn={class:"text-xs text-muted"},Un=O({__name:"UsageTopConsumers",props:{data:{},title:{},displayMode:{}},setup(t){const n=t,e={chat:"Chat",agent:"Agent",memory_extraction:"Memory",bridge:"Bridge"},o={chat:"primary",agent:"warning",memory_extraction:"info",bridge:"success"},l=F(()=>n.displayMode==="tokens");function r(a){return a<.01&&a>0?"<$0.01":`$${a.toFixed(4)}`}function s(a){return a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a)}return(a,g)=>{const i=tt,b=Te;return y(),L(b,null,Re({default:x(()=>[t.data.length===0?(y(),z("div",wn," No usage data ")):(y(),z("div",Pn,[(y(!0),z(J,null,ce(t.data,(m,c)=>(y(),z("div",{key:`${m.source}-${m.name}`,class:oe(["flex items-center justify-between py-2.5",{"pt-0":c===0}])},[v("div",Rn,[v("span",Sn,S(c+1),1),v("div",Tn,[v("p",Ln,S(m.name),1),w(i,{color:o[m.source],variant:"subtle",size:"xs"},{default:x(()=>[U(S(e[m.source]),1)]),_:2},1032,["color"])])]),v("div",zn,[v("p",Mn,S(u(l)?s(m.tokens):r(m.cost)),1),v("p",Nn,S(m.calls)+" "+S(m.calls===1?"call":"calls"),1)])],2))),128))]))]),_:2},[t.title?{name:"header",fn:x(()=>[v("p",An,S(t.title),1)]),key:"0"}:void 0]),1024)}}}),Fn=Object.assign(Un,{__name:"UsageTopConsumers"}),In={slots:{root:"",list:"flex items-center gap-1",ellipsis:"pointer-events-none",label:"min-w-5 text-center",first:"",prev:"",item:"",next:"",last:""}},qn={__name:"UPagination",props:{as:{type:null,required:!1},firstIcon:{type:null,required:!1},prevIcon:{type:null,required:!1},nextIcon:{type:null,required:!1},lastIcon:{type:null,required:!1},ellipsisIcon:{type:null,required:!1},color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"outline"},activeColor:{type:null,required:!1,default:"primary"},activeVariant:{type:null,required:!1,default:"solid"},showControls:{type:Boolean,required:!1,default:!0},size:{type:null,required:!1},to:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},defaultPage:{type:Number,required:!1},disabled:{type:Boolean,required:!1},itemsPerPage:{type:Number,required:!1,default:10},page:{type:Number,required:!1},showEdges:{type:Boolean,required:!1,default:!1},siblingCount:{type:Number,required:!1,default:2},total:{type:Number,required:!1,default:0}},emits:["update:page"],setup(t,{emit:n}){const e=t,o=n,l=bt(),{dir:r}=_t(),s=xt(),a=kt($t(e,"as","defaultPage","disabled","itemsPerPage","page","showEdges","siblingCount","total"),o),g=F(()=>e.firstIcon||(r.value==="rtl"?s.ui.icons.chevronDoubleRight:s.ui.icons.chevronDoubleLeft)),i=F(()=>e.prevIcon||(r.value==="rtl"?s.ui.icons.chevronRight:s.ui.icons.chevronLeft)),b=F(()=>e.nextIcon||(r.value==="rtl"?s.ui.icons.chevronLeft:s.ui.icons.chevronRight)),m=F(()=>e.lastIcon||(r.value==="rtl"?s.ui.icons.chevronDoubleLeft:s.ui.icons.chevronDoubleRight)),c=F(()=>De({extend:De(In),...s.ui?.pagination||{}})());return(f,h)=>(y(),L(u(la),ie(u(a),{"data-slot":"root",class:c.value.root({class:[e.ui?.root,e.class]})}),{default:x(({page:$,pageCount:d})=>[w(u(ma),{"data-slot":"list",class:oe(c.value.list({class:e.ui?.list}))},{default:x(({items:T})=>[t.showControls||l.first?(y(),L(u(ra),{key:0,"as-child":"","data-slot":"first",class:oe(c.value.first({class:e.ui?.first}))},{default:x(()=>[G(f.$slots,"first",{},()=>[w(le,{color:t.color,variant:t.variant,size:t.size,icon:g.value,to:t.to?.(1)},null,8,["color","variant","size","icon","to"])])]),_:3},8,["class"])):Q("",!0),t.showControls||l.prev?(y(),L(u(_a),{key:1,"as-child":"","data-slot":"prev",class:oe(c.value.prev({class:e.ui?.prev}))},{default:x(()=>[G(f.$slots,"prev",{},()=>[w(le,{color:t.color,variant:t.variant,size:t.size,icon:i.value,to:$>1?t.to?.($-1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):Q("",!0),(y(!0),z(J,null,ce(T,(P,_)=>(y(),z(J,{key:_},[P.type==="page"?(y(),L(u(va),{key:0,"as-child":"",value:P.value,"data-slot":"item",class:oe(c.value.item({class:e.ui?.item}))},{default:x(()=>[G(f.$slots,"item",ie({ref_for:!0},{item:P,index:_,page:$,pageCount:d}),()=>[w(le,{color:$===P.value?t.activeColor:t.color,variant:$===P.value?t.activeVariant:t.variant,size:t.size,label:String(P.value),ui:{label:c.value.label()},to:t.to?.(P.value),square:""},null,8,["color","variant","size","label","ui","to"])])]),_:2},1032,["value","class"])):(y(),L(u(na),{key:1,"as-child":"","data-slot":"ellipsis",class:oe(c.value.ellipsis({class:e.ui?.ellipsis}))},{default:x(()=>[G(f.$slots,"ellipsis",{ui:c.value},()=>[w(le,{as:"div",color:t.color,variant:t.variant,size:t.size,icon:t.ellipsisIcon||u(s).ui.icons.ellipsis},null,8,["color","variant","size","icon"])])]),_:3},8,["class"]))],64))),128)),t.showControls||l.next?(y(),L(u(ya),{key:2,"as-child":"","data-slot":"next",class:oe(c.value.next({class:e.ui?.next}))},{default:x(()=>[G(f.$slots,"next",{},()=>[w(le,{color:t.color,variant:t.variant,size:t.size,icon:b.value,to:$<d?t.to?.($+1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):Q("",!0),t.showControls||l.last?(y(),L(u(da),{key:3,"as-child":"","data-slot":"last",class:oe(c.value.last({class:e.ui?.last}))},{default:x(()=>[G(f.$slots,"last",{},()=>[w(le,{color:t.color,variant:t.variant,size:t.size,icon:m.value,to:t.to?.(d)},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):Q("",!0)]),_:2},1032,["class"])]),_:3},16,["class"]))}},Dn={class:"flex items-center justify-between flex-wrap gap-3"},On={class:"flex items-center gap-2"},En={class:"flex items-center gap-2"},Bn={key:0},jn={key:1,class:"flex flex-col items-center justify-center h-32 text-muted"},Gn=["title"],Wn={class:"text-sm text-muted"},Hn={class:"text-sm text-muted"},Vn={class:"text-sm font-medium"},Kn={class:"text-sm text-muted"},Yn={class:"text-sm text-muted"},Xn={class:"flex justify-center"},Ue="__all__",We=20,Qn=O({__name:"UsageRecordsTable",props:{period:{}},setup(t){const n=t,e={chat:"Chat",agent:"Agent",memory_extraction:"Memory",bridge:"Bridge"},o={chat:"primary",agent:"warning",memory_extraction:"info",bridge:"success"},l=H(Ue),r=H(""),s=H(1),a=H([]),g=H(0),i=H(0),b=H(!1),m=[{value:Ue,label:"All Sources"},{value:"chat",label:"Chat"},{value:"agent",label:"Agents"},{value:"memory_extraction",label:"Memory"}],c=[{accessorKey:"source",header:"Source"},{accessorKey:"sourceName",header:"Name"},{accessorKey:"inputTokens",header:"Input"},{accessorKey:"outputTokens",header:"Output"},{accessorKey:"costUsd",header:"Cost"},{accessorKey:"durationMs",header:"Duration"},{accessorKey:"createdAt",header:"Time"}];async function f(){b.value=!0;try{const _={period:n.period,page:s.value,limit:We};l.value!==Ue&&(_.source=l.value),r.value.trim()&&(_.search=r.value.trim());const C=await $fetch("/api/usage",{query:_});a.value=C.data,g.value=C.pagination.total,i.value=C.pagination.totalPages}catch{}finally{b.value=!1}}const h=Ct(()=>{s.value=1,f()},300);ee(l,()=>{s.value=1,f()}),ee(r,h),ee(s,f),ee(()=>n.period,()=>{s.value=1,f()});function $(_){return _<1e-4&&_>0?"<$0.0001":`$${_.toFixed(4)}`}function d(_){return _>=1e6?`${(_/1e6).toFixed(1)}M`:_>=1e3?`${(_/1e3).toFixed(1)}K`:String(_)}function T(_){return _?_<1e3?`${_}ms`:_<6e4?`${(_/1e3).toFixed(1)}s`:`${(_/6e4).toFixed(1)}m`:"-"}function P(_){return ea(new Date(_),{addSuffix:!0})}return Ie(f),(_,C)=>{const N=tt,M=Qt,R=Jt,q=Ze,I=Zt,E=qn,B=Te;return y(),L(B,null,Re({header:x(()=>[v("div",Dn,[v("div",On,[C[3]||(C[3]=v("p",{class:"text-sm font-medium"}," Usage Records ",-1)),u(g)>0?(y(),L(N,{key:0,color:"neutral",variant:"subtle"},{default:x(()=>[U(S(u(g)),1)]),_:1})):Q("",!0)]),v("div",En,[w(M,{modelValue:u(l),"onUpdate:modelValue":C[0]||(C[0]=p=>we(l)?l.value=p:null),items:m,"value-key":"value",class:"w-36",size:"sm"},null,8,["modelValue"]),w(R,{modelValue:u(r),"onUpdate:modelValue":C[1]||(C[1]=p=>we(r)?r.value=p:null),placeholder:"Search name...",icon:"i-lucide-search",class:"w-48",size:"sm"},null,8,["modelValue"])])])]),default:x(()=>[u(b)&&u(a).length===0?(y(),z("div",Bn,[(y(),z(J,null,ce(5,p=>w(q,{key:p,class:"h-10 w-full mb-2"})),64))])):u(a).length===0?(y(),z("div",jn,[...C[4]||(C[4]=[v("p",{class:"text-sm"}," No records found ",-1)])])):(y(),L(I,{key:2,data:u(a),columns:c,loading:u(b)},{"source-cell":x(({row:p})=>[w(N,{color:o[p.original.source],variant:"subtle",size:"sm"},{default:x(()=>[U(S(e[p.original.source]||p.original.source),1)]),_:2},1032,["color"])]),"sourceName-cell":x(({row:p})=>[v("span",{class:"text-sm truncate max-w-48 inline-block",title:p.original.sourceName},S(p.original.sourceName||"-"),9,Gn)]),"inputTokens-cell":x(({row:p})=>[v("span",Wn,S(d(p.original.inputTokens)),1)]),"outputTokens-cell":x(({row:p})=>[v("span",Hn,S(d(p.original.outputTokens)),1)]),"costUsd-cell":x(({row:p})=>[v("span",Vn,S($(p.original.costUsd)),1)]),"durationMs-cell":x(({row:p})=>[v("span",Kn,S(T(p.original.durationMs)),1)]),"createdAt-cell":x(({row:p})=>[v("span",Yn,S(P(p.original.createdAt)),1)]),_:1},8,["data","loading"]))]),_:2},[u(i)>1?{name:"footer",fn:x(()=>[v("div",Xn,[w(E,{page:u(s),"onUpdate:page":C[2]||(C[2]=p=>we(s)?s.value=p:null),total:u(g),"items-per-page":We,"sibling-count":1,"show-edges":""},null,8,["page","total"])])]),key:"0"}:void 0]),1024)}}}),Jn=Object.assign(Qn,{__name:"UsageRecordsTable"}),Zn=et(gn),es=et(Cn),ts={class:"contents"},as={class:"flex items-center gap-4"},ns={class:"p-4 space-y-6"},ss={class:"grid gap-6 lg:grid-cols-2"},os={key:2,class:"flex flex-col items-center justify-center h-64 text-muted"},Ds=O({__name:"usage",setup(t){const{usageStatsPeriod:n,usageDisplayMode:e}=ta(),o=H(n.value),l=H(e.value),r=H("daily"),s=H(null),a=H(!1),g=[{label:"24h",value:"24h"},{label:"7d",value:"7d"},{label:"30d",value:"30d"}],i=[{label:"Tokens",value:"tokens"},{label:"Cost",value:"cost"}];async function b(){a.value=!0;try{const m=await $fetch("/api/usage/stats",{query:{period:o.value,granularity:r.value,tzOffset:new Date().getTimezoneOffset()}});s.value=m.data}catch{}finally{a.value=!1}}return ee(o,m=>{n.value=m,b()}),ee(l,m=>{e.value=m}),ee(r,()=>{b()}),Ie(()=>{b()}),(m,c)=>{const f=le,h=Je,$=jt,d=on,T=Zn,P=es,_=Fn,C=Jn,N=Ke,M=Bt;return y(),z("div",ts,[w(M,{id:"usage",grow:""},{header:x(()=>[w($,{title:"Token Usage"},{right:x(()=>[v("div",as,[w(h,null,{default:x(()=>[(y(),z(J,null,ce(i,R=>w(f,{key:R.value,color:u(l)===R.value?"primary":"neutral",variant:u(l)===R.value?"solid":"ghost",size:"sm",onClick:q=>l.value=R.value},{default:x(()=>[U(S(R.label),1)]),_:2},1032,["color","variant","onClick"])),64))]),_:1}),w(h,null,{default:x(()=>[(y(),z(J,null,ce(g,R=>w(f,{key:R.value,color:u(o)===R.value?"primary":"neutral",variant:u(o)===R.value?"solid":"ghost",size:"sm",onClick:q=>o.value=R.value},{default:x(()=>[U(S(R.label),1)]),_:2},1032,["color","variant","onClick"])),64))]),_:1})])]),_:1})]),body:x(()=>[v("div",ns,[w(d,{stats:u(s),loading:u(a)},null,8,["stats","loading"]),u(s)&&u(s).dailyUsage.length>0?(y(),L(T,{key:0,granularity:u(r),"onUpdate:granularity":c[0]||(c[0]=R=>we(r)?r.value=R:null),data:u(s).dailyUsage,"display-mode":u(l),title:u(l)==="tokens"?"Tokens Over Time":"Cost Over Time"},null,8,["granularity","data","display-mode","title"])):Q("",!0),v("div",ss,[u(s)&&u(s).bySource.length>0?(y(),L(P,{key:0,data:u(s).bySource,"display-mode":u(l),title:u(l)==="tokens"?"Tokens by Source":"Cost by Source"},null,8,["data","display-mode","title"])):Q("",!0),u(s)&&u(s).topConsumers.length>0?(y(),L(_,{key:1,data:u(s).topConsumers,"display-mode":u(l),title:"Top Consumers"},null,8,["data","display-mode"])):Q("",!0)]),u(s)&&u(s).totalCalls>0?(y(),L(C,{key:1,period:u(o)},null,8,["period"])):Q("",!0),!u(a)&&u(s)&&u(s).totalCalls===0?(y(),z("div",os,[w(N,{name:"i-lucide-bar-chart-3",class:"size-12 mb-4"}),c[1]||(c[1]=v("p",{class:"text-lg font-medium"}," No usage data yet ",-1)),c[2]||(c[2]=v("p",{class:"text-sm mt-1"}," Token usage will appear here once you start using chat or agents ",-1))])):Q("",!0)])]),_:1})])}}});export{Ds as default};
|
|
71
|
+
</div>`};return(f,h)=>{const $=le,d=Qe,T=Te;return y(),L(T,{ref_key:"cardRef",ref:l,ui:{root:"overflow-visible",body:"!px-0 !pt-0 !pb-3"}},Re({default:x(()=>[t.data.length===0?(y(),z("div",cn," No usage data ")):(y(),L(u(qt),{key:1,data:t.data,padding:{top:10,left:10,right:10,bottom:10},class:"h-64",width:u(r)},{default:x(()=>[w(u(Kt),{x:a,y:g,color:"var(--ui-primary)",opacity:.1}),w(u(Yt),{x:a,y:g,color:"var(--ui-primary)"}),w(u(Dt),{type:"x",x:a,"tick-format":b}),w(u(Ot),{color:"var(--ui-primary)",template:c}),w(u(Et))]),_:1},8,["data","width"]))]),_:2},[t.title?{name:"header",fn:x(()=>[v("div",ln,[v("div",rn,[v("p",un,S(t.title),1),w(d,null,{default:x(()=>[w($,{color:t.granularity==="daily"?"primary":"neutral",variant:t.granularity==="daily"?"solid":"ghost",size:"xs",onClick:h[0]||(h[0]=P=>o("update:granularity","daily"))},{default:x(()=>[...h[2]||(h[2]=[U(" Daily ",-1)])]),_:1},8,["color","variant"]),w($,{color:t.granularity==="hourly"?"primary":"neutral",variant:t.granularity==="hourly"?"solid":"ghost",size:"xs",onClick:h[1]||(h[1]=P=>o("update:granularity","hourly"))},{default:x(()=>[...h[3]||(h[3]=[U(" Hourly ",-1)])]),_:1},8,["color","variant"])]),_:1})]),v("div",dn,[u(s)?(y(),z(Q,{key:0},[h[4]||(h[4]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-primary)"}}),U(" Input ")],-1)),h[5]||(h[5]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-warning)"}}),U(" Output ")],-1))],64)):(y(),z(Q,{key:1},[h[6]||(h[6]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-primary)"}}),U(" Chat ")],-1)),h[7]||(h[7]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-warning)"}}),U(" Agents ")],-1)),h[8]||(h[8]=v("span",{class:"flex items-center gap-1"},[v("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-info)"}}),U(" Memory ")],-1))],64))])])]),key:"0"}:void 0]),1536)}}}),gn=Object.assign(Xt(fn,[["__scopeId","data-v-b986ec70"]]),{__name:"UsageCostChart"}),mn={class:"text-sm font-medium"},pn={key:0,class:"flex items-center justify-center h-64 text-muted"},vn={key:1,class:"flex items-center gap-6"},hn={class:"flex-1 space-y-3"},yn={class:"flex items-center gap-2"},bn={class:"text-sm font-medium"},_n={class:"text-right"},xn={class:"text-sm font-semibold"},kn={class:"text-xs text-muted ml-2"},$n=O({__name:"UsageSourceDonut.client",props:{data:{},title:{},displayMode:{}},setup(t){const n=t,e={chat:"Chat",agent:"Agents",memory_extraction:"Memory",bridge:"Bridge"},o={chat:"var(--ui-primary)",agent:"var(--ui-warning)",memory_extraction:"var(--ui-info)",bridge:"var(--ui-success)"},l=F(()=>n.displayMode==="tokens"),r=i=>l.value?i.tokens:i.cost,s=i=>o[i.source]||"var(--ui-neutral)",a=F(()=>n.data.reduce((i,b)=>i+(l.value?b.tokens:b.cost),0));function g(i){return i>=1e6?`${(i/1e6).toFixed(1)}M`:i>=1e3?`${(i/1e3).toFixed(1)}K`:String(i)}return(i,b)=>{const m=Te;return y(),L(m,null,Re({default:x(()=>[t.data.length===0?(y(),z("div",pn," No usage data ")):(y(),z("div",vn,[w(u(Da),{data:t.data,class:"h-48 w-48 shrink-0"},{default:x(()=>[w(u(Ea),{value:r,color:s,"arc-width":30,"pad-angle":.02,"corner-radius":3})]),_:1},8,["data"]),v("div",hn,[(y(!0),z(Q,null,ce(t.data,c=>(y(),z("div",{key:c.source,class:"flex items-center justify-between"},[v("div",yn,[v("span",{class:"inline-block size-3 rounded-full",style:yt({background:o[c.source]})},null,4),v("span",bn,S(e[c.source]),1)]),v("div",_n,[v("span",xn,S(u(l)?g(c.tokens):`$${c.cost.toFixed(2)}`),1),v("span",kn,S(u(a)>0?Math.round((u(l)?c.tokens:c.cost)/u(a)*100):0)+"% ",1)])]))),128))])]))]),_:2},[t.title?{name:"header",fn:x(()=>[v("p",mn,S(t.title),1)]),key:"0"}:void 0]),1024)}}}),Cn=Object.assign($n,{__name:"UsageSourceDonut"}),An={class:"text-sm font-medium"},wn={key:0,class:"flex items-center justify-center h-32 text-muted"},Pn={key:1,class:"divide-y divide-default"},Rn={class:"flex items-center gap-3 min-w-0"},Sn={class:"text-sm text-muted w-5 text-right shrink-0"},Tn={class:"min-w-0"},Ln={class:"text-sm font-medium truncate"},zn={class:"text-right shrink-0 ml-4"},Mn={class:"text-sm font-semibold"},Nn={class:"text-xs text-muted"},Un=O({__name:"UsageTopConsumers",props:{data:{},title:{},displayMode:{}},setup(t){const n=t,e={chat:"Chat",agent:"Agent",memory_extraction:"Memory",bridge:"Bridge"},o={chat:"primary",agent:"warning",memory_extraction:"info",bridge:"success"},l=F(()=>n.displayMode==="tokens");function r(a){return a<.01&&a>0?"<$0.01":`$${a.toFixed(4)}`}function s(a){return a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a)}return(a,g)=>{const i=tt,b=Te;return y(),L(b,null,Re({default:x(()=>[t.data.length===0?(y(),z("div",wn," No usage data ")):(y(),z("div",Pn,[(y(!0),z(Q,null,ce(t.data,(m,c)=>(y(),z("div",{key:`${m.source}-${m.name}`,class:oe(["flex items-center justify-between py-2.5",{"pt-0":c===0}])},[v("div",Rn,[v("span",Sn,S(c+1),1),v("div",Tn,[v("p",Ln,S(m.name),1),w(i,{color:o[m.source],variant:"subtle",size:"xs"},{default:x(()=>[U(S(e[m.source]),1)]),_:2},1032,["color"])])]),v("div",zn,[v("p",Mn,S(u(l)?s(m.tokens):r(m.cost)),1),v("p",Nn,S(m.calls)+" "+S(m.calls===1?"call":"calls"),1)])],2))),128))]))]),_:2},[t.title?{name:"header",fn:x(()=>[v("p",An,S(t.title),1)]),key:"0"}:void 0]),1024)}}}),Fn=Object.assign(Un,{__name:"UsageTopConsumers"}),In={slots:{root:"",list:"flex items-center gap-1",ellipsis:"pointer-events-none",label:"min-w-5 text-center",first:"",prev:"",item:"",next:"",last:""}},qn={__name:"UPagination",props:{as:{type:null,required:!1},firstIcon:{type:null,required:!1},prevIcon:{type:null,required:!1},nextIcon:{type:null,required:!1},lastIcon:{type:null,required:!1},ellipsisIcon:{type:null,required:!1},color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"outline"},activeColor:{type:null,required:!1,default:"primary"},activeVariant:{type:null,required:!1,default:"solid"},showControls:{type:Boolean,required:!1,default:!0},size:{type:null,required:!1},to:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},defaultPage:{type:Number,required:!1},disabled:{type:Boolean,required:!1},itemsPerPage:{type:Number,required:!1,default:10},page:{type:Number,required:!1},showEdges:{type:Boolean,required:!1,default:!1},siblingCount:{type:Number,required:!1,default:2},total:{type:Number,required:!1,default:0}},emits:["update:page"],setup(t,{emit:n}){const e=t,o=n,l=bt(),{dir:r}=_t(),s=xt(),a=kt($t(e,"as","defaultPage","disabled","itemsPerPage","page","showEdges","siblingCount","total"),o),g=F(()=>e.firstIcon||(r.value==="rtl"?s.ui.icons.chevronDoubleRight:s.ui.icons.chevronDoubleLeft)),i=F(()=>e.prevIcon||(r.value==="rtl"?s.ui.icons.chevronRight:s.ui.icons.chevronLeft)),b=F(()=>e.nextIcon||(r.value==="rtl"?s.ui.icons.chevronLeft:s.ui.icons.chevronRight)),m=F(()=>e.lastIcon||(r.value==="rtl"?s.ui.icons.chevronDoubleLeft:s.ui.icons.chevronDoubleRight)),c=F(()=>De({extend:De(In),...s.ui?.pagination||{}})());return(f,h)=>(y(),L(u(la),ie(u(a),{"data-slot":"root",class:c.value.root({class:[e.ui?.root,e.class]})}),{default:x(({page:$,pageCount:d})=>[w(u(ma),{"data-slot":"list",class:oe(c.value.list({class:e.ui?.list}))},{default:x(({items:T})=>[t.showControls||l.first?(y(),L(u(ra),{key:0,"as-child":"","data-slot":"first",class:oe(c.value.first({class:e.ui?.first}))},{default:x(()=>[G(f.$slots,"first",{},()=>[w(le,{color:t.color,variant:t.variant,size:t.size,icon:g.value,to:t.to?.(1)},null,8,["color","variant","size","icon","to"])])]),_:3},8,["class"])):J("",!0),t.showControls||l.prev?(y(),L(u(_a),{key:1,"as-child":"","data-slot":"prev",class:oe(c.value.prev({class:e.ui?.prev}))},{default:x(()=>[G(f.$slots,"prev",{},()=>[w(le,{color:t.color,variant:t.variant,size:t.size,icon:i.value,to:$>1?t.to?.($-1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):J("",!0),(y(!0),z(Q,null,ce(T,(P,_)=>(y(),z(Q,{key:_},[P.type==="page"?(y(),L(u(va),{key:0,"as-child":"",value:P.value,"data-slot":"item",class:oe(c.value.item({class:e.ui?.item}))},{default:x(()=>[G(f.$slots,"item",ie({ref_for:!0},{item:P,index:_,page:$,pageCount:d}),()=>[w(le,{color:$===P.value?t.activeColor:t.color,variant:$===P.value?t.activeVariant:t.variant,size:t.size,label:String(P.value),ui:{label:c.value.label()},to:t.to?.(P.value),square:""},null,8,["color","variant","size","label","ui","to"])])]),_:2},1032,["value","class"])):(y(),L(u(na),{key:1,"as-child":"","data-slot":"ellipsis",class:oe(c.value.ellipsis({class:e.ui?.ellipsis}))},{default:x(()=>[G(f.$slots,"ellipsis",{ui:c.value},()=>[w(le,{as:"div",color:t.color,variant:t.variant,size:t.size,icon:t.ellipsisIcon||u(s).ui.icons.ellipsis},null,8,["color","variant","size","icon"])])]),_:3},8,["class"]))],64))),128)),t.showControls||l.next?(y(),L(u(ya),{key:2,"as-child":"","data-slot":"next",class:oe(c.value.next({class:e.ui?.next}))},{default:x(()=>[G(f.$slots,"next",{},()=>[w(le,{color:t.color,variant:t.variant,size:t.size,icon:b.value,to:$<d?t.to?.($+1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):J("",!0),t.showControls||l.last?(y(),L(u(da),{key:3,"as-child":"","data-slot":"last",class:oe(c.value.last({class:e.ui?.last}))},{default:x(()=>[G(f.$slots,"last",{},()=>[w(le,{color:t.color,variant:t.variant,size:t.size,icon:m.value,to:t.to?.(d)},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):J("",!0)]),_:2},1032,["class"])]),_:3},16,["class"]))}},Dn={class:"flex items-center justify-between flex-wrap gap-3"},On={class:"flex items-center gap-2"},En={class:"flex items-center gap-2"},Bn={key:0},jn={key:1,class:"flex flex-col items-center justify-center h-32 text-muted"},Gn=["title"],Hn={class:"text-sm text-muted"},Wn={class:"text-sm text-muted"},Vn={class:"text-sm font-medium"},Kn={class:"text-sm text-muted"},Yn={class:"text-sm text-muted"},Xn={class:"flex justify-center"},Ue="__all__",He=20,Jn=O({__name:"UsageRecordsTable",props:{period:{}},setup(t){const n=t,e={chat:"Chat",agent:"Agent",memory_extraction:"Memory",bridge:"Bridge"},o={chat:"primary",agent:"warning",memory_extraction:"info",bridge:"success"},l=W(Ue),r=W(""),s=W(1),a=W([]),g=W(0),i=W(0),b=W(!1),m=[{value:Ue,label:"All Sources"},{value:"chat",label:"Chat"},{value:"agent",label:"Agents"},{value:"memory_extraction",label:"Memory"}],c=[{accessorKey:"source",header:"Source"},{accessorKey:"sourceName",header:"Name"},{accessorKey:"inputTokens",header:"Input"},{accessorKey:"outputTokens",header:"Output"},{accessorKey:"costUsd",header:"Cost"},{accessorKey:"durationMs",header:"Duration"},{accessorKey:"createdAt",header:"Time"}];async function f(){b.value=!0;try{const _={period:n.period,page:s.value,limit:He};l.value!==Ue&&(_.source=l.value),r.value.trim()&&(_.search=r.value.trim());const C=await $fetch("/api/usage",{query:_});a.value=C.data,g.value=C.pagination.total,i.value=C.pagination.totalPages}catch{}finally{b.value=!1}}const h=Ct(()=>{s.value=1,f()},300);ee(l,()=>{s.value=1,f()}),ee(r,h),ee(s,f),ee(()=>n.period,()=>{s.value=1,f()});function $(_){return _<1e-4&&_>0?"<$0.0001":`$${_.toFixed(4)}`}function d(_){return _>=1e6?`${(_/1e6).toFixed(1)}M`:_>=1e3?`${(_/1e3).toFixed(1)}K`:String(_)}function T(_){return _?_<1e3?`${_}ms`:_<6e4?`${(_/1e3).toFixed(1)}s`:`${(_/6e4).toFixed(1)}m`:"-"}function P(_){return ea(new Date(_),{addSuffix:!0})}return Ie(f),(_,C)=>{const N=tt,M=Jt,R=Qt,q=Ze,I=Zt,E=qn,B=Te;return y(),L(B,null,Re({header:x(()=>[v("div",Dn,[v("div",On,[C[3]||(C[3]=v("p",{class:"text-sm font-medium"}," Usage Records ",-1)),u(g)>0?(y(),L(N,{key:0,color:"neutral",variant:"subtle"},{default:x(()=>[U(S(u(g)),1)]),_:1})):J("",!0)]),v("div",En,[w(M,{modelValue:u(l),"onUpdate:modelValue":C[0]||(C[0]=p=>we(l)?l.value=p:null),items:m,"value-key":"value",class:"w-36",size:"sm"},null,8,["modelValue"]),w(R,{modelValue:u(r),"onUpdate:modelValue":C[1]||(C[1]=p=>we(r)?r.value=p:null),placeholder:"Search name...",icon:"i-lucide-search",class:"w-48",size:"sm"},null,8,["modelValue"])])])]),default:x(()=>[u(b)&&u(a).length===0?(y(),z("div",Bn,[(y(),z(Q,null,ce(5,p=>w(q,{key:p,class:"h-10 w-full mb-2"})),64))])):u(a).length===0?(y(),z("div",jn,[...C[4]||(C[4]=[v("p",{class:"text-sm"}," No records found ",-1)])])):(y(),L(I,{key:2,data:u(a),columns:c,loading:u(b)},{"source-cell":x(({row:p})=>[w(N,{color:o[p.original.source],variant:"subtle",size:"sm"},{default:x(()=>[U(S(e[p.original.source]||p.original.source),1)]),_:2},1032,["color"])]),"sourceName-cell":x(({row:p})=>[v("span",{class:"text-sm truncate max-w-48 inline-block",title:p.original.sourceName},S(p.original.sourceName||"-"),9,Gn)]),"inputTokens-cell":x(({row:p})=>[v("span",Hn,S(d(p.original.inputTokens)),1)]),"outputTokens-cell":x(({row:p})=>[v("span",Wn,S(d(p.original.outputTokens)),1)]),"costUsd-cell":x(({row:p})=>[v("span",Vn,S($(p.original.costUsd)),1)]),"durationMs-cell":x(({row:p})=>[v("span",Kn,S(T(p.original.durationMs)),1)]),"createdAt-cell":x(({row:p})=>[v("span",Yn,S(P(p.original.createdAt)),1)]),_:1},8,["data","loading"]))]),_:2},[u(i)>1?{name:"footer",fn:x(()=>[v("div",Xn,[w(E,{page:u(s),"onUpdate:page":C[2]||(C[2]=p=>we(s)?s.value=p:null),total:u(g),"items-per-page":He,"sibling-count":1,"show-edges":""},null,8,["page","total"])])]),key:"0"}:void 0]),1024)}}}),Qn=Object.assign(Jn,{__name:"UsageRecordsTable"}),Zn=et(gn),es=et(Cn),ts={class:"contents"},as={class:"flex items-center gap-4"},ns={class:"p-4 space-y-6"},ss={class:"grid gap-6 lg:grid-cols-2"},os={key:2,class:"flex flex-col items-center justify-center h-64 text-muted"},Ds=O({__name:"usage",setup(t){const{usageStatsPeriod:n,usageDisplayMode:e}=ta(),o=W(n.value),l=W(e.value),r=W("daily"),s=W(null),a=W(!1),g=[{label:"24h",value:"24h"},{label:"7d",value:"7d"},{label:"30d",value:"30d"}],i=[{label:"Tokens",value:"tokens"},{label:"Cost",value:"cost"}];async function b(){a.value=!0;try{const m=await $fetch("/api/usage/stats",{query:{period:o.value,granularity:r.value,tzOffset:new Date().getTimezoneOffset()}});s.value=m.data}catch{}finally{a.value=!1}}return ee(o,m=>{n.value=m,b()}),ee(l,m=>{e.value=m}),ee(r,()=>{b()}),Ie(()=>{b()}),(m,c)=>{const f=le,h=Qe,$=jt,d=on,T=Zn,P=es,_=Fn,C=Qn,N=Ke,M=Bt;return y(),z("div",ts,[w(M,{id:"usage",grow:""},{header:x(()=>[w($,{title:"Token Usage"},{right:x(()=>[v("div",as,[w(h,null,{default:x(()=>[(y(),z(Q,null,ce(i,R=>w(f,{key:R.value,color:u(l)===R.value?"primary":"neutral",variant:u(l)===R.value?"solid":"ghost",size:"sm",onClick:q=>l.value=R.value},{default:x(()=>[U(S(R.label),1)]),_:2},1032,["color","variant","onClick"])),64))]),_:1}),w(h,null,{default:x(()=>[(y(),z(Q,null,ce(g,R=>w(f,{key:R.value,color:u(o)===R.value?"primary":"neutral",variant:u(o)===R.value?"solid":"ghost",size:"sm",onClick:q=>o.value=R.value},{default:x(()=>[U(S(R.label),1)]),_:2},1032,["color","variant","onClick"])),64))]),_:1})])]),_:1})]),body:x(()=>[v("div",ns,[w(d,{stats:u(s),loading:u(a)},null,8,["stats","loading"]),u(s)&&u(s).dailyUsage.length>0?(y(),L(T,{key:0,granularity:u(r),"onUpdate:granularity":c[0]||(c[0]=R=>we(r)?r.value=R:null),data:u(s).dailyUsage,"display-mode":u(l),title:u(l)==="tokens"?"Tokens Over Time":"Cost Over Time"},null,8,["granularity","data","display-mode","title"])):J("",!0),v("div",ss,[u(s)&&u(s).bySource.length>0?(y(),L(P,{key:0,data:u(s).bySource,"display-mode":u(l),title:u(l)==="tokens"?"Tokens by Source":"Cost by Source"},null,8,["data","display-mode","title"])):J("",!0),u(s)&&u(s).topConsumers.length>0?(y(),L(_,{key:1,data:u(s).topConsumers,"display-mode":u(l),title:"Top Consumers"},null,8,["data","display-mode"])):J("",!0)]),u(s)&&u(s).totalCalls>0?(y(),L(C,{key:1,period:u(o)},null,8,["period"])):J("",!0),!u(a)&&u(s)&&u(s).totalCalls===0?(y(),z("div",os,[w(N,{name:"i-lucide-bar-chart-3",class:"size-12 mb-4"}),c[1]||(c[1]=v("p",{class:"text-lg font-medium"}," No usage data yet ",-1)),c[2]||(c[2]=v("p",{class:"text-sm mt-1"}," Token usage will appear here once you start using chat or agents ",-1))])):J("",!0)])]),_:1})])}}});export{Ds as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s}from"./Bh0yGTzr.js";import t from"./subdxgSQ.js";import{W as a,c as e,o as c,w as p,a as n}from"./BOCn_SGf.js";import"./iik6CYzq.js";const d={__name:"ProseTip",setup(i){const o=a();return(r,f)=>(c(),e(t,{color:"success",icon:n(o).ui.icons.tip},{default:p(()=>[s(r.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["icon"]))}};export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{W as l,i as c,M as n,o as p,r as u,$ as i,ap as s}from"./BOCn_SGf.js";const m={base:"list-disc ps-6 my-5 marker:text-(--ui-border-accented)"},_={__name:"ProseUl",props:{class:{type:null,required:!1}},setup(e){const a=e,t=l(),o=c(()=>s({extend:s(m),...t.ui?.prose?.ul||{}}));return(r,d)=>(p(),n("ul",{class:i(o.value({class:a.class}))},[u(r.$slots,"default")],2))}};export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as u,aQ as v,aS as m,e as d,aR as y,r as p,a as t,c as f,o as c,w as _,aL as D,aM as C,b6 as R,u as q,C as B,m as h,P as x}from"./BOCn_SGf.js";import{u as P}from"./DTR31rjp.js";const[b,I]=v("DialogRoot");var T=u({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(o,{emit:r}){const e=o,a=m(e,"open",r,{defaultValue:e.defaultOpen,passive:e.open===void 0}),l=d(),i=d(),{modal:g}=y(e);return I({open:a,modal:g,openModal:()=>{a.value=!0},onOpenChange:s=>{a.value=s},onOpenToggle:()=>{a.value=!a.value},contentId:"",titleId:"",descriptionId:"",triggerElement:l,contentElement:i}),(s,M)=>p(s.$slots,"default",{open:t(a),close:()=>a.value=!1})}}),$=T,k=u({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(o){const r=o;return(e,n)=>(c(),f(t(R),D(C(r)),{default:_(()=>[p(e.$slots,"default")]),_:3},16))}}),S=k,E=u({__name:"DialogTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(o){const r=o,e=b(),{forwardRef:n,currentElement:a}=q();return e.contentId||=P(void 0,"reka-dialog-content"),B(()=>{e.triggerElement.value=a.value}),(l,i)=>(c(),f(t(x),h(r,{ref:t(n),type:l.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":t(e).open.value||!1,"aria-controls":t(e).open.value?t(e).contentId:void 0,"data-state":t(e).open.value?"open":"closed",onClick:t(e).onOpenToggle}),{default:_(()=>[p(l.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","onClick"]))}}),V=E;export{V as D,S as a,$ as b,b as i};
|