chainlesschain 0.162.29 → 0.162.31
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/package.json +2 -2
- package/src/assets/web-panel/assets/AIOps-BqWP6FKu.js +1 -0
- package/src/assets/web-panel/assets/AIOps-CSpp7iGY.css +1 -0
- package/src/assets/web-panel/assets/{ActionButton-wRdLFzBQ.js → ActionButton-CXwMgOvX.js} +1 -1
- package/src/assets/web-panel/assets/Analytics-DAebZ4IY.js +3 -0
- package/src/assets/web-panel/assets/Analytics-DJcHjy5J.css +1 -0
- package/src/assets/web-panel/assets/AppLayout-CYsqYoME.js +9 -0
- package/src/assets/web-panel/assets/AppLayout-VlanTjPw.css +1 -0
- package/src/assets/web-panel/assets/Audit-BbTtX1Nf.js +1 -0
- package/src/assets/web-panel/assets/Audit-D8oxP0wr.css +1 -0
- package/src/assets/web-panel/assets/Backup-DgqY2Eb-.js +1 -0
- package/src/assets/web-panel/assets/Backup-Wi9CaP3d.css +1 -0
- package/src/assets/web-panel/assets/BaseInput-Cq2ZuSoO.js +1 -0
- package/src/assets/web-panel/assets/Chat-D2kqpUyO.js +8 -0
- package/src/assets/web-panel/assets/Chat-DDh58PCf.css +1 -0
- package/src/assets/web-panel/assets/ChatBubbleRenderer-C-svYkrC.js +1 -0
- package/src/assets/web-panel/assets/ChatBubbleRenderer-gy5SDGw2.css +1 -0
- package/src/assets/web-panel/assets/{Checkbox-DoGqmF9g.js → Checkbox-_9swHpyc.js} +1 -1
- package/src/assets/web-panel/assets/Codegen-BB08p1fn.css +1 -0
- package/src/assets/web-panel/assets/Codegen-Cr9YbCPl.js +1 -0
- package/src/assets/web-panel/assets/{Col-C-9-jORK.js → Col--wdpCMxx.js} +1 -1
- package/src/assets/web-panel/assets/Community-Cbq1nrpo.css +1 -0
- package/src/assets/web-panel/assets/Community-DuFcVnLu.js +1 -0
- package/src/assets/web-panel/assets/{Compact-CemvxU3z.js → Compact-1yzYeT04.js} +1 -1
- package/src/assets/web-panel/assets/Compliance-Dq3aU9Df.js +1 -0
- package/src/assets/web-panel/assets/Compliance-NoXr2Vof.css +1 -0
- package/src/assets/web-panel/assets/Cowork-BlXJRu6L.css +1 -0
- package/src/assets/web-panel/assets/Cowork-CrWcnIg8.js +6 -0
- package/src/assets/web-panel/assets/Cron-Bh6fKZ0h.js +2 -0
- package/src/assets/web-panel/assets/Crosschain-8ofPaWVW.js +1 -0
- package/src/assets/web-panel/assets/Crosschain-CgRAecoR.css +1 -0
- package/src/assets/web-panel/assets/DID-D3EiYm3w.js +2 -0
- package/src/assets/web-panel/assets/DID-DVsYcgvs.css +1 -0
- package/src/assets/web-panel/assets/Dashboard-BFjEdFne.js +3 -0
- package/src/assets/web-panel/assets/Dashboard-CAPSdFR4.css +1 -0
- package/src/assets/web-panel/assets/Dropdown-pYVPcP6O.js +1 -0
- package/src/assets/web-panel/assets/EmailListRenderer-DTPZPx_S.css +1 -0
- package/src/assets/web-panel/assets/EmailListRenderer-zBPodwJ1.js +1 -0
- package/src/assets/web-panel/assets/FamilyGuardDashboard-CyQTW6PW.js +1 -0
- package/src/assets/web-panel/assets/FamilyGuardDashboard-nd3idUVb.css +1 -0
- package/src/assets/web-panel/assets/Federation-Ctaq3zYq.js +1 -0
- package/src/assets/web-panel/assets/Federation-fGN6iMX_.css +1 -0
- package/src/assets/web-panel/assets/FormItemContext-CWYJCLq1.js +2 -0
- package/src/assets/web-panel/assets/GenericCardRenderer-B1g6t9R9.js +1 -0
- package/src/assets/web-panel/assets/GenericCardRenderer-o85VDYQS.css +1 -0
- package/src/assets/web-panel/assets/{Git-DPuaGtg7.css → Git-BdHhxBWR.css} +1 -1
- package/src/assets/web-panel/assets/Git-DH-v8iwd.js +2 -0
- package/src/assets/web-panel/assets/Governance-DtCS4NDm.css +1 -0
- package/src/assets/web-panel/assets/Governance-jZxXvOs5.js +1 -0
- package/src/assets/web-panel/assets/Inference-D07LRghn.js +1 -0
- package/src/assets/web-panel/assets/Inference-t-w0NgIS.css +1 -0
- package/src/assets/web-panel/assets/KnowledgeGraph-4NU1S2Xm.css +1 -0
- package/src/assets/web-panel/assets/KnowledgeGraph-DnGtRZhx.js +1 -0
- package/src/assets/web-panel/assets/Logs-D2pM9C4W.js +2 -0
- package/src/assets/web-panel/assets/Logs-DQbCaYhL.css +1 -0
- package/src/assets/web-panel/assets/Marketplace-Bvo5cuGa.css +1 -0
- package/src/assets/web-panel/assets/Marketplace-UyIO7C7r.js +1 -0
- package/src/assets/web-panel/assets/McpTools-534Q95Mx.css +1 -0
- package/src/assets/web-panel/assets/McpTools-Bf1gvZPf.js +7 -0
- package/src/assets/web-panel/assets/Memory-C1bWj4RN.js +2 -0
- package/src/assets/web-panel/assets/Memory-CleW_R6V.css +1 -0
- package/src/assets/web-panel/assets/MobileBridge-C_Ot1H_a.js +3 -0
- package/src/assets/web-panel/assets/MobileBridge-zJpPuf4E.css +1 -0
- package/src/assets/web-panel/assets/MobileProjects-BD4alw6-.css +1 -0
- package/src/assets/web-panel/assets/MobileProjects-zr-PpsT_.js +1 -0
- package/src/assets/web-panel/assets/Mtc-CXZGO9Sh.css +1 -0
- package/src/assets/web-panel/assets/Mtc-CnzFUz5J.js +6 -0
- package/src/assets/web-panel/assets/MtcAudit-C1JM8esp.css +1 -0
- package/src/assets/web-panel/assets/MtcAudit-CAAh99wz.js +19 -0
- package/src/assets/web-panel/assets/Multisig-BryR2Jpr.css +1 -0
- package/src/assets/web-panel/assets/Multisig-D6IAg6HE.js +13 -0
- package/src/assets/web-panel/assets/NLProgramming-BFMarxb0.js +1 -0
- package/src/assets/web-panel/assets/NLProgramming-DGDHq6Z9.css +1 -0
- package/src/assets/web-panel/assets/Notes-BKKmMtqV.css +1 -0
- package/src/assets/web-panel/assets/Notes-BRp9ro3t.js +7 -0
- package/src/assets/web-panel/assets/NotificationSettings-C0Au3Cxb.js +1 -0
- package/src/assets/web-panel/assets/NotificationSettings-CG3Kfuef.css +1 -0
- package/src/assets/web-panel/assets/OrderTableRenderer-CfrDjSHT.css +1 -0
- package/src/assets/web-panel/assets/OrderTableRenderer-ISp6btRY.js +1 -0
- package/src/assets/web-panel/assets/Organization-DYoxLBRX.js +4 -0
- package/src/assets/web-panel/assets/Organization-LVvqwG0D.css +1 -0
- package/src/assets/web-panel/assets/{Overflow-BFxt7NlK.js → Overflow-rO8JJWGJ.js} +1 -1
- package/src/assets/web-panel/assets/{OverrideContext-C_4H9tGA.js → OverrideContext-C2r4vyBb.js} +1 -1
- package/src/assets/web-panel/assets/P2P-DJleeXIK.js +2 -0
- package/src/assets/web-panel/assets/P2P-DcFvP7F-.css +1 -0
- package/src/assets/web-panel/assets/PdhVaultBrowser-DM5qghFp.js +7 -0
- package/src/assets/web-panel/assets/PdhVaultBrowser-DZZrUOr1.css +1 -0
- package/src/assets/web-panel/assets/Permissions-D5v4Beya.js +4 -0
- package/src/assets/web-panel/assets/Permissions-DsPE_IQy.css +1 -0
- package/src/assets/web-panel/assets/PersonalDataHub-BhpRlh9D.css +1 -0
- package/src/assets/web-panel/assets/PersonalDataHub-c2ZTX0Pv.js +9 -0
- package/src/assets/web-panel/assets/Pipeline-BItr5CyP.css +1 -0
- package/src/assets/web-panel/assets/Pipeline-Crrkyhpz.js +1 -0
- package/src/assets/web-panel/assets/Privacy-DZVyrJKa.js +1 -0
- package/src/assets/web-panel/assets/Privacy-F_ENsxZk.css +1 -0
- package/src/assets/web-panel/assets/ProjectInit-B86LEzDL.css +1 -0
- package/src/assets/web-panel/assets/ProjectInit-DKg7J0gz.js +2 -0
- package/src/assets/web-panel/assets/ProjectSettings-3ndmTvVH.js +2 -0
- package/src/assets/web-panel/assets/ProjectSettings-DK7KA_iX.css +1 -0
- package/src/assets/web-panel/assets/Projects-CmJeUDBW.css +1 -0
- package/src/assets/web-panel/assets/Projects-ll5wnj2L.js +1 -0
- package/src/assets/web-panel/assets/Providers-BeqBVMhB.js +1 -0
- package/src/assets/web-panel/assets/Providers-C6q_fvea.css +1 -0
- package/src/assets/web-panel/assets/QuickAsk-DKAAxzuA.js +1 -0
- package/src/assets/web-panel/assets/Recommend-Byu7IGei.js +1 -0
- package/src/assets/web-panel/assets/Recommend-D_bf91K6.css +1 -0
- package/src/assets/web-panel/assets/Reputation-BKhWAmCu.js +1 -0
- package/src/assets/web-panel/assets/Reputation-DiOsOleI.css +1 -0
- package/src/assets/web-panel/assets/Row-BFtn11O6.js +1 -0
- package/src/assets/web-panel/assets/RssFeed-CjcbkyUb.css +1 -0
- package/src/assets/web-panel/assets/RssFeed-D5a0PT0k.js +3 -0
- package/src/assets/web-panel/assets/Search-DAkuaZNe.js +1 -0
- package/src/assets/web-panel/assets/Search-Klk29S7C.css +1 -0
- package/src/assets/web-panel/assets/Security-BmrukMHn.css +1 -0
- package/src/assets/web-panel/assets/Security-C79Ml2Ms.js +4 -0
- package/src/assets/web-panel/assets/Services-BBk_jH6-.js +2 -0
- package/src/assets/web-panel/assets/Services-DAnVNhUG.css +1 -0
- package/src/assets/web-panel/assets/{Skeleton-DL5ebkDK.js → Skeleton-Cy0VvL0M.js} +1 -1
- package/src/assets/web-panel/assets/Skills-BUu9owbR.css +1 -0
- package/src/assets/web-panel/assets/Skills-OQNky3uI.js +1 -0
- package/src/assets/web-panel/assets/Sla-CbX1f8xN.js +1 -0
- package/src/assets/web-panel/assets/Sla-sodqCU4a.css +1 -0
- package/src/assets/web-panel/assets/SpeechSettings-BIkoUjws.js +1 -0
- package/src/assets/web-panel/assets/SpeechSettings-CgB9nFyq.css +1 -0
- package/src/assets/web-panel/assets/SyncSettings-B3hJqmBP.css +1 -0
- package/src/assets/web-panel/assets/SyncSettings-DG6Swk7G.js +2 -0
- package/src/assets/web-panel/assets/Tasks-C9R8sgyi.js +1 -0
- package/src/assets/web-panel/assets/Tasks-nbTUVXvt.css +1 -0
- package/src/assets/web-panel/assets/Templates-AaJPeCIz.js +1 -0
- package/src/assets/web-panel/assets/Templates-CpFsKk_l.css +1 -0
- package/src/assets/web-panel/assets/Tenant-MuPJnOjk.css +1 -0
- package/src/assets/web-panel/assets/Tenant-jVFRofww.js +1 -0
- package/src/assets/web-panel/assets/Terminal-DHBMzfK6.js +3 -0
- package/src/assets/web-panel/assets/Terminal-DHoveJwj.css +1 -0
- package/src/assets/web-panel/assets/TimelineRenderer-9RFfOHSI.js +1 -0
- package/src/assets/web-panel/assets/TimelineRenderer-BlTAtkOc.css +1 -0
- package/src/assets/web-panel/assets/Tokens-CynVae-o.css +1 -0
- package/src/assets/web-panel/assets/Tokens-ZTfwuABF.js +1 -0
- package/src/assets/web-panel/assets/{Trigger-Rzs-a8Xf.js → Trigger-Xo7uZNQs.js} +1 -1
- package/src/assets/web-panel/assets/Trust-C-WrW0Fj.css +1 -0
- package/src/assets/web-panel/assets/Trust-C0cTPYvn.js +1 -0
- package/src/assets/web-panel/assets/UkeySign-DmMKio71.js +1 -0
- package/src/assets/web-panel/assets/VideoEditing-BDFghpzP.css +1 -0
- package/src/assets/web-panel/assets/VideoEditing-DP7B-oGT.js +1 -0
- package/src/assets/web-panel/assets/Wallet-B1kZDARo.js +4 -0
- package/src/assets/web-panel/assets/Wallet-DUbpTRcg.css +1 -0
- package/src/assets/web-panel/assets/WebAuthn-Bo5kBx27.js +5 -0
- package/src/assets/web-panel/assets/WebAuthn-CVAFRfCQ.css +1 -0
- package/src/assets/web-panel/assets/WorkflowEditor-429lPWYk.css +1 -0
- package/src/assets/web-panel/assets/WorkflowEditor-DGI9SNHH.js +1 -0
- package/src/assets/web-panel/assets/{_getTag-BVc6NQ_K.js → _getTag-DnrRH4E6.js} +1 -1
- package/src/assets/web-panel/assets/{chat-C7tndXfg.js → chat-y97W1CIG.js} +1 -1
- package/src/assets/web-panel/assets/{collapseMotion-DfnRZex1.js → collapseMotion-mxzzcDsg.js} +1 -1
- package/src/assets/web-panel/assets/{colors-dUAGx-eS.js → colors-DtTNo0sH.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-X13u92RU.js → compact-item-D0q0exuS.js} +1 -1
- package/src/assets/web-panel/assets/createContext-D7pLFs2I.js +1 -0
- package/src/assets/web-panel/assets/{debounce-D9xTw4Sx.js → debounce-CFGTTtN3.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-BDK34w0I.js +1 -0
- package/src/assets/web-panel/assets/echarts-jxgIOFUZ.js +25 -0
- package/src/assets/web-panel/assets/{hasIn-DGFXWm7Y.js → hasIn-CXjG5B2j.js} +1 -1
- package/src/assets/web-panel/assets/{icons--SBOhPAi.js → icons-DP3uiYxy.js} +4 -4
- package/src/assets/web-panel/assets/{index-Deh_HoQ3.js → index-1dwtkcJv.js} +2 -2
- package/src/assets/web-panel/assets/index-4mWZhCzz.js +1 -0
- package/src/assets/web-panel/assets/index-6np5ESBM.js +1 -0
- package/src/assets/web-panel/assets/{index-Bewc5jaO.js → index-8jxbZupG.js} +1 -1
- package/src/assets/web-panel/assets/{index-DW1GR68q.js → index-B3y_4OdG.js} +1 -1
- package/src/assets/web-panel/assets/index-B4dPdrvC.js +1 -0
- package/src/assets/web-panel/assets/index-B6SaRuCI.js +1 -0
- package/src/assets/web-panel/assets/index-B9ekWb3I.js +1 -0
- package/src/assets/web-panel/assets/index-BJUf19Wd.js +73 -0
- package/src/assets/web-panel/assets/index-BO644Q4S.js +21 -0
- package/src/assets/web-panel/assets/index-BPXhU-jp.js +7 -0
- package/src/assets/web-panel/assets/index-BU944DeT.js +31 -0
- package/src/assets/web-panel/assets/index-B_hjkMtX.js +3 -0
- package/src/assets/web-panel/assets/index-BdhEYW2a.js +1 -0
- package/src/assets/web-panel/assets/{index-DBfn83eM.js → index-BgmvrPJH.js} +1 -1
- package/src/assets/web-panel/assets/index-BgyrM0UN.js +19 -0
- package/src/assets/web-panel/assets/{index-Cq-fdWWC.js → index-BnLrbXDA.js} +1 -1
- package/src/assets/web-panel/assets/{index-C54Ydkuz.js → index-BqVjUN8b.js} +4 -4
- package/src/assets/web-panel/assets/index-BzCPx1cq.js +21 -0
- package/src/assets/web-panel/assets/index-CFsPe2N7.js +3 -0
- package/src/assets/web-panel/assets/{index-C14mc-46.js → index-CKrbutAQ.js} +1 -1
- package/src/assets/web-panel/assets/index-CSdhC7Qo.js +1 -0
- package/src/assets/web-panel/assets/{index-BqX3jeij.js → index-Cbqu804A.js} +1 -1
- package/src/assets/web-panel/assets/{index-CvlrcZKy.js → index-CkGFqlYX.js} +4 -4
- package/src/assets/web-panel/assets/{index-CfX1DEtk.css → index-Cq93VfoF.css} +1 -1
- package/src/assets/web-panel/assets/index-Ct6xtKkc.js +1 -0
- package/src/assets/web-panel/assets/index-DY6KLlgG.js +1 -0
- package/src/assets/web-panel/assets/index-D_4WcI1V.js +13 -0
- package/src/assets/web-panel/assets/{index-Ced-t9AY.js → index-DjCawXk1.js} +3 -3
- package/src/assets/web-panel/assets/index-Dr45Nm9V.js +55 -0
- package/src/assets/web-panel/assets/index-EaIfumgW.js +1 -0
- package/src/assets/web-panel/assets/index-POaFzYGS.js +1 -0
- package/src/assets/web-panel/assets/index-TrBGgrwG.js +1 -0
- package/src/assets/web-panel/assets/{index-DrH9uW99.js → index-YWOEx3rP.js} +2 -2
- package/src/assets/web-panel/assets/{index-DZMiVgXE.js → index-_3wPBMKt.js} +1 -1
- package/src/assets/web-panel/assets/{index-CBnkvGxd.js → index-aarO4HT9.js} +1 -1
- package/src/assets/web-panel/assets/index-bVJvqDAz.js +1 -0
- package/src/assets/web-panel/assets/{index-BipKV1Yr.js → index-gFLQe31v.js} +2 -2
- package/src/assets/web-panel/assets/index-kvV0f4tV.js +12 -0
- package/src/assets/web-panel/assets/index-qoB3whR9.js +12 -0
- package/src/assets/web-panel/assets/{initDefaultProps-B8zdOlFC.js → initDefaultProps-BnXISaAa.js} +1 -1
- package/src/assets/web-panel/assets/{isPlainObject-_gz-soRW.js → isPlainObject-BWRMT62c.js} +1 -1
- package/src/assets/web-panel/assets/isSymbol-S5WZT7lS.js +1 -0
- package/src/assets/web-panel/assets/motion-ChY7C0zJ.js +11 -0
- package/src/assets/web-panel/assets/{move-BioqdqDn.js → move-ByFZMFM5.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-Cc3pB9Xm.js → mtc-parser-BbAbUB-9.js} +1 -1
- package/src/assets/web-panel/assets/{omit-C1hn14Vc.js → omit-BYeliY1H.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-DgVG8oMj.js → pickAttrs-B9dcAKnu.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-cJY6hoXZ.js → placementArrow-D3F_txz7.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-DbUdURRx.js → responsiveObserve-ClkwY7wS.js} +1 -1
- package/src/assets/web-panel/assets/{slide-C2OEWnC4.js → slide-BNgy2Eea.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-DghgcGqm.js → statusUtils-Bv3heMCD.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-GoQ7uwU1.js → styleChecker-DVdlHbQm.js} +1 -1
- package/src/assets/web-panel/assets/useFlexGapSupport-alrRY5BK.js +1 -0
- package/src/assets/web-panel/assets/{useFs-CZCJDMup.js → useFs-CcVh0-Vu.js} +1 -1
- package/src/assets/web-panel/assets/{useMergedState-WwedrFR0.js → useMergedState-Cl2q1fes.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-BjAS9b7w.js → usePersonalDataHub-CkkHPhyq.js} +1 -1
- package/src/assets/web-panel/assets/{useRefs-Cdq8EWeF.js → useRefs-DD9q4mOT.js} +1 -1
- package/src/assets/web-panel/assets/{useState-DGS1NOyn.js → useState-BK4hy8Ma.js} +1 -1
- package/src/assets/web-panel/assets/vendor-BvqAck49.js +42 -0
- package/src/assets/web-panel/assets/vnode-DWi0X9WN.js +1 -0
- package/src/assets/web-panel/assets/{zoom-CzyiNxpd.js → zoom-DCbqxxLH.js} +1 -1
- package/src/assets/web-panel/index.html +4 -4
- package/src/commands/agent.js +306 -1
- package/src/commands/ask.js +35 -1
- package/src/commands/checkpoint.js +239 -0
- package/src/commands/cost.js +114 -0
- package/src/commands/session.js +22 -2
- package/src/index.js +4 -0
- package/src/lib/file-checkpoint.js +300 -0
- package/src/lib/llm-pricing.js +227 -0
- package/src/lib/personal-data-hub-wiring.js +30 -0
- package/src/lib/recent-session.js +72 -0
- package/src/lib/session-picker.js +68 -0
- package/src/repl/agent-repl.js +58 -2
- package/src/repl/chat-repl.js +16 -1
- package/src/runtime/agent-core.js +68 -31
- package/src/runtime/fallback-model.js +109 -0
- package/src/runtime/file-ref-expander.js +258 -0
- package/src/runtime/headless-runner.js +576 -0
- package/src/runtime/headless-stream.js +302 -0
- package/src/runtime/policies/agent-policy.js +6 -0
- package/src/runtime/quiet-stdout.js +35 -0
- package/src/runtime/system-prompt.js +60 -0
- package/src/assets/web-panel/assets/AIOps-BWWsdf3s.js +0 -1
- package/src/assets/web-panel/assets/AIOps-Cchx1iXI.css +0 -1
- package/src/assets/web-panel/assets/Analytics-C1-TXmTC.css +0 -1
- package/src/assets/web-panel/assets/Analytics-CU1ellhG.js +0 -3
- package/src/assets/web-panel/assets/AppLayout-9pWRQa_t.css +0 -1
- package/src/assets/web-panel/assets/AppLayout-cXY-mRTd.js +0 -3
- package/src/assets/web-panel/assets/Audit-6ZMsXmrO.css +0 -1
- package/src/assets/web-panel/assets/Audit-CtQuC6zy.js +0 -1
- package/src/assets/web-panel/assets/Backup-CY9QozR7.css +0 -1
- package/src/assets/web-panel/assets/Backup-WeATa8CV.js +0 -1
- package/src/assets/web-panel/assets/BaseInput-BCu2Cejw.js +0 -1
- package/src/assets/web-panel/assets/Chat-Bj0XPlH8.js +0 -7
- package/src/assets/web-panel/assets/Chat-IlrLB9ZV.css +0 -1
- package/src/assets/web-panel/assets/ChatBubbleRenderer-Bpp2sN9W.js +0 -1
- package/src/assets/web-panel/assets/ChatBubbleRenderer-CO908iBt.css +0 -1
- package/src/assets/web-panel/assets/Codegen-BLP7id2a.css +0 -1
- package/src/assets/web-panel/assets/Codegen-PeBhNei5.js +0 -1
- package/src/assets/web-panel/assets/Community-BvaB_Wcs.js +0 -1
- package/src/assets/web-panel/assets/Community-C2RejeOY.css +0 -1
- package/src/assets/web-panel/assets/Compliance-DOys4Ov1.css +0 -1
- package/src/assets/web-panel/assets/Compliance-DjquEqsU.js +0 -1
- package/src/assets/web-panel/assets/Cowork-Bv6Tm40_.js +0 -6
- package/src/assets/web-panel/assets/Cowork-DsOst4XK.css +0 -1
- package/src/assets/web-panel/assets/Cron-D9fPIXV8.js +0 -2
- package/src/assets/web-panel/assets/Crosschain-C0WilDBF.js +0 -1
- package/src/assets/web-panel/assets/Crosschain-C7Le4Pte.css +0 -1
- package/src/assets/web-panel/assets/DID-BX6k3jZi.css +0 -1
- package/src/assets/web-panel/assets/DID-CiGeAI1K.js +0 -2
- package/src/assets/web-panel/assets/Dashboard-MFDcsVcM.css +0 -1
- package/src/assets/web-panel/assets/Dashboard-zqQuizB8.js +0 -3
- package/src/assets/web-panel/assets/Dropdown-_Mjb8yOR.js +0 -1
- package/src/assets/web-panel/assets/EmailListRenderer-C369EVhV.js +0 -1
- package/src/assets/web-panel/assets/EmailListRenderer-CVJ1j3Ll.css +0 -1
- package/src/assets/web-panel/assets/FamilyGuardDashboard-D8WsrCmn.js +0 -1
- package/src/assets/web-panel/assets/FamilyGuardDashboard-Df-D09Q4.css +0 -1
- package/src/assets/web-panel/assets/Federation-CgmfLbx1.css +0 -1
- package/src/assets/web-panel/assets/Federation-Dq7CrAzj.js +0 -1
- package/src/assets/web-panel/assets/FormItemContext-C7TvuLVK.js +0 -1
- package/src/assets/web-panel/assets/GenericCardRenderer-BJUR1Emh.js +0 -1
- package/src/assets/web-panel/assets/GenericCardRenderer-DtJFcJYl.css +0 -1
- package/src/assets/web-panel/assets/Git-B5MdAp15.js +0 -2
- package/src/assets/web-panel/assets/Governance-BIbPWlSM.js +0 -1
- package/src/assets/web-panel/assets/Governance-BoipmXaM.css +0 -1
- package/src/assets/web-panel/assets/Inference-BWxYJF9-.css +0 -1
- package/src/assets/web-panel/assets/Inference-vOz9J05E.js +0 -1
- package/src/assets/web-panel/assets/KnowledgeGraph-B_vUO-Td.js +0 -1
- package/src/assets/web-panel/assets/KnowledgeGraph-CztPDA96.css +0 -1
- package/src/assets/web-panel/assets/Logs-BwPfxX3p.js +0 -2
- package/src/assets/web-panel/assets/Logs-Gf_Mv9Nx.css +0 -1
- package/src/assets/web-panel/assets/Marketplace-Djp5q9dS.css +0 -1
- package/src/assets/web-panel/assets/Marketplace-T5HNwUjX.js +0 -1
- package/src/assets/web-panel/assets/McpTools-CDjHmzxH.css +0 -1
- package/src/assets/web-panel/assets/McpTools-CuKeBPxy.js +0 -5
- package/src/assets/web-panel/assets/Memory-Bcc2hxOA.css +0 -1
- package/src/assets/web-panel/assets/Memory-DmRW_sTE.js +0 -2
- package/src/assets/web-panel/assets/MobileBridge-DK2N_MJA.js +0 -3
- package/src/assets/web-panel/assets/MobileBridge-DwxX55b_.css +0 -1
- package/src/assets/web-panel/assets/MobileProjects-Ceaxrqzc.css +0 -1
- package/src/assets/web-panel/assets/MobileProjects-wl3bXCnJ.js +0 -1
- package/src/assets/web-panel/assets/Mtc-C8e0941i.js +0 -6
- package/src/assets/web-panel/assets/Mtc-DHwbdUqA.css +0 -1
- package/src/assets/web-panel/assets/MtcAudit-B0x8gahq.css +0 -1
- package/src/assets/web-panel/assets/MtcAudit-Cwigy2IR.js +0 -19
- package/src/assets/web-panel/assets/Multisig-BSfh_ncy.js +0 -7
- package/src/assets/web-panel/assets/Multisig-kwPDnXnl.css +0 -1
- package/src/assets/web-panel/assets/NLProgramming-BwzJAfJg.js +0 -1
- package/src/assets/web-panel/assets/NLProgramming-CLOvy-35.css +0 -1
- package/src/assets/web-panel/assets/Notes-COE2q2gD.css +0 -1
- package/src/assets/web-panel/assets/Notes-uilHH6hE.js +0 -7
- package/src/assets/web-panel/assets/NotificationSettings-Co0e0uEO.css +0 -1
- package/src/assets/web-panel/assets/NotificationSettings-DvM3DTPW.js +0 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-BIEm3hZl.js +0 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-BnOISpKI.css +0 -1
- package/src/assets/web-panel/assets/Organization-BX-cIO8M.css +0 -1
- package/src/assets/web-panel/assets/Organization-zxWoIwYM.js +0 -4
- package/src/assets/web-panel/assets/P2P-BsbToYKZ.js +0 -2
- package/src/assets/web-panel/assets/P2P-Cx88UaiD.css +0 -1
- package/src/assets/web-panel/assets/PdhVaultBrowser-B9ZGFpn4.css +0 -1
- package/src/assets/web-panel/assets/PdhVaultBrowser-VU8vfhsS.js +0 -7
- package/src/assets/web-panel/assets/Permissions-C10Sd26B.js +0 -4
- package/src/assets/web-panel/assets/Permissions-C9WlkGl-.css +0 -1
- package/src/assets/web-panel/assets/PersonalDataHub-Bz5u9Gth.css +0 -1
- package/src/assets/web-panel/assets/PersonalDataHub-edJB7VeU.js +0 -2
- package/src/assets/web-panel/assets/Pipeline-DxkXqrH2.css +0 -1
- package/src/assets/web-panel/assets/Pipeline-qNmVxn5A.js +0 -1
- package/src/assets/web-panel/assets/Privacy-CrsfSFKd.css +0 -1
- package/src/assets/web-panel/assets/Privacy-h78XF7eO.js +0 -1
- package/src/assets/web-panel/assets/ProjectInit-C9-vm1no.js +0 -2
- package/src/assets/web-panel/assets/ProjectInit-CteEo-wF.css +0 -1
- package/src/assets/web-panel/assets/ProjectSettings-DpDNsQTb.js +0 -2
- package/src/assets/web-panel/assets/ProjectSettings-pLSae-wy.css +0 -1
- package/src/assets/web-panel/assets/Projects-BX-SG9R4.css +0 -1
- package/src/assets/web-panel/assets/Projects-CwU3W4RD.js +0 -1
- package/src/assets/web-panel/assets/Providers-BNI-WkmA.css +0 -1
- package/src/assets/web-panel/assets/Providers-C3KZlUEI.js +0 -1
- package/src/assets/web-panel/assets/QuickAsk-CILvLGze.js +0 -1
- package/src/assets/web-panel/assets/Recommend-CH6wKzGo.css +0 -1
- package/src/assets/web-panel/assets/Recommend-XfFlk3BY.js +0 -1
- package/src/assets/web-panel/assets/Reputation-BqmWvaMD.js +0 -1
- package/src/assets/web-panel/assets/Reputation-D6VPNEd0.css +0 -1
- package/src/assets/web-panel/assets/Row-BEbjCI_X.js +0 -1
- package/src/assets/web-panel/assets/RssFeed-BlFC20eg.css +0 -1
- package/src/assets/web-panel/assets/RssFeed-CFukIl-a.js +0 -3
- package/src/assets/web-panel/assets/Search-B6RalzTB.css +0 -1
- package/src/assets/web-panel/assets/Search-dVPkf1o2.js +0 -1
- package/src/assets/web-panel/assets/Security-13K57V_v.css +0 -1
- package/src/assets/web-panel/assets/Security-DlRFaUrn.js +0 -4
- package/src/assets/web-panel/assets/Services-C8Qs6KXv.css +0 -1
- package/src/assets/web-panel/assets/Services-DKy7AjpA.js +0 -2
- package/src/assets/web-panel/assets/Skills-BEqnpg2j.js +0 -1
- package/src/assets/web-panel/assets/Skills-BdjRyorN.css +0 -1
- package/src/assets/web-panel/assets/Sla-CZ9_lzPI.js +0 -1
- package/src/assets/web-panel/assets/Sla-K19oOyQc.css +0 -1
- package/src/assets/web-panel/assets/SpeechSettings-DVSY_ehZ.js +0 -1
- package/src/assets/web-panel/assets/SpeechSettings-DYPJTDKz.css +0 -1
- package/src/assets/web-panel/assets/SyncSettings-C6cDrwDR.css +0 -1
- package/src/assets/web-panel/assets/SyncSettings-DgvsRpGt.js +0 -1
- package/src/assets/web-panel/assets/Tasks-BJjN_YEm.css +0 -1
- package/src/assets/web-panel/assets/Tasks-L5qXKsxK.js +0 -1
- package/src/assets/web-panel/assets/Templates-BWTV8-2E.css +0 -1
- package/src/assets/web-panel/assets/Templates-DR4VBx7q.js +0 -1
- package/src/assets/web-panel/assets/Tenant-D3zkSAV0.css +0 -1
- package/src/assets/web-panel/assets/Tenant-jMyaK184.js +0 -1
- package/src/assets/web-panel/assets/Terminal-DA5gjCiE.js +0 -3
- package/src/assets/web-panel/assets/Terminal-G1DrFtKr.css +0 -1
- package/src/assets/web-panel/assets/TimelineRenderer-BM17JHyr.js +0 -1
- package/src/assets/web-panel/assets/TimelineRenderer-DmztdsbF.css +0 -1
- package/src/assets/web-panel/assets/Tokens-BBOdNRHQ.css +0 -1
- package/src/assets/web-panel/assets/Tokens-CCJIrnhi.js +0 -1
- package/src/assets/web-panel/assets/Trust-BHeJEfNG.js +0 -1
- package/src/assets/web-panel/assets/Trust-DeOo0xAh.css +0 -1
- package/src/assets/web-panel/assets/UkeySign-DjcIVRk4.js +0 -1
- package/src/assets/web-panel/assets/VideoEditing-BPhptg3q.js +0 -1
- package/src/assets/web-panel/assets/VideoEditing-DksiizfS.css +0 -1
- package/src/assets/web-panel/assets/Wallet-D_xDgfaz.js +0 -4
- package/src/assets/web-panel/assets/Wallet-gR0ZvZbK.css +0 -1
- package/src/assets/web-panel/assets/WebAuthn-SSh5VhVO.css +0 -1
- package/src/assets/web-panel/assets/WebAuthn-pd961lgM.js +0 -5
- package/src/assets/web-panel/assets/WorkflowEditor-BmXDUZ8M.js +0 -1
- package/src/assets/web-panel/assets/WorkflowEditor-IiwsD8Kh.css +0 -1
- package/src/assets/web-panel/assets/createContext-BBLoTzN8.js +0 -1
- package/src/assets/web-panel/assets/devWarning-CNIS3FrJ.js +0 -1
- package/src/assets/web-panel/assets/echarts-Dj_pBaVI.js +0 -19
- package/src/assets/web-panel/assets/favicon-FSU2gSy6.ico +0 -0
- package/src/assets/web-panel/assets/index-1xUFGcnI.js +0 -21
- package/src/assets/web-panel/assets/index-4BeUpRaU.js +0 -1
- package/src/assets/web-panel/assets/index-AVHrO1io.js +0 -21
- package/src/assets/web-panel/assets/index-B2fc2n_u.js +0 -3
- package/src/assets/web-panel/assets/index-B5aXiiOG.js +0 -1
- package/src/assets/web-panel/assets/index-B78VsLFL.js +0 -1
- package/src/assets/web-panel/assets/index-BECv44dY.js +0 -12
- package/src/assets/web-panel/assets/index-BGn5-2TK.js +0 -1
- package/src/assets/web-panel/assets/index-BM9IHnrf.js +0 -13
- package/src/assets/web-panel/assets/index-BlMshk9V.js +0 -1
- package/src/assets/web-panel/assets/index-BoWoWh9f.js +0 -19
- package/src/assets/web-panel/assets/index-Bt79ud6Y.js +0 -1
- package/src/assets/web-panel/assets/index-CO9Tt0Bo.js +0 -1
- package/src/assets/web-panel/assets/index-CSZvB2uy.js +0 -12
- package/src/assets/web-panel/assets/index-CjeazYU2.js +0 -1
- package/src/assets/web-panel/assets/index-Cw-TEBru.js +0 -1
- package/src/assets/web-panel/assets/index-CyObfnlZ.js +0 -3
- package/src/assets/web-panel/assets/index-D0d2TS5o.js +0 -69
- package/src/assets/web-panel/assets/index-DV3zNhRX.js +0 -1
- package/src/assets/web-panel/assets/index-DnHElN_A.js +0 -7
- package/src/assets/web-panel/assets/index-DspW4reY.js +0 -55
- package/src/assets/web-panel/assets/index-DxUFdvJ5.js +0 -1
- package/src/assets/web-panel/assets/index-La4F-U-s.js +0 -1
- package/src/assets/web-panel/assets/index-azbNWBMo.js +0 -1
- package/src/assets/web-panel/assets/index-squRDiXd.js +0 -31
- package/src/assets/web-panel/assets/isSymbol-DAy2hlR5.js +0 -1
- package/src/assets/web-panel/assets/motion-ChVLXdRp.js +0 -11
- package/src/assets/web-panel/assets/useFlexGapSupport-CzD0s7wN.js +0 -1
- package/src/assets/web-panel/assets/vendor-DhFY8mDK.js +0 -1
- package/src/assets/web-panel/assets/vnode-CnXQ7gJ2.js +0 -1
- package/src/assets/web-panel/assets/warning-Pq00owYb.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{I as d,P as u,S as b,K as a,c as l,Q as v,_ as pe,R as s,U as w,V as p,a0 as ye,r as c,w as ee,b as B,J as F,o as te}from"./vendor-BvqAck49.js";import{_ as de,u as E,b as ae,d as k}from"./index-BJUf19Wd.js";import{p as le}from"./mtc-parser-BbAbUB-9.js";import{d as ge,f as _e,r as se,a4 as ve,K as be,w as he,as as ke,R as we}from"./icons-DP3uiYxy.js";import"./community-parser-CO25nZFt.js";function Q(t){if(!t)return null;const n=t.trim();try{return JSON.parse(n)}catch{const o=n.match(/(\[[\s\S]*\]|\{[\s\S]*\})/);if(!o)return null;try{return JSON.parse(o[1])}catch{return null}}}function q(t,n=0){if(!t||typeof t!="object")return null;const o=t.did||t.id||"";if(!o)return null;const e=t.displayName??t.display_name??t.name??"",I=t.isDefault===!0||t.is_default===1||t.is_default===!0||t.default===!0,g=t.publicKey??t.public_key??"",f=t.createdAt??t.created_at??t.created??"",y=(o.split(":")[1]||"chainless").trim();return{key:o,did:o,displayName:e||"",publicKey:g||"",isDefault:!!I,createdAt:f||"",method:y,raw:t.document?t:null,_idx:n}}function ne(t){const n=Q(t);return Array.isArray(n)?n.map(q).filter(Boolean):n&&Array.isArray(n.identities)?n.identities.map(q).filter(Boolean):De(t||"")}function De(t){const n=(t||"").split(`
|
|
2
|
+
`),o=[];let e=null;for(const I of n){const g=I.trim();if(!g||g.startsWith("─")||g.startsWith("="))continue;const f=g.match(/(did:[a-z0-9]+:[A-Za-z0-9_-]+)/);if(f&&/^did:/.test(g)){e&&o.push(e);const y=f[1],_=g.match(/\(([^)]+)\)/),x=/\[default\]|默认|\*/.test(g);e={key:y,did:y,displayName:_?_[1]:"",publicKey:"",isDefault:x,createdAt:"",method:(y.split(":")[1]||"chainless").trim(),raw:null,_idx:o.length};continue}if(e){const y=g.match(/created\s*[::]\s*(.+)$/i);y&&(e.createdAt=y[1].trim())}}return e&&o.push(e),o}function ie(t){const n=Q(t);if(!n||typeof n!="object"||Array.isArray(n))return null;const o=q(n);return o?(o.document=n.document||null,o):null}function oe(t){const n=Q(t);if(n&&typeof n=="object"&&n.signature)return{did:n.did||"",message:n.message||"",signature:String(n.signature)};const e=(t||"").match(/Signature[::]\s*([a-f0-9]+)/i);return e?{did:"",message:"",signature:e[1]}:null}const Se={__name:"MtcVerifyDrawer",props:{open:{type:Boolean,default:!1},title:{type:String,default:"MTC 包含证明"},defaultEnvelopePath:{type:String,default:""},defaultLandmarkPath:{type:String,default:""},hint:{type:String,default:""}},emits:["update:open"],setup(t,{expose:n}){n();const o=t,e=E(),I=c(o.defaultEnvelopePath),g=c(o.defaultLandmarkPath),f=c(!1),y=c(null),_=c(""),x=B(()=>o.hint||"通过 cc serve 运行 cc mtc verify(多算法 dispatcher 同时支持 Ed25519 和 SLH-DSA-128F)。文件路径应指向本机磁盘上的 envelope 和 landmark JSON — 浏览器只把路径转给 cc serve,不上传文件内容。");ee(()=>o.open,D=>{D&&(I.value=o.defaultEnvelopePath||I.value,g.value=o.defaultLandmarkPath||g.value,y.value=null,_.value="")});async function O(){f.value=!0,y.value=null,_.value="";try{const D=I.value.trim().replace(/"/g,'\\"'),C=g.value.trim().replace(/"/g,'\\"'),{output:N}=await e.execute(`mtc verify "${D}" --landmark "${C}" --json`,12e3),A=le(N);if(!A.raw){_.value="验证命令未返回 JSON。请检查路径是否正确。";return}y.value=A}catch(D){_.value=`验证失败: ${D?.message||D}`}finally{f.value=!1}}const M={props:o,ws:e,envelopePath:I,landmarkPath:g,verifying:f,result:y,error:_,hintMessage:x,runVerify:O,ref:c,computed:B,watch:ee,get SafetyOutlined(){return se},get CheckCircleOutlined(){return _e},get CloseCircleOutlined(){return ge},get useWsStore(){return E},get parseVerifyResult(){return le}};return Object.defineProperty(M,"__isScriptSetup",{enumerable:!1,value:!0}),M}},xe={style:{"margin-left":"8px"}},Ce={class:"mono"},Ie={class:"mono"},Oe={class:"mono"},Me={class:"raw-pre"};function ze(t,n,o,e,I,g){const f=d("a-alert"),y=d("a-input"),_=d("a-form-item"),x=d("a-button"),O=d("a-form"),M=d("a-divider"),D=d("a-tag"),C=d("a-descriptions-item"),N=d("a-descriptions"),A=d("a-collapse-panel"),P=d("a-collapse"),T=d("a-card"),V=d("a-drawer");return u(),b(V,{open:o.open,title:o.title,width:560,placement:"right","onUpdate:open":n[2]||(n[2]=z=>t.$emit("update:open",z))},{default:a(()=>[l(f,{type:"info","show-icon":"",message:e.hintMessage,style:{"margin-bottom":"16px"}},null,8,["message"]),l(O,{layout:"vertical"},{default:a(()=>[l(_,{label:"Envelope 文件路径"},{default:a(()=>[l(y,{value:e.envelopePath,"onUpdate:value":n[0]||(n[0]=z=>e.envelopePath=z),placeholder:"e.g. ./mtc-out/envelope-000000.json","allow-clear":""},null,8,["value"])]),_:1}),l(_,{label:"Landmark 文件路径"},{default:a(()=>[l(y,{value:e.landmarkPath,"onUpdate:value":n[1]||(n[1]=z=>e.landmarkPath=z),placeholder:"e.g. ./mtc-out/landmark.json","allow-clear":""},null,8,["value"])]),_:1}),l(_,null,{default:a(()=>[l(x,{type:"primary",loading:e.verifying,disabled:!e.envelopePath||!e.landmarkPath,onClick:e.runVerify},{icon:a(()=>[l(e.SafetyOutlined)]),default:a(()=>[n[3]||(n[3]=v(" 运行 cc mtc verify ",-1))]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),l(M),e.result?(u(),b(T,{key:0,class:pe(["result-card",e.result.ok?"pass":"fail"]),size:"small"},{title:a(()=>[(u(),b(ye(e.result.ok?e.CheckCircleOutlined:e.CloseCircleOutlined))),w("span",xe,s(e.result.ok?"验证通过":"验证失败"),1)]),default:a(()=>[l(N,{column:1,size:"small",bordered:""},{default:a(()=>[l(C,{label:"结果"},{default:a(()=>[l(D,{color:e.result.ok?"green":"red"},{default:a(()=>[v(s(e.result.ok?"PASS":"FAIL"),1)]),_:1},8,["color"])]),_:1}),!e.result.ok&&e.result.code?(u(),b(C,{key:0,label:"错误码"},{default:a(()=>[w("span",Ce,s(e.result.code),1),e.result.recoverable?(u(),b(D,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:a(()=>[...n[4]||(n[4]=[v("可恢复",-1)])]),_:1})):p("v-if",!0)]),_:1})):p("v-if",!0),e.result.leaf?.subject?(u(),b(C,{key:1,label:"Subject"},{default:a(()=>[w("span",Ie,s(e.result.leaf.subject),1)]),_:1})):p("v-if",!0),e.result.leaf?.kind?(u(),b(C,{key:2,label:"Kind"},{default:a(()=>[l(D,null,{default:a(()=>[v(s(e.result.leaf.kind),1)]),_:1})]),_:1})):p("v-if",!0),e.result.treeHead?.tree_size?(u(),b(C,{key:3,label:"Tree size"},{default:a(()=>[v(s(e.result.treeHead.tree_size),1)]),_:1})):p("v-if",!0),e.result.treeHead?.issuer?(u(),b(C,{key:4,label:"Issuer"},{default:a(()=>[w("span",Oe,s(e.result.treeHead.issuer),1)]),_:1})):p("v-if",!0)]),_:1}),e.result.raw?(u(),b(P,{key:0,ghost:"",style:{"margin-top":"12px"}},{default:a(()=>[l(A,{key:"raw",header:"原始 JSON 输出"},{default:a(()=>[w("pre",Me,s(JSON.stringify(e.result.raw,null,2)),1)]),_:1})]),_:1})):p("v-if",!0)]),_:1},8,["class"])):p("v-if",!0),e.error?(u(),b(f,{key:1,type:"error",message:e.error,style:{"margin-top":"12px"}},null,8,["message"])):p("v-if",!0)]),_:1},8,["open","title"])}const Ne=de(Se,[["render",ze],["__scopeId","data-v-6952fe8b"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/components/MtcVerifyDrawer.vue"]]),Ae={__name:"DID",setup(t,{expose:n}){n();const o=E(),{t:e}=ae(),I=c(!1),g=c(!1),f=c(!1),y=c(!1),_=c(""),x=c(""),O=c(!1),M=c([]),D=c(!1),C=c(!1),N=c(!1),A=c(""),P=c(null),T=c(""),V=c(""),z=c(""),K=c(null),U=B(()=>[{title:e("did.cols.did"),key:"did",dataIndex:"did",ellipsis:!0},{title:e("did.cols.name"),key:"displayName",dataIndex:"displayName",width:"160px"},{title:e("did.cols.method"),key:"method",dataIndex:"method",width:"110px"},{title:e("did.cols.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:e("did.cols.default"),key:"isDefault",width:"90px"},{title:e("did.cols.action"),key:"action",width:"280px"}]),J=B(()=>{const i=M.value.find(S=>S.isDefault);if(!i)return e("did.stats.unsetDefault");const r=i.did;return r.length>24?r.slice(0,12)+"..."+r.slice(-8):r}),j=B(()=>{const i=new Set(M.value.map(r=>r.method).filter(Boolean));return i.size===0?e("did.stats.noMethod"):i.size===1?[...i][0]:[...i].join(", ")});async function L(){g.value=!0;try{const{output:i}=await o.execute("did list --json",15e3);M.value=ne(i)}catch(i){k.error(e("did.msg.loadFailed")+": "+i.message),M.value=[]}finally{g.value=!1}}async function H(){f.value=!0;try{const i=A.value.trim(),r=i?`did create --name "${i.replace(/"/g,'\\"')}" --json`:"did create --json",{output:S}=await o.execute(r,2e4);/error|失败/i.test(S)&&!S.includes('"did"')?k.error(e("did.msg.createFailed")+": "+S.slice(0,120)):(k.success(e("did.msg.createSuccess")),D.value=!1,A.value="",await L())}catch(i){k.error(e("did.msg.createFailed")+": "+i.message)}finally{f.value=!1}}async function m(i){_.value=i.did;try{const{output:r,exitCode:S}=await o.execute(`did set-default ${i.did}`,15e3);S!==0||/error|not found|失败/i.test(r)?k.error(e("did.msg.setDefaultFailed")+": "+r.slice(0,120)):(k.success(e("did.msg.setDefaultSuccess")),await L())}catch(r){k.error(e("did.msg.setDefaultFailed")+": "+r.message)}finally{_.value=""}}async function h(i){x.value=i.did;try{const{output:r,exitCode:S}=await o.execute(`did delete ${i.did} --force`,15e3);S!==0||/error|not found|失败/i.test(r)?k.error(e("did.msg.deleteFailed")+": "+r.slice(0,120)):(k.success(e("did.msg.deleteSuccess")),await L())}catch(r){k.error(e("did.msg.deleteFailed")+": "+r.message)}finally{x.value=""}}async function R(i){if(P.value={...i},T.value="",C.value=!0,!i.publicKey)try{const{output:r}=await o.execute(`did show ${i.did} --json`,1e4),S=ie(r);S&&(P.value={...P.value,...S})}catch{}}async function re(i){O.value=!0;try{const{output:r}=await o.execute(`did resolve ${i.did}`,1e4);try{T.value=JSON.stringify(JSON.parse(r.trim()),null,2)}catch{T.value=r.trim()}}catch(r){k.error(e("did.msg.loadDocFailed")+": "+r.message)}finally{O.value=!1}}function ce(i){V.value=i.did,z.value="",K.value=null,N.value=!0}const Z=c(!1),G=c("MTC 包含证明"),X=c("");function Y(i){return i?i.length<=24?i:`${i.slice(0,16)}…${i.slice(-6)}`:""}function ue(i){G.value=`MTC 包含证明 · ${Y(i.did)}`,X.value="验证此 DID 是否在某个 MTC 批次中。请提供该批次的 envelope(其 leaf.subject 应等于此 DID)和 landmark 文件路径。 通常由 cc mtc batch-dids --out <dir> 生成。",Z.value=!0}async function fe(){if(!z.value.trim()){k.warning(e("did.msg.signEmpty"));return}y.value=!0,K.value=null;try{const r=`did sign "${z.value.replace(/"/g,'\\"')}" --did ${V.value} --json`,{output:S,exitCode:me}=await o.execute(r,15e3),W=oe(S);W&&W.signature?(K.value=W,k.success(e("did.msg.signSuccess"))):k.error(e("did.msg.signFailed")+": "+(S||`exit ${me}`).slice(0,120))}catch(i){k.error(e("did.msg.signFailed")+": "+i.message)}finally{y.value=!1}}te(()=>{L()});const $={ws:o,t:e,hasDesktopFeatures:I,loading:g,creating:f,signing:y,settingDefault:_,deleting:x,loadingDocument:O,identities:M,showCreateModal:D,showDetailsModal:C,showSignModal:N,newIdentityName:A,currentIdentity:P,currentDocument:T,signTargetDid:V,signText:z,signResult:K,columns:U,defaultIdentityDisplay:J,methodDisplay:j,loadList:L,createIdentity:H,setDefault:m,deleteIdentity:h,openShow:R,loadDocument:re,openSign:ce,mtcDrawerOpen:Z,mtcDrawerTitle:G,mtcDrawerHint:X,shortDid:Y,openMtcVerify:ue,signMessage:fe,ref:c,computed:B,onMounted:te,get ReloadOutlined(){return we},get PlusOutlined(){return ke},get IdcardOutlined(){return he},get KeyOutlined(){return be},get FileTextOutlined(){return ve},get SafetyOutlined(){return se},get message(){return k},get useI18n(){return ae},get useWsStore(){return E},get parseDidList(){return ne},get parseDidShow(){return ie},get parseSignResult(){return oe},MtcVerifyDrawer:Ne};return Object.defineProperty($,"__isScriptSetup",{enumerable:!1,value:!0}),$}},Pe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Te={class:"page-title"},je={class:"page-sub"},Fe={key:1,style:{"text-align":"center",padding:"60px"}},Ve={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},Ke={key:1,style:{color:"var(--text-primary)"}},Le={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},Re={key:0,style:{"margin-top":"12px"}},Be={style:{"font-family":"monospace",color:"#ccc","word-break":"break-all"}},Je={style:{"font-family":"monospace",color:"#888","font-size":"11px","word-break":"break-all"}},Ue={style:{"margin-top":"16px",display:"flex",gap:"8px","flex-wrap":"wrap"}},Ee={key:0,style:{"margin-top":"16px"}},He={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},We={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"320px",overflow:"auto"}},qe={key:0,style:{"margin-top":"12px"}},Qe={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},Ze={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)"}};function Ge(t,n,o,e,I,g){const f=d("a-button"),y=d("a-space"),_=d("a-statistic"),x=d("a-card"),O=d("a-col"),M=d("a-row"),D=d("a-alert"),C=d("a-spin"),N=d("a-tag"),A=d("a-tooltip"),P=d("a-popconfirm"),T=d("a-empty"),V=d("a-table"),z=d("a-input"),K=d("a-form-item"),U=d("a-form"),J=d("a-modal"),j=d("a-descriptions-item"),L=d("a-descriptions"),H=d("a-textarea");return u(),F("div",null,[w("div",Pe,[w("div",null,[w("h2",Te,s(t.$t("did.title")),1),w("p",je,s(t.$t("did.subtitle")),1)]),l(y,null,{default:a(()=>[l(f,{loading:e.loading,onClick:e.loadList},{icon:a(()=>[l(e.ReloadOutlined)]),default:a(()=>[v(" "+s(t.$t("did.refresh")),1)]),_:1},8,["loading"]),l(f,{type:"primary",onClick:n[0]||(n[0]=m=>e.showCreateModal=!0)},{icon:a(()=>[l(e.PlusOutlined)]),default:a(()=>[v(" "+s(t.$t("did.create")),1)]),_:1})]),_:1})]),l(M,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[l(O,{xs:24,sm:12,lg:6},{default:a(()=>[l(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(_,{title:t.$t("did.stats.count"),value:e.identities.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[l(e.IdcardOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),l(O,{xs:24,sm:12,lg:6},{default:a(()=>[l(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(_,{title:t.$t("did.stats.default"),value:e.defaultIdentityDisplay,"value-style":{color:e.defaultIdentityDisplay!==t.$t("did.stats.unsetDefault")?"#52c41a":"#888",fontSize:"13px",fontFamily:"monospace"}},null,8,["title","value","value-style"])]),_:1})]),_:1}),l(O,{xs:24,sm:12,lg:6},{default:a(()=>[l(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(_,{title:t.$t("did.stats.method"),value:e.methodDisplay,"value-style":{color:"#722ed1",fontSize:"14px"}},null,8,["title","value"])]),_:1})]),_:1}),l(O,{xs:24,sm:12,lg:6},{default:a(()=>[l(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(_,{title:t.$t("did.stats.signable"),value:e.identities.length>0?t.$t("did.stats.yes"):t.$t("did.stats.no"),"value-style":{color:e.identities.length>0?"#52c41a":"#ff4d4f",fontSize:"20px"}},{prefix:a(()=>[l(e.KeyOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),e.hasDesktopFeatures?p("v-if",!0):(u(),b(D,{key:0,message:t.$t("did.webOnly.message"),description:t.$t("did.webOnly.description"),type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}},null,8,["message","description"])),e.loading?(u(),F("div",Fe,[l(C,{size:"large"})])):(u(),b(V,{key:2,columns:e.columns,"data-source":e.identities,pagination:{pageSize:20,showTotal:m=>t.$t("did.table.totalSuffix",{n:m})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"did-row"},{bodyCell:a(({column:m,record:h})=>[m.key==="did"?(u(),F("span",Ve,s(h.did),1)):p("v-if",!0),m.key==="displayName"?(u(),F("span",Ke,s(h.displayName||"-"),1)):p("v-if",!0),m.key==="method"?(u(),b(N,{key:2,color:"blue"},{default:a(()=>[v(s(h.method),1)]),_:2},1024)):p("v-if",!0),m.key==="createdAt"?(u(),F("span",Le,s(h.createdAt||"-"),1)):p("v-if",!0),m.key==="isDefault"?(u(),b(N,{key:4,color:h.isDefault?"green":"default"},{default:a(()=>[v(s(h.isDefault?t.$t("did.table.defaultTag"):"-"),1)]),_:2},1032,["color"])):p("v-if",!0),m.key==="action"?(u(),b(y,{key:5,size:"small"},{default:a(()=>[l(f,{size:"small",type:"link",onClick:R=>e.openShow(h)},{default:a(()=>[v(s(t.$t("did.actions.details")),1)]),_:1},8,["onClick"]),l(f,{size:"small",type:"link",onClick:R=>e.openSign(h)},{default:a(()=>[v(s(t.$t("did.actions.sign")),1)]),_:1},8,["onClick"]),l(A,{title:"MTC 包含证明"},{default:a(()=>[l(f,{size:"small",type:"link",onClick:R=>e.openMtcVerify(h)},{default:a(()=>[l(e.SafetyOutlined)]),_:1},8,["onClick"])]),_:2},1024),h.isDefault?p("v-if",!0):(u(),b(f,{key:0,size:"small",type:"link",loading:e.settingDefault===h.did,onClick:R=>e.setDefault(h)},{default:a(()=>[v(s(t.$t("did.actions.setDefault")),1)]),_:1},8,["loading","onClick"])),l(P,{title:t.$t("did.deleteConfirm.title"),"ok-text":t.$t("did.deleteConfirm.ok"),"ok-type":"danger","cancel-text":t.$t("did.deleteConfirm.cancel"),onConfirm:R=>e.deleteIdentity(h)},{default:a(()=>[l(f,{size:"small",type:"link",danger:"",loading:e.deleting===h.did},{default:a(()=>[v(s(t.$t("did.actions.delete")),1)]),_:1},8,["loading"])]),_:2},1032,["title","ok-text","cancel-text","onConfirm"])]),_:2},1024)):p("v-if",!0)]),emptyText:a(()=>[l(T,{description:t.$t("did.table.empty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),p(" Create Modal "),l(J,{open:e.showCreateModal,"onUpdate:open":n[2]||(n[2]=m=>e.showCreateModal=m),title:t.$t("did.create_modal.title"),"confirm-loading":e.creating,onOk:e.createIdentity,"ok-text":t.$t("did.create_modal.ok"),"cancel-text":t.$t("did.create_modal.cancel")},{default:a(()=>[l(U,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:a(()=>[l(K,{label:t.$t("did.create_modal.nameLabel")},{default:a(()=>[l(z,{value:e.newIdentityName,"onUpdate:value":n[1]||(n[1]=m=>e.newIdentityName=m),placeholder:t.$t("did.create_modal.namePlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),p(" Show Details Modal "),l(J,{open:e.showDetailsModal,"onUpdate:open":n[4]||(n[4]=m=>e.showDetailsModal=m),title:t.$t("did.details.title",{label:e.currentIdentity?.displayName||e.currentIdentity?.did?.slice(0,24)||""}),width:720,footer:null},{default:a(()=>[e.currentIdentity?(u(),F("div",Re,[l(L,{column:1,bordered:"",size:"small"},{default:a(()=>[l(j,{label:t.$t("did.details.did")},{default:a(()=>[w("span",Be,s(e.currentIdentity.did),1)]),_:1},8,["label"]),l(j,{label:t.$t("did.details.name")},{default:a(()=>[v(s(e.currentIdentity.displayName||"-"),1)]),_:1},8,["label"]),l(j,{label:t.$t("did.details.method")},{default:a(()=>[l(N,{color:"blue"},{default:a(()=>[v(s(e.currentIdentity.method),1)]),_:1})]),_:1},8,["label"]),l(j,{label:t.$t("did.details.default")},{default:a(()=>[l(N,{color:e.currentIdentity.isDefault?"green":"default"},{default:a(()=>[v(s(e.currentIdentity.isDefault?t.$t("did.details.yes"):t.$t("did.details.no")),1)]),_:1},8,["color"])]),_:1},8,["label"]),l(j,{label:t.$t("did.details.createdAt")},{default:a(()=>[v(s(e.currentIdentity.createdAt||"-"),1)]),_:1},8,["label"]),l(j,{label:t.$t("did.details.publicKey")},{default:a(()=>[w("span",Je,s(e.currentIdentity.publicKey||t.$t("did.details.publicKeyLoading")),1)]),_:1},8,["label"])]),_:1}),w("div",Ue,[l(f,{loading:e.loadingDocument,onClick:n[3]||(n[3]=m=>e.loadDocument(e.currentIdentity))},{icon:a(()=>[l(e.FileTextOutlined)]),default:a(()=>[v(" "+s(t.$t("did.details.viewDoc")),1)]),_:1},8,["loading"])]),e.currentDocument?(u(),F("div",Ee,[w("p",He,s(t.$t("did.details.docHeader")),1),w("pre",We,s(e.currentDocument),1)])):p("v-if",!0)])):p("v-if",!0)]),_:1},8,["open","title"]),p(" Sign Modal "),l(J,{open:e.showSignModal,"onUpdate:open":n[6]||(n[6]=m=>e.showSignModal=m),title:t.$t("did.sign_modal.title",{label:e.signTargetDid?.slice(0,28)||t.$t("did.sign_modal.defaultIdentityFallback")}),"confirm-loading":e.signing,onOk:e.signMessage,"ok-text":t.$t("did.sign_modal.ok"),"cancel-text":t.$t("did.sign_modal.cancel")},{default:a(()=>[l(U,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:a(()=>[l(K,{label:t.$t("did.sign_modal.messageLabel"),required:""},{default:a(()=>[l(H,{value:e.signText,"onUpdate:value":n[5]||(n[5]=m=>e.signText=m),placeholder:t.$t("did.sign_modal.messagePlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),e.signResult?(u(),F("div",qe,[w("p",Qe,s(t.$t("did.sign_modal.resultHeader")),1),w("pre",Ze,s(e.signResult.signature),1)])):p("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),p(" MTC inclusion proof drawer "),l(e.MtcVerifyDrawer,{open:e.mtcDrawerOpen,"onUpdate:open":n[7]||(n[7]=m=>e.mtcDrawerOpen=m),title:e.mtcDrawerTitle,hint:e.mtcDrawerHint},null,8,["open","title","hint"])])}const at=de(Ae,[["render",Ge],["__scopeId","data-v-553c4536"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/DID.vue"]]);export{at as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mono[data-v-6952fe8b]{font-family:monospace;font-size:12px;word-break:break-all}.result-card.pass[data-v-6952fe8b]{border-color:#b7eb8f}.result-card.fail[data-v-6952fe8b]{border-color:#ffccc7}.raw-pre[data-v-6952fe8b]{margin:0;padding:8px 12px;background:var(--bg-hover);border-radius:4px;font-family:monospace;font-size:11px;line-height:1.5;max-height:320px;overflow:auto}[data-v-553c4536] .did-row:hover td{background:var(--bg-card-hover)!important}[data-v-553c4536] .ant-card-head{border-color:var(--border-color)!important;color:var(--text-primary)!important}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{E as G,r as E,I as k,J as f,U as l,R as a,c as s,K as o,S as z,V as $,N as q,o as U,x as B,b as w,P as m,Q as v,$ as N,F as T,Z as F}from"./vendor-BvqAck49.js";import{u as A,_ as J}from"./index-BJUf19Wd.js";import{u as V}from"./chat-y97W1CIG.js";import{s as W}from"./community-parser-CO25nZFt.js";import{ad as K,ae as Q,a4 as Z,h as X,a7 as Y,ab as x,a9 as ee,af as te,a8 as se,R as oe}from"./icons-DP3uiYxy.js";function ae(e){const n=W(e);if(!n)return null;try{return JSON.parse(n)}catch{}const c=n.match(/\[[\s\S]*\]|\{[\s\S]*\}/);if(!c)return null;try{return JSON.parse(c[0])}catch{return null}}function le(){return{samples:0,compressedSamples:0,hitRate:0,totalSavedTokens:0,averageSavedTokens:0,totalOriginalTokens:0,totalCompressedTokens:0,netSavingsRate:0,variantDistribution:{},strategyDistribution:[],providerDistribution:[],modelDistribution:[]}}const H=G("dashboard",()=>{const e=E(!1),n=E(!1),c=E({wsStatus:"disconnected",activeLlm:null,activeModel:null,skillCount:0,sessionCount:0,providerCount:0,appRunning:!1,setupDone:!1,edition:"",mcpCount:null,noteCount:null}),t=E(""),O=E(le()),h=E({windowPreset:"all",provider:"",model:""});let b=null;function S(i=A()){b||(b=i.onRuntimeEvent(u=>{u.type==="compression:summary"?P(u.payload?.summary||{}):u.type==="session:start"?c.value.sessionCount=(c.value.sessionCount||0)+1:u.type==="session:end"&&(c.value.sessionCount=Math.max(0,(c.value.sessionCount||0)-1))}))}function y(){b&&(b(),b=null)}function P(i){O.value={...O.value,...i||{}}}function d(i){return i==="1h"?3600*1e3:i==="24h"?1440*60*1e3:i==="7d"?10080*60*1e3:null}function _(i){c.value.appRunning=i.includes("Desktop app running"),c.value.setupDone=i.includes("Setup completed");const u=i.match(/Edition:\s+(\S+)/i);u&&(c.value.edition=u[1]);const g=i.match(/LLM:\s+(\S+)\s+\(([^)]+)\)/i);if(g)c.value.activeLlm=g[1],c.value.activeModel=g[2];else{const r=i.match(/LLM:\s+(\S+)/i);r&&(c.value.activeLlm=r[1])}}async function D(){const i=A();S(i),n.value=!0;const u={type:"compression-stats",windowMs:d(h.value.windowPreset)};h.value.provider&&(u.provider=h.value.provider),h.value.model&&(u.model=h.value.model);try{const g=await i.sendRaw(u,1e4);P(g.summary||{})}catch{}finally{n.value=!1}}async function p(){const i=A();S(i),e.value=!0,c.value.wsStatus=i.status,t.value="";try{const[u,g]=await Promise.allSettled([i.execute("status",15e3),i.listSessions()]);if(u.status==="fulfilled"){const r=u.value.output;t.value=r.split(`
|
|
2
|
+
`).slice(0,20).join(`
|
|
3
|
+
`),_(r)}g.status==="fulfilled"&&(c.value.sessionCount=g.value.length),Promise.allSettled([i.execute("skill sources --json",15e3),i.execute("llm providers",15e3)]).then(([r,C])=>{if(r.status==="fulfilled"){const R=ae(r.value.output);Array.isArray(R)&&(c.value.skillCount=R.reduce((j,L)=>j+(typeof L?.count=="number"?L.count:0),0))}if(C.status==="fulfilled"){const j=C.value.output.match(/active[:\s]+(\S+)/i);j&&!c.value.activeLlm&&(c.value.activeLlm=j[1])}}),i.sendRaw({type:"mcp.list_tools"},5e3).then(r=>{const R=(r?.result??r)?.servers;c.value.mcpCount=Array.isArray(R)?R.length:0}).catch(()=>{c.value.mcpCount=0}),await D()}catch{}finally{e.value=!1}}return{loading:e,compressionLoading:n,stats:c,statusLog:t,compression:O,telemetryFilters:h,ensureRuntimeSubscription:S,stopRuntimeSubscription:y,refresh:p,refreshCompression:D,applyCompressionSummary:P,toWindowMs:d}}),re={__name:"Dashboard",setup(e,{expose:n}){n();const c=q(),t=A(),O=V(),h=H(),b=window.__CC_CONFIG__||{},S=w(()=>b.mode==="project"),y="v5.0.3.100",P=w(()=>t.status),d=w(()=>h.loading),_=w(()=>h.statusLog),D=w(()=>h.telemetryFilters),p=w(()=>h.compression),i=w(()=>h.stats),u=w(()=>Object.entries(p.value.variantDistribution||{})),g=w(()=>p.value.providerDistribution||[]),r=w(()=>p.value.modelDistribution||[]);async function C(){await h.refresh()}async function R(){await h.refreshCompression()}function j(I){return`${((I||0)*100).toFixed(1)}%`}async function L(){await O.createSession("agent"),c.push("/chat")}U(()=>{h.ensureRuntimeSubscription(t),setTimeout(C,300)}),B(()=>{h.stopRuntimeSubscription()});const M={router:c,ws:t,chatStore:O,dashboardStore:h,cfg:b,isProject:S,PRODUCT_VERSION:y,wsStatus:P,loading:d,statusLog:_,telemetryFilters:D,compression:p,stats:i,variantEntries:u,providerEntries:g,modelEntries:r,refresh:C,refreshCompression:R,formatPercent:j,newAgentSession:L,computed:w,onMounted:U,onUnmounted:B,get useRouter(){return q},get ReloadOutlined(){return oe},get ApiOutlined(){return se},get RobotOutlined(){return te},get AppstoreOutlined(){return ee},get MessageOutlined(){return x},get FolderOutlined(){return Y},get DesktopOutlined(){return X},get FileTextOutlined(){return Z},get ToolOutlined(){return Q},get SettingOutlined(){return K},get useWsStore(){return A},get useChatStore(){return V},get useDashboardStore(){return H}};return Object.defineProperty(M,"__isScriptSetup",{enumerable:!1,value:!0}),M}},ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"20px"}},ie={class:"page-title"},de={class:"page-sub"},ce={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},ue={style:{color:"#91caff","font-weight":"600"}},me={style:{color:"#4a6fa5","font-size":"11px","font-family":"monospace"}},fe={class:"stat-header"},ve={class:"stat-label"},he={class:"stat-sub"},be={class:"stat-header"},ye={class:"stat-label"},pe={class:"stat-value",style:{color:"#91caff","font-size":"15px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},_e={class:"stat-sub",style:{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},ge={class:"stat-header"},ke={class:"stat-label"},we={class:"stat-value",style:{color:"#1677ff"}},Se={class:"stat-sub"},Ce={class:"stat-header"},Re={class:"stat-label"},Oe={class:"stat-value",style:{color:"#c084fc"}},Pe={class:"stat-sub"},De={class:"stat-header"},je={class:"stat-label"},Ee={class:"stat-sub"},Te={class:"stat-header"},Fe={class:"stat-label"},ze={class:"stat-value",style:{color:"#13c2c2"}},Ae={class:"stat-sub"},Le={class:"stat-header"},$e={class:"stat-label"},Ne={class:"stat-value",style:{color:"#faad14"}},Me={class:"stat-sub"},qe={class:"status-log"},Ue={class:"telemetry-filter"},Be={class:"telemetry-filter-label"},Ve={class:"telemetry-filter"},He={class:"telemetry-filter-label"},Ie={class:"telemetry-filter"},Ge={class:"telemetry-filter-label"},Je={class:"telemetry-card"},We={class:"telemetry-label"},Ke={class:"telemetry-value"},Qe={class:"telemetry-sub"},Ze={class:"telemetry-card"},Xe={class:"telemetry-label"},Ye={class:"telemetry-value"},xe={class:"telemetry-sub"},et={class:"telemetry-card"},tt={class:"telemetry-label"},st={class:"telemetry-value"},ot={class:"telemetry-sub"},at={class:"telemetry-section"},lt={class:"telemetry-section-title"},rt={key:0,class:"telemetry-empty"},nt={key:1,class:"telemetry-list"},it={class:"telemetry-section"},dt={class:"telemetry-section-title"},ct={key:0,class:"telemetry-empty"},ut={key:1,class:"telemetry-list"},mt={class:"telemetry-section"},ft={class:"telemetry-section-title"},vt={key:0,class:"telemetry-empty"},ht={key:1,class:"telemetry-list"},bt={class:"telemetry-section"},yt={class:"telemetry-section-title"},pt={key:0,class:"telemetry-empty"},_t={key:1,class:"telemetry-list"},gt={style:{color:"#91caff"}},kt={style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},wt={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},St={style:{color:"var(--text-muted)"}};function Ct(e,n,c,t,O,h){const b=k("a-button"),S=k("a-tag"),y=k("a-card"),P=k("a-badge"),d=k("a-col"),_=k("a-row"),D=k("a-space"),p=k("a-select-option"),i=k("a-select"),u=k("a-descriptions-item"),g=k("a-descriptions");return m(),f("div",null,[l("div",ne,[l("div",null,[l("h2",ie,a(e.$t("dashboard.title")),1),l("p",de,a(t.isProject?e.$t("dashboard.subProject",{name:t.cfg.projectName||e.$t("dashboard.unnamedProject")}):e.$t("dashboard.subGlobal")),1)]),s(b,{type:"primary",ghost:"",loading:t.loading,onClick:t.refresh},{icon:o(()=>[s(t.ReloadOutlined)]),default:o(()=>[v(" "+a(e.$t("dashboard.refresh")),1)]),_:1},8,["loading"])]),t.isProject?(m(),z(y,{key:0,style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.25)","margin-bottom":"16px"},size:"small"},{default:o(()=>[l("div",ce,[s(t.FolderOutlined,{style:{color:"#1677ff","font-size":"18px"}}),l("div",null,[l("div",ue,a(t.cfg.projectName||e.$t("dashboard.projectBanner.fallbackName")),1),l("div",me,a(t.cfg.projectRoot),1)]),s(S,{color:"blue",style:{"margin-left":"auto"}},{default:o(()=>[v(a(e.$t("dashboard.projectBanner.tag")),1)]),_:1})])]),_:1})):$("v-if",!0),s(_,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:o(()=>[s(d,{xs:24,sm:12,lg:6},{default:o(()=>[s(y,{class:"stat-card gateway-card",size:"small"},{default:o(()=>[l("div",fe,[l("span",ve,a(e.$t("dashboard.stats.wsGateway")),1),s(P,{status:t.wsStatus==="connected"?"success":"error"},null,8,["status"])]),l("div",{class:"stat-value",style:N({color:t.wsStatus==="connected"?"#52c41a":"#888"})},a(t.wsStatus==="connected"?e.$t("dashboard.stats.wsRunning"):e.$t("dashboard.stats.wsDisconnected")),5),l("div",he,a(e.$t("dashboard.stats.wsPortLine",{port:t.cfg.wsPort||18800,host:t.cfg.wsHost||"127.0.0.1"})),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:o(()=>[s(y,{class:"stat-card",size:"small"},{default:o(()=>[l("div",be,[l("span",ye,a(e.$t("dashboard.stats.currentLlm")),1),s(t.RobotOutlined,{style:{color:"#1677ff"}})]),l("div",pe,a(t.stats.activeLlm||e.$t("dashboard.stats.llmUnconfigured")),1),l("div",_e,a(t.stats.activeModel||"—"),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:o(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[0]||(n[0]=r=>e.$router.push("/skills"))},{default:o(()=>[l("div",ge,[l("span",ke,a(e.$t("dashboard.stats.skills")),1),s(t.AppstoreOutlined,{style:{color:"#1677ff"}})]),l("div",we,a(t.stats.skillCount||"—"),1),l("div",Se,a(e.$t("dashboard.stats.skillsHint")),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:o(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[1]||(n[1]=r=>e.$router.push("/chat"))},{default:o(()=>[l("div",Ce,[l("span",Re,a(e.$t("dashboard.stats.sessions")),1),s(t.MessageOutlined,{style:{color:"#722ed1"}})]),l("div",Oe,a(t.stats.sessionCount),1),l("div",Pe,a(e.$t("dashboard.stats.sessionsHint")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:o(()=>[s(d,{xs:24,sm:8},{default:o(()=>[s(y,{class:"stat-card",size:"small"},{default:o(()=>[l("div",De,[l("span",je,a(e.$t("dashboard.stats.appStatus")),1),s(t.DesktopOutlined,{style:N({color:t.stats.appRunning?"#52c41a":"#888"})},null,8,["style"])]),l("div",{class:"stat-value",style:N({color:t.stats.appRunning?"#52c41a":"#888",fontSize:"15px"})},a(t.stats.appRunning?e.$t("dashboard.stats.appRunning"):t.stats.setupDone?e.$t("dashboard.stats.appReady"):e.$t("dashboard.stats.appNotStarted")),5),l("div",Ee,a(e.$t("dashboard.stats.edition",{name:t.stats.edition||"Community"})),1)]),_:1})]),_:1}),s(d,{xs:24,sm:8},{default:o(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[2]||(n[2]=r=>e.$router.push("/mcp"))},{default:o(()=>[l("div",Te,[l("span",Fe,a(e.$t("dashboard.stats.mcp")),1),s(t.ToolOutlined,{style:{color:"#13c2c2"}})]),l("div",ze,a(t.stats.mcpCount??"—"),1),l("div",Ae,a(e.$t("dashboard.stats.mcpHint")),1)]),_:1})]),_:1}),s(d,{xs:24,sm:8},{default:o(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[3]||(n[3]=r=>e.$router.push("/notes"))},{default:o(()=>[l("div",Le,[l("span",$e,a(e.$t("dashboard.stats.notes")),1),s(t.FileTextOutlined,{style:{color:"#faad14"}})]),l("div",Ne,a(t.stats.noteCount??"—"),1),l("div",Me,a(e.$t("dashboard.stats.notesHint")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:[16,16]},{default:o(()=>[s(d,{xs:24,lg:10},{default:o(()=>[s(y,{title:e.$t("dashboard.quick.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)",height:"100%"}},{default:o(()=>[s(D,{direction:"vertical",style:{width:"100%"},size:"middle"},{default:o(()=>[s(b,{type:"primary",block:"",onClick:n[4]||(n[4]=r=>e.$router.push("/chat"))},{icon:o(()=>[s(t.MessageOutlined)]),default:o(()=>[v(" "+a(t.isProject?e.$t("dashboard.quick.enterProjectChat"):e.$t("dashboard.quick.newAiChat")),1)]),_:1}),s(b,{block:"",onClick:t.newAgentSession,style:{background:"rgba(114,46,209,.12)","border-color":"#722ed1",color:"#722ed1"}},{icon:o(()=>[s(t.RobotOutlined)]),default:o(()=>[v(" "+a(e.$t("dashboard.quick.startAgent")),1)]),_:1}),s(_,{gutter:8},{default:o(()=>[s(d,{span:12},{default:o(()=>[s(b,{block:"",onClick:n[5]||(n[5]=r=>e.$router.push("/services")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:o(()=>[s(t.SettingOutlined)]),default:o(()=>[v(" "+a(e.$t("dashboard.quick.services")),1)]),_:1})]),_:1}),s(d,{span:12},{default:o(()=>[s(b,{block:"",onClick:n[6]||(n[6]=r=>e.$router.push("/logs")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:o(()=>[s(t.FileTextOutlined)]),default:o(()=>[v(" "+a(e.$t("dashboard.quick.logs")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:8},{default:o(()=>[s(d,{span:12},{default:o(()=>[s(b,{block:"",onClick:n[7]||(n[7]=r=>e.$router.push("/skills")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:o(()=>[s(t.AppstoreOutlined)]),default:o(()=>[v(" "+a(e.$t("dashboard.quick.skills")),1)]),_:1})]),_:1}),s(d,{span:12},{default:o(()=>[s(b,{block:"",onClick:n[8]||(n[8]=r=>e.$router.push("/providers")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:o(()=>[s(t.ApiOutlined)]),default:o(()=>[v(" "+a(e.$t("dashboard.quick.providers")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"])]),_:1}),s(d,{xs:24,lg:14},{default:o(()=>[s(y,{title:e.$t("dashboard.status.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"},loading:t.loading},{extra:o(()=>[s(b,{type:"link",size:"small",onClick:n[9]||(n[9]=r=>e.$router.push("/logs"))},{default:o(()=>[v(a(e.$t("dashboard.status.more")),1)]),_:1})]),default:o(()=>[l("pre",qe,a(t.statusLog||e.$t("dashboard.status.placeholder")),1)]),_:1},8,["title","loading"])]),_:1})]),_:1}),s(y,{title:e.$t("dashboard.telemetry.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"},loading:t.loading},{default:o(()=>[s(_,{gutter:[12,12],style:{"margin-bottom":"12px"}},{default:o(()=>[s(d,{xs:24,md:8},{default:o(()=>[l("div",Ue,[l("div",Be,a(e.$t("dashboard.telemetry.filterWindow")),1),s(i,{value:t.telemetryFilters.windowPreset,"onUpdate:value":n[10]||(n[10]=r=>t.telemetryFilters.windowPreset=r),style:{width:"100%"},onChange:t.refreshCompression},{default:o(()=>[s(p,{value:"all"},{default:o(()=>[v(a(e.$t("dashboard.telemetry.windowAll")),1)]),_:1}),s(p,{value:"1h"},{default:o(()=>[v(a(e.$t("dashboard.telemetry.window1h")),1)]),_:1}),s(p,{value:"24h"},{default:o(()=>[v(a(e.$t("dashboard.telemetry.window24h")),1)]),_:1}),s(p,{value:"7d"},{default:o(()=>[v(a(e.$t("dashboard.telemetry.window7d")),1)]),_:1})]),_:1},8,["value"])])]),_:1}),s(d,{xs:24,md:8},{default:o(()=>[l("div",Ve,[l("div",He,a(e.$t("dashboard.telemetry.filterProvider")),1),s(i,{value:t.telemetryFilters.provider,"onUpdate:value":n[11]||(n[11]=r=>t.telemetryFilters.provider=r),style:{width:"100%"},onChange:t.refreshCompression},{default:o(()=>[s(p,{value:""},{default:o(()=>[v(a(e.$t("dashboard.telemetry.providerAll")),1)]),_:1}),(m(!0),f(T,null,F(t.providerEntries,r=>(m(),z(p,{key:r.key,value:r.key},{default:o(()=>[v(a(r.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),s(d,{xs:24,md:8},{default:o(()=>[l("div",Ie,[l("div",Ge,a(e.$t("dashboard.telemetry.filterModel")),1),s(i,{value:t.telemetryFilters.model,"onUpdate:value":n[12]||(n[12]=r=>t.telemetryFilters.model=r),style:{width:"100%"},onChange:t.refreshCompression},{default:o(()=>[s(p,{value:""},{default:o(()=>[v(a(e.$t("dashboard.telemetry.modelAll")),1)]),_:1}),(m(!0),f(T,null,F(t.modelEntries,r=>(m(),z(p,{key:r.key,value:r.key},{default:o(()=>[v(a(r.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1})]),_:1}),s(_,{gutter:[12,12]},{default:o(()=>[s(d,{xs:24,sm:8},{default:o(()=>[l("div",Je,[l("div",We,a(e.$t("dashboard.telemetry.hitRate")),1),l("div",Ke,a(t.formatPercent(t.compression.hitRate)),1),l("div",Qe,a(e.$t("dashboard.telemetry.hitRateSub",{compressed:t.compression.compressedSamples,total:t.compression.samples})),1)])]),_:1}),s(d,{xs:24,sm:8},{default:o(()=>[l("div",Ze,[l("div",Xe,a(e.$t("dashboard.telemetry.savedTokens")),1),l("div",Ye,a(t.compression.totalSavedTokens),1),l("div",xe,a(e.$t("dashboard.telemetry.savedTokensSub",{avg:t.compression.averageSavedTokens})),1)])]),_:1}),s(d,{xs:24,sm:8},{default:o(()=>[l("div",et,[l("div",tt,a(e.$t("dashboard.telemetry.netSavingsRate")),1),l("div",st,a(t.formatPercent(t.compression.netSavingsRate)),1),l("div",ot,a(e.$t("dashboard.telemetry.netSavingsRateSub",{original:t.compression.totalOriginalTokens,compressed:t.compression.totalCompressedTokens})),1)])]),_:1})]),_:1}),s(_,{gutter:[16,16],style:{"margin-top":"12px"}},{default:o(()=>[s(d,{xs:24,lg:12},{default:o(()=>[l("div",at,[l("div",lt,a(e.$t("dashboard.telemetry.strategyDistribution")),1),t.compression.strategyDistribution.length===0?(m(),f("div",rt,a(e.$t("dashboard.telemetry.strategyEmpty")),1)):(m(),f("div",nt,[(m(!0),f(T,null,F(t.compression.strategyDistribution.slice(0,6),r=>(m(),f("div",{key:r.strategy,class:"telemetry-row"},[l("span",null,a(r.strategy),1),l("span",null,a(e.$t("dashboard.telemetry.strategyRow",{hits:r.hits,rate:t.formatPercent(r.hitRate)})),1)]))),128))]))])]),_:1}),s(d,{xs:24,lg:12},{default:o(()=>[l("div",it,[l("div",dt,a(e.$t("dashboard.telemetry.variantDistribution")),1),t.variantEntries.length===0?(m(),f("div",ct,a(e.$t("dashboard.telemetry.variantEmpty")),1)):(m(),f("div",ut,[(m(!0),f(T,null,F(t.variantEntries,([r,C])=>(m(),f("div",{key:r,class:"telemetry-row"},[l("span",null,a(r),1),l("span",null,a(e.$t("dashboard.telemetry.variantRow",{count:C})),1)]))),128))]))])]),_:1})]),_:1}),s(_,{gutter:[16,16],style:{"margin-top":"12px"}},{default:o(()=>[s(d,{xs:24,lg:12},{default:o(()=>[l("div",mt,[l("div",ft,a(e.$t("dashboard.telemetry.providerSlice")),1),t.providerEntries.length===0?(m(),f("div",vt,a(e.$t("dashboard.telemetry.providerEmpty")),1)):(m(),f("div",ht,[(m(!0),f(T,null,F(t.providerEntries.slice(0,6),r=>(m(),f("div",{key:r.key,class:"telemetry-row"},[l("span",null,a(r.key),1),l("span",null,a(e.$t("dashboard.telemetry.providerRow",{samples:r.samples,rate:t.formatPercent(r.hitRate)})),1)]))),128))]))])]),_:1}),s(d,{xs:24,lg:12},{default:o(()=>[l("div",bt,[l("div",yt,a(e.$t("dashboard.telemetry.modelSlice")),1),t.modelEntries.length===0?(m(),f("div",pt,a(e.$t("dashboard.telemetry.modelEmpty")),1)):(m(),f("div",_t,[(m(!0),f(T,null,F(t.modelEntries.slice(0,6),r=>(m(),f("div",{key:r.key,class:"telemetry-row"},[l("span",null,a(r.key),1),l("span",null,a(e.$t("dashboard.telemetry.modelRow",{samples:r.samples,saved:r.savedTokens})),1)]))),128))]))])]),_:1})]),_:1})]),_:1},8,["title","loading"]),s(y,{title:e.$t("dashboard.info.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:o(()=>[s(g,{column:{xs:1,sm:2,lg:3},size:"small"},{default:o(()=>[s(u,{label:e.$t("dashboard.info.panelMode")},{default:o(()=>[s(S,{color:t.isProject?"blue":"purple"},{default:o(()=>[v(a(t.isProject?e.$t("dashboard.info.modeProject"):e.$t("dashboard.info.modeGlobal")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t.isProject?(m(),z(u,{key:0,label:e.$t("dashboard.info.projectName")},{default:o(()=>[l("span",gt,a(t.cfg.projectName||"—"),1)]),_:1},8,["label"])):$("v-if",!0),t.isProject?(m(),z(u,{key:1,label:e.$t("dashboard.info.projectPath")},{default:o(()=>[l("span",kt,a(t.cfg.projectRoot),1)]),_:1},8,["label"])):$("v-if",!0),s(u,{label:e.$t("dashboard.info.websocket")},{default:o(()=>[l("span",wt," ws://"+a(t.cfg.wsHost||"127.0.0.1")+":"+a(t.cfg.wsPort||18800),1)]),_:1},8,["label"]),s(u,{label:e.$t("dashboard.info.auth")},{default:o(()=>[s(S,{color:t.cfg.wsToken?"green":"default",style:{"font-size":"11px"}},{default:o(()=>[v(a(t.cfg.wsToken?e.$t("dashboard.info.authEnabled"):e.$t("dashboard.info.authDisabled")),1)]),_:1},8,["color"])]),_:1},8,["label"]),s(u,{label:e.$t("dashboard.info.version")},{default:o(()=>[l("span",St,a(t.PRODUCT_VERSION),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["title"])])}const Et=J(re,[["render",Ct],["__scopeId","data-v-7f773d42"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Dashboard.vue"]]);export{Et as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.stat-card[data-v-7f773d42]{background:var(--bg-card)!important;border-color:var(--border-color)!important;transition:border-color .2s}.stat-card[data-v-7f773d42]:hover{border-color:var(--text-muted)!important}.stat-header[data-v-7f773d42]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.stat-label[data-v-7f773d42]{color:var(--text-secondary);font-size:12px}.stat-value[data-v-7f773d42]{font-size:22px;font-weight:600;line-height:1.2;margin-bottom:4px}.stat-sub[data-v-7f773d42]{color:var(--text-muted);font-size:11px}.gateway-card[data-v-7f773d42]{border-left:3px solid #1677ff!important}.status-log[data-v-7f773d42]{background:var(--bg-base);border:1px solid var(--border-color);border-radius:6px;padding:10px 14px;color:var(--text-secondary);font-size:11px;font-family:Consolas,monospace;max-height:200px;overflow-y:auto;white-space:pre-wrap;margin:0;line-height:1.6}.telemetry-card[data-v-7f773d42]{background:var(--bg-base);border:1px solid var(--border-color);border-radius:8px;padding:14px;height:100%}.telemetry-filter[data-v-7f773d42]{display:flex;flex-direction:column;gap:6px}.telemetry-filter-label[data-v-7f773d42]{color:var(--text-muted);font-size:12px}.telemetry-label[data-v-7f773d42]{color:var(--text-muted);font-size:12px;margin-bottom:6px}.telemetry-value[data-v-7f773d42]{color:#91caff;font-size:24px;font-weight:600;line-height:1.2}.telemetry-sub[data-v-7f773d42]{color:var(--text-secondary);font-size:11px;margin-top:4px}.telemetry-section[data-v-7f773d42]{background:var(--bg-base);border:1px solid var(--border-color);border-radius:8px;padding:14px;min-height:140px}.telemetry-section-title[data-v-7f773d42]{color:var(--text-secondary);font-size:12px;margin-bottom:10px}.telemetry-list[data-v-7f773d42]{display:flex;flex-direction:column;gap:8px}.telemetry-row[data-v-7f773d42]{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px}.telemetry-empty[data-v-7f773d42]{color:var(--text-muted);font-size:12px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{P as n,f as m,i as V,at as B}from"./index-BJUf19Wd.js";import{d as D,r as g,w as M,b as v,c as d,F}from"./vendor-BvqAck49.js";import{T as L}from"./Trigger-Xo7uZNQs.js";import{c as y}from"./vnode-DWi0X9WN.js";const l={adjustX:1,adjustY:1},s=[0,0],W={topLeft:{points:["bl","tl"],overflow:l,offset:[0,-4],targetOffset:s},topCenter:{points:["bc","tc"],overflow:l,offset:[0,-4],targetOffset:s},topRight:{points:["br","tr"],overflow:l,offset:[0,-4],targetOffset:s},bottomLeft:{points:["tl","bl"],overflow:l,offset:[0,4],targetOffset:s},bottomCenter:{points:["tc","bc"],overflow:l,offset:[0,4],targetOffset:s},bottomRight:{points:["tr","br"],overflow:l,offset:[0,4],targetOffset:s}};var $=function(e,c){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&c.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(e);i<o.length;i++)c.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(a[o[i]]=e[o[i]]);return a};const X=D({compatConfig:{MODE:3},props:{minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},arrow:{type:Boolean,default:!1},prefixCls:n.string.def("rc-dropdown"),transitionName:String,overlayClassName:n.string.def(""),openClassName:String,animation:n.any,align:n.object,overlayStyle:{type:Object,default:void 0},placement:n.string.def("bottomLeft"),overlay:n.any,trigger:n.oneOfType([n.string,n.arrayOf(n.string)]).def("hover"),alignPoint:{type:Boolean,default:void 0},showAction:n.array,hideAction:n.array,getPopupContainer:Function,visible:{type:Boolean,default:void 0},defaultVisible:{type:Boolean,default:!1},mouseEnterDelay:n.number.def(.15),mouseLeaveDelay:n.number.def(.1)},emits:["visibleChange","overlayClick"],setup(e,c){let{slots:a,emit:o,expose:i}=c;const f=g(!!e.visible);M(()=>e.visible,t=>{t!==void 0&&(f.value=t)});const p=g();i({triggerRef:p});const b=t=>{e.visible===void 0&&(f.value=!1),o("overlayClick",t)},h=t=>{e.visible===void 0&&(f.value=t),o("visibleChange",t)},C=()=>{var t;const r=(t=a.overlay)===null||t===void 0?void 0:t.call(a),u={prefixCls:`${e.prefixCls}-menu`,onClick:b};return d(F,{key:B},[e.arrow&&d("div",{class:`${e.prefixCls}-arrow`},null),y(r,u,!1)])},w=v(()=>{const{minOverlayWidthMatchTrigger:t=!e.alignPoint}=e;return t}),O=()=>{var t;const r=(t=a.default)===null||t===void 0?void 0:t.call(a);return f.value&&r?y(r[0],{class:e.openClassName||`${e.prefixCls}-open`},!1):r},P=v(()=>!e.hideAction&&e.trigger.indexOf("contextmenu")!==-1?["click"]:e.hideAction);return()=>{const{prefixCls:t,arrow:r,showAction:u,overlayStyle:x,trigger:A,placement:N,align:j,getPopupContainer:S,transitionName:T,animation:_,overlayClassName:k}=e,E=$(e,["prefixCls","arrow","showAction","overlayStyle","trigger","placement","align","getPopupContainer","transitionName","animation","overlayClassName"]);return d(L,m(m({},E),{},{prefixCls:t,ref:p,popupClassName:V(k,{[`${t}-show-arrow`]:r}),popupStyle:x,builtinPlacements:W,action:A,showAction:u,hideAction:P.value||[],popupPlacement:N,popupAlign:j,popupTransitionName:T,popupAnimation:_,popupVisible:f.value,stretch:w.value?"minWidth":"",onPopupVisibleChange:h,getPopupContainer:S}),{popup:C,default:O})}}});export{X as D};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.email-row[data-v-e4ddf632]{display:flex;gap:12px;padding:12px 16px;background:#fff;border:1px solid #f0f0f0;border-radius:8px;margin-bottom:8px}.left[data-v-e4ddf632]{display:flex;align-items:flex-start;padding-top:4px}.left .icon[data-v-e4ddf632]{font-size:18px;color:#999}.left .icon.unread[data-v-e4ddf632]{color:#1677ff}.body[data-v-e4ddf632]{flex:1;min-width:0}.head[data-v-e4ddf632]{display:flex;justify-content:space-between;margin-bottom:4px}.from[data-v-e4ddf632]{font-weight:600;font-size:13px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.time[data-v-e4ddf632]{font-size:12px;color:#999;flex-shrink:0;margin-left:8px}.subject[data-v-e4ddf632]{font-size:14px;color:#333;margin-bottom:4px;font-weight:500}.snippet[data-v-e4ddf632]{font-size:12px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px}.meta[data-v-e4ddf632]{display:flex;gap:6px;flex-wrap:wrap}.src[data-v-e4ddf632]{font-size:10px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as C,P as c,J as f,U as r,c as h,_ as k,R as n,V as l,K as d,Q as u,S as g,b as t}from"./vendor-BvqAck49.js";import{_ as j}from"./index-BJUf19Wd.js";import{aG as w}from"./icons-DP3uiYxy.js";const A={__name:"EmailListRenderer",props:{event:{type:Object,required:!0}},setup(_,{expose:m}){m();const a=_,e=t(()=>a.event.content||{}),i=t(()=>a.event.extra||{}),p=t(()=>e.value.from||e.value.sender||e.value.fromName||a.event.actor||"(未知发件人)"),s=t(()=>e.value.subject||e.value.title||"(无主题)"),y=t(()=>e.value.snippet||e.value.preview||e.value.body?.slice(0,100)||null),b=t(()=>Array.isArray(e.value.attachments)?e.value.attachments.length:typeof e.value.attachmentCount=="number"?e.value.attachmentCount:0),x=t(()=>i.value.category||e.value.category),S=t(()=>e.value.unread===!0),T=t(()=>{if(!a.event.occurredAt)return"";const o=new Date(a.event.occurredAt);return`${o.getFullYear()}-${String(o.getMonth()+1).padStart(2,"0")}-${String(o.getDate()).padStart(2,"0")} ${String(o.getHours()).padStart(2,"0")}:${String(o.getMinutes()).padStart(2,"0")}`}),v={props:a,c:e,e:i,fromText:p,subjectText:s,snippetText:y,attachmentCount:b,category:x,isUnread:S,formattedTime:T,computed:t,get MailOutlined(){return w}};return Object.defineProperty(v,"__isScriptSetup",{enumerable:!1,value:!0}),v}},B={class:"email-row"},E={class:"left"},M={class:"body"},N={class:"head"},O={class:"from"},V={class:"time"},R={class:"subject"},D={key:0,class:"snippet"},L={class:"meta"};function U(_,m,a,e,i,p){const s=C("a-tag");return c(),f("div",B,[r("div",E,[h(e.MailOutlined,{class:k(["icon",{unread:e.isUnread}])},null,8,["class"])]),r("div",M,[r("div",N,[r("span",O,n(e.fromText),1),r("span",V,n(e.formattedTime),1)]),r("div",R,n(e.subjectText),1),e.snippetText?(c(),f("div",D,n(e.snippetText),1)):l("v-if",!0),r("div",L,[h(s,{color:"blue",class:"src"},{default:d(()=>[u(n(a.event.source.adapter),1)]),_:1}),e.attachmentCount>0?(c(),g(s,{key:0,color:"orange"},{default:d(()=>[u(" 📎 "+n(e.attachmentCount),1)]),_:1})):l("v-if",!0),e.category?(c(),g(s,{key:1},{default:d(()=>[u(n(e.category),1)]),_:1})):l("v-if",!0)])])])}const z=j(A,[["render",U],["__scopeId","data-v-e4ddf632"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/components/pdh/renderers/EmailListRenderer.vue"]]);export{z as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as z,b as M,r as f,I as c,J as v,U as F,c as s,K as r,S as K,V as G,F as k,o as N,P as p,Q as x,R as S}from"./vendor-BvqAck49.js";import{u as L,_ as R}from"./index-BJUf19Wd.js";import"./icons-DP3uiYxy.js";function T(a){if(!a)return a;if(a.error)throw new Error(a.error);return a.result!==void 0?a.result:a}function B(a,t){if(a&&a.success===!1)throw new Error(a.error||"请求失败");return a&&a.data!==void 0?a.data:t}function O(){const a=L(),t=(n,e={},u=15e3)=>a.sendRaw({type:n,...e},u).then(T);return{async listChildren(){return B(await t("family-guard.list-children",{},1e4),[])},async listChildEvents(n={}){return B(await t("family-guard.list-child-events",n),[])},async appUsageSummary(n={}){return B(await t("family-guard.app-usage-summary",n),{totalMs:0,apps:[]})}}}const P=z("familyGuard",()=>{const a=f([]),t=f(null),n=f([]),e=f({totalMs:0,apps:[]}),u=f(!1),_=f(null),g=M(()=>a.value.length>0),w=M(()=>Math.round((e.value.totalMs||0)/6e4));async function C(){u.value=!0,_.value=null;try{const o=O();a.value=await o.listChildren(),!t.value&&a.value.length>0&&await y(a.value[0].childDid)}catch(o){_.value=o?.message||String(o)}finally{u.value=!1}}async function y(o,i=0){t.value=o,await Promise.all([h(i),m(i)])}async function h(o=0,i=200){if(!t.value)return;const b=O();n.value=await b.listChildEvents({childDid:t.value,sinceMs:o,limit:i})}async function m(o=0){if(!t.value)return;const i=O();e.value=await i.appUsageSummary({childDid:t.value,sinceMs:o})}return{children:a,selectedChildDid:t,events:n,summary:e,loading:u,error:_,hasChildren:g,totalMinutes:w,fetchChildren:C,selectChild:y,fetchEvents:h,fetchSummary:m}}),j={__name:"FamilyGuardDashboard",setup(a,{expose:t}){t();const n=P(),e=f(null),u=f("all"),_=[{label:"全部",value:"all"},{label:"近 24 小时",value:"24h"},{label:"近 7 天",value:"7d"}],g=M(()=>n.children.map(l=>({label:`${l.childDid}(${l.eventCount} 条)`,value:l.childDid}))),w=M(()=>m(n.summary.totalMs)),C=[{title:"应用 / 包名",dataIndex:"package",key:"package",ellipsis:!0},{title:"时长",dataIndex:"totalMs",key:"totalMs",width:140},{title:"次数",dataIndex:"count",key:"count",width:100}],y=[{title:"时间",dataIndex:"timestampMs",key:"timestampMs",width:180},{title:"来源",dataIndex:"source",key:"source",width:140},{title:"应用",dataIndex:"package",key:"app",ellipsis:!0},{title:"时长",dataIndex:"durationMs",key:"durationMs",width:120},{title:"级别",dataIndex:"level",key:"level",width:80}];function h(){return u.value==="24h"?Date.now()-1440*60*1e3:u.value==="7d"?Date.now()-10080*60*1e3:0}function m(l){const I=Math.round((l||0)/1e3),U=Math.floor(I/3600),E=Math.floor(I%3600/60),V=I%60;return U>0?`${U}h ${E}m`:E>0?`${E}m ${V}s`:`${V}s`}function o(l){return l?new Date(l).toLocaleString():"—"}async function i(l){await n.selectChild(l,h())}async function b(){if(!n.selectedChildDid)return;const l=h();await Promise.all([n.fetchEvents(l),n.fetchSummary(l)])}async function D(){await n.fetchChildren(),e.value=n.selectedChildDid}N(async()=>{await n.fetchChildren(),e.value=n.selectedChildDid});const d={store:n,selectedChild:e,rangeKey:u,rangeOptions:_,childOptions:g,totalLabel:w,appColumns:C,eventColumns:y,sinceMsForRange:h,formatDuration:m,formatTime:o,onSelectChild:i,refreshDetail:b,refresh:D,computed:M,onMounted:N,ref:f,get useFamilyGuardStore(){return P}};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}},A={class:"family-guard-dashboard"},J={class:"page-header"};function Q(a,t,n,e,u,_){const g=c("a-button"),w=c("a-alert"),C=c("a-empty"),y=c("a-select"),h=c("a-space"),m=c("a-statistic"),o=c("a-card"),i=c("a-col"),b=c("a-row"),D=c("a-table");return p(),v("div",A,[F("div",J,[t[3]||(t[3]=F("h2",null,"家庭守护 · 孩子使用情况",-1)),s(g,{loading:e.store.loading,onClick:e.refresh},{default:r(()=>[...t[2]||(t[2]=[x("刷新",-1)])]),_:1},8,["loading"])]),e.store.error?(p(),K(w,{key:0,type:"error",message:e.store.error,banner:"",closable:"",style:{"margin-bottom":"12px"}},null,8,["message"])):G("v-if",!0),!e.store.loading&&!e.store.hasChildren?(p(),K(C,{key:1,description:"还没有收到任何孩子端的使用数据(需在桌面端运行,孩子端已配对并上行)"})):(p(),v(k,{key:2},[s(h,{style:{"margin-bottom":"16px"},align:"center",wrap:""},{default:r(()=>[t[4]||(t[4]=F("span",null,"孩子:",-1)),s(y,{value:e.selectedChild,"onUpdate:value":t[0]||(t[0]=d=>e.selectedChild=d),style:{"min-width":"280px"},options:e.childOptions,placeholder:"选择孩子",onChange:e.onSelectChild},null,8,["value","options"]),s(y,{value:e.rangeKey,"onUpdate:value":t[1]||(t[1]=d=>e.rangeKey=d),style:{"min-width":"140px"},options:e.rangeOptions,onChange:e.refreshDetail},null,8,["value"])]),_:1}),s(b,{gutter:16,style:{"margin-bottom":"16px"}},{default:r(()=>[s(i,{xs:24,md:8},{default:r(()=>[s(o,null,{default:r(()=>[s(m,{title:"总使用时长",value:e.totalLabel},null,8,["value"])]),_:1})]),_:1}),s(i,{xs:24,md:8},{default:r(()=>[s(o,null,{default:r(()=>[s(m,{title:"应用数",value:e.store.summary.apps.length},null,8,["value"])]),_:1})]),_:1}),s(i,{xs:24,md:8},{default:r(()=>[s(o,null,{default:r(()=>[s(m,{title:"事件数",value:e.store.events.length},null,8,["value"])]),_:1})]),_:1})]),_:1}),s(o,{title:"应用使用排行",style:{"margin-bottom":"16px"}},{default:r(()=>[s(D,{"data-source":e.store.summary.apps,columns:e.appColumns,pagination:!1,"row-key":"package",size:"small"},{bodyCell:r(({column:d,record:l})=>[d.key==="totalMs"?(p(),v(k,{key:0},[x(S(e.formatDuration(l.totalMs)),1)],64)):G("v-if",!0)]),_:1},8,["data-source"])]),_:1}),s(o,{title:"最近事件"},{default:r(()=>[s(D,{"data-source":e.store.events,columns:e.eventColumns,pagination:{pageSize:20},"row-key":"resourceId",size:"small"},{bodyCell:r(({column:d,record:l})=>[d.key==="timestampMs"?(p(),v(k,{key:0},[x(S(e.formatTime(l.timestampMs)),1)],64)):d.key==="durationMs"?(p(),v(k,{key:1},[x(S(e.formatDuration(l.durationMs)),1)],64)):d.key==="app"?(p(),v(k,{key:2},[x(S(l.package||"—"),1)],64)):G("v-if",!0)]),_:1},8,["data-source"])]),_:1})],64))])}const X=R(j,[["render",Q],["__scopeId","data-v-f49db8d0"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/FamilyGuardDashboard.vue"]]);export{X as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.family-guard-dashboard[data-v-f49db8d0]{padding:16px}.page-header[data-v-f49db8d0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as h,J as A,U as w,R as s,c as a,K as n,V as I,o as me,b as O,a as re,r as v,P as f,Q as m,F as ee,Z as te,S as T}from"./vendor-BvqAck49.js";import{_ as je,b as he,u as ke,E as ye,d as k}from"./index-BJUf19Wd.js";import{s as Be}from"./community-parser-CO25nZFt.js";import{k as Ue,f as qe,am as Ne,a8 as De,aE as Ge,j as Je,as as Ke,R as Ve}from"./icons-DP3uiYxy.js";function E(l){const t=Be(l);if(!t)return null;try{return JSON.parse(t)}catch{}const o=t.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!o)return null;try{return JSON.parse(o[0])}catch{return null}}const xe=Object.freeze(["closed","open","half_open"]),Ae=Object.freeze(["healthy","degraded","unhealthy","unknown"]),We=Object.freeze(["heartbeat","latency","success_rate","cpu_usage","memory_usage"]);function y(l,t=0){return typeof l=="number"&&Number.isFinite(l)?l:t}function Ye(l,t=0){if(!l||typeof l!="object")return null;const o=l.node_id??l.nodeId??"";if(!o)return null;const e=String(l.state||"closed").toLowerCase();return{key:o,nodeId:o,state:e,failureCount:y(l.failure_count??l.failureCount,0),successCount:y(l.success_count??l.successCount,0),failureThreshold:y(l.failure_threshold??l.failureThreshold,0),successThreshold:y(l.success_threshold??l.successThreshold,0),openTimeout:y(l.open_timeout??l.openTimeout,0),lastFailureTime:l.last_failure_time??l.lastFailureTime??null,lastSuccessTime:l.last_success_time??l.lastSuccessTime??null,stateChangedAt:l.state_changed_at??l.stateChangedAt??null,metadata:l.metadata??null,createdAt:l.created_at??l.createdAt??null,updatedAt:l.updated_at??l.updatedAt??null,_idx:t}}function ge(l){const t=E(l);return Array.isArray(t)?t.map(Ye).filter(Boolean):[]}function Qe(l,t=0){if(!l||typeof l!="object")return null;const o=l.check_id??l.checkId??"";return o?{key:o,checkId:o,nodeId:l.node_id??l.nodeId??"",checkType:String(l.check_type??l.checkType??"").toLowerCase(),status:String(l.status||"unknown").toLowerCase(),metrics:l.metrics??null,checkedAt:l.checked_at??l.checkedAt??null,_idx:t}:null}function _e(l){const t=E(l);return Array.isArray(t)?t.map(Qe).filter(Boolean):[]}function Ze(l,t=0){if(!l||typeof l!="object")return null;const o=l.nodeId??l.node_id??"";return o?{key:o,nodeId:o,minConnections:y(l.minConnections,0),maxConnections:y(l.maxConnections,0),idleTimeout:y(l.idleTimeout,0),activeConnections:y(l.activeConnections,0),idleConnections:y(l.idleConnections,0),totalCreated:y(l.totalCreated,0),totalDestroyed:y(l.totalDestroyed,0),waitingRequests:y(l.waitingRequests,0),createdAt:l.createdAt??null,_idx:t}:null}function be(l){const t=E(l);return Array.isArray(t)?t.map(Ze).filter(Boolean):[]}function pe(l){const t=E(l);if(!t||typeof t!="object"||Array.isArray(t))return{nodeId:"",status:"unknown",checks:0,latestChecks:[]};const e=(Array.isArray(t.latestChecks)?t.latestChecks:[]).filter(g=>g&&typeof g=="object").map(g=>({checkType:String(g.checkType??g.check_type??"").toLowerCase(),status:String(g.status||"unknown").toLowerCase(),checkedAt:g.checkedAt??g.checked_at??null}));return{nodeId:t.nodeId??t.node_id??"",status:String(t.status||"unknown").toLowerCase(),checks:y(t.checks,0),latestChecks:e}}function le(l){const t=E(l);if(!t||typeof t!="object"||Array.isArray(t))return{ok:!1,id:null,reason:""};const o=!!(t.registered||t.recorded||t.initialized),e=t.nodeId??t.checkId??null;return{ok:o,id:e?String(e):null,reason:t.reason?String(t.reason):""}}function ve(l){const t=E(l);return!t||typeof t!="object"||Array.isArray(t)?{ok:!1,state:"",previousState:"",failureCount:0,successCount:0,remainingMs:0,reason:""}:{ok:!!(t.updated||t.reset),state:String(t.state||""),previousState:String(t.previousState||""),failureCount:y(t.failureCount,0),successCount:y(t.successCount,0),remainingMs:y(t.remainingMs,0),reason:t.reason?String(t.reason):""}}function Ce(l){const t=E(l);return!t||typeof t!="object"||Array.isArray(t)?{ok:!1,active:0,idle:0,waiting:0,reason:""}:{ok:!!(t.acquired||t.released||t.destroyed),active:y(t.active,0),idle:y(t.idle,0),waiting:y(t.waiting,0),reason:t.reason?String(t.reason):""}}function Te(l){const t=E(l);return!t||typeof t!="object"||Array.isArray(t)?{ok:!1,reason:""}:{ok:!!t.removed,reason:t.reason?String(t.reason):""}}const Xe={circuitBreakers:{total:0,byState:{}},healthChecks:{total:0,byStatus:{}},connectionPools:{total:0,totalActive:0,totalIdle:0,totalConnections:0}};function Se(l){const t=JSON.parse(JSON.stringify(Xe));for(const e of xe)t.circuitBreakers.byState[e]=0;for(const e of Ae)t.healthChecks.byStatus[e]=0;const o=E(l);if(!o||typeof o!="object"||Array.isArray(o))return t;if(o.circuitBreakers&&typeof o.circuitBreakers=="object"&&(t.circuitBreakers.total=y(o.circuitBreakers.total,0),o.circuitBreakers.byState&&typeof o.circuitBreakers.byState=="object"))for(const[e,g]of Object.entries(o.circuitBreakers.byState))typeof g=="number"&&Number.isFinite(g)&&(t.circuitBreakers.byState[e]=g);if(o.healthChecks&&typeof o.healthChecks=="object"&&(t.healthChecks.total=y(o.healthChecks.total,0),o.healthChecks.byStatus&&typeof o.healthChecks.byStatus=="object"))for(const[e,g]of Object.entries(o.healthChecks.byStatus))typeof g=="number"&&Number.isFinite(g)&&(t.healthChecks.byStatus[e]=g);return o.connectionPools&&typeof o.connectionPools=="object"&&(t.connectionPools.total=y(o.connectionPools.total,0),t.connectionPools.totalActive=y(o.connectionPools.totalActive,0),t.connectionPools.totalIdle=y(o.connectionPools.totalIdle,0),t.connectionPools.totalConnections=y(o.connectionPools.totalConnections,0)),t}function $e(l){if(l==null||l==="")return"—";const t=typeof l=="number"?new Date(l):new Date(String(l));return isNaN(t.getTime())?String(l):t.toLocaleString("zh-CN",{hour12:!1})}const et={__name:"Federation",setup(l,{expose:t}){t();const{t:o}=he(),e=ke(),g=ye.PRESENTED_IMAGE_SIMPLE,oe=v(!1),_=v(!1),U=v(!1),D=v([]),J=v([]),q=v([]),F=v({circuitBreakers:{total:0,byState:{closed:0,open:0,half_open:0}},healthChecks:{total:0,byStatus:{healthy:0,degraded:0,unhealthy:0,unknown:0}},connectionPools:{total:0,totalActive:0,totalIdle:0,totalConnections:0}}),M=v("breakers"),P=v(""),K=v(""),R=v(""),G=v(!1),H=v(!1),V=v(!1),b=re({nodeId:"",failureThreshold:5,successThreshold:2,openTimeout:6e4}),C=re({nodeId:"",checkType:"heartbeat",status:"healthy",metrics:""}),p=re({nodeId:"",min:5,max:50,idleTimeout:3e5}),W=v(""),N=v(null),Y=O(()=>[{title:o("federation.breakerColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"200px"},{title:o("federation.breakerColumns.state"),key:"state",width:"100px"},{title:o("federation.breakerColumns.failure"),key:"failure",width:"120px"},{title:o("federation.breakerColumns.success"),key:"success",width:"120px"},{title:o("federation.breakerColumns.openTimeout"),key:"openTimeout",dataIndex:"openTimeout",width:"110px"},{title:o("federation.breakerColumns.updatedAt"),key:"updatedAt",width:"170px"},{title:o("federation.breakerColumns.action"),key:"action",width:"340px"}]),ie=O(()=>[{title:o("federation.checkColumns.id"),key:"checkId",width:"130px"},{title:o("federation.checkColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"180px"},{title:o("federation.checkColumns.metric"),key:"checkType",width:"120px"},{title:o("federation.checkColumns.status"),key:"status",width:"100px"},{title:o("federation.checkColumns.metrics"),key:"metrics"},{title:o("federation.checkColumns.checkedAt"),key:"checkedAt",width:"170px"}]),se=O(()=>[{title:o("federation.poolColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"200px"},{title:o("federation.poolColumns.active"),key:"activeConnections",dataIndex:"activeConnections",width:"90px"},{title:o("federation.poolColumns.idle"),key:"idleConnections",dataIndex:"idleConnections",width:"90px"},{title:o("federation.poolColumns.max"),key:"maxConnections",dataIndex:"maxConnections",width:"90px"},{title:o("federation.poolColumns.utilization"),key:"utilization",width:"160px"},{title:o("federation.poolColumns.waiting"),key:"waitingRequests",dataIndex:"waitingRequests",width:"90px"},{title:o("federation.poolColumns.totalCreated"),key:"totalCreated",dataIndex:"totalCreated",width:"90px"},{title:o("federation.poolColumns.createdAt"),key:"createdAt",width:"170px"},{title:o("federation.poolColumns.action"),key:"action",width:"240px"}]),x=O(()=>[{title:o("federation.latestColumns.metric"),key:"checkType",width:"160px"},{title:o("federation.latestColumns.status"),key:"status",width:"120px"},{title:o("federation.latestColumns.checkedAt"),key:"checkedAt"}]),j=O(()=>P.value?D.value.filter(i=>i.state===P.value):D.value),Q=O(()=>{let i=J.value;return K.value&&(i=i.filter(d=>d.checkType===K.value)),R.value&&(i=i.filter(d=>d.status===R.value)),i}),Z=O(()=>(F.value.circuitBreakers.byState.open||0)+(F.value.circuitBreakers.byState.half_open||0)),ae=O(()=>{const i=F.value.circuitBreakers.total;return i?(F.value.circuitBreakers.byState.closed||0)/i*100:100});function ne(i){return i.maxConnections?Math.round(i.activeConnections/i.maxConnections*100):0}function X(i){const d=`federation.state.${i}`,c=o(d);return c===d?i:c}function r(i){return{closed:"green",open:"red",half_open:"gold"}[i]||"default"}function u(i){const d=`federation.metric.${i}`,c=o(d);return c===d?i:c}function L(i){const d=`federation.health.${i}`,c=o(d);return c===d?i:c}function Ie(i){return{healthy:"green",degraded:"gold",unhealthy:"red",unknown:"default"}[i]||"default"}function we(i){return i>=95?"#52c41a":i>=80?"#1677ff":i>=60?"#faad14":"#ff4d4f"}function Fe(i,d){return i?i.length<=d?i:i.slice(0,d)+"…":""}function z(i){return`"${String(i).replace(/"/g,'\\"')}"`}async function B(){oe.value=!0;try{const[i,d,c,$]=await Promise.all([e.execute("federation breakers --limit 200 --json",1e4).catch(()=>({output:""})),e.execute("federation checks --limit 200 --json",1e4).catch(()=>({output:""})),e.execute("federation pools --json",8e3).catch(()=>({output:""})),e.execute("federation stats --json",8e3).catch(()=>({output:""}))]);D.value=ge(i.output),J.value=_e(d.output),q.value=be(c.output),F.value=Se($.output)}catch(i){k.error(o("federation.messages.loadFailed",{err:i?.message||i}))}finally{oe.value=!1}}async function Re(){if(!b.nodeId.trim()){k.warning(o("federation.messages.nodeIdRequired"));return}_.value=!0;try{const i=[`federation register ${z(b.nodeId.trim())}`];b.failureThreshold&&i.push(`-f ${b.failureThreshold}`),b.successThreshold&&i.push(`-s ${b.successThreshold}`),b.openTimeout&&i.push(`-t ${b.openTimeout}`),i.push("--json");const{output:d}=await e.execute(i.join(" "),1e4),c=le(d);if(!c.ok){k.error(o("federation.messages.registerFailed",{err:c.reason||d.slice(0,120)}));return}k.success(o("federation.messages.registerOk",{id:c.id})),G.value=!1,de(),await B()}catch(i){k.error(o("federation.messages.registerFailed",{err:i?.message||i}))}finally{_.value=!1}}async function Me(){if(!C.nodeId.trim()){k.warning(o("federation.messages.nodeIdRequired"));return}_.value=!0;try{const i=[`federation check ${z(C.nodeId.trim())}`];i.push(`-t ${C.checkType}`),i.push(`-s ${C.status}`),C.metrics.trim()&&i.push(`-m ${z(C.metrics.trim())}`),i.push("--json");const{output:d}=await e.execute(i.join(" "),1e4),c=le(d);if(!c.ok){k.error(o("federation.messages.checkFailed",{err:c.reason||d.slice(0,120)}));return}k.success(o("federation.messages.checkOk",{id:c.id?.slice(0,8)})),H.value=!1,ce(),await B()}catch(i){k.error(o("federation.messages.checkFailed",{err:i?.message||i}))}finally{_.value=!1}}async function Pe(){if(!p.nodeId.trim()){k.warning(o("federation.messages.nodeIdRequired"));return}_.value=!0;try{const i=[`federation pool-init ${z(p.nodeId.trim())}`];p.min&&i.push(`--min ${p.min}`),p.max&&i.push(`--max ${p.max}`),p.idleTimeout&&i.push(`--idle-timeout ${p.idleTimeout}`),i.push("--json");const{output:d}=await e.execute(i.join(" "),1e4),c=le(d);if(!c.ok){k.error(o("federation.messages.poolFailed",{err:c.reason||d.slice(0,120)}));return}k.success(o("federation.messages.poolOk",{id:c.id})),V.value=!1,ue(),await B()}catch(i){k.error(o("federation.messages.poolFailed",{err:i?.message||i}))}finally{_.value=!1}}async function He(i,d){try{const c=`federation ${d} ${z(i.nodeId)} --json`,{output:$}=await e.execute(c,8e3),S=ve($);if(!S.ok){k.warning(S.remainingMs?o("federation.messages.operationCooldown",{ms:S.remainingMs}):S.reason||o("federation.messages.operationNoEffect"));return}S.previousState&&S.state&&S.previousState!==S.state?k.success(o("federation.messages.transitionMsg",{from:X(S.previousState),to:X(S.state)})):k.success(o(d==="reset"?"federation.messages.resetMsg":"federation.messages.recordedMsg")),await B()}catch(c){k.error(o("federation.messages.operationFailed",{err:c?.message||c}))}}async function Le(i){try{const{output:d}=await e.execute(`federation remove ${z(i.nodeId)} --json`,8e3),c=Te(d);if(!c.ok){k.error(o("federation.messages.removeFailed",{err:c.reason||d.slice(0,120)}));return}k.success(o("federation.messages.removeOk")),await B()}catch(d){k.error(o("federation.messages.removeFailed",{err:d?.message||d}))}}async function ze(i,d){try{const c={acquire:"pool-acquire",release:"pool-release",destroy:"pool-destroy"}[d],{output:$}=await e.execute(`federation ${c} ${z(i.nodeId)} --json`,8e3),S=Ce($);if(!S.ok){k.warning(S.reason||o("federation.messages.operationNoEffect"));return}if(d==="destroy")k.success(o("federation.messages.destroyMsg"));else{const Ee=d==="acquire"?"federation.messages.acquireMsg":"federation.messages.releaseMsg";k.success(o(Ee,{active:S.active,idle:S.idle}))}await B()}catch(c){k.error(o("federation.messages.operationFailed",{err:c?.message||c}))}}async function Oe(){if(!W.value.trim()){k.warning(o("federation.messages.nodeIdRequired"));return}U.value=!0;try{const{output:i}=await e.execute(`federation node-health ${z(W.value.trim())} --json`,8e3);N.value=pe(i)}catch(i){k.error(o("federation.messages.queryFailed",{err:i?.message||i}))}finally{U.value=!1}}function de(){b.nodeId="",b.failureThreshold=5,b.successThreshold=2,b.openTimeout=6e4}function ce(){C.nodeId="",C.checkType="heartbeat",C.status="healthy",C.metrics=""}function ue(){p.nodeId="",p.min=5,p.max=50,p.idleTimeout=3e5}me(B);const fe={t:o,ws:e,EMPTY_IMG:g,loading:oe,creating:_,queryingHealth:U,breakers:D,checks:J,pools:q,stats:F,activeTab:M,stateFilter:P,metricFilter:K,healthStatusFilter:R,showRegisterModal:G,showCheckModal:H,showPoolModal:V,registerForm:b,checkForm:C,poolForm:p,nodeHealthInput:W,nodeHealth:N,breakerColumns:Y,checkColumns:ie,poolColumns:se,latestChecksColumns:x,filteredBreakers:j,filteredChecks:Q,degradedCount:Z,availabilityRate:ae,poolUtilization:ne,stateLabel:X,stateColor:r,metricLabel:u,healthLabel:L,healthColor:Ie,rateColor:we,truncate:Fe,shellQuote:z,loadAll:B,submitRegister:Re,submitCheck:Me,submitPool:Pe,recordTransition:He,removeNode:Le,poolAction:ze,queryNodeHealth:Oe,resetRegisterForm:de,resetCheckForm:ce,resetPoolForm:ue,ref:v,reactive:re,computed:O,onMounted:me,get useI18n(){return he},get ReloadOutlined(){return Ve},get PlusOutlined(){return Ke},get ClusterOutlined(){return Je},get HeartOutlined(){return Ge},get ApiOutlined(){return De},get WarningOutlined(){return Ne},get CheckCircleOutlined(){return qe},get SearchOutlined(){return Ue},get message(){return k},get Empty(){return ye},get useWsStore(){return ke},get parseBreakers(){return ge},get parseChecks(){return _e},get parsePools(){return be},get parseNodeHealth(){return pe},get parseRegisterResult(){return le},get parseTransitionResult(){return ve},get parsePoolActionResult(){return Ce},get parseRemoveResult(){return Te},get parseStats(){return Se},get formatFedTime(){return $e},get CIRCUIT_STATES(){return xe},get HEALTH_STATUSES(){return Ae},get HEALTH_METRICS(){return We}};return Object.defineProperty(fe,"__isScriptSetup",{enumerable:!1,value:!0}),fe}},tt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ot={class:"page-title"},at={class:"page-sub"},nt={class:"stat-sub"},rt={class:"stat-sub"},lt={class:"stat-sub"},it={class:"stat-sub"},st={class:"filter-bar"},dt={key:1},ct={key:2},ut={key:3,class:"muted"},ft={class:"filter-bar"},mt={key:0,style:{"font-family":"monospace","font-size":"12px"}},ht={key:3,class:"muted",style:{"font-family":"monospace","font-size":"11px"}},kt={key:4,class:"muted"},yt={key:1,class:"muted"},gt={style:{"font-family":"monospace"}},_t={style:{"margin-top":"16px"}},bt={style:{color:"var(--text-primary)","margin-bottom":"8px"}},pt={key:2,class:"muted"};function vt(l,t,o,e,g,oe){const _=h("a-button"),U=h("a-menu-item"),D=h("a-menu"),J=h("a-dropdown"),q=h("a-space"),F=h("a-statistic"),M=h("a-card"),P=h("a-col"),K=h("a-row"),R=h("a-radio-button"),G=h("a-radio-group"),H=h("a-tag"),V=h("a-popconfirm"),b=h("a-empty"),C=h("a-table"),p=h("a-tab-pane"),W=h("a-progress"),N=h("a-input"),Y=h("a-descriptions-item"),ie=h("a-descriptions"),se=h("a-tabs"),x=h("a-form-item"),j=h("a-input-number"),Q=h("a-form"),Z=h("a-modal"),ae=h("a-select-option"),ne=h("a-select"),X=h("a-textarea");return f(),A("div",null,[w("div",tt,[w("div",null,[w("h2",ot,s(e.t("federation.title")),1),w("p",at,s(e.t("federation.subtitle")),1)]),a(q,null,{default:n(()=>[a(_,{loading:e.loading,onClick:e.loadAll},{icon:n(()=>[a(e.ReloadOutlined)]),default:n(()=>[m(" "+s(e.t("federation.refresh")),1)]),_:1},8,["loading"]),a(J,null,{overlay:n(()=>[a(D,null,{default:n(()=>[a(U,{key:"register",onClick:t[0]||(t[0]=r=>e.showRegisterModal=!0)},{default:n(()=>[m(s(e.t("federation.newMenu.register")),1)]),_:1}),a(U,{key:"check",onClick:t[1]||(t[1]=r=>e.showCheckModal=!0)},{default:n(()=>[m(s(e.t("federation.newMenu.check")),1)]),_:1}),a(U,{key:"pool",onClick:t[2]||(t[2]=r=>e.showPoolModal=!0)},{default:n(()=>[m(s(e.t("federation.newMenu.pool")),1)]),_:1})]),_:1})]),default:n(()=>[a(_,{type:"primary"},{icon:n(()=>[a(e.PlusOutlined)]),default:n(()=>[m(" "+s(e.t("federation.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),I(" Stat cards "),a(K,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[a(P,{xs:12,sm:8,lg:5},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(F,{title:e.t("federation.stats.breakers"),value:e.stats.circuitBreakers.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[a(e.ClusterOutlined)]),_:1},8,["title","value"]),w("div",nt,s(e.t("federation.stats.breakerSub",{closed:e.stats.circuitBreakers.byState.closed||0,open:e.stats.circuitBreakers.byState.open||0})),1)]),_:1})]),_:1}),a(P,{xs:12,sm:8,lg:5},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(F,{title:e.t("federation.stats.checks"),value:e.stats.healthChecks.total,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:n(()=>[a(e.HeartOutlined)]),_:1},8,["title","value"]),w("div",rt,s(e.t("federation.stats.checkSub",{healthy:e.stats.healthChecks.byStatus.healthy||0,unhealthy:e.stats.healthChecks.byStatus.unhealthy||0})),1)]),_:1})]),_:1}),a(P,{xs:12,sm:8,lg:5},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(F,{title:e.t("federation.stats.pools"),value:e.stats.connectionPools.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:n(()=>[a(e.ApiOutlined)]),_:1},8,["title","value"]),w("div",lt,s(e.t("federation.stats.poolSub",{active:e.stats.connectionPools.totalActive,idle:e.stats.connectionPools.totalIdle})),1)]),_:1})]),_:1}),a(P,{xs:12,sm:8,lg:5},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(F,{title:e.t("federation.stats.degraded"),value:e.degradedCount,"value-style":{color:e.degradedCount>0?"#faad14":"#8c8c8c",fontSize:"20px"}},{prefix:n(()=>[a(e.WarningOutlined)]),_:1},8,["title","value","value-style"]),w("div",it,s(e.t("federation.stats.degradedSub",{halfOpen:e.stats.circuitBreakers.byState.half_open||0})),1)]),_:1})]),_:1}),a(P,{xs:24,sm:8,lg:4},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(F,{title:e.t("federation.stats.availability"),value:e.availabilityRate,suffix:"%",precision:0,"value-style":{color:e.rateColor(e.availabilityRate),fontSize:"20px"}},{prefix:n(()=>[a(e.CheckCircleOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),I(" Tabs (4 surfaces) "),a(se,{activeKey:e.activeTab,"onUpdate:activeKey":t[7]||(t[7]=r=>e.activeTab=r),class:"fed-tabs"},{default:n(()=>[I(" ── Circuit breakers ──────────────────────────── "),a(p,{key:"breakers",tab:e.t("federation.tabs.breakers")},{default:n(()=>[w("div",st,[a(G,{value:e.stateFilter,"onUpdate:value":t[3]||(t[3]=r=>e.stateFilter=r),size:"small","button-style":"solid"},{default:n(()=>[a(R,{value:""},{default:n(()=>[m(s(e.t("federation.filter.allStates")),1)]),_:1}),(f(!0),A(ee,null,te(e.CIRCUIT_STATES,r=>(f(),T(R,{key:r,value:r},{default:n(()=>[m(s(e.stateLabel(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(C,{columns:e.breakerColumns,"data-source":e.filteredBreakers,pagination:{pageSize:20,showTotal:r=>e.t("federation.totals.rows",{count:r})},size:"small",loading:e.loading,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:n(({column:r,record:u})=>[r.key==="state"?(f(),T(H,{key:0,color:e.stateColor(u.state)},{default:n(()=>[m(s(e.stateLabel(u.state)),1)]),_:2},1032,["color"])):r.key==="failure"?(f(),A("span",dt,s(u.failureCount)+" / "+s(u.failureThreshold),1)):r.key==="success"?(f(),A("span",ct,s(u.successCount)+" / "+s(u.successThreshold),1)):r.key==="updatedAt"?(f(),A("span",ut,s(e.formatFedTime(u.updatedAt)),1)):r.key==="action"?(f(),T(q,{key:4,size:4},{default:n(()=>[a(_,{size:"small",danger:"",onClick:L=>e.recordTransition(u,"failure")},{default:n(()=>[m(s(e.t("federation.breakerActions.failure")),1)]),_:1},8,["onClick"]),a(_,{size:"small",onClick:L=>e.recordTransition(u,"success")},{default:n(()=>[m(s(e.t("federation.breakerActions.success")),1)]),_:1},8,["onClick"]),a(_,{size:"small",type:"dashed",onClick:L=>e.recordTransition(u,"half-open")},{default:n(()=>[m(s(e.t("federation.breakerActions.halfOpen")),1)]),_:1},8,["onClick"]),a(_,{size:"small",onClick:L=>e.recordTransition(u,"reset")},{default:n(()=>[m(s(e.t("federation.breakerActions.reset")),1)]),_:1},8,["onClick"]),a(V,{title:e.t("federation.breakerActions.removeConfirm"),onConfirm:L=>e.removeNode(u)},{default:n(()=>[a(_,{size:"small",danger:"",type:"text"},{default:n(()=>[m(s(e.t("federation.breakerActions.remove")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):I("v-if",!0)]),emptyText:n(()=>[a(b,{image:e.EMPTY_IMG,description:e.t("federation.empty.breakers")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),I(" ── Health checks ─────────────────────────────── "),a(p,{key:"checks",tab:e.t("federation.tabs.checks")},{default:n(()=>[w("div",ft,[a(G,{value:e.metricFilter,"onUpdate:value":t[4]||(t[4]=r=>e.metricFilter=r),size:"small","button-style":"solid"},{default:n(()=>[a(R,{value:""},{default:n(()=>[m(s(e.t("federation.filter.allMetrics")),1)]),_:1}),(f(!0),A(ee,null,te(e.HEALTH_METRICS,r=>(f(),T(R,{key:r,value:r},{default:n(()=>[m(s(e.metricLabel(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(G,{value:e.healthStatusFilter,"onUpdate:value":t[5]||(t[5]=r=>e.healthStatusFilter=r),size:"small"},{default:n(()=>[a(R,{value:""},{default:n(()=>[m(s(e.t("federation.filter.allStates")),1)]),_:1}),(f(!0),A(ee,null,te(e.HEALTH_STATUSES,r=>(f(),T(R,{key:r,value:r},{default:n(()=>[m(s(e.healthLabel(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(C,{columns:e.checkColumns,"data-source":e.filteredChecks,pagination:{pageSize:20,showTotal:r=>e.t("federation.totals.rows",{count:r})},size:"small",loading:e.loading,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:n(({column:r,record:u})=>[r.key==="checkId"?(f(),A("span",mt,s(u.checkId.slice(0,12)),1)):r.key==="checkType"?(f(),T(H,{key:1,color:"blue"},{default:n(()=>[m(s(e.metricLabel(u.checkType)),1)]),_:2},1024)):r.key==="status"?(f(),T(H,{key:2,color:e.healthColor(u.status)},{default:n(()=>[m(s(e.healthLabel(u.status)),1)]),_:2},1032,["color"])):r.key==="metrics"?(f(),A("span",ht,s(e.truncate(u.metrics||"",50)),1)):r.key==="checkedAt"?(f(),A("span",kt,s(e.formatFedTime(u.checkedAt)),1)):I("v-if",!0)]),emptyText:n(()=>[a(b,{image:e.EMPTY_IMG,description:e.t("federation.empty.checks")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),I(" ── Connection pools ──────────────────────────── "),a(p,{key:"pools",tab:e.t("federation.tabs.pools")},{default:n(()=>[a(C,{columns:e.poolColumns,"data-source":e.pools,pagination:{pageSize:20,showTotal:r=>e.t("federation.totals.rows",{count:r})},size:"small",loading:e.loading,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:n(({column:r,record:u})=>[r.key==="utilization"?(f(),T(W,{key:0,percent:e.poolUtilization(u),"stroke-color":e.rateColor(e.poolUtilization(u)),size:"small"},null,8,["percent","stroke-color"])):r.key==="createdAt"?(f(),A("span",yt,s(e.formatFedTime(u.createdAt)),1)):r.key==="action"?(f(),T(q,{key:2,size:4},{default:n(()=>[a(_,{size:"small",type:"primary",onClick:L=>e.poolAction(u,"acquire")},{default:n(()=>[m(s(e.t("federation.poolActions.acquire")),1)]),_:1},8,["onClick"]),a(_,{size:"small",onClick:L=>e.poolAction(u,"release")},{default:n(()=>[m(s(e.t("federation.poolActions.release")),1)]),_:1},8,["onClick"]),a(V,{title:e.t("federation.poolActions.destroyConfirm"),onConfirm:L=>e.poolAction(u,"destroy")},{default:n(()=>[a(_,{size:"small",danger:"",type:"text"},{default:n(()=>[m(s(e.t("federation.poolActions.destroy")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):I("v-if",!0)]),emptyText:n(()=>[a(b,{image:e.EMPTY_IMG,description:e.t("federation.empty.pools")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),I(" ── Node health aggregate ────────────────────── "),a(p,{key:"node-health",tab:e.t("federation.tabs.nodeHealth")},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:n(()=>[a(q,null,{default:n(()=>[a(N,{value:e.nodeHealthInput,"onUpdate:value":t[6]||(t[6]=r=>e.nodeHealthInput=r),placeholder:e.t("federation.nodeHealth.inputPlaceholder"),style:{width:"240px"},"allow-clear":"",onPressEnter:e.queryNodeHealth},null,8,["value","placeholder"]),a(_,{type:"primary",loading:e.queryingHealth,onClick:e.queryNodeHealth},{icon:n(()=>[a(e.SearchOutlined)]),default:n(()=>[m(" "+s(e.t("federation.nodeHealth.query")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),e.nodeHealth?(f(),T(M,{key:0,style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(ie,{column:3,size:"small",bordered:""},{default:n(()=>[a(Y,{label:e.t("federation.nodeHealth.node")},{default:n(()=>[w("span",gt,s(e.nodeHealth.nodeId),1)]),_:1},8,["label"]),a(Y,{label:e.t("federation.nodeHealth.status")},{default:n(()=>[a(H,{color:e.healthColor(e.nodeHealth.status)},{default:n(()=>[m(s(e.healthLabel(e.nodeHealth.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(Y,{label:e.t("federation.nodeHealth.checkCount")},{default:n(()=>[m(s(e.nodeHealth.checks),1)]),_:1},8,["label"])]),_:1}),w("div",_t,[w("h4",bt,s(e.t("federation.nodeHealth.latestTitle")),1),e.nodeHealth.latestChecks.length?(f(),T(C,{key:1,columns:e.latestChecksColumns,"data-source":e.nodeHealth.latestChecks,pagination:!1,size:"small","row-key":"checkType",style:{background:"var(--bg-card)"}},{bodyCell:n(({column:r,record:u})=>[r.key==="checkType"?(f(),T(H,{key:0,color:"blue"},{default:n(()=>[m(s(e.metricLabel(u.checkType)),1)]),_:2},1024)):r.key==="status"?(f(),T(H,{key:1,color:e.healthColor(u.status)},{default:n(()=>[m(s(e.healthLabel(u.status)),1)]),_:2},1032,["color"])):r.key==="checkedAt"?(f(),A("span",pt,s(e.formatFedTime(u.checkedAt)),1)):I("v-if",!0)]),_:1},8,["columns","data-source"])):(f(),T(b,{key:0,image:e.EMPTY_IMG,description:e.t("federation.empty.noLatest")},null,8,["image","description"]))])]),_:1})):I("v-if",!0)]),_:1},8,["tab"])]),_:1},8,["activeKey"]),I(" Modal: register node "),a(Z,{open:e.showRegisterModal,"onUpdate:open":t[12]||(t[12]=r=>e.showRegisterModal=r),title:e.t("federation.register.title"),"confirm-loading":e.creating,onOk:e.submitRegister},{default:n(()=>[a(Q,{layout:"vertical"},{default:n(()=>[a(x,{label:e.t("federation.register.nodeIdLabel"),required:""},{default:n(()=>[a(N,{value:e.registerForm.nodeId,"onUpdate:value":t[8]||(t[8]=r=>e.registerForm.nodeId=r),placeholder:e.t("federation.register.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.t("federation.register.failureThresholdLabel")},{default:n(()=>[a(j,{value:e.registerForm.failureThreshold,"onUpdate:value":t[9]||(t[9]=r=>e.registerForm.failureThreshold=r),min:1,max:100,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(x,{label:e.t("federation.register.successThresholdLabel")},{default:n(()=>[a(j,{value:e.registerForm.successThreshold,"onUpdate:value":t[10]||(t[10]=r=>e.registerForm.successThreshold=r),min:1,max:100,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(x,{label:e.t("federation.register.openTimeoutLabel")},{default:n(()=>[a(j,{value:e.registerForm.openTimeout,"onUpdate:value":t[11]||(t[11]=r=>e.registerForm.openTimeout=r),min:1e3,step:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"]),I(" Modal: record health check "),a(Z,{open:e.showCheckModal,"onUpdate:open":t[17]||(t[17]=r=>e.showCheckModal=r),title:e.t("federation.check.title"),"confirm-loading":e.creating,onOk:e.submitCheck},{default:n(()=>[a(Q,{layout:"vertical"},{default:n(()=>[a(x,{label:e.t("federation.check.nodeIdLabel"),required:""},{default:n(()=>[a(N,{value:e.checkForm.nodeId,"onUpdate:value":t[13]||(t[13]=r=>e.checkForm.nodeId=r),placeholder:e.t("federation.check.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.t("federation.check.metricLabel"),required:""},{default:n(()=>[a(ne,{value:e.checkForm.checkType,"onUpdate:value":t[14]||(t[14]=r=>e.checkForm.checkType=r)},{default:n(()=>[(f(!0),A(ee,null,te(e.HEALTH_METRICS,r=>(f(),T(ae,{key:r,value:r},{default:n(()=>[m(s(e.metricLabel(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(x,{label:e.t("federation.check.statusLabel"),required:""},{default:n(()=>[a(ne,{value:e.checkForm.status,"onUpdate:value":t[15]||(t[15]=r=>e.checkForm.status=r)},{default:n(()=>[(f(!0),A(ee,null,te(e.HEALTH_STATUSES,r=>(f(),T(ae,{key:r,value:r},{default:n(()=>[m(s(e.healthLabel(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(x,{label:e.t("federation.check.metricsLabel")},{default:n(()=>[a(X,{value:e.checkForm.metrics,"onUpdate:value":t[16]||(t[16]=r=>e.checkForm.metrics=r),rows:3,placeholder:e.t("federation.check.metricsPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"]),I(" Modal: init pool "),a(Z,{open:e.showPoolModal,"onUpdate:open":t[22]||(t[22]=r=>e.showPoolModal=r),title:e.t("federation.pool.title"),"confirm-loading":e.creating,onOk:e.submitPool},{default:n(()=>[a(Q,{layout:"vertical"},{default:n(()=>[a(x,{label:e.t("federation.pool.nodeIdLabel"),required:""},{default:n(()=>[a(N,{value:e.poolForm.nodeId,"onUpdate:value":t[18]||(t[18]=r=>e.poolForm.nodeId=r),placeholder:e.t("federation.pool.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.t("federation.pool.minLabel")},{default:n(()=>[a(j,{value:e.poolForm.min,"onUpdate:value":t[19]||(t[19]=r=>e.poolForm.min=r),min:1,max:500,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(x,{label:e.t("federation.pool.maxLabel")},{default:n(()=>[a(j,{value:e.poolForm.max,"onUpdate:value":t[20]||(t[20]=r=>e.poolForm.max=r),min:1,max:500,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(x,{label:e.t("federation.pool.idleTimeoutLabel")},{default:n(()=>[a(j,{value:e.poolForm.idleTimeout,"onUpdate:value":t[21]||(t[21]=r=>e.poolForm.idleTimeout=r),min:1e3,step:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}const At=je(et,[["render",vt],["__scopeId","data-v-5c4035e7"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Federation.vue"]]);export{At as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page-title[data-v-5c4035e7]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-5c4035e7]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.fed-tabs[data-v-5c4035e7] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-5c4035e7]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.stat-sub[data-v-5c4035e7]{margin-top:4px;color:var(--text-muted);font-size:11px}.muted[data-v-5c4035e7]{color:var(--text-muted)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as u,f,p as r,d as c,b as F,w as C,g as v,r as x}from"./vendor-BvqAck49.js";import{d as y}from"./devWarning-BDK34w0I.js";import{c as g}from"./createContext-D7pLFs2I.js";const s=Symbol("ContextProps"),l=Symbol("InternalContextProps"),K=function(a){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:F(()=>!0);const e=x(new Map),o=(n,m)=>{e.value.set(n,m),e.value=new Map(e.value)},p=n=>{e.value.delete(n),e.value=new Map(e.value)},I=v();C([t,e],()=>{if(t.value&&e.value.size>1){y(!1,"Form.Item",`FormItem can only collect one field item, you haved set ${[...e.value.values()].map(m=>`\`${m.name}\``).join(", ")} ${e.value.size} field items.
|
|
2
|
+
You can set not need to be collected fields into \`a-form-item-rest\``);let n=I;for(;n.parent;)console.warn("at",n.type),n=n.parent}}),r(s,a),r(l,{addFormItemField:o,removeFormItemField:p})},i={id:F(()=>{}),onFieldBlur:()=>{},onFieldChange:()=>{},clearValidate:()=>{}},d={addFormItemField:()=>{},removeFormItemField:()=>{}},M=()=>{const a=u(l,d),t=Symbol("FormItemFieldKey"),e=v();return a.addFormItemField(t,e.type),f(()=>{a.removeFormItemField(t)}),r(l,d),r(s,i),u(s,i)},P=c({compatConfig:{MODE:3},name:"AFormItemRest",setup(a,t){let{slots:e}=t;return r(l,d),r(s,i),()=>{var o;return(o=e.default)===null||o===void 0?void 0:o.call(e)}}}),w=g({}),_=c({name:"NoFormStatus",setup(a,t){let{slots:e}=t;return w.useProvide({}),()=>{var o;return(o=e.default)===null||o===void 0?void 0:o.call(e)}}});export{w as F,_ as N,K as a,P as b,M as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as S,P as s,J as i,U as l,R as n,c as g,K as u,Q as _,V as m,F as C,Z as N,S as T,b as p}from"./vendor-BvqAck49.js";import{_ as B}from"./index-BJUf19Wd.js";import"./icons-DP3uiYxy.js";const V={__name:"GenericCardRenderer",props:{event:{type:Object,required:!0}},setup(v,{expose:f}){f();const t=v,o=p(()=>{if(!t.event.occurredAt)return"";try{const e=new Date(t.event.occurredAt),c=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),k=String(e.getDate()).padStart(2,"0"),b=String(e.getHours()).padStart(2,"0"),x=String(e.getMinutes()).padStart(2,"0");return`${c}-${r}-${k} ${b}:${x}`}catch{return""}}),h=p(()=>{const e=t.event.content||{};return e.text||e.title||e.subject||e.name||e.prompt||JSON.stringify(e).slice(0,200)}),y=p(()=>{const e=t.event.content||{};return e.body||e.snippet||e.description||e.from||e.counterparty||null}),d=p(()=>{const e=t.event.content||{},c=t.event.extra||{},r=[];return e.amount!=null&&r.push({k:"金额",v:e.amount,color:"gold"}),c.merchant&&r.push({k:"商户",v:c.merchant,color:"green"}),c.orderNo&&r.push({k:"订单",v:c.orderNo,color:"purple"}),e.from&&e.to&&r.push({k:"路线",v:`${e.from} → ${e.to}`,color:"cyan"}),e.trainNo&&r.push({k:"车次",v:e.trainNo,color:"cyan"}),e.model&&r.push({k:"模型",v:e.model,color:"magenta"}),t.event.place&&r.push({k:"地点",v:t.event.place,color:"geekblue"}),r}),a={props:t,formattedTime:o,primaryText:h,secondaryText:y,metaChips:d,computed:p};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}},w={class:"event-card"},R={class:"card-head"},j={class:"time"},A={key:0,class:"actor"},D={class:"card-body"},F={class:"primary"},G={key:0,class:"secondary"},O={key:0,class:"card-meta"},E={class:"meta-k"};function I(v,f,t,o,h,y){const d=S("a-tag");return s(),i("div",w,[l("div",R,[l("span",j,n(o.formattedTime),1),g(d,{color:"blue",class:"adapter"},{default:u(()=>[_(n(t.event.source.adapter),1)]),_:1}),g(d,{class:"subtype"},{default:u(()=>[_(n(t.event.subtype),1)]),_:1}),t.event.actor?(s(),i("span",A,"@"+n(t.event.actor),1)):m("v-if",!0)]),l("div",D,[l("div",F,n(o.primaryText),1),o.secondaryText?(s(),i("div",G,n(o.secondaryText),1)):m("v-if",!0)]),o.metaChips.length>0?(s(),i("div",O,[(s(!0),i(C,null,N(o.metaChips,a=>(s(),T(d,{key:a.k,color:a.color},{default:u(()=>[l("span",E,n(a.k)+":",1),_(" "+n(a.v),1)]),_:2},1032,["color"]))),128))])):m("v-if",!0)])}const q=B(V,[["render",I],["__scopeId","data-v-c52d08ab"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/components/pdh/renderers/GenericCardRenderer.vue"]]);export{q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.event-card[data-v-c52d08ab]{padding:12px 16px;background:#fff;border:1px solid #f0f0f0;border-radius:8px;margin-bottom:8px;transition:border-color .15s}.event-card[data-v-c52d08ab]:hover{border-color:#1677ff}.card-head[data-v-c52d08ab]{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.time[data-v-c52d08ab]{font-size:12px;color:#999;font-variant-numeric:tabular-nums}.subtype[data-v-c52d08ab]{font-size:11px}.actor[data-v-c52d08ab]{font-size:12px;color:#666}.card-body[data-v-c52d08ab]{margin-bottom:8px}.primary[data-v-c52d08ab]{font-size:14px;color:#333;word-break:break-word;white-space:pre-wrap}.secondary[data-v-c52d08ab]{font-size:12px;color:#999;margin-top:4px}.card-meta[data-v-c52d08ab]{display:flex;gap:6px;flex-wrap:wrap}.meta-k[data-v-c52d08ab]{font-weight:600;opacity:.7}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-v-
|
|
1
|
+
[data-v-9446ce38] .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab{background:var(--bg-card);border-color:var(--border-color);color:var(--text-secondary)}[data-v-9446ce38] .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active{background:var(--bg-base);border-bottom-color:var(--bg-base);color:var(--text-primary)}[data-v-9446ce38] .ant-card-head{color:var(--text-primary);border-bottom-color:var(--border-color)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{I as u,J as G,U as c,R as l,c as o,K as e,V as f,r as s,P as v,Q as d,S as x}from"./vendor-BvqAck49.js";import{_ as Q,b as K,u as N,d as _}from"./index-BJUf19Wd.js";import{aj as X,R as Y,aK as Z,aL as $,a1 as tt}from"./icons-DP3uiYxy.js";const et={__name:"Git",setup(j,{expose:a}){a();const{t:r}=K(),t=N(),T=s("git"),F=s(!1),y=s(""),L=s(""),C=s(0),b=s(!1),k=s(""),h=s(!1),w=s(!1),R=s(""),O=s("markdown"),S=s(!1),I=s("./site"),P=s(!1),i=s(""),A=s(!1),B=s("");function D(n){const m=n.split(`
|
|
2
|
+
`);let p="",g=0;for(const E of m){const V=E.match(/On branch\s+(.+)/)||E.match(/分支\s+(.+)/);V&&(p=V[1].trim());const z=E.trim();/^(M|A|D|R|C|U|\?\?|MM|AM|AD)\s/.test(z)&&g++,/^(modified|new file|deleted|renamed):/i.test(z)&&g++}return{branch:p,changed:g}}async function M(){F.value=!0;try{const{output:n}=await t.execute("git status",15e3);y.value=n;const m=D(n);L.value=m.branch,C.value=m.changed}catch(n){_.error(r("git.messages.statusFailed",{err:n.message})),y.value=""}finally{F.value=!1}}function q(){w.value=!0}async function W(){w.value=!1,b.value=!0,k.value="";try{const{output:n}=await t.execute("git auto-commit",3e4);k.value=n,h.value=!n.includes("✖")&&!n.toLowerCase().includes("error"),h.value&&_.success(r("git.messages.commitOk")),await M()}catch(n){k.value=r("git.messages.commitFailedDetail",{err:n.message}),h.value=!1,_.error(r("git.messages.commitFailedToast"))}finally{b.value=!1}}async function H(){const n=R.value.trim();if(!n){_.warning(r("git.messages.importPathRequired"));return}S.value=!0,i.value="",B.value="";try{const m=`import ${O.value} ${n}`,{output:p}=await t.execute(m,6e4);B.value=p;const g=p.includes("✖")||p.toLowerCase().includes("error");A.value=!g,i.value=r(g?"git.io.importIssue":"git.io.importDone"),g||_.success(r("git.messages.importOk"))}catch(m){i.value=r("git.messages.importFailedDetail",{err:m.message}),A.value=!1,_.error(r("git.messages.importFailed"))}finally{S.value=!1}}async function J(){const n=I.value.trim();if(!n){_.warning(r("git.messages.exportPathRequired"));return}P.value=!0,i.value="",B.value="";try{const m=`export site -o ${n}`,{output:p}=await t.execute(m,6e4);B.value=p;const g=p.includes("✖")||p.toLowerCase().includes("error");A.value=!g,i.value=r(g?"git.io.exportIssue":"git.io.exportDone"),g||_.success(r("git.messages.exportOk"))}catch(m){i.value=r("git.messages.exportFailedDetail",{err:m.message}),A.value=!1,_.error(r("git.messages.exportFailed"))}finally{P.value=!1}}const U={t:r,ws:t,activeTab:T,statusLoading:F,statusOutput:y,gitBranch:L,changedCount:C,commitLoading:b,commitResult:k,commitSuccess:h,showCommitConfirm:w,importPath:R,importFormat:O,importLoading:S,exportPath:I,exportLoading:P,ioResult:i,ioSuccess:A,ioOutput:B,parseGitStatus:D,refreshStatus:M,confirmAutoCommit:q,doAutoCommit:W,doImport:H,doExport:J,ref:s,get useI18n(){return K},get BranchesOutlined(){return tt},get ImportOutlined(){return $},get ExportOutlined(){return Z},get ReloadOutlined(){return Y},get CheckOutlined(){return X},get message(){return _},get useWsStore(){return N}};return Object.defineProperty(U,"__isScriptSetup",{enumerable:!1,value:!0}),U}},ot={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},at={class:"page-title"},it={class:"page-sub"},rt={key:0,style:{"margin-bottom":"16px"}},nt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-primary)","font-family":"'Cascadia Code', 'Fira Code', Consolas, monospace","font-size":"13px","line-height":"1.7",margin:"0"}},lt={style:{display:"flex",gap:"12px","align-items":"flex-end","flex-wrap":"wrap"}},st={style:{flex:"1","min-width":"200px"}},ct={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},dt={style:{"min-width":"140px"}},mt={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},ut={style:{display:"flex",gap:"12px","align-items":"flex-end","flex-wrap":"wrap"}},gt={style:{flex:"1","min-width":"200px"}},pt={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},ft={style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-primary)","font-family":"'Cascadia Code', 'Fira Code', Consolas, monospace","font-size":"13px","line-height":"1.7",margin:"0"}},vt={style:{color:"var(--text-secondary)"}};function _t(j,a,r,t,T,F){const y=u("a-button"),L=u("a-space"),C=u("a-tag"),b=u("a-card"),k=u("a-empty"),h=u("a-alert"),w=u("a-tab-pane"),R=u("a-input"),O=u("a-select-option"),S=u("a-select"),I=u("a-tabs"),P=u("a-modal");return v(),G("div",null,[c("div",ot,[c("div",null,[c("h2",at,l(t.t("git.title")),1),c("p",it,l(t.t("git.subtitle")),1)])]),o(I,{activeKey:t.activeTab,"onUpdate:activeKey":a[5]||(a[5]=i=>t.activeTab=i),type:"card"},{default:e(()=>[f(" Git Tab "),o(w,{key:"git"},{tab:e(()=>[o(t.BranchesOutlined),d(" "+l(t.t("git.tabs.git")),1)]),default:e(()=>[o(L,{style:{"margin-bottom":"16px"}},{default:e(()=>[o(y,{type:"primary",loading:t.statusLoading,onClick:t.refreshStatus},{icon:e(()=>[o(t.ReloadOutlined)]),default:e(()=>[d(" "+l(t.t("git.actions.refresh")),1)]),_:1},8,["loading"]),o(y,{loading:t.commitLoading,onClick:t.confirmAutoCommit},{icon:e(()=>[o(t.CheckOutlined)]),default:e(()=>[d(" "+l(t.t("git.actions.autoCommit")),1)]),_:1},8,["loading"])]),_:1}),t.gitBranch||t.changedCount>0?(v(),G("div",rt,[o(L,null,{default:e(()=>[t.gitBranch?(v(),x(C,{key:0,color:"blue"},{default:e(()=>[o(t.BranchesOutlined),d(" "+l(t.gitBranch),1)]),_:1})):f("v-if",!0),t.changedCount>0?(v(),x(C,{key:1,color:"orange"},{default:e(()=>[d(l(t.t("git.status.changedCount",{count:t.changedCount})),1)]),_:1})):t.statusOutput&&t.changedCount===0?(v(),x(C,{key:2,color:"green"},{default:e(()=>[d(l(t.t("git.status.clean")),1)]),_:1})):f("v-if",!0)]),_:1})])):f("v-if",!0),t.statusOutput?(v(),x(b,{key:1,bordered:!1,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)"}},{default:e(()=>[c("pre",nt,l(t.statusOutput),1)]),_:1})):t.statusLoading?f("v-if",!0):(v(),x(k,{key:2,description:t.t("git.status.emptyHint"),style:{padding:"60px 0"}},null,8,["description"])),t.commitResult?(v(),x(h,{key:3,message:t.commitSuccess?t.t("git.status.commitSuccessAlert"):t.t("git.status.commitResultAlert"),description:t.commitResult,type:t.commitSuccess?"success":"info","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:a[0]||(a[0]=i=>t.commitResult="")},null,8,["message","description","type"])):f("v-if",!0)]),_:1}),f(" Import/Export Tab "),o(w,{key:"io"},{tab:e(()=>[o(t.ImportOutlined),d(" "+l(t.t("git.tabs.io")),1)]),default:e(()=>[o(b,{title:t.t("git.import.cardTitle"),bordered:!1,style:{background:"var(--bg-card)",border:"1px solid var(--border-color)","margin-bottom":"16px"}},{default:e(()=>[c("div",lt,[c("div",st,[c("label",ct,l(t.t("git.import.pathLabel")),1),o(R,{value:t.importPath,"onUpdate:value":a[1]||(a[1]=i=>t.importPath=i),placeholder:t.t("git.import.pathPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),c("div",dt,[c("label",mt,l(t.t("git.import.formatLabel")),1),o(S,{value:t.importFormat,"onUpdate:value":a[2]||(a[2]=i=>t.importFormat=i),style:{width:"140px"}},{default:e(()=>[o(O,{value:"markdown"},{default:e(()=>[...a[7]||(a[7]=[d("Markdown",-1)])]),_:1}),o(O,{value:"pdf"},{default:e(()=>[...a[8]||(a[8]=[d("PDF",-1)])]),_:1}),o(O,{value:"evernote"},{default:e(()=>[...a[9]||(a[9]=[d("Evernote",-1)])]),_:1})]),_:1},8,["value"])]),o(y,{type:"primary",loading:t.importLoading,disabled:!t.importPath.trim(),onClick:t.doImport},{icon:e(()=>[o(t.ImportOutlined)]),default:e(()=>[d(" "+l(t.t("git.import.submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["title"]),o(b,{title:t.t("git.export.cardTitle"),bordered:!1,style:{background:"var(--bg-card)",border:"1px solid var(--border-color)","margin-bottom":"16px"}},{default:e(()=>[c("div",ut,[c("div",gt,[c("label",pt,l(t.t("git.export.pathLabel")),1),o(R,{value:t.exportPath,"onUpdate:value":a[3]||(a[3]=i=>t.exportPath=i),placeholder:t.t("git.export.pathPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),o(y,{type:"primary",loading:t.exportLoading,disabled:!t.exportPath.trim(),onClick:t.doExport},{icon:e(()=>[o(t.ExportOutlined)]),default:e(()=>[d(" "+l(t.t("git.export.submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["title"]),t.ioResult?(v(),x(h,{key:0,message:t.ioSuccess?t.t("git.io.successAlert"):t.t("git.io.resultAlert"),description:t.ioResult,type:t.ioSuccess?"success":"info","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:a[4]||(a[4]=i=>t.ioResult="")},null,8,["message","description","type"])):f("v-if",!0),t.ioOutput?(v(),x(b,{key:1,title:t.t("git.io.outputCardTitle"),bordered:!1,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","margin-top":"16px"}},{default:e(()=>[c("pre",ft,l(t.ioOutput),1)]),_:1},8,["title"])):f("v-if",!0)]),_:1})]),_:1},8,["activeKey"]),f(" Auto Commit Confirmation Modal "),o(P,{open:t.showCommitConfirm,"onUpdate:open":a[6]||(a[6]=i=>t.showCommitConfirm=i),title:t.t("git.confirm.title"),"ok-text":t.t("git.confirm.ok"),"cancel-text":t.t("common.cancel"),"confirm-loading":t.commitLoading,onOk:t.doAutoCommit},{default:e(()=>[c("p",vt,[d(l(t.t("git.confirm.intro1"))+" ",1),a[10]||(a[10]=c("code",null,"git auto-commit",-1)),d(" "+l(t.t("git.confirm.intro2")),1)])]),_:1},8,["open","title","ok-text","cancel-text","confirm-loading"])])}const ht=Q(et,[["render",_t],["__scopeId","data-v-9446ce38"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Git.vue"]]);export{ht as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page-title[data-v-3a4a41f3]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-3a4a41f3]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.governance-tabs[data-v-3a4a41f3] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-3a4a41f3]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.type-pill[data-v-3a4a41f3]{padding:10px 12px;border-radius:6px;background:#1677ff0a;border:1px solid var(--border-color);border-left:3px solid #1677ff;height:100%}.type-head[data-v-3a4a41f3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.type-count[data-v-3a4a41f3]{font-size:18px;font-weight:600;color:var(--text-primary)}.type-name[data-v-3a4a41f3]{color:var(--text-primary);font-size:13px;font-weight:500}.type-desc[data-v-3a4a41f3]{color:var(--text-secondary);font-size:11px;margin-top:2px}.bd-row[data-v-3a4a41f3]{display:flex;align-items:center;margin-bottom:8px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as y,J as g,U as f,R as s,c as o,K as a,V as p,S as k,o as ue,a as se,b as ie,r as P,P as d,Q as u,F,Z as U,$ as Ue}from"./vendor-BvqAck49.js";import{_ as Ie,u as pe,b as ve,E as fe,d as b}from"./index-BJUf19Wd.js";import{s as Pe}from"./community-parser-CO25nZFt.js";import{aU as Ne,aT as Ve,d as Ye,f as Be,ap as Ge,a4 as qe,as as Je,R as Ke}from"./icons-DP3uiYxy.js";function G(t){const n=Pe(t);if(!n)return null;try{return JSON.parse(n)}catch{}const c=n.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!c)return null;try{return JSON.parse(c[0])}catch{return null}}const Se=Object.freeze(["draft","active","passed","rejected","expired"]),he=Object.freeze(["parameter_change","feature_request","policy_update","budget_allocation"]),He=Object.freeze(["yes","no","abstain"]);function w(t,n=0){return typeof t=="number"&&Number.isFinite(t)?t:n}function I(t){if(!t)return{noDb:!1,error:""};const n=Pe(t),c=/Database not available/i.test(n);return{noDb:c,error:c?"Database not available":""}}function We(t,n=0){if(!t||typeof t!="object")return null;const c=t.id||"";return c?{key:c,id:c,name:String(t.name||""),description:String(t.description||""),_idx:n}:null}function me(t){const n=G(t);return Array.isArray(n)?n.map(We).filter(Boolean):[]}function Qe(t,n=0){if(!t||typeof t!="object")return null;const c=t.id||"";return c?{key:c,id:c,title:String(t.title||""),description:t.description??"",type:String(t.type||"feature_request"),proposerDid:t.proposerDid??"",status:String(t.status||"draft").toLowerCase(),impactLevel:t.impactLevel??"",impactAnalysis:t.impactAnalysis??null,voteYes:w(t.voteYes,0),voteNo:w(t.voteNo,0),voteAbstain:w(t.voteAbstain,0),votingStartsAt:t.votingStartsAt??null,votingEndsAt:t.votingEndsAt??null,metadata:t.metadata??null,createdAt:t.createdAt??null,_idx:n}:null}function ye(t){const n=G(t);return Array.isArray(n)?n.map(Qe).filter(Boolean):[]}function Ze(t,n=0){if(!t||typeof t!="object")return null;const c=t.id||"";if(!c)return null;const e=String(t.vote||"").toLowerCase();return{key:c,id:c,proposalId:String(t.proposalId||""),voterDid:String(t.voterDid||""),vote:(He.includes(e),e),reason:t.reason??"",weight:w(t.weight,1),createdAt:t.createdAt??null,_idx:n}}function ge(t){const n=G(t);return Array.isArray(n)?n.map(Ze).filter(Boolean):[]}function be(t){const n=G(t);return!n||typeof n!="object"||Array.isArray(n)?null:{impactLevel:String(n.impactLevel||""),affectedComponents:Array.isArray(n.affectedComponents)?n.affectedComponents.filter(c=>typeof c=="string"):[],riskScore:w(n.riskScore,0),benefitScore:w(n.benefitScore,0),estimatedEffort:String(n.estimatedEffort||""),communitySentiment:String(n.communitySentiment||""),recommendations:Array.isArray(n.recommendations)?n.recommendations.filter(c=>typeof c=="string"):[],analyzedAt:n.analyzedAt??null}}function _e(t){const n=G(t);return!n||typeof n!="object"||Array.isArray(n)?null:{proposalId:String(n.proposalId||""),predictedOutcome:String(n.predictedOutcome||""),confidence:w(n.confidence,0),yesProb:w(n.yesProb,0),noProb:w(n.noProb,0),abstainProb:w(n.abstainProb,0),basedOn:String(n.basedOn||""),sampleSize:w(n.sampleSize,0)}}const Xe={proposalCount:0,voteCount:0,byStatus:{},byType:{}};function ke(t){const n=JSON.parse(JSON.stringify(Xe));for(const e of Se)n.byStatus[e]=0;for(const e of he)n.byType[e]=0;const c=G(t);if(!c||typeof c!="object"||Array.isArray(c))return n;if(n.proposalCount=w(c.proposalCount,0),n.voteCount=w(c.voteCount,0),c.byStatus&&typeof c.byStatus=="object")for(const[e,D]of Object.entries(c.byStatus))typeof D=="number"&&Number.isFinite(D)&&(n.byStatus[e]=D);if(c.byType&&typeof c.byType=="object")for(const[e,D]of Object.entries(c.byType))typeof D=="number"&&Number.isFinite(D)&&(n.byType[e]=D);return n}function $e(t){if(t==null||t==="")return"—";const n=typeof t=="number"?new Date(t):new Date(String(t));return isNaN(n.getTime())?String(t):n.toLocaleString("zh-CN",{hour12:!1})}const et={__name:"Governance",setup(t,{expose:n}){n();const c=pe(),{t:e}=ve(),D=fe.PRESENTED_IMAGE_SIMPLE,Q=P(!1),L=P(!1),N=P(!1),q=P([]),T=P([]),O=P({proposalCount:0,voteCount:0,byStatus:{},byType:{}}),C=P({noDb:!1,error:""}),V=P("proposals"),_=P(""),x=P(""),Y=P(!1),E=P(!1),Z=P(!1),X=P(!1),J=P(!1),z=se({title:"",type:"feature_request",proposerDid:"",description:""}),A=se({voterDid:"",value:"yes",weight:1,reason:""}),h=P(null),K=P([]),H=P(null),B=P(null),$=ie(()=>[{title:e("governance.cols.title"),key:"title"},{title:e("governance.cols.type"),key:"type",width:"130px"},{title:e("governance.cols.status"),key:"status",width:"100px"},{title:e("governance.cols.tally"),key:"tally",width:"180px"},{title:e("governance.cols.impact"),key:"impact",width:"100px"},{title:e("governance.cols.createdAt"),key:"createdAt",width:"160px"},{title:e("governance.cols.action"),key:"action",width:"320px"}]),M=ie(()=>{let l=q.value;return _.value&&(l=l.filter(i=>i.status===_.value)),x.value&&(l=l.filter(i=>i.type===x.value)),l});function ae(l){const i=`governance.statusLabels.${l}`,v=e(i);return v===i?l:v}function S(l){return{draft:"default",active:"processing",passed:"green",rejected:"red",expired:"default"}[l]||"default"}function ee(l){return{draft:"#888",active:"#1677ff",passed:"#52c41a",rejected:"#ff4d4f",expired:"#888"}[l]||"#888"}function ne(l){const i=`governance.typeLabels.${l}`,v=e(i);return v===i?l:v}function te(l){return{parameter_change:"cyan",feature_request:"blue",policy_update:"purple",budget_allocation:"gold"}[l]||"default"}function oe(l){return{parameter_change:"#13c2c2",feature_request:"#1677ff",policy_update:"#722ed1",budget_allocation:"#faad14"}[l]||"#888"}function r(l){const i=`governance.impactLabels.${l}`,v=e(i);return v===i?l:v}function m(l){return{low:"default",medium:"blue",high:"orange",critical:"red"}[l]||"default"}function R(l){return{low:"#888",medium:"#1677ff",high:"#faad14",critical:"#ff4d4f"}[l]||"#888"}function Ce(l){const i=`governance.voteLabels.${l}`,v=e(i);return v===i?l:v}function Ae(l){return{yes:"green",no:"red",abstain:"default"}[l]||"default"}function Oe(l){if(!l)return"—";const i=`governance.effortLabels.${l}`,v=e(i);return v===i?l:v}function ze(l){if(!l)return"—";const i=`governance.sentimentLabels.${l}`,v=e(i);return v===i?l:v}function we(l){const i=l.voteYes+l.voteNo;return i?Math.round(l.voteYes/i*100):0}function Le(l,i){return i?Math.round(l/i*100):0}async function W(){Q.value=!0,C.value={noDb:!1,error:""};try{const[l,i,v]=await Promise.all([c.execute("governance types --json",8e3).catch(()=>({output:""})),c.execute("governance list --json",1e4).catch(()=>({output:""})),c.execute("governance stats --json",8e3).catch(()=>({output:""}))]),j=[i,v].map(le=>I(le.output)).find(le=>le.noDb);j&&(C.value=j),T.value=me(l.output),q.value=ye(i.output),O.value=ke(v.output)}catch(l){b.error(e("governance.msg.loadFailed")+": "+(l?.message||l))}finally{Q.value=!1}}async function Te(){if(!z.title.trim()){b.warning(e("governance.msg.titleEmpty"));return}L.value=!0;try{const l=[`governance create "${z.title.trim().replace(/"/g,'\\"')}"`];l.push(`-t ${z.type}`),z.proposerDid.trim()&&l.push(`-p "${z.proposerDid.trim().replace(/"/g,'\\"')}"`),z.description.trim()&&l.push(`-d "${z.description.trim().replace(/"/g,'\\"')}"`),l.push("--json");const{output:i}=await c.execute(l.join(" "),1e4);if(I(i).noDb){b.error(e("governance.msg.needCcInit"));return}if(!/"id"/.test(i)){b.error(e("governance.msg.createFailed")+": "+i.slice(0,120));return}b.success(e("governance.msg.createSuccess")),Y.value=!1,ce(),await W()}catch(l){b.error(e("governance.msg.createFailed")+": "+(l?.message||l))}finally{L.value=!1}}async function xe(l){await re(`governance activate ${l.id} --json`,e("governance.msg.activated"))}async function Fe(l){await re(`governance close ${l.id} --json`,e("governance.msg.closed"))}async function re(l,i){try{const{output:v}=await c.execute(l,1e4);if(I(v).noDb){b.error(e("governance.msg.needCcInit"));return}if(!/"id"|"proposalId"|"passed"/.test(v)){b.error(e("governance.msg.actionFailed")+": "+v.slice(0,120));return}b.success(i),await W()}catch(v){b.error(e("governance.msg.actionFailed")+": "+(v?.message||v))}}function De(l){h.value=l,A.voterDid="",A.value="yes",A.weight=1,A.reason="",E.value=!0}async function Ee(){if(h.value){if(!A.voterDid.trim()){b.warning(e("governance.msg.voterEmpty"));return}N.value=!0;try{const l=[`governance vote ${h.value.id}`,`"${A.voterDid.trim().replace(/"/g,'\\"')}"`,A.value,`-w ${A.weight}`];A.reason.trim()&&l.push(`-r "${A.reason.trim().replace(/"/g,'\\"')}"`),l.push("--json");const{output:i}=await c.execute(l.join(" "),8e3);if(I(i).noDb){b.error(e("governance.msg.needCcInit"));return}if(!/"id"/.test(i)){b.error(e("governance.msg.voteFailed")+": "+i.slice(0,120));return}b.success(e("governance.msg.voteSuccess")),E.value=!1,await W()}catch(l){b.error(e("governance.msg.voteFailed")+": "+(l?.message||l))}finally{N.value=!1}}}async function je(l){h.value=l,K.value=[],Z.value=!0;try{const{output:i}=await c.execute(`governance votes ${l.id} --json`,8e3);K.value=ge(i)}catch{}}async function Me(l){h.value=l,H.value=null;try{const{output:i}=await c.execute(`governance analyze ${l.id} --json`,8e3);if(I(i).noDb){b.error(e("governance.msg.needCcInit"));return}const j=be(i);if(!j){b.error(e("governance.msg.analyzeFailed")+": "+i.slice(0,120));return}H.value=j,X.value=!0}catch(i){b.error(e("governance.msg.analyzeFailed")+": "+(i?.message||i))}}async function Re(l){h.value=l,B.value=null;try{const{output:i}=await c.execute(`governance predict ${l.id} --json`,8e3);if(I(i).noDb){b.error(e("governance.msg.needCcInit"));return}const j=_e(i);if(!j){b.error(e("governance.msg.predictFailed")+": "+i.slice(0,120));return}B.value=j,J.value=!0}catch(i){b.error(e("governance.msg.predictFailed")+": "+(i?.message||i))}}function ce(){z.title="",z.type="feature_request",z.proposerDid="",z.description=""}ue(W);const de={ws:c,t:e,EMPTY_IMG:D,loading:Q,creating:L,voting:N,proposals:q,proposalTypes:T,stats:O,errorState:C,activeTab:V,statusFilter:_,typeFilter:x,showCreateModal:Y,showVoteModal:E,showDetailsModal:Z,showAnalysisModal:X,showPredictionModal:J,createForm:z,voteForm:A,currentProposal:h,detailVotes:K,currentAnalysis:H,currentPrediction:B,proposalColumns:$,filteredProposals:M,statusLabel:ae,statusColor:S,statusBarColor:ee,typeLabel:ne,typeColor:te,typeBarColor:oe,impactLabel:r,impactColor:m,impactBarColor:R,voteLabel:Ce,voteColor:Ae,effortLabel:Oe,sentimentLabel:ze,yesPct:we,pctOfTotal:Le,loadAll:W,createProposal:Te,activateProposal:xe,closeProposal:Fe,runProposalAction:re,openVoteModal:De,submitVote:Ee,viewProposalDetails:je,runAnalyze:Me,runPredict:Re,resetCreateForm:ce,ref:P,computed:ie,onMounted:ue,reactive:se,get ReloadOutlined(){return Ke},get PlusOutlined(){return Je},get FileTextOutlined(){return qe},get PlayCircleOutlined(){return Ge},get CheckCircleOutlined(){return Be},get CloseCircleOutlined(){return Ye},get LikeOutlined(){return Ve},get ArrowRightOutlined(){return Ne},get message(){return b},get Empty(){return fe},get useI18n(){return ve},get useWsStore(){return pe},get parseTypes(){return me},get parseProposals(){return ye},get parseVotes(){return ge},get parseAnalysis(){return be},get parsePrediction(){return _e},get parseStats(){return ke},get detectGovernanceError(){return I},get formatGovernanceTime(){return $e},get PROPOSAL_STATUSES(){return Se},get PROPOSAL_TYPE_IDS(){return he}};return Object.defineProperty(de,"__isScriptSetup",{enumerable:!1,value:!0}),de}},tt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ot={class:"page-title"},at={class:"page-sub"},nt={class:"type-head"},rt={class:"type-count"},lt={class:"type-name"},st={class:"type-desc"},it={class:"filter-bar"},ct={style:{color:"var(--text-primary)","font-weight":"500"}},dt={style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},ut={style:{"font-family":"monospace","font-size":"12px"}},pt={style:{color:"#52c41a"}},vt={style:{color:"#ff4d4f"}},ft={style:{color:"var(--text-muted)"}},mt={key:1,style:{color:"var(--text-muted)"}},yt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},gt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},bt={style:{"margin-left":"8px",color:"var(--text-muted)","font-size":"12px"}},_t={key:0,style:{"padding-top":"8px"}},kt={style:{"font-family":"monospace","font-size":"12px"}},Pt={key:0,style:{"font-family":"monospace","font-size":"12px"}},St={key:1,style:{color:"var(--text-muted)"}},ht={key:0,style:{"white-space":"pre-wrap"}},Ct={key:1,style:{color:"var(--text-muted)"}},At={style:{color:"var(--text-primary)","font-size":"13px",margin:"20px 0 10px"}},Ot={style:{"margin-left":"8px",color:"var(--text-muted)","font-size":"11px"}},zt={style:{"margin-left":"8px","font-family":"monospace","font-size":"11px",color:"var(--text-secondary)"}},wt={key:0,style:{"margin-left":"8px",color:"var(--text-secondary)","font-size":"12px"}},Lt={style:{"margin-left":"auto",color:"var(--text-muted)","font-size":"11px"}},Tt={key:0,style:{"padding-top":"8px"}},xt={style:{"margin-bottom":"8px"}},Ft={style:{color:"var(--text-secondary)","font-size":"12px"}},Dt={style:{color:"var(--text-secondary)","font-size":"12px"}},Et={key:0,style:{"padding-top":"8px"}},jt={style:{"text-align":"center","margin-bottom":"20px"}},Mt={style:{color:"#52c41a"}},Rt={style:{color:"#ff4d4f"}},Ut={style:{color:"var(--text-muted)"}};function It(t,n,c,e,D,Q){const L=y("a-button"),N=y("a-space"),q=y("a-alert"),T=y("a-statistic"),O=y("a-card"),C=y("a-col"),V=y("a-row"),_=y("a-tag"),x=y("a-radio-button"),Y=y("a-radio-group"),E=y("a-progress"),Z=y("a-popconfirm"),X=y("a-table"),J=y("a-tab-pane"),z=y("a-tabs"),A=y("a-input"),h=y("a-form-item"),K=y("a-select-option"),H=y("a-select"),B=y("a-textarea"),$=y("a-form"),M=y("a-modal"),ae=y("a-input-number"),S=y("a-descriptions-item"),ee=y("a-descriptions"),ne=y("a-empty"),te=y("a-list-item"),oe=y("a-list");return d(),g("div",null,[f("div",tt,[f("div",null,[f("h2",ot,s(t.$t("governance.title")),1),f("p",at,s(t.$t("governance.subtitle")),1)]),o(N,null,{default:a(()=>[o(L,{loading:e.loading,onClick:e.loadAll},{icon:a(()=>[o(e.ReloadOutlined)]),default:a(()=>[u(" "+s(t.$t("governance.refresh")),1)]),_:1},8,["loading"]),o(L,{type:"primary",onClick:n[0]||(n[0]=r=>e.showCreateModal=!0)},{icon:a(()=>[o(e.PlusOutlined)]),default:a(()=>[u(" "+s(t.$t("governance.create")),1)]),_:1})]),_:1})]),p(" noDb banner "),e.errorState.noDb?(d(),k(q,{key:0,type:"info","show-icon":"",message:t.$t("governance.noDb.message"),description:t.$t("governance.noDb.description"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):p("v-if",!0),p(" Stat cards "),o(V,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[o(C,{xs:12,sm:8,lg:5},{default:a(()=>[o(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("governance.stats.total"),value:e.stats.proposalCount,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[o(e.FileTextOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(C,{xs:12,sm:8,lg:5},{default:a(()=>[o(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("governance.stats.active"),value:e.stats.byStatus.active||0,"value-style":{color:(e.stats.byStatus.active||0)>0?"#1677ff":"#888",fontSize:"20px"}},{prefix:a(()=>[o(e.PlayCircleOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(C,{xs:12,sm:8,lg:5},{default:a(()=>[o(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("governance.stats.passed"),value:e.stats.byStatus.passed||0,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[o(e.CheckCircleOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(C,{xs:12,sm:8,lg:5},{default:a(()=>[o(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("governance.stats.rejected"),value:e.stats.byStatus.rejected||0,"value-style":{color:"#ff4d4f",fontSize:"20px"}},{prefix:a(()=>[o(e.CloseCircleOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(C,{xs:24,sm:8,lg:4},{default:a(()=>[o(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("governance.stats.votes"),value:e.stats.voteCount,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[o(e.LikeOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),p(" Type catalogue "),o(O,{title:t.$t("governance.typesCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[o(V,{gutter:[12,12]},{default:a(()=>[(d(!0),g(F,null,U(e.proposalTypes,r=>(d(),k(C,{key:r.id,xs:12,sm:12,lg:6},{default:a(()=>[f("div",{class:"type-pill",style:Ue({borderLeftColor:e.typeColor(r.id)})},[f("div",nt,[o(_,{color:e.typeColor(r.id),style:{"font-family":"monospace"}},{default:a(()=>[u(s(r.id),1)]),_:2},1032,["color"]),f("span",rt,s(e.stats.byType[r.id]||0),1)]),f("div",lt,s(r.name),1),f("div",st,s(r.description),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),p(" Tabs "),o(z,{activeKey:e.activeTab,"onUpdate:activeKey":n[3]||(n[3]=r=>e.activeTab=r),class:"governance-tabs"},{default:a(()=>[p(" ── Proposals tab ────────────────────────────────────────── "),o(J,{key:"proposals",tab:t.$t("governance.tabs.proposals")},{default:a(()=>[f("div",it,[o(Y,{value:e.statusFilter,"onUpdate:value":n[1]||(n[1]=r=>e.statusFilter=r),size:"small","button-style":"solid"},{default:a(()=>[o(x,{value:""},{default:a(()=>[u(s(t.$t("governance.filter.allStatuses")),1)]),_:1}),(d(!0),g(F,null,U(e.PROPOSAL_STATUSES,r=>(d(),k(x,{key:r,value:r},{default:a(()=>[u(s(e.statusLabel(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),o(Y,{value:e.typeFilter,"onUpdate:value":n[2]||(n[2]=r=>e.typeFilter=r),size:"small"},{default:a(()=>[o(x,{value:""},{default:a(()=>[u(s(t.$t("governance.filter.allTypes")),1)]),_:1}),(d(!0),g(F,null,U(e.PROPOSAL_TYPE_IDS,r=>(d(),k(x,{key:r,value:r},{default:a(()=>[u(s(e.typeLabel(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),o(X,{columns:e.proposalColumns,"data-source":e.filteredProposals,pagination:{pageSize:20,showTotal:r=>t.$t("governance.table.totalSuffix",{n:r})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:r,record:m})=>[r.key==="title"?(d(),g(F,{key:0},[f("span",ct,s(m.title||t.$t("governance.table.unnamed")),1),f("div",dt,s(m.id.slice(0,16)),1)],64)):p("v-if",!0),r.key==="type"?(d(),k(_,{key:1,color:e.typeColor(m.type),style:{"font-family":"monospace"}},{default:a(()=>[u(s(e.typeLabel(m.type)),1)]),_:2},1032,["color"])):p("v-if",!0),r.key==="status"?(d(),k(_,{key:2,color:e.statusColor(m.status)},{default:a(()=>[u(s(e.statusLabel(m.status)),1)]),_:2},1032,["color"])):p("v-if",!0),r.key==="tally"?(d(),g(F,{key:3},[f("span",ut,[f("span",pt,"+"+s(m.voteYes),1),n[17]||(n[17]=u(" / ",-1)),f("span",vt,"-"+s(m.voteNo),1),n[18]||(n[18]=u(" / ",-1)),f("span",ft,"~"+s(m.voteAbstain),1)]),m.voteYes+m.voteNo>0?(d(),k(E,{key:0,percent:e.yesPct(m),size:"small","show-info":!1,"stroke-color":m.voteYes>=m.voteNo?"#52c41a":"#ff4d4f",style:{"margin-top":"4px"}},null,8,["percent","stroke-color"])):p("v-if",!0)],64)):p("v-if",!0),r.key==="impact"?(d(),g(F,{key:4},[m.impactLevel?(d(),k(_,{key:0,color:e.impactColor(m.impactLevel)},{default:a(()=>[u(s(e.impactLabel(m.impactLevel)),1)]),_:2},1032,["color"])):(d(),g("span",mt,"—"))],64)):p("v-if",!0),r.key==="createdAt"?(d(),g("span",yt,s(e.formatGovernanceTime(m.createdAt)),1)):p("v-if",!0),r.key==="action"?(d(),g(F,{key:6},[o(L,{size:"small",type:"link",onClick:R=>e.viewProposalDetails(m)},{default:a(()=>[u(s(t.$t("governance.actions.details")),1)]),_:1},8,["onClick"]),m.status==="draft"?(d(),k(L,{key:0,size:"small",type:"link",onClick:R=>e.activateProposal(m)},{default:a(()=>[u(s(t.$t("governance.actions.activate")),1)]),_:1},8,["onClick"])):p("v-if",!0),m.status==="active"?(d(),k(L,{key:1,size:"small",type:"link",style:{color:"#52c41a"},onClick:R=>e.openVoteModal(m)},{default:a(()=>[u(s(t.$t("governance.actions.vote")),1)]),_:1},8,["onClick"])):p("v-if",!0),m.status==="active"?(d(),k(Z,{key:2,title:t.$t("governance.closeConfirm.title"),"ok-text":t.$t("governance.closeConfirm.ok"),"cancel-text":t.$t("governance.closeConfirm.cancel"),onConfirm:R=>e.closeProposal(m)},{default:a(()=>[o(L,{size:"small",type:"link",danger:""},{default:a(()=>[u(s(t.$t("governance.actions.close")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):p("v-if",!0),o(L,{size:"small",type:"link",onClick:R=>e.runAnalyze(m)},{default:a(()=>[u(s(t.$t("governance.actions.analyze")),1)]),_:1},8,["onClick"]),o(L,{size:"small",type:"link",onClick:R=>e.runPredict(m)},{default:a(()=>[u(s(t.$t("governance.actions.predict")),1)]),_:1},8,["onClick"])],64)):p("v-if",!0)]),emptyText:a(()=>[f("div",gt,[o(e.FileTextOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),u(" "+s(e.statusFilter||e.typeFilter?t.$t("governance.table.emptyFiltered"):t.$t("governance.table.empty")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),p(" ── Status & type breakdown tab ──────────────────────────── "),o(J,{key:"breakdown",tab:t.$t("governance.tabs.breakdown")},{default:a(()=>[o(V,{gutter:[16,16]},{default:a(()=>[o(C,{xs:24,lg:12},{default:a(()=>[o(O,{title:t.$t("governance.breakdown.byStatus"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[(d(!0),g(F,null,U(e.PROPOSAL_STATUSES,r=>(d(),g("div",{key:r,class:"bd-row"},[o(_,{color:e.statusColor(r),style:{"min-width":"60px","text-align":"center"}},{default:a(()=>[u(s(e.statusLabel(r)),1)]),_:2},1032,["color"]),o(E,{percent:e.pctOfTotal(e.stats.byStatus[r]||0,e.stats.proposalCount),"stroke-color":e.statusBarColor(r),format:()=>`${e.stats.byStatus[r]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1},8,["title"])]),_:1}),o(C,{xs:24,lg:12},{default:a(()=>[o(O,{title:t.$t("governance.breakdown.byType"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[(d(!0),g(F,null,U(e.PROPOSAL_TYPE_IDS,r=>(d(),g("div",{key:r,class:"bd-row"},[o(_,{color:e.typeColor(r),style:{"min-width":"90px","text-align":"center"}},{default:a(()=>[u(s(e.typeLabel(r)),1)]),_:2},1032,["color"]),o(E,{percent:e.pctOfTotal(e.stats.byType[r]||0,e.stats.proposalCount),"stroke-color":e.typeBarColor(r),format:()=>`${e.stats.byType[r]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1},8,["title"])]),_:1})]),_:1})]),_:1},8,["tab"])]),_:1},8,["activeKey"]),p(" ── Create proposal modal ───────────────────────────────── "),o(M,{open:e.showCreateModal,"onUpdate:open":n[8]||(n[8]=r=>e.showCreateModal=r),title:t.$t("governance.create_modal.title"),"confirm-loading":e.creating,width:560,"ok-text":t.$t("governance.create_modal.ok"),"cancel-text":t.$t("governance.create_modal.cancel"),onOk:e.createProposal,onCancel:e.resetCreateForm},{default:a(()=>[o($,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[o(h,{label:t.$t("governance.create_modal.titleLabel"),required:""},{default:a(()=>[o(A,{value:e.createForm.title,"onUpdate:value":n[4]||(n[4]=r=>e.createForm.title=r),placeholder:t.$t("governance.create_modal.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(h,{label:t.$t("governance.create_modal.typeLabel"),required:""},{default:a(()=>[o(H,{value:e.createForm.type,"onUpdate:value":n[5]||(n[5]=r=>e.createForm.type=r)},{default:a(()=>[(d(!0),g(F,null,U(e.PROPOSAL_TYPE_IDS,r=>(d(),k(K,{key:r,value:r},{default:a(()=>[u(s(e.typeLabel(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),o(h,{label:t.$t("governance.create_modal.proposerLabel")},{default:a(()=>[o(A,{value:e.createForm.proposerDid,"onUpdate:value":n[6]||(n[6]=r=>e.createForm.proposerDid=r),placeholder:t.$t("governance.create_modal.proposerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(h,{label:t.$t("governance.create_modal.descLabel")},{default:a(()=>[o(B,{value:e.createForm.description,"onUpdate:value":n[7]||(n[7]=r=>e.createForm.description=r),placeholder:t.$t("governance.create_modal.descPlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),p(" ── Vote modal ───────────────────────────────────────────── "),o(M,{open:e.showVoteModal,"onUpdate:open":n[13]||(n[13]=r=>e.showVoteModal=r),title:t.$t("governance.vote_modal.title",{title:e.currentProposal?.title||""}),"confirm-loading":e.voting,width:540,"ok-text":t.$t("governance.vote_modal.ok"),"cancel-text":t.$t("governance.vote_modal.cancel"),onOk:e.submitVote},{default:a(()=>[o($,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[o(h,{label:t.$t("governance.vote_modal.voterLabel"),required:""},{default:a(()=>[o(A,{value:e.voteForm.voterDid,"onUpdate:value":n[9]||(n[9]=r=>e.voteForm.voterDid=r),placeholder:"did:key:..."},null,8,["value"])]),_:1},8,["label"]),o(h,{label:t.$t("governance.vote_modal.valueLabel"),required:""},{default:a(()=>[o(Y,{value:e.voteForm.value,"onUpdate:value":n[10]||(n[10]=r=>e.voteForm.value=r),"button-style":"solid"},{default:a(()=>[o(x,{value:"yes",style:{color:"#52c41a"}},{default:a(()=>[u(s(t.$t("governance.vote_modal.yes")),1)]),_:1}),o(x,{value:"no",style:{color:"#ff4d4f"}},{default:a(()=>[u(s(t.$t("governance.vote_modal.no")),1)]),_:1}),o(x,{value:"abstain"},{default:a(()=>[u(s(t.$t("governance.vote_modal.abstain")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label"]),o(h,{label:t.$t("governance.vote_modal.weightLabel")},{default:a(()=>[o(ae,{value:e.voteForm.weight,"onUpdate:value":n[11]||(n[11]=r=>e.voteForm.weight=r),min:.1,step:.1,style:{width:"120px"}},null,8,["value"]),f("span",bt,s(t.$t("governance.vote_modal.weightHint")),1)]),_:1},8,["label"]),o(h,{label:t.$t("governance.vote_modal.reasonLabel")},{default:a(()=>[o(B,{value:e.voteForm.reason,"onUpdate:value":n[12]||(n[12]=r=>e.voteForm.reason=r),placeholder:t.$t("governance.vote_modal.reasonPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),p(" ── Proposal details modal ──────────────────────────────── "),o(M,{open:e.showDetailsModal,"onUpdate:open":n[14]||(n[14]=r=>e.showDetailsModal=r),title:t.$t("governance.details.title",{title:e.currentProposal?.title||""}),width:780,footer:null},{default:a(()=>[e.currentProposal?(d(),g("div",_t,[o(ee,{column:2,size:"small",bordered:""},{default:a(()=>[o(S,{label:t.$t("governance.details.id"),span:2},{default:a(()=>[f("span",kt,s(e.currentProposal.id),1)]),_:1},8,["label"]),o(S,{label:t.$t("governance.details.type")},{default:a(()=>[o(_,{color:e.typeColor(e.currentProposal.type)},{default:a(()=>[u(s(e.typeLabel(e.currentProposal.type)),1)]),_:1},8,["color"])]),_:1},8,["label"]),o(S,{label:t.$t("governance.details.status")},{default:a(()=>[o(_,{color:e.statusColor(e.currentProposal.status)},{default:a(()=>[u(s(e.statusLabel(e.currentProposal.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),o(S,{label:t.$t("governance.details.proposer"),span:2},{default:a(()=>[e.currentProposal.proposerDid?(d(),g("span",Pt,s(e.currentProposal.proposerDid),1)):(d(),g("span",St,s(t.$t("governance.details.proposerUnset")),1))]),_:1},8,["label"]),o(S,{label:t.$t("governance.details.description"),span:2},{default:a(()=>[e.currentProposal.description?(d(),g("div",ht,s(e.currentProposal.description),1)):(d(),g("span",Ct,"—"))]),_:1},8,["label"]),o(S,{label:t.$t("governance.details.tally"),span:2},{default:a(()=>[o(N,null,{default:a(()=>[o(_,{color:"green"},{default:a(()=>[u(s(t.$t("governance.details.tallyYes",{n:e.currentProposal.voteYes})),1)]),_:1}),o(_,{color:"red"},{default:a(()=>[u(s(t.$t("governance.details.tallyNo",{n:e.currentProposal.voteNo})),1)]),_:1}),o(_,null,{default:a(()=>[u(s(t.$t("governance.details.tallyAbstain",{n:e.currentProposal.voteAbstain})),1)]),_:1})]),_:1})]),_:1},8,["label"]),e.currentProposal.impactLevel?(d(),k(S,{key:0,label:t.$t("governance.details.impact")},{default:a(()=>[o(_,{color:e.impactColor(e.currentProposal.impactLevel)},{default:a(()=>[u(s(e.impactLabel(e.currentProposal.impactLevel)),1)]),_:1},8,["color"])]),_:1},8,["label"])):p("v-if",!0),o(S,{label:t.$t("governance.details.createdAt")},{default:a(()=>[u(s(e.formatGovernanceTime(e.currentProposal.createdAt)),1)]),_:1},8,["label"]),e.currentProposal.votingStartsAt?(d(),k(S,{key:1,label:t.$t("governance.details.votingStartsAt")},{default:a(()=>[u(s(e.formatGovernanceTime(e.currentProposal.votingStartsAt)),1)]),_:1},8,["label"])):p("v-if",!0),e.currentProposal.votingEndsAt?(d(),k(S,{key:2,label:t.$t("governance.details.votingEndsAt")},{default:a(()=>[u(s(e.formatGovernanceTime(e.currentProposal.votingEndsAt)),1)]),_:1},8,["label"])):p("v-if",!0)]),_:1}),p(" Votes list "),f("h4",At,s(t.$t("governance.details.votesHeader")),1),e.detailVotes.length?(d(),k(oe,{key:1,size:"small","data-source":e.detailVotes,pagination:{pageSize:8}},{renderItem:a(({item:r})=>[o(te,null,{default:a(()=>[o(_,{color:e.voteColor(r.vote),style:{"min-width":"50px","text-align":"center"}},{default:a(()=>[u(s(e.voteLabel(r.vote)),1)]),_:2},1032,["color"]),f("span",Ot,"w="+s(r.weight),1),f("span",zt,s(r.voterDid),1),r.reason?(d(),g("span",wt,"— "+s(r.reason),1)):p("v-if",!0),f("span",Lt,s(e.formatGovernanceTime(r.createdAt)),1)]),_:2},1024)]),_:1},8,["data-source"])):(d(),k(ne,{key:0,description:t.$t("governance.details.votesEmpty"),image:e.EMPTY_IMG},null,8,["description","image"]))])):p("v-if",!0)]),_:1},8,["open","title"]),p(" ── Analysis modal ──────────────────────────────────────── "),o(M,{open:e.showAnalysisModal,"onUpdate:open":n[15]||(n[15]=r=>e.showAnalysisModal=r),title:t.$t("governance.analysis.title",{title:e.currentProposal?.title||""}),width:640,footer:null},{default:a(()=>[e.currentAnalysis?(d(),g("div",Tt,[o(V,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:a(()=>[o(C,{span:8},{default:a(()=>[o(T,{title:t.$t("governance.analysis.impactLevel"),value:e.impactLabel(e.currentAnalysis.impactLevel),"value-style":{color:e.impactBarColor(e.currentAnalysis.impactLevel),fontSize:"16px"}},null,8,["title","value","value-style"])]),_:1}),o(C,{span:8},{default:a(()=>[o(T,{title:t.$t("governance.analysis.effort"),value:e.effortLabel(e.currentAnalysis.estimatedEffort),"value-style":{fontSize:"16px"}},null,8,["title","value"])]),_:1}),o(C,{span:8},{default:a(()=>[o(T,{title:t.$t("governance.analysis.sentiment"),value:e.sentimentLabel(e.currentAnalysis.communitySentiment),"value-style":{fontSize:"16px"}},null,8,["title","value"])]),_:1})]),_:1}),o(O,{title:t.$t("governance.analysis.riskBenefit"),size:"small",style:{"margin-bottom":"12px"}},{default:a(()=>[f("div",xt,[f("span",Ft,s(t.$t("governance.analysis.riskScore")),1),o(E,{percent:Math.round(e.currentAnalysis.riskScore*100),"stroke-color":"#ff4d4f"},null,8,["percent"])]),f("div",null,[f("span",Dt,s(t.$t("governance.analysis.benefitScore")),1),o(E,{percent:Math.round(e.currentAnalysis.benefitScore*100),"stroke-color":"#52c41a"},null,8,["percent"])])]),_:1},8,["title"]),e.currentAnalysis.affectedComponents.length?(d(),k(O,{key:0,title:t.$t("governance.analysis.components"),size:"small",style:{"margin-bottom":"12px"}},{default:a(()=>[(d(!0),g(F,null,U(e.currentAnalysis.affectedComponents,r=>(d(),k(_,{key:r,color:"blue"},{default:a(()=>[u(s(r),1)]),_:2},1024))),128))]),_:1},8,["title"])):p("v-if",!0),e.currentAnalysis.recommendations.length?(d(),k(O,{key:1,title:t.$t("governance.analysis.recommendations"),size:"small"},{default:a(()=>[o(oe,{size:"small","data-source":e.currentAnalysis.recommendations},{renderItem:a(({item:r})=>[o(te,null,{default:a(()=>[o(e.ArrowRightOutlined,{style:{color:"#faad14","margin-right":"8px"}}),u(" "+s(r),1)]),_:2},1024)]),_:1},8,["data-source"])]),_:1},8,["title"])):p("v-if",!0)])):p("v-if",!0)]),_:1},8,["open","title"]),p(" ── Prediction modal ────────────────────────────────────── "),o(M,{open:e.showPredictionModal,"onUpdate:open":n[16]||(n[16]=r=>e.showPredictionModal=r),title:t.$t("governance.prediction.title",{title:e.currentProposal?.title||""}),width:540,footer:null},{default:a(()=>[e.currentPrediction?(d(),g("div",Et,[f("div",jt,[o(_,{color:e.currentPrediction.predictedOutcome==="pass"?"green":"red",style:{"font-size":"16px",padding:"6px 14px"}},{default:a(()=>[u(s(e.currentPrediction.predictedOutcome==="pass"?t.$t("governance.prediction.outcomePass"):t.$t("governance.prediction.outcomeReject")),1)]),_:1},8,["color"])]),o(ee,{column:2,size:"small",bordered:""},{default:a(()=>[o(S,{label:t.$t("governance.prediction.confidence"),span:2},{default:a(()=>[o(E,{percent:Math.round(e.currentPrediction.confidence*100),"stroke-color":e.currentPrediction.confidence>=.6?"#52c41a":"#faad14"},null,8,["percent","stroke-color"])]),_:1},8,["label"]),o(S,{label:t.$t("governance.prediction.basedOn")},{default:a(()=>[o(_,{color:e.currentPrediction.basedOn==="votes"?"blue":"orange"},{default:a(()=>[u(s(e.currentPrediction.basedOn==="votes"?t.$t("governance.prediction.basedOnVotes"):t.$t("governance.prediction.basedOnHeuristic")),1)]),_:1},8,["color"])]),_:1},8,["label"]),o(S,{label:t.$t("governance.prediction.sampleSize")},{default:a(()=>[u(s(e.currentPrediction.sampleSize),1)]),_:1},8,["label"]),o(S,{label:t.$t("governance.prediction.yesProb")},{default:a(()=>[f("span",Mt,s((e.currentPrediction.yesProb*100).toFixed(1))+"%",1)]),_:1},8,["label"]),o(S,{label:t.$t("governance.prediction.noProb")},{default:a(()=>[f("span",Rt,s((e.currentPrediction.noProb*100).toFixed(1))+"%",1)]),_:1},8,["label"]),o(S,{label:t.$t("governance.prediction.abstainProb"),span:2},{default:a(()=>[f("span",Ut,s((e.currentPrediction.abstainProb*100).toFixed(1))+"%",1)]),_:1},8,["label"])]),_:1})])):p("v-if",!0)]),_:1},8,["open","title"])])}const Gt=Ie(et,[["render",It],["__scopeId","data-v-3a4a41f3"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Governance.vue"]]);export{Gt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as b,J as g,U as w,R as d,c as a,K as t,V as f,S,o as ae,a as Z,b as V,r as _,P as c,Q as m,F as h,Z as E,$ as Se}from"./vendor-BvqAck49.js";import{_ as he,b as oe,u as re,d as p}from"./index-BJUf19Wd.js";import{s as Ce}from"./community-parser-CO25nZFt.js";import{a0 as Fe,f as Te,$ as Oe,a3 as we,as as Ae,R as Me}from"./icons-DP3uiYxy.js";function X(s){const i=Ce(s);if(!i)return null;try{return JSON.parse(i)}catch{}const n=i.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!n)return null;try{return JSON.parse(n[0])}catch{return null}}const Ne=Object.freeze(["online","offline","busy","degraded"]),ze=Object.freeze(["queued","dispatched","running","complete","failed"]),Ie=Object.freeze(["standard","encrypted","federated"]);function F(s,i=0){return typeof s=="number"&&Number.isFinite(s)?s:i}function Le(s){if(Array.isArray(s))return s.filter(i=>typeof i=="string");if(typeof s=="string")try{const i=JSON.parse(s);if(Array.isArray(i))return i.filter(n=>typeof n=="string")}catch{}return[]}function je(s,i=0){if(!s||typeof s!="object")return null;const n=s.id||"";return n?{key:n,id:n,nodeId:s.nodeId??s.node_id??"",endpoint:s.endpoint||"",capabilities:Le(s.capabilities),gpuMemoryMb:F(s.gpuMemoryMb??s.gpu_memory_mb,0),status:String(s.status||"offline").toLowerCase(),lastHeartbeat:s.lastHeartbeat??s.last_heartbeat??null,taskCount:F(s.taskCount??s.task_count,0),createdAt:s.createdAt??s.created_at??null,_idx:i}:null}function ie(s){const i=X(s);return Array.isArray(i)?i.map(je).filter(Boolean):[]}function Ue(s,i=0){if(!s||typeof s!="object")return null;const n=s.id||"";return n?{key:n,id:n,model:String(s.model||""),input:s.input??"",output:s.output??"",privacyMode:String(s.privacyMode??s.privacy_mode??"standard").toLowerCase(),priority:F(s.priority,5),assignedNode:s.assignedNode??s.assigned_node??null,status:String(s.status||"queued").toLowerCase(),durationMs:s.durationMs??s.duration_ms??null,createdAt:s.createdAt??s.created_at??null,completedAt:s.completedAt??s.completed_at??null,_idx:i}:null}function le(s){const i=X(s);return Array.isArray(i)?i.map(Ue).filter(Boolean):[]}const Re={nodes:{total:0,online:0,offline:0,busy:0},tasks:{total:0,queued:0,completed:0,failed:0,avgDurationMs:0}};function se(s){const i=JSON.parse(JSON.stringify(Re)),n=X(s);return!n||typeof n!="object"||Array.isArray(n)||(n.nodes&&typeof n.nodes=="object"&&(i.nodes.total=F(n.nodes.total,0),i.nodes.online=F(n.nodes.online,0),i.nodes.offline=F(n.nodes.offline,0),i.nodes.busy=F(n.nodes.busy,0)),n.tasks&&typeof n.tasks=="object"&&(i.tasks.total=F(n.tasks.total,0),i.tasks.queued=F(n.tasks.queued,0),i.tasks.completed=F(n.tasks.completed,0),i.tasks.failed=F(n.tasks.failed,0),i.tasks.avgDurationMs=F(n.tasks.avgDurationMs??n.tasks.avg_duration_ms,0))),i}function De(s){if(s==null||s==="")return"—";const i=typeof s=="number"?new Date(s):new Date(String(s));return isNaN(i.getTime())?String(s):i.toLocaleString("zh-CN",{hour12:!1})}const Pe={__name:"Inference",setup(s,{expose:i}){i();const{t:n}=oe(),e=re(),H=_(!1),J=_(!1),T=_(!1),U=_(""),R=_(""),I=_([]),D=_([]),L=_({nodes:{total:0,online:0,offline:0,busy:0},tasks:{total:0,queued:0,completed:0,failed:0,avgDurationMs:0}}),M=_("nodes"),N=_(""),q=_(""),C=_(""),O=_(!1),j=_(!1),k=Z({nodeId:"",endpoint:"",capabilities:"",gpuMemory:null}),v=Z({model:"",input:"",priority:5,mode:"standard"}),K=V(()=>[{title:n("inference.nodeColumns.nodeId"),key:"nodeId"},{title:n("inference.nodeColumns.capabilities"),key:"capabilities",width:"220px"},{title:n("inference.nodeColumns.gpu"),key:"gpu",width:"100px"},{title:n("inference.nodeColumns.status"),key:"status",width:"100px"},{title:n("inference.nodeColumns.taskCount"),key:"taskCount",width:"90px"},{title:n("inference.nodeColumns.lastHeartbeat"),key:"lastHeartbeat",width:"160px"},{title:n("inference.nodeColumns.action"),key:"action",width:"210px"}]),W=V(()=>[{title:n("inference.taskColumns.model"),key:"model"},{title:n("inference.taskColumns.privacyMode"),key:"privacyMode",width:"110px"},{title:n("inference.taskColumns.priority"),key:"priority",width:"80px"},{title:n("inference.taskColumns.assignedNode"),key:"assignedNode",width:"140px"},{title:n("inference.taskColumns.status"),key:"status",width:"110px"},{title:n("inference.taskColumns.duration"),key:"duration",width:"110px"},{title:n("inference.taskColumns.createdAt"),key:"createdAt",width:"160px"},{title:n("inference.taskColumns.action"),key:"action",width:"140px"}]),P=V(()=>N.value?I.value.filter(o=>o.status===N.value):I.value),A=V(()=>{let o=D.value;return q.value&&(o=o.filter(r=>r.status===q.value)),C.value&&(o=o.filter(r=>r.privacyMode===C.value)),o});function B(o){const r=`inference.nodeStatus.${o}`,y=n(r);return y===r?o:y}function Y(o){return{online:"green",offline:"default",busy:"orange",degraded:"red"}[o]||"default"}function G(o){const r=`inference.taskStatus.${o}`,y=n(r);return y===r?o:y}function Q(o){return{queued:"default",dispatched:"processing",running:"cyan",complete:"green",failed:"red"}[o]||"default"}function l(o){const r=`inference.privacy.${o}`,y=n(r);return y===r?o:y}function u(o){return{standard:"default",encrypted:"purple",federated:"cyan"}[o]||"default"}function x(o){return o>=8?"#ff4d4f":o>=5?"#faad14":"#52c41a"}function de(o){const r=I.value.find(y=>y.id===o);return r?r.nodeId:o.slice(0,8)}function ce(o,r){return o?o.length>r?o.slice(0,r)+"...":o:""}function ue(o){return o>=1024?`${(o/1024).toFixed(1)} GB`:`${o} MB`}function fe(o){return o.status==="queued"||o.status==="dispatched"||o.status==="running"}function me(o){return o.status!=="complete"&&o.status!=="failed"}function ye({key:o}){o==="register"?O.value=!0:o==="submit"&&(j.value=!0)}async function z(){H.value=!0;try{const[o,r,y]=await Promise.all([e.execute("inference nodes --limit 200 --json",1e4).catch(()=>({output:""})),e.execute("inference tasks --limit 200 --json",1e4).catch(()=>({output:""})),e.execute("inference stats --json",8e3).catch(()=>({output:""}))]);I.value=ie(o.output),D.value=le(r.output),L.value=se(y.output)}catch(o){p.error(n("inference.messages.loadFailed",{err:o?.message||o}))}finally{H.value=!1}}async function ge(){const o=k.nodeId.trim();if(!o){p.warning(n("inference.messages.nodeIdRequired"));return}J.value=!0;try{const r=[`inference register "${o.replace(/"/g,'\\"')}"`];if(k.endpoint.trim()&&r.push(`--endpoint "${k.endpoint.trim().replace(/"/g,'\\"')}"`),k.capabilities.trim()){const ne=k.capabilities.split(/[,\s]+/).filter(Boolean).join(",");ne&&r.push(`--capabilities "${ne}"`)}k.gpuMemory!=null&&r.push(`--gpu ${k.gpuMemory}`),r.push("--json");const{output:y}=await e.execute(r.join(" "),1e4);if(/error|failed|失败/i.test(y)&&!/"nodeId"/.test(y)){p.error(n("inference.messages.registerFailed",{err:y.slice(0,120)}));return}p.success(n("inference.messages.registerOk")),O.value=!1,$(),await z()}catch(r){p.error(n("inference.messages.registerFailed",{err:r?.message||r}))}finally{J.value=!1}}async function pe(){const o=v.model.trim();if(!o){p.warning(n("inference.messages.modelRequired"));return}T.value=!0;try{const r=[`inference submit "${o.replace(/"/g,'\\"')}"`];v.input.trim()&&r.push(`--input "${v.input.trim().replace(/"/g,'\\"')}"`),v.priority!=null&&r.push(`--priority ${v.priority}`),r.push(`--mode ${v.mode}`),r.push("--json");const{output:y}=await e.execute(r.join(" "),12e3);if(/error|failed|失败/i.test(y)&&!/"taskId"/.test(y)){p.error(n("inference.messages.submitFailed",{err:y.slice(0,120)}));return}p.success(n("inference.messages.submitOk")),j.value=!1,ee(),M.value="tasks",await z()}catch(r){p.error(n("inference.messages.submitFailed",{err:r?.message||r}))}finally{T.value=!1}}async function be(o){U.value=o.id;try{const{output:r}=await e.execute(`inference heartbeat ${o.id} --json`,8e3);if(/error/i.test(r)&&!/"updated"/.test(r)){p.error(n("inference.messages.heartbeatFailed",{err:r.slice(0,120)}));return}p.success(n("inference.messages.heartbeatOk")),await z()}catch(r){p.error(n("inference.messages.heartbeatFailed",{err:r?.message||r}))}finally{U.value=""}}async function ke(o,r){if(r!==o.status)try{const{output:y}=await e.execute(`inference node-status ${o.id} ${r} --json`,8e3);if(/error|invalid/i.test(y)&&!/"updated"/.test(y)){p.error(n("inference.messages.statusFailed",{err:y.slice(0,120)}));return}p.success(n("inference.messages.statusOk",{status:B(r)})),await z()}catch(y){p.error(n("inference.messages.statusFailed",{err:y?.message||y}))}}async function _e(o){try{const{output:r}=await e.execute(`inference unregister ${o.id} --json`,8e3);if(/error/i.test(r)&&!/"removed"/.test(r)){p.error(n("inference.messages.unregisterFailed",{err:r.slice(0,120)}));return}p.success(n("inference.messages.unregisterOk")),await z()}catch(r){p.error(n("inference.messages.unregisterFailed",{err:r?.message||r}))}}async function ve(o){R.value=o.id;try{const{output:r}=await e.execute(`inference complete ${o.id} --json`,1e4);if(/error|failed/i.test(r)&&!/"completed"/.test(r)){p.error(n("inference.messages.completeFailed",{err:r.slice(0,120)}));return}p.success(n("inference.messages.completeOk")),await z()}catch(r){p.error(n("inference.messages.completeFailed",{err:r?.message||r}))}finally{R.value=""}}async function xe(o){try{const{output:r}=await e.execute(`inference fail-task ${o.id} --json`,8e3);if(/error/i.test(r)&&!/"failed"/.test(r)){p.error(n("inference.messages.failFailed",{err:r.slice(0,120)}));return}p.success(n("inference.messages.failOk")),await z()}catch(r){p.error(n("inference.messages.failFailed",{err:r?.message||r}))}}function $(){k.nodeId="",k.endpoint="",k.capabilities="",k.gpuMemory=null}function ee(){v.model="",v.input="",v.priority=5,v.mode="standard"}ae(z);const te={t:n,ws:e,loading:H,registering:J,submitting:T,heartbeatId:U,completingId:R,nodes:I,tasks:D,stats:L,activeTab:M,nodeStatusFilter:N,taskStatusFilter:q,taskPrivacyFilter:C,showRegisterModal:O,showSubmitModal:j,registerForm:k,submitForm:v,nodeColumns:K,taskColumns:W,filteredNodes:P,filteredTasks:A,nodeStatusLabel:B,nodeStatusColor:Y,taskStatusLabel:G,taskStatusColor:Q,privacyLabel:l,privacyColor:u,priorityColor:x,nodeShortName:de,truncate:ce,formatGpuMemory:ue,canComplete:fe,canFail:me,handleNewClick:ye,loadAll:z,registerNode:ge,submitTask:pe,sendHeartbeat:be,transitionStatus:ke,unregisterNode:_e,completeTask:ve,failTask:xe,resetRegisterForm:$,resetSubmitForm:ee,ref:_,computed:V,onMounted:ae,reactive:Z,get useI18n(){return oe},get ReloadOutlined(){return Me},get PlusOutlined(){return Ae},get CloudServerOutlined(){return we},get ThunderboltOutlined(){return Oe},get CheckCircleOutlined(){return Te},get ClockCircleOutlined(){return Fe},get message(){return p},get useWsStore(){return re},get parseNodes(){return ie},get parseTasks(){return le},get parseStats(){return se},get formatInferenceTime(){return De},get NODE_STATUSES(){return Ne},get TASK_STATUSES(){return ze},get PRIVACY_MODES(){return Ie}};return Object.defineProperty(te,"__isScriptSetup",{enumerable:!1,value:!0}),te}},Ee={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},qe={class:"page-title"},Be={class:"page-sub"},Ve={style:{color:"var(--text-secondary)","font-size":"12px","margin-left":"8px"}},He={class:"filter-bar"},Je={style:{color:"var(--text-primary)","font-family":"monospace","font-weight":"500"}},Ke={key:0,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},Ye={key:1,style:{color:"var(--text-muted)"}},Ge={key:0,style:{color:"var(--text-secondary)","font-family":"monospace"}},We={key:1,style:{color:"var(--text-muted)"}},Qe={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Ze={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Xe={class:"filter-bar"},$e={style:{color:"var(--text-primary)","font-family":"monospace","font-weight":"500"}},et={key:0,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},tt={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},nt={key:1,style:{color:"var(--text-muted)"}},at={key:0,style:{"font-family":"monospace",color:"var(--text-secondary)","font-size":"12px"}},ot={key:1,style:{color:"var(--text-muted)"}},rt={key:6,style:{color:"var(--text-secondary)","font-size":"11px"}},it={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}};function lt(s,i,n,e,H,J){const T=b("a-button"),U=b("a-menu-item"),R=b("a-menu"),I=b("a-dropdown"),D=b("a-space"),L=b("a-statistic"),M=b("a-card"),N=b("a-col"),q=b("a-row"),C=b("a-tag"),O=b("a-radio-button"),j=b("a-radio-group"),k=b("a-popconfirm"),v=b("a-table"),K=b("a-tab-pane"),W=b("a-tabs"),P=b("a-input"),A=b("a-form-item"),B=b("a-input-number"),Y=b("a-form"),G=b("a-modal"),Q=b("a-textarea");return c(),g("div",null,[w("div",Ee,[w("div",null,[w("h2",qe,d(e.t("inference.title")),1),w("p",Be,d(e.t("inference.subtitle")),1)]),a(D,null,{default:t(()=>[a(T,{loading:e.loading,onClick:e.loadAll},{icon:t(()=>[a(e.ReloadOutlined)]),default:t(()=>[m(" "+d(e.t("inference.refresh")),1)]),_:1},8,["loading"]),a(I,{trigger:["click"]},{overlay:t(()=>[a(R,{onClick:e.handleNewClick},{default:t(()=>[a(U,{key:"register"},{default:t(()=>[a(e.CloudServerOutlined),m(" "+d(e.t("inference.actions.register")),1)]),_:1}),a(U,{key:"submit"},{default:t(()=>[a(e.ThunderboltOutlined),m(" "+d(e.t("inference.actions.submit")),1)]),_:1})]),_:1})]),default:t(()=>[a(T,{type:"primary"},{icon:t(()=>[a(e.PlusOutlined)]),default:t(()=>[m(" "+d(e.t("inference.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),f(" Stat cards "),a(q,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(N,{xs:12,sm:8,lg:5},{default:t(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(L,{title:e.t("inference.stats.totalNodes"),value:e.stats.nodes.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(e.CloudServerOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),a(N,{xs:12,sm:8,lg:5},{default:t(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(L,{title:e.t("inference.stats.onlineNodes"),value:e.stats.nodes.online,"value-style":{color:e.stats.nodes.online>0?"#52c41a":"#888",fontSize:"20px"}},{prefix:t(()=>[a(e.CheckCircleOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(N,{xs:12,sm:8,lg:5},{default:t(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(L,{title:e.t("inference.stats.totalTasks"),value:e.stats.tasks.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:t(()=>[a(e.ThunderboltOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),a(N,{xs:12,sm:8,lg:5},{default:t(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(L,{title:e.t("inference.stats.queued"),value:e.stats.tasks.queued,"value-style":{color:e.stats.tasks.queued>0?"#faad14":"#52c41a",fontSize:"20px"}},{prefix:t(()=>[a(e.ClockCircleOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(N,{xs:24,sm:8,lg:4},{default:t(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(L,{title:e.t("inference.stats.avgDuration"),value:e.stats.tasks.avgDurationMs,suffix:"ms","value-style":{color:"#13c2c2",fontSize:"20px"}},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),f(" Node status breakdown "),e.stats.nodes.total>0?(c(),S(M,{key:0,title:e.t("inference.breakdown.title"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:t(()=>[a(D,{size:[12,8],wrap:""},{default:t(()=>[a(C,{color:"green"},{default:t(()=>[m(d(e.t("inference.breakdown.online",{count:e.stats.nodes.online})),1)]),_:1}),a(C,{color:"orange"},{default:t(()=>[m(d(e.t("inference.breakdown.busy",{count:e.stats.nodes.busy})),1)]),_:1}),a(C,{color:"default"},{default:t(()=>[m(d(e.t("inference.breakdown.offline",{count:e.stats.nodes.offline})),1)]),_:1}),w("span",Ve,d(e.t("inference.breakdown.extra",{complete:e.stats.tasks.completed,failed:e.stats.tasks.failed})),1)]),_:1})]),_:1},8,["title"])):f("v-if",!0),f(" Tabs "),a(W,{activeKey:e.activeTab,"onUpdate:activeKey":i[3]||(i[3]=l=>e.activeTab=l),class:"inference-tabs"},{default:t(()=>[f(" ── Nodes tab ─────────────────────────────────────────────── "),a(K,{key:"nodes",tab:e.t("inference.tabs.nodes")},{default:t(()=>[w("div",He,[a(j,{value:e.nodeStatusFilter,"onUpdate:value":i[0]||(i[0]=l=>e.nodeStatusFilter=l),size:"small","button-style":"solid"},{default:t(()=>[a(O,{value:""},{default:t(()=>[m(d(e.t("inference.filter.all")),1)]),_:1}),(c(!0),g(h,null,E(e.NODE_STATUSES,l=>(c(),S(O,{key:l,value:l},{default:t(()=>[m(d(e.nodeStatusLabel(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(v,{columns:e.nodeColumns,"data-source":e.filteredNodes,pagination:{pageSize:20,showTotal:l=>e.t("inference.totals.rows",{count:l})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:l,record:u})=>[l.key==="nodeId"?(c(),g(h,{key:0},[w("span",Je,d(u.nodeId),1),u.endpoint?(c(),g("div",Ke,d(e.truncate(u.endpoint,50)),1)):f("v-if",!0)],64)):f("v-if",!0),l.key==="capabilities"?(c(),g(h,{key:1},[(c(!0),g(h,null,E(u.capabilities.slice(0,4),x=>(c(),S(C,{key:x,color:"blue",style:{"font-size":"10px",margin:"1px"}},{default:t(()=>[m(d(x),1)]),_:2},1024))),128)),u.capabilities.length>4?(c(),S(C,{key:0,color:"default",style:{"font-size":"10px"}},{default:t(()=>[m("+"+d(u.capabilities.length-4),1)]),_:2},1024)):f("v-if",!0),u.capabilities.length?f("v-if",!0):(c(),g("span",Ye,"—"))],64)):f("v-if",!0),l.key==="gpu"?(c(),g(h,{key:2},[u.gpuMemoryMb>0?(c(),g("span",Ge,d(e.formatGpuMemory(u.gpuMemoryMb)),1)):(c(),g("span",We,"—"))],64)):f("v-if",!0),l.key==="status"?(c(),S(C,{key:3,color:e.nodeStatusColor(u.status)},{default:t(()=>[m(d(e.nodeStatusLabel(u.status)),1)]),_:2},1032,["color"])):f("v-if",!0),l.key==="taskCount"?(c(),S(C,{key:4,color:"purple",style:{"font-size":"11px"}},{default:t(()=>[m(d(u.taskCount),1)]),_:2},1024)):f("v-if",!0),l.key==="lastHeartbeat"?(c(),g("span",Qe,d(e.formatInferenceTime(u.lastHeartbeat)),1)):f("v-if",!0),l.key==="action"?(c(),g(h,{key:6},[a(T,{size:"small",type:"link",loading:e.heartbeatId===u.id,onClick:x=>e.sendHeartbeat(u)},{default:t(()=>[m(d(e.t("inference.rowActions.heartbeat")),1)]),_:1},8,["loading","onClick"]),a(I,{trigger:["click"]},{overlay:t(()=>[a(R,{onClick:x=>e.transitionStatus(u,x.key)},{default:t(()=>[(c(!0),g(h,null,E(e.NODE_STATUSES,x=>(c(),S(U,{key:x,disabled:x===u.status},{default:t(()=>[m(d(e.nodeStatusLabel(x)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:t(()=>[a(T,{size:"small",type:"link"},{default:t(()=>[m(d(e.t("inference.rowActions.statusDropdown")),1)]),_:1})]),_:2},1024),a(k,{title:e.t("inference.rowActions.unregisterConfirm"),"ok-text":e.t("inference.rowActions.unregisterOk"),"cancel-text":e.t("common.cancel"),onConfirm:x=>e.unregisterNode(u)},{default:t(()=>[a(T,{size:"small",type:"link",danger:""},{default:t(()=>[m(d(e.t("inference.rowActions.unregister")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):f("v-if",!0)]),emptyText:t(()=>[w("div",Ze,[a(e.CloudServerOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),m(" "+d(e.nodeStatusFilter?e.t("inference.empty.filteredNodes"):e.t("inference.empty.noNodes")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),f(" ── Tasks tab ─────────────────────────────────────────────── "),a(K,{key:"tasks",tab:e.t("inference.tabs.tasks")},{default:t(()=>[w("div",Xe,[a(j,{value:e.taskStatusFilter,"onUpdate:value":i[1]||(i[1]=l=>e.taskStatusFilter=l),size:"small"},{default:t(()=>[a(O,{value:""},{default:t(()=>[m(d(e.t("inference.filter.allStatuses")),1)]),_:1}),(c(!0),g(h,null,E(e.TASK_STATUSES,l=>(c(),S(O,{key:l,value:l},{default:t(()=>[m(d(e.taskStatusLabel(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(j,{value:e.taskPrivacyFilter,"onUpdate:value":i[2]||(i[2]=l=>e.taskPrivacyFilter=l),size:"small"},{default:t(()=>[a(O,{value:""},{default:t(()=>[m(d(e.t("inference.filter.allModes")),1)]),_:1}),(c(!0),g(h,null,E(e.PRIVACY_MODES,l=>(c(),S(O,{key:l,value:l},{default:t(()=>[m(d(e.privacyLabel(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(v,{columns:e.taskColumns,"data-source":e.filteredTasks,pagination:{pageSize:20,showTotal:l=>e.t("inference.totals.rows",{count:l})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:l,record:u})=>[l.key==="model"?(c(),g(h,{key:0},[w("span",$e,d(u.model),1),u.input?(c(),g("div",et,d(e.truncate(u.input,60)),1)):f("v-if",!0)],64)):f("v-if",!0),l.key==="privacyMode"?(c(),S(C,{key:1,color:e.privacyColor(u.privacyMode)},{default:t(()=>[m(d(e.privacyLabel(u.privacyMode)),1)]),_:2},1032,["color"])):f("v-if",!0),l.key==="priority"?(c(),g("span",{key:2,style:Se({color:e.priorityColor(u.priority),fontWeight:500})},d(u.priority),5)):f("v-if",!0),l.key==="assignedNode"?(c(),g(h,{key:3},[u.assignedNode?(c(),g("span",tt,d(e.nodeShortName(u.assignedNode)),1)):(c(),g("span",nt,"—"))],64)):f("v-if",!0),l.key==="status"?(c(),S(C,{key:4,color:e.taskStatusColor(u.status)},{default:t(()=>[m(d(e.taskStatusLabel(u.status)),1)]),_:2},1032,["color"])):f("v-if",!0),l.key==="duration"?(c(),g(h,{key:5},[u.durationMs!=null?(c(),g("span",at,d(u.durationMs)+" ms ",1)):(c(),g("span",ot,"—"))],64)):f("v-if",!0),l.key==="createdAt"?(c(),g("span",rt,d(e.formatInferenceTime(u.createdAt)),1)):f("v-if",!0),l.key==="action"?(c(),g(h,{key:7},[e.canComplete(u)?(c(),S(T,{key:0,size:"small",type:"link",loading:e.completingId===u.id,onClick:x=>e.completeTask(u)},{default:t(()=>[m(d(e.t("inference.rowActions.complete")),1)]),_:1},8,["loading","onClick"])):f("v-if",!0),e.canFail(u)?(c(),S(k,{key:1,title:e.t("inference.rowActions.failConfirm"),"ok-text":e.t("inference.rowActions.failOk"),"cancel-text":e.t("common.cancel"),onConfirm:x=>e.failTask(u)},{default:t(()=>[a(T,{size:"small",type:"link",danger:""},{default:t(()=>[m(d(e.t("inference.rowActions.fail")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):f("v-if",!0)],64)):f("v-if",!0)]),emptyText:t(()=>[w("div",it,[a(e.ThunderboltOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),m(" "+d(e.taskStatusFilter||e.taskPrivacyFilter?e.t("inference.empty.filteredTasks"):e.t("inference.empty.noTasks")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),f(" ── Register node modal ──────────────────────────────────── "),a(G,{open:e.showRegisterModal,"onUpdate:open":i[8]||(i[8]=l=>e.showRegisterModal=l),title:e.t("inference.register.title"),"confirm-loading":e.registering,width:520,"ok-text":e.t("inference.register.ok"),"cancel-text":e.t("common.cancel"),onOk:e.registerNode,onCancel:e.resetRegisterForm},{default:t(()=>[a(Y,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:t(()=>[a(A,{label:e.t("inference.register.nodeIdLabel"),required:""},{default:t(()=>[a(P,{value:e.registerForm.nodeId,"onUpdate:value":i[4]||(i[4]=l=>e.registerForm.nodeId=l),placeholder:e.t("inference.register.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(A,{label:e.t("inference.register.endpointLabel")},{default:t(()=>[a(P,{value:e.registerForm.endpoint,"onUpdate:value":i[5]||(i[5]=l=>e.registerForm.endpoint=l),placeholder:e.t("inference.register.endpointPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(A,{label:e.t("inference.register.capabilitiesLabel")},{default:t(()=>[a(P,{value:e.registerForm.capabilities,"onUpdate:value":i[6]||(i[6]=l=>e.registerForm.capabilities=l),placeholder:e.t("inference.register.capabilitiesPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(A,{label:e.t("inference.register.gpuLabel")},{default:t(()=>[a(B,{value:e.registerForm.gpuMemory,"onUpdate:value":i[7]||(i[7]=l=>e.registerForm.gpuMemory=l),min:0,max:2e5,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),f(" ── Submit task modal ────────────────────────────────────── "),a(G,{open:e.showSubmitModal,"onUpdate:open":i[13]||(i[13]=l=>e.showSubmitModal=l),title:e.t("inference.submit.title"),"confirm-loading":e.submitting,width:520,"ok-text":e.t("inference.submit.ok"),"cancel-text":e.t("common.cancel"),onOk:e.submitTask,onCancel:e.resetSubmitForm},{default:t(()=>[a(Y,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:t(()=>[a(A,{label:e.t("inference.submit.modelLabel"),required:""},{default:t(()=>[a(P,{value:e.submitForm.model,"onUpdate:value":i[9]||(i[9]=l=>e.submitForm.model=l),placeholder:e.t("inference.submit.modelPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(A,{label:e.t("inference.submit.inputLabel")},{default:t(()=>[a(Q,{value:e.submitForm.input,"onUpdate:value":i[10]||(i[10]=l=>e.submitForm.input=l),"auto-size":{minRows:3,maxRows:6}},null,8,["value"])]),_:1},8,["label"]),a(A,{label:e.t("inference.submit.priorityLabel")},{default:t(()=>[a(B,{value:e.submitForm.priority,"onUpdate:value":i[11]||(i[11]=l=>e.submitForm.priority=l),min:1,max:10,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(A,{label:e.t("inference.submit.modeLabel")},{default:t(()=>[a(j,{value:e.submitForm.mode,"onUpdate:value":i[12]||(i[12]=l=>e.submitForm.mode=l)},{default:t(()=>[(c(!0),g(h,null,E(e.PRIVACY_MODES,l=>(c(),S(O,{key:l,value:l},{default:t(()=>[m(d(e.privacyLabel(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const ft=he(Pe,[["render",lt],["__scopeId","data-v-93ae85f8"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Inference.vue"]]);export{ft as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page-title[data-v-93ae85f8]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-93ae85f8]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.inference-tabs[data-v-93ae85f8] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-93ae85f8]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[data-v-ce227b16] .kg-row:hover td{background:var(--bg-card-hover)!important}[data-v-ce227b16] .ant-tabs-tab{color:var(--text-secondary)!important}[data-v-ce227b16] .ant-tabs-tab-active .ant-tabs-tab-btn{color:#1677ff!important}[data-v-ce227b16] .ant-card-head{border-color:var(--border-color)!important;color:var(--text-primary)!important}
|