chainlesschain 0.166.130 → 0.166.131
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/README.md +20 -4
- package/package.json +2 -2
- package/src/assets/linux-subreaper/linux-arm64/manifest.json +1 -1
- package/src/assets/linux-subreaper/linux-x64/manifest.json +1 -1
- package/src/assets/web-panel/.build-hash +1 -1
- package/src/assets/web-panel/assets/AIOps-CHItp4vg.js +1 -0
- package/src/assets/web-panel/assets/AIOps-Cchx1iXI.css +1 -0
- package/src/assets/web-panel/assets/{ActionButton-Dzv1ReHF.js → ActionButton-nhMNWW_d.js} +1 -1
- package/src/assets/web-panel/assets/Analytics-DRc81BBI.js +3 -0
- package/src/assets/web-panel/assets/Analytics-Dr-1kvaM.css +1 -0
- package/src/assets/web-panel/assets/AppLayout-BTBIIl1e.css +1 -0
- package/src/assets/web-panel/assets/AppLayout-CVt7HMkp.js +3 -0
- package/src/assets/web-panel/assets/Artifacts-BuJgG5jf.js +1 -0
- package/src/assets/web-panel/assets/Artifacts-Dohtjyfl.css +1 -0
- package/src/assets/web-panel/assets/Audit-DDnViLtj.css +1 -0
- package/src/assets/web-panel/assets/Audit-msNg0aH-.js +1 -0
- package/src/assets/web-panel/assets/BackgroundAgents-BpcV8yWC.js +1 -0
- package/src/assets/web-panel/assets/BackgroundAgents-CH3Uc9sF.css +1 -0
- package/src/assets/web-panel/assets/Backup-CYh10zO3.css +1 -0
- package/src/assets/web-panel/assets/Backup-P53DADwG.js +1 -0
- package/src/assets/web-panel/assets/BaseInput-DFxT2yWN.js +1 -0
- package/src/assets/web-panel/assets/Chat-B5JvvQJb.css +1 -0
- package/src/assets/web-panel/assets/Chat-BXoHisHW.js +7 -0
- package/src/assets/web-panel/assets/ChatBubbleRenderer-CO908iBt.css +1 -0
- package/src/assets/web-panel/assets/ChatBubbleRenderer-DMGtSdDx.js +1 -0
- package/src/assets/web-panel/assets/{Checkbox-B5uzaLLP.js → Checkbox-B4g_ckJq.js} +1 -1
- package/src/assets/web-panel/assets/Codegen-BLP7id2a.css +1 -0
- package/src/assets/web-panel/assets/Codegen-C6SSSOfp.js +1 -0
- package/src/assets/web-panel/assets/{Col-D3I2kUGu.js → Col-IO1NEUYL.js} +1 -1
- package/src/assets/web-panel/assets/Community-C2RejeOY.css +1 -0
- package/src/assets/web-panel/assets/Community-CdEBl93F.js +1 -0
- package/src/assets/web-panel/assets/{Compact-5GigOmb8.js → Compact-DYs0a9k7.js} +1 -1
- package/src/assets/web-panel/assets/Compliance-BPnk7948.js +1 -0
- package/src/assets/web-panel/assets/Compliance-DOys4Ov1.css +1 -0
- package/src/assets/web-panel/assets/Cowork-DsOst4XK.css +1 -0
- package/src/assets/web-panel/assets/Cowork-VLOTGbza.js +6 -0
- package/src/assets/web-panel/assets/Cron-_9GgQLJo.js +2 -0
- package/src/assets/web-panel/assets/Crosschain-B21yn0qy.js +1 -0
- package/src/assets/web-panel/assets/Crosschain-C7Le4Pte.css +1 -0
- package/src/assets/web-panel/assets/DID-BX6k3jZi.css +1 -0
- package/src/assets/web-panel/assets/DID-mBeDgRZ7.js +2 -0
- package/src/assets/web-panel/assets/Dashboard-BckYYzhP.js +3 -0
- package/src/assets/web-panel/assets/Dashboard-MFDcsVcM.css +1 -0
- package/src/assets/web-panel/assets/Dropdown-DEedqFiE.js +1 -0
- package/src/assets/web-panel/assets/EmailListRenderer-CMs0k9TB.js +1 -0
- package/src/assets/web-panel/assets/EmailListRenderer-CVJ1j3Ll.css +1 -0
- package/src/assets/web-panel/assets/EvolutionSettings-B00Qd0fN.js +1 -0
- package/src/assets/web-panel/assets/EvolutionSettings-BnQ91YHJ.css +1 -0
- package/src/assets/web-panel/assets/FamilyGuardDashboard-Df-D09Q4.css +1 -0
- package/src/assets/web-panel/assets/FamilyGuardDashboard-DxMTAMa8.js +1 -0
- package/src/assets/web-panel/assets/Federation-B-UZw0LO.js +1 -0
- package/src/assets/web-panel/assets/Federation-CgmfLbx1.css +1 -0
- package/src/assets/web-panel/assets/FormItemContext-CkafazEw.js +1 -0
- package/src/assets/web-panel/assets/GenericCardRenderer-DEUG25ZJ.js +1 -0
- package/src/assets/web-panel/assets/GenericCardRenderer-DtJFcJYl.css +1 -0
- package/src/assets/web-panel/assets/Git-D7dr9oz9.js +2 -0
- package/src/assets/web-panel/assets/{Git-BdHhxBWR.css → Git-DPuaGtg7.css} +1 -1
- package/src/assets/web-panel/assets/Governance-BoipmXaM.css +1 -0
- package/src/assets/web-panel/assets/Governance-DKlUJ1wg.js +1 -0
- package/src/assets/web-panel/assets/Inference-BJKqplap.js +1 -0
- package/src/assets/web-panel/assets/Inference-BWxYJF9-.css +1 -0
- package/src/assets/web-panel/assets/KnowledgeGraph-B78fB-bz.js +1 -0
- package/src/assets/web-panel/assets/KnowledgeGraph-CztPDA96.css +1 -0
- package/src/assets/web-panel/assets/Logs-DJGcHYH_.js +2 -0
- package/src/assets/web-panel/assets/Logs-Gf_Mv9Nx.css +1 -0
- package/src/assets/web-panel/assets/MarkdownRenderer-BAxj61I3.css +1 -0
- package/src/assets/web-panel/assets/MarkdownRenderer-DkcG_MxW.js +1 -0
- package/src/assets/web-panel/assets/Marketplace-Djp5q9dS.css +1 -0
- package/src/assets/web-panel/assets/Marketplace-ucTbwByD.js +1 -0
- package/src/assets/web-panel/assets/McpTools-Cu1xZYYk.js +2 -0
- package/src/assets/web-panel/assets/McpTools-DSGHWYS_.css +1 -0
- package/src/assets/web-panel/assets/Memory-Bcc2hxOA.css +1 -0
- package/src/assets/web-panel/assets/Memory-DCGpXmi-.js +2 -0
- package/src/assets/web-panel/assets/MobileBridge-BQ-Uwwg7.css +1 -0
- package/src/assets/web-panel/assets/MobileBridge-BnKr0aAS.js +1 -0
- package/src/assets/web-panel/assets/MobileProjects-C5UvYJTP.js +1 -0
- package/src/assets/web-panel/assets/MobileProjects-Ceaxrqzc.css +1 -0
- package/src/assets/web-panel/assets/Mtc-D1UUl4WH.js +6 -0
- package/src/assets/web-panel/assets/Mtc-DHwbdUqA.css +1 -0
- package/src/assets/web-panel/assets/MtcAudit-B0x8gahq.css +1 -0
- package/src/assets/web-panel/assets/MtcAudit-D3aa8XP4.js +19 -0
- package/src/assets/web-panel/assets/Multisig-DiXdfJjO.js +7 -0
- package/src/assets/web-panel/assets/Multisig-kwPDnXnl.css +1 -0
- package/src/assets/web-panel/assets/NLProgramming-CLOvy-35.css +1 -0
- package/src/assets/web-panel/assets/NLProgramming-DbWABgSE.js +1 -0
- package/src/assets/web-panel/assets/Notes-BP1DPl-R.js +7 -0
- package/src/assets/web-panel/assets/Notes-COE2q2gD.css +1 -0
- package/src/assets/web-panel/assets/NotificationSettings-Co0e0uEO.css +1 -0
- package/src/assets/web-panel/assets/NotificationSettings-xaB6ONe7.js +1 -0
- package/src/assets/web-panel/assets/OrderTableRenderer-BnOISpKI.css +1 -0
- package/src/assets/web-panel/assets/OrderTableRenderer-D1uNcz3b.js +1 -0
- package/src/assets/web-panel/assets/Organization-BM3Lh8Q8.css +1 -0
- package/src/assets/web-panel/assets/Organization-DMLDGaf1.js +4 -0
- package/src/assets/web-panel/assets/{Overflow-ky9UfGv4.js → Overflow-DH4QPEoI.js} +1 -1
- package/src/assets/web-panel/assets/{OverrideContext-C0w0P4A3.js → OverrideContext-DLR1AtLy.js} +1 -1
- package/src/assets/web-panel/assets/P2P-Bl4OS10o.js +2 -0
- package/src/assets/web-panel/assets/P2P-Cx88UaiD.css +1 -0
- package/src/assets/web-panel/assets/PdhVaultBrowser-B9ZGFpn4.css +1 -0
- package/src/assets/web-panel/assets/PdhVaultBrowser-D9XSE2YI.js +7 -0
- package/src/assets/web-panel/assets/Permissions-CUaPlr6d.js +4 -0
- package/src/assets/web-panel/assets/Permissions-Diejgkbs.css +1 -0
- package/src/assets/web-panel/assets/PersonalDataHub-Ba92dZk-.js +3 -0
- package/src/assets/web-panel/assets/PersonalDataHub-C_xhspRy.css +1 -0
- package/src/assets/web-panel/assets/Pipeline-Bh2okm-8.js +1 -0
- package/src/assets/web-panel/assets/Pipeline-DxkXqrH2.css +1 -0
- package/src/assets/web-panel/assets/Privacy-Bmq3p4gC.js +1 -0
- package/src/assets/web-panel/assets/Privacy-CrsfSFKd.css +1 -0
- package/src/assets/web-panel/assets/ProjectInit-BPu2fdKR.js +2 -0
- package/src/assets/web-panel/assets/ProjectInit-CteEo-wF.css +1 -0
- package/src/assets/web-panel/assets/ProjectSettings-D6ABLpmt.js +2 -0
- package/src/assets/web-panel/assets/ProjectSettings-pLSae-wy.css +1 -0
- package/src/assets/web-panel/assets/Projects-BX-SG9R4.css +1 -0
- package/src/assets/web-panel/assets/Projects-qWHEve0z.js +1 -0
- package/src/assets/web-panel/assets/Providers-CpAXh_6c.css +1 -0
- package/src/assets/web-panel/assets/Providers-D9DI-2hc.js +1 -0
- package/src/assets/web-panel/assets/{QrScannerModal-er_HkLCI.js → QrScannerModal-CxifoeD5.js} +1 -1
- package/src/assets/web-panel/assets/QrScannerModal-DFrn7rxS.css +1 -0
- package/src/assets/web-panel/assets/QuickAsk-DC1BvwR7.js +1 -0
- package/src/assets/web-panel/assets/Recommend-CH6wKzGo.css +1 -0
- package/src/assets/web-panel/assets/Recommend-CKqbMB5o.js +1 -0
- package/src/assets/web-panel/assets/RemoteSession-BGGzPdS5.js +5 -0
- package/src/assets/web-panel/assets/Reputation-D6VPNEd0.css +1 -0
- package/src/assets/web-panel/assets/Reputation-DH90O9-5.js +1 -0
- package/src/assets/web-panel/assets/Row-h7ovueJc.js +1 -0
- package/src/assets/web-panel/assets/RssFeed-Cze7YLaG.css +1 -0
- package/src/assets/web-panel/assets/RssFeed-DaHxXTZg.js +3 -0
- package/src/assets/web-panel/assets/Search-B6RalzTB.css +1 -0
- package/src/assets/web-panel/assets/Search-Bn6Nqpn4.js +1 -0
- package/src/assets/web-panel/assets/Security-13K57V_v.css +1 -0
- package/src/assets/web-panel/assets/Security-ClbBmPJi.js +4 -0
- package/src/assets/web-panel/assets/Services-C8Qs6KXv.css +1 -0
- package/src/assets/web-panel/assets/Services-ChHLQwRn.js +2 -0
- package/src/assets/web-panel/assets/{Skeleton-CrFs6rUL.js → Skeleton-DfN6BFzt.js} +1 -1
- package/src/assets/web-panel/assets/Skills-BdjRyorN.css +1 -0
- package/src/assets/web-panel/assets/Skills-C926wDev.js +1 -0
- package/src/assets/web-panel/assets/Sla-DJzi1l1M.js +1 -0
- package/src/assets/web-panel/assets/Sla-K19oOyQc.css +1 -0
- package/src/assets/web-panel/assets/SpeechSettings-DYPJTDKz.css +1 -0
- package/src/assets/web-panel/assets/SpeechSettings-_GSyVjm_.js +1 -0
- package/src/assets/web-panel/assets/SyncSettings-B67xnERe.js +1 -0
- package/src/assets/web-panel/assets/SyncSettings-C6cDrwDR.css +1 -0
- package/src/assets/web-panel/assets/Tasks-BJjN_YEm.css +1 -0
- package/src/assets/web-panel/assets/Tasks-BaYZadcG.js +1 -0
- package/src/assets/web-panel/assets/Templates-BsMmCdZI.css +1 -0
- package/src/assets/web-panel/assets/Templates-Bu8kN1Xt.js +1 -0
- package/src/assets/web-panel/assets/Tenant-BM9qufw1.js +1 -0
- package/src/assets/web-panel/assets/Tenant-D3zkSAV0.css +1 -0
- package/src/assets/web-panel/assets/Terminal-MEdd5DjB.js +3 -0
- package/src/assets/web-panel/assets/Terminal-qPp9MaPu.css +1 -0
- package/src/assets/web-panel/assets/TimelineRenderer-C27kL2oU.js +1 -0
- package/src/assets/web-panel/assets/TimelineRenderer-DmztdsbF.css +1 -0
- package/src/assets/web-panel/assets/Tokens-BBOdNRHQ.css +1 -0
- package/src/assets/web-panel/assets/Tokens-Cvjd98VC.js +1 -0
- package/src/assets/web-panel/assets/{Trigger-CXrW4Nry.js → Trigger-CLym84HI.js} +1 -1
- package/src/assets/web-panel/assets/Trust-Bv2JTaNN.js +1 -0
- package/src/assets/web-panel/assets/Trust-DeOo0xAh.css +1 -0
- package/src/assets/web-panel/assets/UkeySign-CSCkNbtm.js +1 -0
- package/src/assets/web-panel/assets/VideoEditing-BFDXB4xh.js +1 -0
- package/src/assets/web-panel/assets/VideoEditing-DksiizfS.css +1 -0
- package/src/assets/web-panel/assets/Wallet-CMEFrG_b.js +4 -0
- package/src/assets/web-panel/assets/Wallet-Dw8uV4Ug.css +1 -0
- package/src/assets/web-panel/assets/WebAuthn-DKx6xPPl.css +1 -0
- package/src/assets/web-panel/assets/WebAuthn-x4eO_Q4y.js +5 -0
- package/src/assets/web-panel/assets/WorkflowEditor-ClWEPgV1.js +1 -0
- package/src/assets/web-panel/assets/WorkflowEditor-IiwsD8Kh.css +1 -0
- package/src/assets/web-panel/assets/{_getTag-DnrRH4E6.js → _getTag-BVc6NQ_K.js} +1 -1
- package/src/assets/web-panel/assets/{chat-BpJsXlTK.js → chat-BdYOI4gM.js} +1 -1
- package/src/assets/web-panel/assets/{collapseMotion-CqM1QOwM.js → collapseMotion-B4IZiILV.js} +1 -1
- package/src/assets/web-panel/assets/{colors-CUNg0-fh.js → colors-DcTBrGvS.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-C3tFHnhu.js → compact-item-Dn2ktVuj.js} +1 -1
- package/src/assets/web-panel/assets/createContext-XTreuyqp.js +1 -0
- package/src/assets/web-panel/assets/{debounce-CFGTTtN3.js → debounce-D9xTw4Sx.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-CNIS3FrJ.js +1 -0
- package/src/assets/web-panel/assets/echarts-CDp6K7pj.js +19 -0
- package/src/assets/web-panel/assets/{hasIn-CU6RIciB.js → hasIn-CFRNsYQd.js} +1 -1
- package/src/assets/web-panel/assets/{icons-DG5UD-6K.js → icons-DlxlFL4g.js} +4 -4
- package/src/assets/web-panel/assets/index-3RqDry-K.js +71 -0
- package/src/assets/web-panel/assets/{index-BPWJw4Ji.js → index-8METW_Wr.js} +1 -1
- package/src/assets/web-panel/assets/index-BBd64wj8.js +31 -0
- package/src/assets/web-panel/assets/index-BEyVNbNE.js +3 -0
- package/src/assets/web-panel/assets/index-BMLpP8QQ.js +1 -0
- package/src/assets/web-panel/assets/{index-BzhobTgZ.js → index-BSqydcDa.js} +1 -1
- package/src/assets/web-panel/assets/index-BV6LojRv.js +21 -0
- package/src/assets/web-panel/assets/index-BbMWvjLZ.js +1 -0
- package/src/assets/web-panel/assets/{index-KgR1f2Gq.js → index-Brc0BF-k.js} +2 -2
- package/src/assets/web-panel/assets/{index-D4njcYFw.js → index-CG9YLDmI.js} +1 -1
- package/src/assets/web-panel/assets/{index-6EwPIfXu.js → index-CNHWMMDX.js} +1 -1
- package/src/assets/web-panel/assets/{index-CEIoRm_c.js → index-COuEJdmr.js} +3 -3
- package/src/assets/web-panel/assets/{index-BG4zuFf0.js → index-CRW3AWdS.js} +1 -1
- package/src/assets/web-panel/assets/{index-BOlAutGy.js → index-CUT4h5JB.js} +2 -2
- package/src/assets/web-panel/assets/index-CXMa7Z-S.js +1 -0
- package/src/assets/web-panel/assets/index-CbaPXyNc.js +19 -0
- package/src/assets/web-panel/assets/{index-Cq93VfoF.css → index-CfX1DEtk.css} +1 -1
- package/src/assets/web-panel/assets/{index-X6e0cGRU.js → index-CjHA_Q7s.js} +1 -1
- package/src/assets/web-panel/assets/index-CsnYp4qF.js +1 -0
- package/src/assets/web-panel/assets/index-D45vulkq.js +12 -0
- package/src/assets/web-panel/assets/index-D9kPBEqD.js +55 -0
- package/src/assets/web-panel/assets/index-DDTSgpXz.js +1 -0
- package/src/assets/web-panel/assets/index-DFl_a0n5.js +1 -0
- package/src/assets/web-panel/assets/index-DNdiAymC.js +1 -0
- package/src/assets/web-panel/assets/{index-BJjEAoDb.js → index-DQEu7uW0.js} +1 -1
- package/src/assets/web-panel/assets/index-DW9XncMy.js +21 -0
- package/src/assets/web-panel/assets/index-Daa1yCt_.js +1 -0
- package/src/assets/web-panel/assets/index-DdVpoNEQ.js +12 -0
- package/src/assets/web-panel/assets/index-Dhi4Oybt.js +1 -0
- package/src/assets/web-panel/assets/index-DoVoNjtJ.js +1 -0
- package/src/assets/web-panel/assets/{index-111hR8WZ.js → index-Vo7A4aiN.js} +4 -4
- package/src/assets/web-panel/assets/{index-lo9rgpyj.js → index-XdlYkgCa.js} +1 -1
- package/src/assets/web-panel/assets/{index-1L0tt7G2.js → index-ir2ZwWz5.js} +2 -2
- package/src/assets/web-panel/assets/index-kzyCd8a0.js +3 -0
- package/src/assets/web-panel/assets/{index-CyyhilXV.js → index-lnTt0Jps.js} +2 -2
- package/src/assets/web-panel/assets/{index-CLQjdKmE.js → index-ma-rJkfE.js} +1 -1
- package/src/assets/web-panel/assets/index-oE4jTpHK.js +13 -0
- package/src/assets/web-panel/assets/{index-K2Uqqkr1.js → index-r5sNECM5.js} +1 -1
- package/src/assets/web-panel/assets/index-uT4fRDzU.js +1 -0
- package/src/assets/web-panel/assets/index-xlS8pDS2.js +1 -0
- package/src/assets/web-panel/assets/{initDefaultProps-FI8D7E2x.js → initDefaultProps-mdL0oeZa.js} +1 -1
- package/src/assets/web-panel/assets/{isPlainObject-BWRMT62c.js → isPlainObject-_gz-soRW.js} +1 -1
- package/src/assets/web-panel/assets/isSymbol-DAy2hlR5.js +1 -0
- package/src/assets/web-panel/assets/motion-ZgVCKcEX.js +11 -0
- package/src/assets/web-panel/assets/{move-Vl1vUReW.js → move-A_28O5T2.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-6Cu2aFME.js → mtc-parser-0zlMjabo.js} +1 -1
- package/src/assets/web-panel/assets/{omit-VRKL8iSO.js → omit-DF7mU3yG.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-DZfWsOe0.js → pickAttrs-Cmt8liJP.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-qmcOUc4W.js → placementArrow-DaMDC57b.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-BLB6SsSw.js → responsiveObserve-CHw_f2d3.js} +1 -1
- package/src/assets/web-panel/assets/{slide-41jdYeSH.js → slide-DJS9fFQq.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-Yn8OQ5ey.js → statusUtils-Bk3XdZwh.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-4CEwz9Zd.js → styleChecker-DMybAFsA.js} +1 -1
- package/src/assets/web-panel/assets/useFlexGapSupport-_tbIIFMu.js +1 -0
- package/src/assets/web-panel/assets/{useFs-Bugo8HuF.js → useFs-KPklVptS.js} +1 -1
- package/src/assets/web-panel/assets/{useMergedState-DXbJa_zE.js → useMergedState-d-EXs3xd.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-B-q2ElB0.js → usePersonalDataHub-C7FrKDhD.js} +1 -1
- package/src/assets/web-panel/assets/{useRefs-BrCfMLMc.js → useRefs-DHeCQehi.js} +1 -1
- package/src/assets/web-panel/assets/{useState-CnxtbLoC.js → useState-Dlgl7fUg.js} +1 -1
- package/src/assets/web-panel/assets/vendor-BXcBOG8b.js +1 -0
- package/src/assets/web-panel/assets/vnode-DB3JBusp.js +1 -0
- package/src/assets/web-panel/assets/warning-Pq00owYb.js +1 -0
- package/src/assets/web-panel/assets/{zoom-DM1y_KKP.js → zoom-C8rAdf81.js} +1 -1
- package/src/assets/web-panel/index.html +4 -4
- package/src/command-help-index.json +1 -1
- package/src/commands/agent.js +1 -1
- package/src/commands/governed-skill-marketplace.js +24 -10
- package/src/commands/llm.js +4 -3
- package/src/data/changelog.json +14 -1
- package/src/harness/worktree-isolator.js +4 -1
- package/src/lib/compaction-host-provenance.js +24 -0
- package/src/lib/context-memory-kernel/durable-memory-port.js +46 -34
- package/src/lib/context-memory-kernel/live-compaction.js +12 -3
- package/src/lib/context-memory-kernel/memory-query-bundle.js +375 -0
- package/src/lib/context-memory-kernel/memory-query-control.js +28 -0
- package/src/lib/context-memory-kernel/memory-service.js +30 -16
- package/src/lib/context-memory-kernel/memory-shard-snapshots.js +63 -0
- package/src/lib/context-memory-kernel/provider-context.js +55 -24
- package/src/lib/context-memory-kernel/segmented-memory-port.js +347 -138
- package/src/lib/cost-budget.js +2 -0
- package/src/lib/ephemeral-worktree-scope.js +24 -0
- package/src/lib/evolution/evolution-deployment-loader.js +6 -4
- package/src/lib/evolution/governed-skill-marketplace-abort.js +14 -0
- package/src/lib/evolution/governed-skill-marketplace-candidate.js +10 -2
- package/src/lib/evolution/governed-skill-marketplace-cli-host.js +47 -20
- package/src/lib/evolution/governed-skill-marketplace.js +47 -24
- package/src/lib/goal-condition-engine.js +20 -3
- package/src/lib/goal-verification-command.js +221 -0
- package/src/lib/goal-verification-plan.js +372 -0
- package/src/lib/llm-connection-probe.js +12 -5
- package/src/lib/llm-onboarding-catalog.json +1 -1
- package/src/lib/llm-pricing.js +34 -8
- package/src/lib/mcp-tool-catalog-authority.js +244 -0
- package/src/lib/model-capabilities.js +6 -0
- package/src/lib/model-catalog-review.js +3 -0
- package/src/lib/model-context-catalog.js +44 -2
- package/src/lib/openai-responses.js +35 -6
- package/src/lib/sub-agent-context.js +12 -4
- package/src/lib/subagent-inheritance.js +162 -2
- package/src/lib/usage-pricing-context.js +34 -17
- package/src/repl/agent-repl.js +34 -2
- package/src/runtime/agent-core.js +199 -9
- package/src/runtime/compaction-host-context.js +72 -0
- package/src/runtime/headless-runner.js +133 -37
- package/src/runtime/headless-stream.js +38 -21
- package/src/runtime/mcp-agent-catalog.js +257 -0
- package/src/runtime/mcp-config.js +18 -69
- package/src/runtime/mcp-tool-search.js +16 -1
- package/src/runtime/system-prompt.js +9 -0
- package/src/assets/web-panel/assets/AIOps-CSpp7iGY.css +0 -1
- package/src/assets/web-panel/assets/AIOps-o-rFKEYL.js +0 -1
- package/src/assets/web-panel/assets/Analytics-Bt7H_jrh.js +0 -3
- package/src/assets/web-panel/assets/Analytics-DJcHjy5J.css +0 -1
- package/src/assets/web-panel/assets/AppLayout-CgynsRFP.js +0 -9
- package/src/assets/web-panel/assets/AppLayout-VlanTjPw.css +0 -1
- package/src/assets/web-panel/assets/Artifacts-CTVt96zW.css +0 -1
- package/src/assets/web-panel/assets/Artifacts-gghOGDyE.js +0 -1
- package/src/assets/web-panel/assets/Audit-D8oxP0wr.css +0 -1
- package/src/assets/web-panel/assets/Audit-DBXn-AZ6.js +0 -1
- package/src/assets/web-panel/assets/BackgroundAgents--dxPftKa.js +0 -1
- package/src/assets/web-panel/assets/BackgroundAgents-Dq2340Kl.css +0 -1
- package/src/assets/web-panel/assets/Backup-D9Zf_2tH.js +0 -1
- package/src/assets/web-panel/assets/Backup-Wi9CaP3d.css +0 -1
- package/src/assets/web-panel/assets/BaseInput-DDTOjovq.js +0 -1
- package/src/assets/web-panel/assets/Chat-2ETqdBLn.js +0 -8
- package/src/assets/web-panel/assets/Chat-KSGPtU0L.css +0 -1
- package/src/assets/web-panel/assets/ChatBubbleRenderer-DSg2Xs8G.js +0 -1
- package/src/assets/web-panel/assets/ChatBubbleRenderer-gy5SDGw2.css +0 -1
- package/src/assets/web-panel/assets/Codegen-4ieEEIwt.js +0 -1
- package/src/assets/web-panel/assets/Codegen-BB08p1fn.css +0 -1
- package/src/assets/web-panel/assets/Community-Cbq1nrpo.css +0 -1
- package/src/assets/web-panel/assets/Community-DeYxFMJb.js +0 -1
- package/src/assets/web-panel/assets/Compliance-DLVjbVUh.js +0 -1
- package/src/assets/web-panel/assets/Compliance-NoXr2Vof.css +0 -1
- package/src/assets/web-panel/assets/Cowork-BlXJRu6L.css +0 -1
- package/src/assets/web-panel/assets/Cowork-DfUKa0T5.js +0 -6
- package/src/assets/web-panel/assets/Cron-_RpktpO5.js +0 -2
- package/src/assets/web-panel/assets/Crosschain-7x6xdbwH.js +0 -1
- package/src/assets/web-panel/assets/Crosschain-CgRAecoR.css +0 -1
- package/src/assets/web-panel/assets/DID-DVsYcgvs.css +0 -1
- package/src/assets/web-panel/assets/DID-ccVhToC1.js +0 -2
- package/src/assets/web-panel/assets/Dashboard-CAPSdFR4.css +0 -1
- package/src/assets/web-panel/assets/Dashboard-DhygcaoK.js +0 -3
- package/src/assets/web-panel/assets/Dropdown-DFplwXK7.js +0 -1
- package/src/assets/web-panel/assets/EmailListRenderer-Bm01soCN.js +0 -1
- package/src/assets/web-panel/assets/EmailListRenderer-DTPZPx_S.css +0 -1
- package/src/assets/web-panel/assets/EvolutionSettings-Bdw8ApoT.css +0 -1
- package/src/assets/web-panel/assets/EvolutionSettings-C4v--DkD.js +0 -1
- package/src/assets/web-panel/assets/FamilyGuardDashboard-ChQXDBA3.js +0 -1
- package/src/assets/web-panel/assets/FamilyGuardDashboard-nd3idUVb.css +0 -1
- package/src/assets/web-panel/assets/Federation-C0yomE-M.js +0 -1
- package/src/assets/web-panel/assets/Federation-fGN6iMX_.css +0 -1
- package/src/assets/web-panel/assets/FormItemContext-DtT3ZEZK.js +0 -2
- package/src/assets/web-panel/assets/GenericCardRenderer-DgITtFRv.js +0 -1
- package/src/assets/web-panel/assets/GenericCardRenderer-o85VDYQS.css +0 -1
- package/src/assets/web-panel/assets/Git-CCY42R8S.js +0 -2
- package/src/assets/web-panel/assets/Governance-DtCS4NDm.css +0 -1
- package/src/assets/web-panel/assets/Governance-N66Bwvqg.js +0 -1
- package/src/assets/web-panel/assets/Inference-BkbPuR_2.js +0 -1
- package/src/assets/web-panel/assets/Inference-t-w0NgIS.css +0 -1
- package/src/assets/web-panel/assets/KnowledgeGraph-4NU1S2Xm.css +0 -1
- package/src/assets/web-panel/assets/KnowledgeGraph-B3PibXdA.js +0 -1
- package/src/assets/web-panel/assets/Logs-CUtNB_N6.js +0 -2
- package/src/assets/web-panel/assets/Logs-DQbCaYhL.css +0 -1
- package/src/assets/web-panel/assets/MarkdownRenderer-D-V4dOe3.js +0 -1
- package/src/assets/web-panel/assets/MarkdownRenderer-DbzhFwvz.css +0 -1
- package/src/assets/web-panel/assets/Marketplace-Bvo5cuGa.css +0 -1
- package/src/assets/web-panel/assets/Marketplace-DLNJb6Nr.js +0 -1
- package/src/assets/web-panel/assets/McpTools-2zGjJb5K.js +0 -4
- package/src/assets/web-panel/assets/McpTools-534Q95Mx.css +0 -1
- package/src/assets/web-panel/assets/Memory-9rNZ1EvR.js +0 -2
- package/src/assets/web-panel/assets/Memory-CleW_R6V.css +0 -1
- package/src/assets/web-panel/assets/MobileBridge-Cw7sAAgn.js +0 -1
- package/src/assets/web-panel/assets/MobileBridge-D3Arxfeg.css +0 -1
- package/src/assets/web-panel/assets/MobileProjects-8XACrqqy.js +0 -1
- package/src/assets/web-panel/assets/MobileProjects-BD4alw6-.css +0 -1
- package/src/assets/web-panel/assets/Mtc-CXZGO9Sh.css +0 -1
- package/src/assets/web-panel/assets/Mtc-mg02JNy-.js +0 -6
- package/src/assets/web-panel/assets/MtcAudit-B1Vkhj2l.js +0 -19
- package/src/assets/web-panel/assets/MtcAudit-C1JM8esp.css +0 -1
- package/src/assets/web-panel/assets/Multisig-BQEeA7GG.js +0 -13
- package/src/assets/web-panel/assets/Multisig-BryR2Jpr.css +0 -1
- package/src/assets/web-panel/assets/NLProgramming-BIbkjZV3.js +0 -1
- package/src/assets/web-panel/assets/NLProgramming-DGDHq6Z9.css +0 -1
- package/src/assets/web-panel/assets/Notes-BKKmMtqV.css +0 -1
- package/src/assets/web-panel/assets/Notes-DIwhkZNY.js +0 -7
- package/src/assets/web-panel/assets/NotificationSettings-CG3Kfuef.css +0 -1
- package/src/assets/web-panel/assets/NotificationSettings-Cj9175ce.js +0 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-CfrDjSHT.css +0 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-IfNpXT2R.js +0 -1
- package/src/assets/web-panel/assets/Organization-DPFp6G9o.js +0 -4
- package/src/assets/web-panel/assets/Organization-LVvqwG0D.css +0 -1
- package/src/assets/web-panel/assets/P2P-DcFvP7F-.css +0 -1
- package/src/assets/web-panel/assets/P2P-tXck8GLq.js +0 -2
- package/src/assets/web-panel/assets/PdhVaultBrowser-DSvpQl9k.js +0 -7
- package/src/assets/web-panel/assets/PdhVaultBrowser-DZZrUOr1.css +0 -1
- package/src/assets/web-panel/assets/Permissions-CKPkdLj-.js +0 -4
- package/src/assets/web-panel/assets/Permissions-DsPE_IQy.css +0 -1
- package/src/assets/web-panel/assets/PersonalDataHub-BhpRlh9D.css +0 -1
- package/src/assets/web-panel/assets/PersonalDataHub-DnqXc12l.js +0 -9
- package/src/assets/web-panel/assets/Pipeline-BItr5CyP.css +0 -1
- package/src/assets/web-panel/assets/Pipeline-BKjFU_kd.js +0 -1
- package/src/assets/web-panel/assets/Privacy-ChC-J5Tn.js +0 -1
- package/src/assets/web-panel/assets/Privacy-F_ENsxZk.css +0 -1
- package/src/assets/web-panel/assets/ProjectInit-B86LEzDL.css +0 -1
- package/src/assets/web-panel/assets/ProjectInit-ByFZG9sY.js +0 -2
- package/src/assets/web-panel/assets/ProjectSettings-Bbv1Kiw-.js +0 -2
- package/src/assets/web-panel/assets/ProjectSettings-DK7KA_iX.css +0 -1
- package/src/assets/web-panel/assets/Projects-CmJeUDBW.css +0 -1
- package/src/assets/web-panel/assets/Projects-QYyGW31-.js +0 -1
- package/src/assets/web-panel/assets/Providers-C6q_fvea.css +0 -1
- package/src/assets/web-panel/assets/Providers-CJLnWw0r.js +0 -1
- package/src/assets/web-panel/assets/QrScannerModal-NwAHNfiJ.css +0 -1
- package/src/assets/web-panel/assets/QuickAsk-DoXU0np9.js +0 -1
- package/src/assets/web-panel/assets/Recommend-DCo_vuaf.js +0 -1
- package/src/assets/web-panel/assets/Recommend-D_bf91K6.css +0 -1
- package/src/assets/web-panel/assets/RemoteSession-CLuL925Z.js +0 -5
- package/src/assets/web-panel/assets/Reputation-CNNCA_-M.js +0 -1
- package/src/assets/web-panel/assets/Reputation-DiOsOleI.css +0 -1
- package/src/assets/web-panel/assets/Row-Vu4j631i.js +0 -1
- package/src/assets/web-panel/assets/RssFeed-C18B4xiy.js +0 -3
- package/src/assets/web-panel/assets/RssFeed-CjcbkyUb.css +0 -1
- package/src/assets/web-panel/assets/Search-DxiqccE2.js +0 -1
- package/src/assets/web-panel/assets/Search-Klk29S7C.css +0 -1
- package/src/assets/web-panel/assets/Security-BmrukMHn.css +0 -1
- package/src/assets/web-panel/assets/Security-Droe_hHI.js +0 -4
- package/src/assets/web-panel/assets/Services-CwmmyXzq.js +0 -2
- package/src/assets/web-panel/assets/Services-DAnVNhUG.css +0 -1
- package/src/assets/web-panel/assets/Skills-BUu9owbR.css +0 -1
- package/src/assets/web-panel/assets/Skills-Dp-d2miK.js +0 -1
- package/src/assets/web-panel/assets/Sla-2DFXVbK4.js +0 -1
- package/src/assets/web-panel/assets/Sla-sodqCU4a.css +0 -1
- package/src/assets/web-panel/assets/SpeechSettings-Cdd9lCoy.js +0 -1
- package/src/assets/web-panel/assets/SpeechSettings-CgB9nFyq.css +0 -1
- package/src/assets/web-panel/assets/SyncSettings-B3hJqmBP.css +0 -1
- package/src/assets/web-panel/assets/SyncSettings-CxQhcYSk.js +0 -2
- package/src/assets/web-panel/assets/Tasks-BHWVRfXx.js +0 -1
- package/src/assets/web-panel/assets/Tasks-nbTUVXvt.css +0 -1
- package/src/assets/web-panel/assets/Templates-CpFsKk_l.css +0 -1
- package/src/assets/web-panel/assets/Templates-DNFk3a5_.js +0 -1
- package/src/assets/web-panel/assets/Tenant-B6X6dPo8.js +0 -1
- package/src/assets/web-panel/assets/Tenant-MuPJnOjk.css +0 -1
- package/src/assets/web-panel/assets/Terminal-BuUNoLGM.js +0 -3
- package/src/assets/web-panel/assets/Terminal-DHoveJwj.css +0 -1
- package/src/assets/web-panel/assets/TimelineRenderer-BlTAtkOc.css +0 -1
- package/src/assets/web-panel/assets/TimelineRenderer-DThrBYj8.js +0 -1
- package/src/assets/web-panel/assets/Tokens-CA_u4Blu.js +0 -1
- package/src/assets/web-panel/assets/Tokens-CynVae-o.css +0 -1
- package/src/assets/web-panel/assets/Trust-C-WrW0Fj.css +0 -1
- package/src/assets/web-panel/assets/Trust-DHcLpNy3.js +0 -1
- package/src/assets/web-panel/assets/UkeySign-B_fni4C2.js +0 -1
- package/src/assets/web-panel/assets/VideoEditing-BDFghpzP.css +0 -1
- package/src/assets/web-panel/assets/VideoEditing-g9nf2EhS.js +0 -1
- package/src/assets/web-panel/assets/Wallet-C8pOjIve.js +0 -4
- package/src/assets/web-panel/assets/Wallet-DUbpTRcg.css +0 -1
- package/src/assets/web-panel/assets/WebAuthn-BaKNjxZt.js +0 -5
- package/src/assets/web-panel/assets/WebAuthn-CVAFRfCQ.css +0 -1
- package/src/assets/web-panel/assets/WorkflowEditor-429lPWYk.css +0 -1
- package/src/assets/web-panel/assets/WorkflowEditor-CX030Wb1.js +0 -1
- package/src/assets/web-panel/assets/createContext-B8rTvO61.js +0 -1
- package/src/assets/web-panel/assets/devWarning-B4_IVU_n.js +0 -1
- package/src/assets/web-panel/assets/echarts-C61Vn3mP.js +0 -25
- package/src/assets/web-panel/assets/index--6BUI55w.js +0 -1
- package/src/assets/web-panel/assets/index-5Q1bepcM.js +0 -1
- package/src/assets/web-panel/assets/index-B10Ia2KL.js +0 -21
- package/src/assets/web-panel/assets/index-B1SLBLli.js +0 -3
- package/src/assets/web-panel/assets/index-B8_VQAav.js +0 -1
- package/src/assets/web-panel/assets/index-BMuPJra-.js +0 -1
- package/src/assets/web-panel/assets/index-BOCjph-k.js +0 -12
- package/src/assets/web-panel/assets/index-BpBaOWmV.js +0 -1
- package/src/assets/web-panel/assets/index-CDlHvQtw.js +0 -1
- package/src/assets/web-panel/assets/index-CPF7Vqri.js +0 -55
- package/src/assets/web-panel/assets/index-CPmgKQcl.js +0 -1
- package/src/assets/web-panel/assets/index-CcpMHPWd.js +0 -21
- package/src/assets/web-panel/assets/index-Cyksnofp.js +0 -1
- package/src/assets/web-panel/assets/index-Dc9pcin6.js +0 -1
- package/src/assets/web-panel/assets/index-DfAC55QA.js +0 -19
- package/src/assets/web-panel/assets/index-DgNCfwvg.js +0 -1
- package/src/assets/web-panel/assets/index-DvfhIBNZ.js +0 -1
- package/src/assets/web-panel/assets/index-Hbzd9WeI.js +0 -1
- package/src/assets/web-panel/assets/index-IiS7WoUl.js +0 -13
- package/src/assets/web-panel/assets/index-Xa6TlaD7.js +0 -31
- package/src/assets/web-panel/assets/index-YczWc2_0.js +0 -12
- package/src/assets/web-panel/assets/index-h_ANnbR8.js +0 -3
- package/src/assets/web-panel/assets/index-k7QsBwyo.js +0 -75
- package/src/assets/web-panel/assets/isSymbol-S5WZT7lS.js +0 -1
- package/src/assets/web-panel/assets/motion-B1hpJYSD.js +0 -11
- package/src/assets/web-panel/assets/useFlexGapSupport-BClv53kR.js +0 -1
- package/src/assets/web-panel/assets/vendor-Bn1JzzAn.js +0 -42
- package/src/assets/web-panel/assets/vnode-ejVeFJ0x.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as I,_ as Ne,u as He,b as Re,d as k}from"./index-3RqDry-K.js";import{R as qe,at as Ve,a0 as ie,b1 as ue,aG as de,b2 as De,aC as Ee,aD as Ke,aV as ce}from"./icons-DlxlFL4g.js";import{o as Je,M as m,R as f,P as i,c as s,N as o,Q as x,S as _,K as g,r as C,L as u,O as h,u as v,F as $,Y as U,f as pe,a as Y}from"./vendor-BXcBOG8b.js";function A(a,r=0){return typeof a=="number"&&Number.isFinite(a)?a:r}function Ge(a,r=0){if(!a||typeof a!="object")return null;const n=a.id||"";return n?{key:n,id:n,name:String(a.name||n),symbol:String(a.symbol||""),chainId:A(a.chainId??a.chain_id,0),_idx:r}:null}function Qe(a){const r=I(a);return Array.isArray(r)?r.map(Ge).filter(Boolean):[]}function We(a,r=0){if(!a||typeof a!="object")return null;const n=a.id||"";return n?{key:n,id:n,fromChain:a.fromChain??a.from_chain??"",toChain:a.toChain??a.to_chain??"",asset:String(a.asset||"native"),amount:A(a.amount,0),senderAddress:a.senderAddress??a.sender_address??"",recipientAddress:a.recipientAddress??a.recipient_address??"",lockTxHash:a.lockTxHash??a.lock_tx_hash??"",mintTxHash:a.mintTxHash??a.mint_tx_hash??"",status:String(a.status||"pending").toLowerCase(),feeAmount:A(a.feeAmount??a.fee_amount,0),feeChain:a.feeChain??a.fee_chain??"",errorMessage:a.errorMessage??a.error_message??"",createdAt:a.createdAt??a.created_at??null,completedAt:a.completedAt??a.completed_at??null,_idx:r}:null}function Xe(a){const r=I(a);return Array.isArray(r)?r.map(We).filter(Boolean):[]}function Ye(a,r=0){if(!a||typeof a!="object")return null;const n=a.id||"";return n?{key:n,id:n,fromChain:a.fromChain??a.from_chain??"",toChain:a.toChain??a.to_chain??"",fromAsset:a.fromAsset??a.from_asset??"native",toAsset:a.toAsset??a.to_asset??"native",amount:A(a.amount,0),counterpartyAddress:a.counterpartyAddress??a.counterparty_address??"",hashLock:a.hashLock??a.hash_lock??"",expiresAt:a.expiresAt??a.expires_at??null,status:String(a.status||"initiated").toLowerCase(),claimTxHash:a.claimTxHash??a.claim_tx_hash??"",refundTxHash:a.refundTxHash??a.refund_tx_hash??"",createdAt:a.createdAt??a.created_at??null,_idx:r}:null}function Ze(a){const r=I(a);return Array.isArray(r)?r.map(Ye).filter(Boolean):[]}function et(a,r=0){if(!a||typeof a!="object")return null;const n=a.id||"";return n?{key:n,id:n,fromChain:a.fromChain??a.from_chain??"",toChain:a.toChain??a.to_chain??"",payload:String(a.payload||""),targetContract:a.targetContract??a.target_contract??"",sourceTxHash:a.sourceTxHash??a.source_tx_hash??"",destinationTxHash:a.destinationTxHash??a.destination_tx_hash??"",status:String(a.status||"pending").toLowerCase(),retries:A(a.retries,0),createdAt:a.createdAt??a.created_at??null,deliveredAt:a.deliveredAt??a.delivered_at??null,_idx:r}:null}function tt(a){const r=I(a);return Array.isArray(r)?r.map(et).filter(Boolean):[]}const at={bridges:{total:0,byStatus:{},totalVolume:0,totalFees:0},swaps:{total:0,byStatus:{}},messages:{total:0,byStatus:{}}};function st(a){const r=JSON.parse(JSON.stringify(at)),n=I(a);return!n||typeof n!="object"||Array.isArray(n)||(n.bridges&&typeof n.bridges=="object"&&(r.bridges.total=A(n.bridges.total,0),r.bridges.totalVolume=A(n.bridges.totalVolume??n.bridges.total_volume,0),r.bridges.totalFees=A(n.bridges.totalFees??n.bridges.total_fees,0),n.bridges.byStatus&&typeof n.bridges.byStatus=="object"&&(r.bridges.byStatus={...n.bridges.byStatus})),n.swaps&&typeof n.swaps=="object"&&(r.swaps.total=A(n.swaps.total,0),n.swaps.byStatus&&typeof n.swaps.byStatus=="object"&&(r.swaps.byStatus={...n.swaps.byStatus})),n.messages&&typeof n.messages=="object"&&(r.messages.total=A(n.messages.total,0),n.messages.byStatus&&typeof n.messages.byStatus=="object"&&(r.messages.byStatus={...n.messages.byStatus}))),r}function ot(a){const r=I(a);return!r||typeof r!="object"||Array.isArray(r)?null:{fee:A(r.fee,0),breakdown:{sourceFee:A(r?.breakdown?.sourceFee??r?.breakdown?.source_fee,0),destFee:A(r?.breakdown?.destFee??r?.breakdown?.dest_fee,0),bridgeFee:A(r?.breakdown?.bridgeFee??r?.breakdown?.bridge_fee,0)},currency:String(r.currency||"USD")}}function me(a){if(a==null||a==="")return"—";const r=typeof a=="number"?new Date(a):new Date(String(a));return isNaN(r.getTime())?String(a):r.toLocaleString("zh-CN",{hour12:!1})}const lt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},nt={class:"page-title"},rt={class:"page-sub"},it={style:{opacity:"0.7"}},ut={key:0,style:{opacity:"0.55","font-size":"10px","margin-left":"4px"}},dt={style:{color:"var(--text-primary)"}},ct={style:{color:"var(--text-primary)"}},pt={style:{color:"#722ed1","font-weight":"500"}},mt={style:{color:"var(--text-secondary)","margin-left":"4px","font-size":"11px"}},ft={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},ht={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},gt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},yt={style:{color:"var(--text-primary)"}},bt={style:{color:"var(--text-secondary)","font-size":"11px",margin:"0 4px"}},vt={style:{color:"var(--text-primary)"}},_t={style:{color:"var(--text-secondary)","font-size":"11px","margin-left":"4px"}},kt={key:1,style:{color:"#722ed1","font-weight":"500"}},Ct={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},xt={key:1,style:{color:"var(--text-muted)"}},$t={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},At={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},St={style:{color:"var(--text-primary)"}},wt={style:{color:"var(--text-primary)"}},Ft={key:1,style:{color:"var(--text-secondary)","font-size":"12px"}},zt={key:1,style:{color:"var(--text-muted)"}},Ut={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Tt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},jt={style:{"margin-top":"12px","font-size":"12px",color:"var(--text-secondary)"}},Mt={__name:"Crosschain",setup(a){const r=He(),{t:n}=Re(),L=C(!1),Z=C(!1),ee=C(!1),te=C(!1),ae=C(!1),S=C([]),fe=C([]),he=C([]),ge=C([]),N=C({bridges:{total:0,byStatus:{},totalVolume:0,totalFees:0},swaps:{total:0,byStatus:{}},messages:{total:0,byStatus:{}}}),H=C("bridges"),E=C(!1),K=C(!1),J=C(!1),se=C(!1),c=Y({fromChain:"",toChain:"",amount:null,asset:"",sender:"",recipient:""}),d=Y({fromChain:"",toChain:"",amount:null,fromAsset:"",toAsset:"",counterparty:"",timeoutMs:null}),y=Y({fromChain:"",toChain:"",payload:"",contract:""}),w=Y({fromChain:"",toChain:"",amount:null}),z=C(null),ke=pe(()=>[{title:n("crosschain.bridgeCols.route"),key:"route"},{title:n("crosschain.bridgeCols.amount"),key:"amount",width:"160px"},{title:n("crosschain.bridgeCols.fee"),key:"fee",width:"100px"},{title:n("crosschain.bridgeCols.status"),key:"status",width:"110px"},{title:n("crosschain.bridgeCols.createdAt"),key:"createdAt",width:"160px"}]),Ce=pe(()=>[{title:n("crosschain.swapCols.route"),key:"route"},{title:n("crosschain.swapCols.amount"),key:"amount",width:"110px"},{title:n("crosschain.swapCols.hashLock"),key:"hashLock",width:"160px"},{title:n("crosschain.swapCols.status"),key:"status",width:"120px"},{title:n("crosschain.swapCols.expiresAt"),key:"expiresAt",width:"160px"}]),xe=pe(()=>[{title:n("crosschain.messageCols.route"),key:"route",width:"220px"},{title:n("crosschain.messageCols.payload"),key:"payload"},{title:n("crosschain.messageCols.retries"),key:"retries",width:"80px"},{title:n("crosschain.messageCols.status"),key:"status",width:"110px"},{title:n("crosschain.messageCols.createdAt"),key:"createdAt",width:"160px"}]),$e={ethereum:"blue",polygon:"purple",bsc:"gold",arbitrum:"cyan",solana:"magenta"};function Ae(e){return $e[e]||"default"}function O(e){const l=S.value.find(F=>F.id===e);return l?l.name:e||"—"}function oe(e){const l=`crosschain.statusLabels.${e}`,F=n(l);return F===l?e:F}function Se(e){return{pending:"default",locked:"processing",minted:"cyan",completed:"green",refunded:"orange",failed:"red"}[e]||"default"}function we(e){return{initiated:"default",hash_locked:"processing",claimed:"green",refunded:"orange",expired:"red"}[e]||"default"}function Fe(e){return{pending:"default",sent:"processing",delivered:"green",failed:"red"}[e]||"default"}function ze(e,l){return e?e.length>l?e.slice(0,l)+"...":e:""}function Ue({key:e}){e==="bridge"?E.value=!0:e==="swap"?K.value=!0:e==="message"&&(J.value=!0)}async function R(){L.value=!0;try{const[e,l,F,q,le]=await Promise.all([r.execute("crosschain chains --json",8e3).catch(()=>({output:""})),r.execute("crosschain bridges --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("crosschain swaps --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("crosschain messages --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("crosschain stats --json",8e3).catch(()=>({output:""}))]);S.value=Qe(e.output),fe.value=Xe(l.output),he.value=Ze(F.output),ge.value=tt(q.output),N.value=st(le.output)}catch(e){k.error(n("crosschain.msg.loadFailed")+": "+(e?.message||e))}finally{L.value=!1}}function G(e){return!e.fromChain||!e.toChain?(k.warning(n("crosschain.msg.pairEmpty")),!1):e.fromChain===e.toChain?(k.warning(n("crosschain.msg.pairSame")),!1):!0}async function Te(){if(G(c)){if(!c.amount||c.amount<=0){k.warning(n("crosschain.msg.amountInvalid"));return}Z.value=!0;try{const e=[`crosschain bridge ${c.fromChain} ${c.toChain} ${c.amount}`];c.asset.trim()&&e.push(`--asset "${c.asset.trim().replace(/"/g,'\\"')}"`),c.sender.trim()&&e.push(`--sender "${c.sender.trim().replace(/"/g,'\\"')}"`),c.recipient.trim()&&e.push(`--recipient "${c.recipient.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:l}=await r.execute(e.join(" "),15e3);if(/error|failed|失败|unsupported/i.test(l)&&!/"bridgeId"/.test(l)){k.error(n("crosschain.msg.bridgeFailed")+": "+l.slice(0,120));return}k.success(n("crosschain.msg.bridgeSuccess")),E.value=!1,ye(),H.value="bridges",await R()}catch(e){k.error(n("crosschain.msg.bridgeFailed")+": "+(e?.message||e))}finally{Z.value=!1}}}async function je(){if(G(d)){if(!d.amount||d.amount<=0){k.warning(n("crosschain.msg.amountInvalid"));return}ee.value=!0;try{const e=[`crosschain swap ${d.fromChain} ${d.toChain} ${d.amount}`];d.fromAsset.trim()&&e.push(`--from-asset "${d.fromAsset.trim().replace(/"/g,'\\"')}"`),d.toAsset.trim()&&e.push(`--to-asset "${d.toAsset.trim().replace(/"/g,'\\"')}"`),d.counterparty.trim()&&e.push(`--counterparty "${d.counterparty.trim().replace(/"/g,'\\"')}"`),d.timeoutMs!=null&&e.push(`--timeout ${d.timeoutMs}`),e.push("--json");const{output:l}=await r.execute(e.join(" "),15e3);if(/error|failed|失败|unsupported/i.test(l)&&!/"swapId"/.test(l)){k.error(n("crosschain.msg.swapFailed")+": "+l.slice(0,120));return}k.success(n("crosschain.msg.swapSuccess")),K.value=!1,be(),H.value="swaps",await R()}catch(e){k.error(n("crosschain.msg.swapFailed")+": "+(e?.message||e))}finally{ee.value=!1}}}async function Me(){if(G(y)){te.value=!0;try{const e=[`crosschain send ${y.fromChain} ${y.toChain}`];y.payload.trim()&&e.push(`--payload "${y.payload.trim().replace(/"/g,'\\"')}"`),y.contract.trim()&&e.push(`--contract "${y.contract.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:l}=await r.execute(e.join(" "),12e3);if(/error|failed|失败|unsupported/i.test(l)&&!/"messageId"/.test(l)){k.error(n("crosschain.msg.sendFailed")+": "+l.slice(0,120));return}k.success(n("crosschain.msg.sendSuccess")),J.value=!1,ve(),H.value="messages",await R()}catch(e){k.error(n("crosschain.msg.sendFailed")+": "+(e?.message||e))}finally{te.value=!1}}}async function Pe(){if(G(w)){if(!w.amount||w.amount<=0){k.warning(n("crosschain.msg.amountInvalid"));return}ae.value=!0,z.value=null;try{const e=`crosschain estimate-fee ${w.fromChain} ${w.toChain} ${w.amount} --json`,{output:l}=await r.execute(e,8e3),F=ot(l);if(!F){k.error(n("crosschain.msg.feeFailed")+": "+l.slice(0,120));return}z.value=F}catch(e){k.error(n("crosschain.msg.feeFailed")+": "+(e?.message||e))}finally{ae.value=!1}}}function ye(){c.fromChain="",c.toChain="",c.amount=null,c.asset="",c.sender="",c.recipient=""}function be(){d.fromChain="",d.toChain="",d.amount=null,d.fromAsset="",d.toAsset="",d.counterparty="",d.timeoutMs=null}function ve(){y.fromChain="",y.toChain="",y.payload="",y.contract=""}return Je(R),(e,l)=>{const F=g("a-button"),q=g("a-menu-item"),le=g("a-menu"),Le=g("a-dropdown"),_e=g("a-space"),B=g("a-statistic"),M=g("a-card"),V=g("a-col"),Oe=g("a-row"),D=g("a-tag"),ne=g("a-table"),re=g("a-tab-pane"),Be=g("a-tabs"),T=g("a-select-option"),j=g("a-select"),b=g("a-form-item"),Q=g("a-input-number"),P=g("a-input"),W=g("a-form"),X=g("a-modal"),Ie=g("a-textarea");return u(),m("div",null,[f("div",lt,[f("div",null,[f("h2",nt,i(e.$t("crosschain.title")),1),f("p",rt,i(e.$t("crosschain.subtitle")),1)]),s(_e,null,{default:o(()=>[s(F,{loading:L.value,onClick:R},{icon:o(()=>[s(v(qe))]),default:o(()=>[h(" "+i(e.$t("crosschain.refresh")),1)]),_:1},8,["loading"]),s(Le,{trigger:["click"]},{overlay:o(()=>[s(le,{onClick:Ue},{default:o(()=>[s(q,{key:"bridge"},{default:o(()=>[s(v(ie)),h(" "+i(e.$t("crosschain.actions.bridge")),1)]),_:1}),s(q,{key:"swap"},{default:o(()=>[s(v(ue)),h(" "+i(e.$t("crosschain.actions.swap")),1)]),_:1}),s(q,{key:"message"},{default:o(()=>[s(v(de)),h(" "+i(e.$t("crosschain.actions.message")),1)]),_:1})]),_:1})]),default:o(()=>[s(F,{type:"primary"},{icon:o(()=>[s(v(Ve))]),default:o(()=>[h(" "+i(e.$t("crosschain.newDropdown")),1)]),_:1})]),_:1}),s(F,{onClick:l[0]||(l[0]=t=>se.value=!0)},{icon:o(()=>[s(v(De))]),default:o(()=>[h(" "+i(e.$t("crosschain.feeEstimate")),1)]),_:1})]),_:1})]),s(Oe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:o(()=>[s(V,{xs:12,sm:8,lg:5},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(B,{title:e.$t("crosschain.stats.chains"),value:S.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:o(()=>[s(v(Ee))]),_:1},8,["title","value"])]),_:1})]),_:1}),s(V,{xs:12,sm:8,lg:5},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(B,{title:e.$t("crosschain.stats.bridges"),value:N.value.bridges.total,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:o(()=>[s(v(ie))]),_:1},8,["title","value"])]),_:1})]),_:1}),s(V,{xs:12,sm:8,lg:5},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(B,{title:e.$t("crosschain.stats.swaps"),value:N.value.swaps.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:o(()=>[s(v(ue))]),_:1},8,["title","value"])]),_:1})]),_:1}),s(V,{xs:12,sm:8,lg:5},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(B,{title:e.$t("crosschain.stats.messages"),value:N.value.messages.total,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:o(()=>[s(v(de))]),_:1},8,["title","value"])]),_:1})]),_:1}),s(V,{xs:24,sm:8,lg:4},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(B,{title:e.$t("crosschain.stats.volume"),value:N.value.bridges.totalVolume,precision:2,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:o(()=>[s(v(Ke))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),S.value.length?(u(),x(M,{key:0,title:e.$t("crosschain.chainsCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:o(()=>[s(_e,{size:[12,8],wrap:""},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(D,{key:t.id,color:Ae(t.id)},{default:o(()=>[h(i(t.name)+" ",1),f("span",it,"("+i(t.symbol)+")",1),t.chainId>0?(u(),m("span",ut,"#"+i(t.chainId),1)):_("",!0)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):_("",!0),s(Be,{activeKey:H.value,"onUpdate:activeKey":l[1]||(l[1]=t=>H.value=t),class:"xchain-tabs"},{default:o(()=>[s(re,{key:"bridges",tab:e.$t("crosschain.tabs.bridges")},{default:o(()=>[s(ne,{columns:ke.value,"data-source":fe.value,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:L.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:t,record:p})=>[t.key==="route"?(u(),m($,{key:0},[f("span",dt,i(O(p.fromChain)),1),s(v(ce),{style:{margin:"0 6px",color:"var(--text-secondary)","font-size":"11px"}}),f("span",ct,i(O(p.toChain)),1)],64)):_("",!0),t.key==="amount"?(u(),m($,{key:1},[f("span",pt,i(p.amount),1),f("span",mt,i(p.asset),1)],64)):_("",!0),t.key==="fee"?(u(),m("span",ft,i(p.feeAmount),1)):_("",!0),t.key==="status"?(u(),x(D,{key:3,color:Se(p.status)},{default:o(()=>[h(i(oe(p.status)),1)]),_:2},1032,["color"])):_("",!0),t.key==="createdAt"?(u(),m("span",ht,i(v(me)(p.createdAt)),1)):_("",!0)]),emptyText:o(()=>[f("div",gt,[s(v(ie),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),h(" "+i(e.$t("crosschain.table.emptyBridges")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),s(re,{key:"swaps",tab:e.$t("crosschain.tabs.swaps")},{default:o(()=>[s(ne,{columns:Ce.value,"data-source":he.value,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:L.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:t,record:p})=>[t.key==="route"?(u(),m($,{key:0},[f("span",yt,i(O(p.fromChain)),1),f("span",bt,"("+i(p.fromAsset)+")",1),s(v(ce),{style:{margin:"0 4px",color:"var(--text-secondary)","font-size":"11px"}}),f("span",vt,i(O(p.toChain)),1),f("span",_t,"("+i(p.toAsset)+")",1)],64)):_("",!0),t.key==="amount"?(u(),m("span",kt,i(p.amount),1)):_("",!0),t.key==="hashLock"?(u(),m($,{key:2},[p.hashLock?(u(),m("span",Ct,i(p.hashLock.slice(0,14))+"... ",1)):(u(),m("span",xt,"—"))],64)):_("",!0),t.key==="status"?(u(),x(D,{key:3,color:we(p.status)},{default:o(()=>[h(i(oe(p.status)),1)]),_:2},1032,["color"])):_("",!0),t.key==="expiresAt"?(u(),m("span",$t,i(v(me)(p.expiresAt)),1)):_("",!0)]),emptyText:o(()=>[f("div",At,[s(v(ue),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),h(" "+i(e.$t("crosschain.table.emptySwaps")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),s(re,{key:"messages",tab:e.$t("crosschain.tabs.messages")},{default:o(()=>[s(ne,{columns:xe.value,"data-source":ge.value,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:L.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:t,record:p})=>[t.key==="route"?(u(),m($,{key:0},[f("span",St,i(O(p.fromChain)),1),s(v(ce),{style:{margin:"0 6px",color:"var(--text-secondary)","font-size":"11px"}}),f("span",wt,i(O(p.toChain)),1)],64)):_("",!0),t.key==="payload"?(u(),m("span",Ft,i(ze(p.payload,60)||"—"),1)):_("",!0),t.key==="retries"?(u(),m($,{key:2},[p.retries>0?(u(),x(D,{key:0,color:"orange",style:{"font-size":"11px"}},{default:o(()=>[h(i(e.$t("crosschain.table.retrySuffix",{n:p.retries})),1)]),_:2},1024)):(u(),m("span",zt,"—"))],64)):_("",!0),t.key==="status"?(u(),x(D,{key:3,color:Fe(p.status)},{default:o(()=>[h(i(oe(p.status)),1)]),_:2},1032,["color"])):_("",!0),t.key==="createdAt"?(u(),m("span",Ut,i(v(me)(p.createdAt)),1)):_("",!0)]),emptyText:o(()=>[f("div",Tt,[s(v(de),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),h(" "+i(e.$t("crosschain.table.emptyMessages")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),s(X,{open:E.value,"onUpdate:open":l[8]||(l[8]=t=>E.value=t),title:e.$t("crosschain.bridge_modal.title"),"confirm-loading":Z.value,width:540,"ok-text":e.$t("crosschain.bridge_modal.ok"),"cancel-text":e.$t("crosschain.bridge_modal.cancel"),onOk:Te,onCancel:ye},{default:o(()=>[s(W,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[s(b,{label:e.$t("crosschain.bridge_modal.fromChain"),required:""},{default:o(()=>[s(j,{value:c.fromChain,"onUpdate:value":l[2]||(l[2]=t=>c.fromChain=t),placeholder:e.$t("crosschain.bridge_modal.fromChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.toChain"),required:""},{default:o(()=>[s(j,{value:c.toChain,"onUpdate:value":l[3]||(l[3]=t=>c.toChain=t),placeholder:e.$t("crosschain.bridge_modal.toChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===c.fromChain},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.amount"),required:""},{default:o(()=>[s(Q,{value:c.amount,"onUpdate:value":l[4]||(l[4]=t=>c.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.asset")},{default:o(()=>[s(P,{value:c.asset,"onUpdate:value":l[5]||(l[5]=t=>c.asset=t),placeholder:e.$t("crosschain.bridge_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.sender")},{default:o(()=>[s(P,{value:c.sender,"onUpdate:value":l[6]||(l[6]=t=>c.sender=t),placeholder:e.$t("crosschain.bridge_modal.senderPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.recipient")},{default:o(()=>[s(P,{value:c.recipient,"onUpdate:value":l[7]||(l[7]=t=>c.recipient=t),placeholder:e.$t("crosschain.bridge_modal.recipientPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),s(X,{open:K.value,"onUpdate:open":l[16]||(l[16]=t=>K.value=t),title:e.$t("crosschain.swap_modal.title"),"confirm-loading":ee.value,width:540,"ok-text":e.$t("crosschain.swap_modal.ok"),"cancel-text":e.$t("crosschain.swap_modal.cancel"),onOk:je,onCancel:be},{default:o(()=>[s(W,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[s(b,{label:e.$t("crosschain.swap_modal.fromChain"),required:""},{default:o(()=>[s(j,{value:d.fromChain,"onUpdate:value":l[9]||(l[9]=t=>d.fromChain=t),placeholder:e.$t("crosschain.swap_modal.fromChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.toChain"),required:""},{default:o(()=>[s(j,{value:d.toChain,"onUpdate:value":l[10]||(l[10]=t=>d.toChain=t),placeholder:e.$t("crosschain.swap_modal.toChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===d.fromChain},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.amount"),required:""},{default:o(()=>[s(Q,{value:d.amount,"onUpdate:value":l[11]||(l[11]=t=>d.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.fromAsset")},{default:o(()=>[s(P,{value:d.fromAsset,"onUpdate:value":l[12]||(l[12]=t=>d.fromAsset=t),placeholder:e.$t("crosschain.swap_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.toAsset")},{default:o(()=>[s(P,{value:d.toAsset,"onUpdate:value":l[13]||(l[13]=t=>d.toAsset=t),placeholder:e.$t("crosschain.swap_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.counterparty")},{default:o(()=>[s(P,{value:d.counterparty,"onUpdate:value":l[14]||(l[14]=t=>d.counterparty=t),placeholder:e.$t("crosschain.swap_modal.counterpartyPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.timeoutMs")},{default:o(()=>[s(Q,{value:d.timeoutMs,"onUpdate:value":l[15]||(l[15]=t=>d.timeoutMs=t),min:0,placeholder:e.$t("crosschain.swap_modal.timeoutPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),s(X,{open:J.value,"onUpdate:open":l[21]||(l[21]=t=>J.value=t),title:e.$t("crosschain.message_modal.title"),"confirm-loading":te.value,width:520,"ok-text":e.$t("crosschain.message_modal.ok"),"cancel-text":e.$t("crosschain.message_modal.cancel"),onOk:Me,onCancel:ve},{default:o(()=>[s(W,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[s(b,{label:e.$t("crosschain.message_modal.fromChain"),required:""},{default:o(()=>[s(j,{value:y.fromChain,"onUpdate:value":l[17]||(l[17]=t=>y.fromChain=t),placeholder:e.$t("crosschain.message_modal.fromChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.message_modal.toChain"),required:""},{default:o(()=>[s(j,{value:y.toChain,"onUpdate:value":l[18]||(l[18]=t=>y.toChain=t),placeholder:e.$t("crosschain.message_modal.toChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===y.fromChain},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.message_modal.payload")},{default:o(()=>[s(Ie,{value:y.payload,"onUpdate:value":l[19]||(l[19]=t=>y.payload=t),"auto-size":{minRows:3,maxRows:8}},null,8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.message_modal.contract")},{default:o(()=>[s(P,{value:y.contract,"onUpdate:value":l[20]||(l[20]=t=>y.contract=t),placeholder:e.$t("crosschain.message_modal.contractPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),s(X,{open:se.value,"onUpdate:open":l[25]||(l[25]=t=>se.value=t),title:e.$t("crosschain.fee_modal.title"),"confirm-loading":ae.value,width:480,"ok-text":e.$t("crosschain.fee_modal.ok"),"cancel-text":e.$t("crosschain.fee_modal.cancel"),onOk:Pe},{default:o(()=>[s(W,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[s(b,{label:e.$t("crosschain.fee_modal.fromChain"),required:""},{default:o(()=>[s(j,{value:w.fromChain,"onUpdate:value":l[22]||(l[22]=t=>w.fromChain=t)},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.fee_modal.toChain"),required:""},{default:o(()=>[s(j,{value:w.toChain,"onUpdate:value":l[23]||(l[23]=t=>w.toChain=t)},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===w.fromChain},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.fee_modal.amount"),required:""},{default:o(()=>[s(Q,{value:w.amount,"onUpdate:value":l[24]||(l[24]=t=>w.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1}),z.value?(u(),x(M,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:o(()=>[s(B,{title:e.$t("crosschain.fee_modal.resultTitle"),value:z.value.fee,precision:4,suffix:z.value.currency,"value-style":{color:"#1677ff"}},null,8,["title","value","suffix"]),f("div",jt,[f("div",null,i(e.$t("crosschain.fee_modal.sourceFee",{fee:z.value.breakdown.sourceFee,currency:z.value.currency})),1),f("div",null,i(e.$t("crosschain.fee_modal.destFee",{fee:z.value.breakdown.destFee,currency:z.value.currency})),1),f("div",null,i(e.$t("crosschain.fee_modal.bridgeFee",{fee:z.value.breakdown.bridgeFee,currency:z.value.currency})),1)])]),_:1})):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},Bt=Ne(Mt,[["__scopeId","data-v-21e0fb7f"]]);export{Bt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page-title[data-v-21e0fb7f]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-21e0fb7f]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.xchain-tabs[data-v-21e0fb7f] .ant-tabs-nav{margin-bottom:16px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mono[data-v-ee4997fa]{font-family:monospace;font-size:12px;word-break:break-all}.result-card.pass[data-v-ee4997fa]{border-color:#b7eb8f}.result-card.fail[data-v-ee4997fa]{border-color:#ffccc7}.raw-pre[data-v-ee4997fa]{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-b17b31f4] .did-row:hover td{background:var(--bg-card-hover)!important}[data-v-b17b31f4] .ant-card-head{border-color:var(--border-color)!important;color:var(--text-primary)!important}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as te,_ as se,u as ie,b as Se,d as D}from"./index-3RqDry-K.js";import{p as Ce}from"./mtc-parser-0zlMjabo.js";import{Q as de,f as ze,d as Ae,R as Ne,at as Ie,W as Me,O as Oe,l as je}from"./icons-DlxlFL4g.js";import{r as u,w as Fe,L as c,Q as h,N as t,c as a,O as g,u as N,Z as Te,P as r,R as w,S as v,$ as Pe,f as Q,K as i,o as Le,M as F}from"./vendor-BXcBOG8b.js";function ee(s,n=0){if(!s||typeof s!="object")return null;const o=s.did||s.id||"";if(!o)return null;const m=s.displayName??s.display_name??s.name??"",x=s.isDefault===!0||s.is_default===1||s.is_default===!0||s.default===!0,_=s.publicKey??s.public_key??"",d=s.createdAt??s.created_at??s.created??"",y=(o.split(":")[1]||"chainless").trim();return{key:o,did:o,displayName:m||"",publicKey:_||"",isDefault:!!x,createdAt:d||"",method:y,raw:s.document?s:null,_idx:n}}function Ke(s){const n=te(s);return Array.isArray(n)?n.map(ee).filter(Boolean):n&&Array.isArray(n.identities)?n.identities.map(ee).filter(Boolean):Ue(s||"")}function Ue(s){const n=(s||"").split(`
|
|
2
|
+
`),o=[];let m=null;for(const x of n){const _=x.trim();if(!_||_.startsWith("─")||_.startsWith("="))continue;const d=_.match(/(did:[a-z0-9]+:[A-Za-z0-9_-]+)/);if(d&&/^did:/.test(_)){m&&o.push(m);const y=d[1],I=_.match(/\(([^)]+)\)/),T=/\[default\]|默认|\*/.test(_);m={key:y,did:y,displayName:I?I[1]:"",publicKey:"",isDefault:T,createdAt:"",method:(y.split(":")[1]||"chainless").trim(),raw:null,_idx:o.length};continue}if(m){const y=_.match(/created\s*[::]\s*(.+)$/i);y&&(m.createdAt=y[1].trim())}}return m&&o.push(m),o}function Ve(s){const n=te(s);if(!n||typeof n!="object"||Array.isArray(n))return null;const o=ee(n);return o?(o.document=n.document||null,o):null}function Be(s){const n=te(s);if(n&&typeof n=="object"&&n.signature)return{did:n.did||"",message:n.message||"",signature:String(n.signature)};const m=(s||"").match(/Signature[::]\s*([a-f0-9]+)/i);return m?{did:"",message:"",signature:m[1]}:null}const He={style:{"margin-left":"8px"}},Re={class:"mono"},Ee={class:"mono"},Je={class:"mono"},We={class:"raw-pre"},Qe={__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(s){const n=s,o=ie(),m=u(n.defaultEnvelopePath),x=u(n.defaultLandmarkPath),_=u(!1),d=u(null),y=u(""),I=Q(()=>n.hint||"通过 cc serve 运行 cc mtc verify(多算法 dispatcher 同时支持 Ed25519 和 SLH-DSA-128F)。文件路径应指向本机磁盘上的 envelope 和 landmark JSON — 浏览器只把路径转给 cc serve,不上传文件内容。");Fe(()=>n.open,b=>{b&&(m.value=n.defaultEnvelopePath||m.value,x.value=n.defaultLandmarkPath||x.value,d.value=null,y.value="")});async function T(){_.value=!0,d.value=null,y.value="";try{const b=m.value.trim().replace(/"/g,'\\"'),k=x.value.trim().replace(/"/g,'\\"'),{output:M}=await o.execute(`mtc verify "${b}" --landmark "${k}" --json`,12e3),z=Ce(M);if(!z.raw){y.value="验证命令未返回 JSON。请检查路径是否正确。";return}d.value=z}catch(b){y.value=`验证失败: ${b?.message||b}`}finally{_.value=!1}}return(b,k)=>{const M=i("a-alert"),z=i("a-input"),O=i("a-form-item"),$=i("a-button"),P=i("a-form"),V=i("a-divider"),A=i("a-tag"),C=i("a-descriptions-item"),Z=i("a-descriptions"),B=i("a-collapse-panel"),q=i("a-collapse"),L=i("a-card"),G=i("a-drawer");return c(),h(G,{open:s.open,title:s.title,width:560,placement:"right","onUpdate:open":k[2]||(k[2]=K=>b.$emit("update:open",K))},{default:t(()=>[a(M,{type:"info","show-icon":"",message:I.value,style:{"margin-bottom":"16px"}},null,8,["message"]),a(P,{layout:"vertical"},{default:t(()=>[a(O,{label:"Envelope 文件路径"},{default:t(()=>[a(z,{value:m.value,"onUpdate:value":k[0]||(k[0]=K=>m.value=K),placeholder:"e.g. ./mtc-out/envelope-000000.json","allow-clear":""},null,8,["value"])]),_:1}),a(O,{label:"Landmark 文件路径"},{default:t(()=>[a(z,{value:x.value,"onUpdate:value":k[1]||(k[1]=K=>x.value=K),placeholder:"e.g. ./mtc-out/landmark.json","allow-clear":""},null,8,["value"])]),_:1}),a(O,null,{default:t(()=>[a($,{type:"primary",loading:_.value,disabled:!m.value||!x.value,onClick:T},{icon:t(()=>[a(N(de))]),default:t(()=>[k[3]||(k[3]=g(" 运行 cc mtc verify ",-1))]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),a(V),d.value?(c(),h(L,{key:0,class:Te(["result-card",d.value.ok?"pass":"fail"]),size:"small"},{title:t(()=>[(c(),h(Pe(d.value.ok?N(ze):N(Ae)))),w("span",He,r(d.value.ok?"验证通过":"验证失败"),1)]),default:t(()=>[a(Z,{column:1,size:"small",bordered:""},{default:t(()=>[a(C,{label:"结果"},{default:t(()=>[a(A,{color:d.value.ok?"green":"red"},{default:t(()=>[g(r(d.value.ok?"PASS":"FAIL"),1)]),_:1},8,["color"])]),_:1}),!d.value.ok&&d.value.code?(c(),h(C,{key:0,label:"错误码"},{default:t(()=>[w("span",Re,r(d.value.code),1),d.value.recoverable?(c(),h(A,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:t(()=>[...k[4]||(k[4]=[g("可恢复",-1)])]),_:1})):v("",!0)]),_:1})):v("",!0),d.value.leaf?.subject?(c(),h(C,{key:1,label:"Subject"},{default:t(()=>[w("span",Ee,r(d.value.leaf.subject),1)]),_:1})):v("",!0),d.value.leaf?.kind?(c(),h(C,{key:2,label:"Kind"},{default:t(()=>[a(A,null,{default:t(()=>[g(r(d.value.leaf.kind),1)]),_:1})]),_:1})):v("",!0),d.value.treeHead?.tree_size?(c(),h(C,{key:3,label:"Tree size"},{default:t(()=>[g(r(d.value.treeHead.tree_size),1)]),_:1})):v("",!0),d.value.treeHead?.issuer?(c(),h(C,{key:4,label:"Issuer"},{default:t(()=>[w("span",Je,r(d.value.treeHead.issuer),1)]),_:1})):v("",!0)]),_:1}),d.value.raw?(c(),h(q,{key:0,ghost:"",style:{"margin-top":"12px"}},{default:t(()=>[a(B,{key:"raw",header:"原始 JSON 输出"},{default:t(()=>[w("pre",We,r(JSON.stringify(d.value.raw,null,2)),1)]),_:1})]),_:1})):v("",!0)]),_:1},8,["class"])):v("",!0),y.value?(c(),h(M,{key:1,type:"error",message:y.value,style:{"margin-top":"12px"}},null,8,["message"])):v("",!0)]),_:1},8,["open","title"])}}},Ze=se(Qe,[["__scopeId","data-v-ee4997fa"]]),qe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ge={class:"page-title"},Xe={class:"page-sub"},Ye={key:1,style:{"text-align":"center",padding:"60px"}},et={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},tt={key:1,style:{color:"var(--text-primary)"}},at={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},lt={key:0,style:{"margin-top":"12px"}},ot={style:{"font-family":"monospace",color:"#ccc","word-break":"break-all"}},nt={style:{"font-family":"monospace",color:"#888","font-size":"11px","word-break":"break-all"}},st={style:{"margin-top":"16px",display:"flex",gap:"8px","flex-wrap":"wrap"}},it={key:0,style:{"margin-top":"16px"}},dt={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},rt={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"}},ut={key:0,style:{"margin-top":"12px"}},ct={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},pt={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)"}},ft={__name:"DID",setup(s){const n=ie(),{t:o}=Se(),m=u(!1),x=u(!1),_=u(!1),d=u(!1),y=u(""),I=u(""),T=u(!1),b=u([]),k=u(!1),M=u(!1),z=u(!1),O=u(""),$=u(null),P=u(""),V=u(""),A=u(""),C=u(null),Z=Q(()=>[{title:o("did.cols.did"),key:"did",dataIndex:"did",ellipsis:!0},{title:o("did.cols.name"),key:"displayName",dataIndex:"displayName",width:"160px"},{title:o("did.cols.method"),key:"method",dataIndex:"method",width:"110px"},{title:o("did.cols.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:o("did.cols.default"),key:"isDefault",width:"90px"},{title:o("did.cols.action"),key:"action",width:"280px"}]),B=Q(()=>{const e=b.value.find(p=>p.isDefault);if(!e)return o("did.stats.unsetDefault");const l=e.did;return l.length>24?l.slice(0,12)+"..."+l.slice(-8):l}),q=Q(()=>{const e=new Set(b.value.map(l=>l.method).filter(Boolean));return e.size===0?o("did.stats.noMethod"):e.size===1?[...e][0]:[...e].join(", ")});async function L(){x.value=!0;try{const{output:e}=await n.execute("did list --json",15e3);b.value=Ke(e)}catch(e){D.error(o("did.msg.loadFailed")+": "+e.message),b.value=[]}finally{x.value=!1}}async function G(){_.value=!0;try{const e=O.value.trim(),l=e?`did create --name "${e.replace(/"/g,'\\"')}" --json`:"did create --json",{output:p}=await n.execute(l,2e4);/error|失败/i.test(p)&&!p.includes('"did"')?D.error(o("did.msg.createFailed")+": "+p.slice(0,120)):(D.success(o("did.msg.createSuccess")),k.value=!1,O.value="",await L())}catch(e){D.error(o("did.msg.createFailed")+": "+e.message)}finally{_.value=!1}}async function K(e){y.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did set-default ${e.did}`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.setDefaultFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.setDefaultSuccess")),await L())}catch(l){D.error(o("did.msg.setDefaultFailed")+": "+l.message)}finally{y.value=""}}async function re(e){I.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did delete ${e.did} --force`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.deleteFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.deleteSuccess")),await L())}catch(l){D.error(o("did.msg.deleteFailed")+": "+l.message)}finally{I.value=""}}async function ue(e){if($.value={...e},P.value="",M.value=!0,!e.publicKey)try{const{output:l}=await n.execute(`did show ${e.did} --json`,1e4),p=Ve(l);p&&($.value={...$.value,...p})}catch{}}async function ce(e){T.value=!0;try{const{output:l}=await n.execute(`did resolve ${e.did}`,1e4);try{P.value=JSON.stringify(JSON.parse(l.trim()),null,2)}catch{P.value=l.trim()}}catch(l){D.error(o("did.msg.loadDocFailed")+": "+l.message)}finally{T.value=!1}}function pe(e){V.value=e.did,A.value="",C.value=null,z.value=!0}const X=u(!1),ae=u("MTC 包含证明"),le=u("");function fe(e){return e?e.length<=24?e:`${e.slice(0,16)}…${e.slice(-6)}`:""}function me(e){ae.value=`MTC 包含证明 · ${fe(e.did)}`,le.value="验证此 DID 是否在某个 MTC 批次中。请提供该批次的 envelope(其 leaf.subject 应等于此 DID)和 landmark 文件路径。 通常由 cc mtc batch-dids --out <dir> 生成。",X.value=!0}async function ve(){if(!A.value.trim()){D.warning(o("did.msg.signEmpty"));return}d.value=!0,C.value=null;try{const l=`did sign "${A.value.replace(/"/g,'\\"')}" --did ${V.value} --json`,{output:p,exitCode:H}=await n.execute(l,15e3),j=Be(p);j&&j.signature?(C.value=j,D.success(o("did.msg.signSuccess"))):D.error(o("did.msg.signFailed")+": "+(p||`exit ${H}`).slice(0,120))}catch(e){D.error(o("did.msg.signFailed")+": "+e.message)}finally{d.value=!1}}return Le(()=>{L()}),(e,l)=>{const p=i("a-button"),H=i("a-space"),j=i("a-statistic"),R=i("a-card"),E=i("a-col"),ye=i("a-row"),_e=i("a-alert"),ge=i("a-spin"),J=i("a-tag"),be=i("a-tooltip"),ke=i("a-popconfirm"),he=i("a-empty"),$e=i("a-table"),we=i("a-input"),oe=i("a-form-item"),ne=i("a-form"),Y=i("a-modal"),U=i("a-descriptions-item"),xe=i("a-descriptions"),De=i("a-textarea");return c(),F("div",null,[w("div",qe,[w("div",null,[w("h2",Ge,r(e.$t("did.title")),1),w("p",Xe,r(e.$t("did.subtitle")),1)]),a(H,null,{default:t(()=>[a(p,{loading:x.value,onClick:L},{icon:t(()=>[a(N(Ne))]),default:t(()=>[g(" "+r(e.$t("did.refresh")),1)]),_:1},8,["loading"]),a(p,{type:"primary",onClick:l[0]||(l[0]=f=>k.value=!0)},{icon:t(()=>[a(N(Ie))]),default:t(()=>[g(" "+r(e.$t("did.create")),1)]),_:1})]),_:1})]),a(ye,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(E,{xs:24,sm:12,lg:6},{default:t(()=>[a(R,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.count"),value:b.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(N(Me))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(E,{xs:24,sm:12,lg:6},{default:t(()=>[a(R,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.default"),value:B.value,"value-style":{color:B.value!==e.$t("did.stats.unsetDefault")?"#52c41a":"#888",fontSize:"13px",fontFamily:"monospace"}},null,8,["title","value","value-style"])]),_:1})]),_:1}),a(E,{xs:24,sm:12,lg:6},{default:t(()=>[a(R,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.method"),value:q.value,"value-style":{color:"#722ed1",fontSize:"14px"}},null,8,["title","value"])]),_:1})]),_:1}),a(E,{xs:24,sm:12,lg:6},{default:t(()=>[a(R,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.signable"),value:b.value.length>0?e.$t("did.stats.yes"):e.$t("did.stats.no"),"value-style":{color:b.value.length>0?"#52c41a":"#ff4d4f",fontSize:"20px"}},{prefix:t(()=>[a(N(Oe))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),m.value?v("",!0):(c(),h(_e,{key:0,message:e.$t("did.webOnly.message"),description:e.$t("did.webOnly.description"),type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}},null,8,["message","description"])),x.value?(c(),F("div",Ye,[a(ge,{size:"large"})])):(c(),h($e,{key:2,columns:Z.value,"data-source":b.value,pagination:{pageSize:20,showTotal:f=>e.$t("did.table.totalSuffix",{n:f})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"did-row"},{bodyCell:t(({column:f,record:S})=>[f.key==="did"?(c(),F("span",et,r(S.did),1)):v("",!0),f.key==="displayName"?(c(),F("span",tt,r(S.displayName||"-"),1)):v("",!0),f.key==="method"?(c(),h(J,{key:2,color:"blue"},{default:t(()=>[g(r(S.method),1)]),_:2},1024)):v("",!0),f.key==="createdAt"?(c(),F("span",at,r(S.createdAt||"-"),1)):v("",!0),f.key==="isDefault"?(c(),h(J,{key:4,color:S.isDefault?"green":"default"},{default:t(()=>[g(r(S.isDefault?e.$t("did.table.defaultTag"):"-"),1)]),_:2},1032,["color"])):v("",!0),f.key==="action"?(c(),h(H,{key:5,size:"small"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>ue(S)},{default:t(()=>[g(r(e.$t("did.actions.details")),1)]),_:1},8,["onClick"]),a(p,{size:"small",type:"link",onClick:W=>pe(S)},{default:t(()=>[g(r(e.$t("did.actions.sign")),1)]),_:1},8,["onClick"]),a(be,{title:"MTC 包含证明"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>me(S)},{default:t(()=>[a(N(de))]),_:1},8,["onClick"])]),_:2},1024),S.isDefault?v("",!0):(c(),h(p,{key:0,size:"small",type:"link",loading:y.value===S.did,onClick:W=>K(S)},{default:t(()=>[g(r(e.$t("did.actions.setDefault")),1)]),_:1},8,["loading","onClick"])),a(ke,{title:e.$t("did.deleteConfirm.title"),"ok-text":e.$t("did.deleteConfirm.ok"),"ok-type":"danger","cancel-text":e.$t("did.deleteConfirm.cancel"),onConfirm:W=>re(S)},{default:t(()=>[a(p,{size:"small",type:"link",danger:"",loading:I.value===S.did},{default:t(()=>[g(r(e.$t("did.actions.delete")),1)]),_:1},8,["loading"])]),_:2},1032,["title","ok-text","cancel-text","onConfirm"])]),_:2},1024)):v("",!0)]),emptyText:t(()=>[a(he,{description:e.$t("did.table.empty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(Y,{open:k.value,"onUpdate:open":l[2]||(l[2]=f=>k.value=f),title:e.$t("did.create_modal.title"),"confirm-loading":_.value,onOk:G,"ok-text":e.$t("did.create_modal.ok"),"cancel-text":e.$t("did.create_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.create_modal.nameLabel")},{default:t(()=>[a(we,{value:O.value,"onUpdate:value":l[1]||(l[1]=f=>O.value=f),placeholder:e.$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"]),a(Y,{open:M.value,"onUpdate:open":l[4]||(l[4]=f=>M.value=f),title:e.$t("did.details.title",{label:$.value?.displayName||$.value?.did?.slice(0,24)||""}),width:720,footer:null},{default:t(()=>[$.value?(c(),F("div",lt,[a(xe,{column:1,bordered:"",size:"small"},{default:t(()=>[a(U,{label:e.$t("did.details.did")},{default:t(()=>[w("span",ot,r($.value.did),1)]),_:1},8,["label"]),a(U,{label:e.$t("did.details.name")},{default:t(()=>[g(r($.value.displayName||"-"),1)]),_:1},8,["label"]),a(U,{label:e.$t("did.details.method")},{default:t(()=>[a(J,{color:"blue"},{default:t(()=>[g(r($.value.method),1)]),_:1})]),_:1},8,["label"]),a(U,{label:e.$t("did.details.default")},{default:t(()=>[a(J,{color:$.value.isDefault?"green":"default"},{default:t(()=>[g(r($.value.isDefault?e.$t("did.details.yes"):e.$t("did.details.no")),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(U,{label:e.$t("did.details.createdAt")},{default:t(()=>[g(r($.value.createdAt||"-"),1)]),_:1},8,["label"]),a(U,{label:e.$t("did.details.publicKey")},{default:t(()=>[w("span",nt,r($.value.publicKey||e.$t("did.details.publicKeyLoading")),1)]),_:1},8,["label"])]),_:1}),w("div",st,[a(p,{loading:T.value,onClick:l[3]||(l[3]=f=>ce($.value))},{icon:t(()=>[a(N(je))]),default:t(()=>[g(" "+r(e.$t("did.details.viewDoc")),1)]),_:1},8,["loading"])]),P.value?(c(),F("div",it,[w("p",dt,r(e.$t("did.details.docHeader")),1),w("pre",rt,r(P.value),1)])):v("",!0)])):v("",!0)]),_:1},8,["open","title"]),a(Y,{open:z.value,"onUpdate:open":l[6]||(l[6]=f=>z.value=f),title:e.$t("did.sign_modal.title",{label:V.value?.slice(0,28)||e.$t("did.sign_modal.defaultIdentityFallback")}),"confirm-loading":d.value,onOk:ve,"ok-text":e.$t("did.sign_modal.ok"),"cancel-text":e.$t("did.sign_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.sign_modal.messageLabel"),required:""},{default:t(()=>[a(De,{value:A.value,"onUpdate:value":l[5]||(l[5]=f=>A.value=f),placeholder:e.$t("did.sign_modal.messagePlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),C.value?(c(),F("div",ut,[w("p",ct,r(e.$t("did.sign_modal.resultHeader")),1),w("pre",pt,r(C.value.signature),1)])):v("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(Ze,{open:X.value,"onUpdate:open":l[7]||(l[7]=f=>X.value=f),title:ae.value,hint:le.value},null,8,["open","title","hint"])])}}},gt=se(ft,[["__scopeId","data-v-b17b31f4"]]);export{gt as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{E as ae,r as M,o as oe,x as le,M as p,R as o,P as a,u as d,c as t,N as s,Q as U,S as J,f as S,K as C,I as re,L as i,O as h,_ as K,F as N,Y as A}from"./vendor-BXcBOG8b.js";import{u as G,t as ne,_ as de}from"./index-3RqDry-K.js";import{u as ie}from"./chat-BdYOI4gM.js";import{R as ue,F as ce,ae as Q,m as Y,h as Z,Z as ve,af as me,l as X,ag as pe,o as he}from"./icons-DlxlFL4g.js";function fe(T){return ne(T)}function be(){return{samples:0,compressedSamples:0,hitRate:0,totalSavedTokens:0,averageSavedTokens:0,totalOriginalTokens:0,totalCompressedTokens:0,netSavingsRate:0,variantDistribution:{},strategyDistribution:[],providerDistribution:[],modelDistribution:[]}}const ye=ae("dashboard",()=>{const T=M(!1),F=M(!1),c=M({wsStatus:"disconnected",activeLlm:null,activeModel:null,skillCount:0,sessionCount:0,providerCount:0,appRunning:!1,setupDone:!1,edition:"",mcpCount:null,noteCount:null}),q=M(""),y=M(be()),v=M({windowPreset:"all",provider:"",model:""});let _=null;function B(r=G()){_||(_=r.onRuntimeEvent(m=>{m.type==="compression:summary"?z(m.payload?.summary||{}):m.type==="session:start"?c.value.sessionCount=(c.value.sessionCount||0)+1:m.type==="session:end"&&(c.value.sessionCount=Math.max(0,(c.value.sessionCount||0)-1))}))}function H(){_&&(_(),_=null)}function z(r){y.value={...y.value,...r||{}}}function V(r){return r==="1h"?3600*1e3:r==="24h"?1440*60*1e3:r==="7d"?10080*60*1e3:null}function D(r){c.value.appRunning=r.includes("Desktop app running"),c.value.setupDone=r.includes("Setup completed");const m=r.match(/Edition:\s+(\S+)/i);m&&(c.value.edition=m[1]);const $=r.match(/LLM:\s+(\S+)\s+\(([^)]+)\)/i);if($)c.value.activeLlm=$[1],c.value.activeModel=$[2];else{const b=r.match(/LLM:\s+(\S+)/i);b&&(c.value.activeLlm=b[1])}}async function f(){const r=G();B(r),F.value=!0;const m={type:"compression-stats",windowMs:V(v.value.windowPreset)};v.value.provider&&(m.provider=v.value.provider),v.value.model&&(m.model=v.value.model);try{const $=await r.sendRaw(m,1e4);z($.summary||{})}catch{}finally{F.value=!1}}async function g(){const r=G();B(r),T.value=!0,c.value.wsStatus=r.status,q.value="";try{const[m,$]=await Promise.allSettled([r.execute("status",15e3),r.listSessions()]);if(m.status==="fulfilled"){const b=m.value.output;q.value=b.split(`
|
|
2
|
+
`).slice(0,20).join(`
|
|
3
|
+
`),D(b)}$.status==="fulfilled"&&(c.value.sessionCount=$.value.length),Promise.allSettled([r.execute("skill sources --json",15e3),r.execute("llm providers",15e3)]).then(([b,L])=>{if(b.status==="fulfilled"){const w=fe(b.value.output);Array.isArray(w)&&(c.value.skillCount=w.reduce((O,e)=>O+(typeof e?.count=="number"?e.count:0),0))}if(L.status==="fulfilled"){const O=L.value.output.match(/active[:\s]+(\S+)/i);O&&!c.value.activeLlm&&(c.value.activeLlm=O[1])}}),r.sendRaw({type:"mcp.list_tools"},5e3).then(b=>{const w=(b?.result??b)?.servers;c.value.mcpCount=Array.isArray(w)?w.length:0}).catch(()=>{c.value.mcpCount=0}),await f()}catch{}finally{T.value=!1}}return{loading:T,compressionLoading:F,stats:c,statusLog:q,compression:y,telemetryFilters:v,ensureRuntimeSubscription:B,stopRuntimeSubscription:H,refresh:g,refreshCompression:f,applyCompressionSummary:z,toWindowMs:V}}),_e={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"20px"}},ge={class:"page-title"},$e={class:"page-sub"},ke={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},we={style:{color:"#91caff","font-weight":"600"}},Ce={style:{color:"#4a6fa5","font-size":"11px","font-family":"monospace"}},Se={class:"stat-header"},Re={class:"stat-label"},De={class:"stat-sub"},Pe={class:"stat-header"},je={class:"stat-label"},ze={class:"stat-value",style:{color:"#91caff","font-size":"15px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},Le={class:"stat-sub",style:{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},Te={class:"stat-header"},Oe={class:"stat-label"},Ee={class:"stat-value",style:{color:"#1677ff"}},Me={class:"stat-sub"},Ne={class:"stat-header"},Ae={class:"stat-label"},Fe={class:"stat-value",style:{color:"#c084fc"}},qe={class:"stat-sub"},Be={class:"stat-header"},He={class:"stat-label"},Ue={class:"stat-sub"},Ve={class:"stat-header"},Ge={class:"stat-label"},Ie={class:"stat-value",style:{color:"#13c2c2"}},We={class:"stat-sub"},Je={class:"stat-header"},Ke={class:"stat-label"},Qe={class:"stat-value",style:{color:"#faad14"}},Ye={class:"stat-sub"},Ze={class:"status-log"},Xe={class:"telemetry-filter"},xe={class:"telemetry-filter-label"},et={class:"telemetry-filter"},tt={class:"telemetry-filter-label"},st={class:"telemetry-filter"},at={class:"telemetry-filter-label"},ot={class:"telemetry-card"},lt={class:"telemetry-label"},rt={class:"telemetry-value"},nt={class:"telemetry-sub"},dt={class:"telemetry-card"},it={class:"telemetry-label"},ut={class:"telemetry-value"},ct={class:"telemetry-sub"},vt={class:"telemetry-card"},mt={class:"telemetry-label"},pt={class:"telemetry-value"},ht={class:"telemetry-sub"},ft={class:"telemetry-section"},bt={class:"telemetry-section-title"},yt={key:0,class:"telemetry-empty"},_t={key:1,class:"telemetry-list"},gt={class:"telemetry-section"},$t={class:"telemetry-section-title"},kt={key:0,class:"telemetry-empty"},wt={key:1,class:"telemetry-list"},Ct={class:"telemetry-section"},St={class:"telemetry-section-title"},Rt={key:0,class:"telemetry-empty"},Dt={key:1,class:"telemetry-list"},Pt={class:"telemetry-section"},jt={class:"telemetry-section-title"},zt={key:0,class:"telemetry-empty"},Lt={key:1,class:"telemetry-list"},Tt={style:{color:"#91caff"}},Ot={style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},Et={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Mt={style:{color:"var(--text-muted)"}},Nt={__name:"Dashboard",setup(T){const F=re(),c=G(),q=ie(),y=ye(),v=window.__CC_CONFIG__||{},_=S(()=>v.mode==="project"),B="v5.0.3.143",H=S(()=>c.status),z=S(()=>y.loading),V=S(()=>y.statusLog),D=S(()=>y.telemetryFilters),f=S(()=>y.compression),g=S(()=>y.stats),r=S(()=>Object.entries(f.value.variantDistribution||{})),m=S(()=>f.value.providerDistribution||[]),$=S(()=>f.value.modelDistribution||[]);async function b(){await y.refresh()}async function L(){await y.refreshCompression()}function w(e){return`${((e||0)*100).toFixed(1)}%`}async function O(){await q.createSession("agent"),F.push("/chat")}return oe(()=>{y.ensureRuntimeSubscription(c),setTimeout(b,300)}),le(()=>{y.stopRuntimeSubscription()}),(e,n)=>{const P=C("a-button"),I=C("a-tag"),k=C("a-card"),x=C("a-badge"),u=C("a-col"),R=C("a-row"),ee=C("a-space"),j=C("a-select-option"),W=C("a-select"),E=C("a-descriptions-item"),te=C("a-descriptions");return i(),p("div",null,[o("div",_e,[o("div",null,[o("h2",ge,a(e.$t("dashboard.title")),1),o("p",$e,a(_.value?e.$t("dashboard.subProject",{name:d(v).projectName||e.$t("dashboard.unnamedProject")}):e.$t("dashboard.subGlobal")),1)]),t(P,{type:"primary",ghost:"",loading:z.value,onClick:b},{icon:s(()=>[t(d(ue))]),default:s(()=>[h(" "+a(e.$t("dashboard.refresh")),1)]),_:1},8,["loading"])]),_.value?(i(),U(k,{key:0,style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.25)","margin-bottom":"16px"},size:"small"},{default:s(()=>[o("div",ke,[t(d(ce),{style:{color:"#1677ff","font-size":"18px"}}),o("div",null,[o("div",we,a(d(v).projectName||e.$t("dashboard.projectBanner.fallbackName")),1),o("div",Ce,a(d(v).projectRoot),1)]),t(I,{color:"blue",style:{"margin-left":"auto"}},{default:s(()=>[h(a(e.$t("dashboard.projectBanner.tag")),1)]),_:1})])]),_:1})):J("",!0),t(R,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(u,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card gateway-card",size:"small"},{default:s(()=>[o("div",Se,[o("span",Re,a(e.$t("dashboard.stats.wsGateway")),1),t(x,{status:H.value==="connected"?"success":"error"},null,8,["status"])]),o("div",{class:"stat-value",style:K({color:H.value==="connected"?"#52c41a":"#888"})},a(H.value==="connected"?e.$t("dashboard.stats.wsRunning"):e.$t("dashboard.stats.wsDisconnected")),5),o("div",De,a(e.$t("dashboard.stats.wsPortLine",{port:d(v).wsPort||18800,host:d(v).wsHost||"127.0.0.1"})),1)]),_:1})]),_:1}),t(u,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",Pe,[o("span",je,a(e.$t("dashboard.stats.currentLlm")),1),t(d(Q),{style:{color:"#1677ff"}})]),o("div",ze,a(g.value.activeLlm||e.$t("dashboard.stats.llmUnconfigured")),1),o("div",Le,a(g.value.activeModel||"—"),1)]),_:1})]),_:1}),t(u,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[0]||(n[0]=l=>e.$router.push("/skills"))},{default:s(()=>[o("div",Te,[o("span",Oe,a(e.$t("dashboard.stats.skills")),1),t(d(Y),{style:{color:"#1677ff"}})]),o("div",Ee,a(g.value.skillCount||"—"),1),o("div",Me,a(e.$t("dashboard.stats.skillsHint")),1)]),_:1})]),_:1}),t(u,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[1]||(n[1]=l=>e.$router.push("/chat"))},{default:s(()=>[o("div",Ne,[o("span",Ae,a(e.$t("dashboard.stats.sessions")),1),t(d(Z),{style:{color:"#722ed1"}})]),o("div",Fe,a(g.value.sessionCount),1),o("div",qe,a(e.$t("dashboard.stats.sessionsHint")),1)]),_:1})]),_:1})]),_:1}),t(R,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(u,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",Be,[o("span",He,a(e.$t("dashboard.stats.appStatus")),1),t(d(ve),{style:K({color:g.value.appRunning?"#52c41a":"#888"})},null,8,["style"])]),o("div",{class:"stat-value",style:K({color:g.value.appRunning?"#52c41a":"#888",fontSize:"15px"})},a(g.value.appRunning?e.$t("dashboard.stats.appRunning"):g.value.setupDone?e.$t("dashboard.stats.appReady"):e.$t("dashboard.stats.appNotStarted")),5),o("div",Ue,a(e.$t("dashboard.stats.edition",{name:g.value.edition||"Community"})),1)]),_:1})]),_:1}),t(u,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[2]||(n[2]=l=>e.$router.push("/mcp"))},{default:s(()=>[o("div",Ve,[o("span",Ge,a(e.$t("dashboard.stats.mcp")),1),t(d(me),{style:{color:"#13c2c2"}})]),o("div",Ie,a(g.value.mcpCount??"—"),1),o("div",We,a(e.$t("dashboard.stats.mcpHint")),1)]),_:1})]),_:1}),t(u,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[3]||(n[3]=l=>e.$router.push("/notes"))},{default:s(()=>[o("div",Je,[o("span",Ke,a(e.$t("dashboard.stats.notes")),1),t(d(X),{style:{color:"#faad14"}})]),o("div",Qe,a(g.value.noteCount??"—"),1),o("div",Ye,a(e.$t("dashboard.stats.notesHint")),1)]),_:1})]),_:1})]),_:1}),t(R,{gutter:[16,16]},{default:s(()=>[t(u,{xs:24,lg:10},{default:s(()=>[t(k,{title:e.$t("dashboard.quick.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)",height:"100%"}},{default:s(()=>[t(ee,{direction:"vertical",style:{width:"100%"},size:"middle"},{default:s(()=>[t(P,{type:"primary",block:"",onClick:n[4]||(n[4]=l=>e.$router.push("/chat"))},{icon:s(()=>[t(d(Z))]),default:s(()=>[h(" "+a(_.value?e.$t("dashboard.quick.enterProjectChat"):e.$t("dashboard.quick.newAiChat")),1)]),_:1}),t(P,{block:"",onClick:O,style:{background:"rgba(114,46,209,.12)","border-color":"#722ed1",color:"#722ed1"}},{icon:s(()=>[t(d(Q))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.startAgent")),1)]),_:1}),t(R,{gutter:8},{default:s(()=>[t(u,{span:12},{default:s(()=>[t(P,{block:"",onClick:n[5]||(n[5]=l=>e.$router.push("/services")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(pe))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.services")),1)]),_:1})]),_:1}),t(u,{span:12},{default:s(()=>[t(P,{block:"",onClick:n[6]||(n[6]=l=>e.$router.push("/logs")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(X))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.logs")),1)]),_:1})]),_:1})]),_:1}),t(R,{gutter:8},{default:s(()=>[t(u,{span:12},{default:s(()=>[t(P,{block:"",onClick:n[7]||(n[7]=l=>e.$router.push("/skills")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(Y))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.skills")),1)]),_:1})]),_:1}),t(u,{span:12},{default:s(()=>[t(P,{block:"",onClick:n[8]||(n[8]=l=>e.$router.push("/providers")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(he))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.providers")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"])]),_:1}),t(u,{xs:24,lg:14},{default:s(()=>[t(k,{title:e.$t("dashboard.status.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"},loading:z.value},{extra:s(()=>[t(P,{type:"link",size:"small",onClick:n[9]||(n[9]=l=>e.$router.push("/logs"))},{default:s(()=>[h(a(e.$t("dashboard.status.more")),1)]),_:1})]),default:s(()=>[o("pre",Ze,a(V.value||e.$t("dashboard.status.placeholder")),1)]),_:1},8,["title","loading"])]),_:1})]),_:1}),t(k,{title:e.$t("dashboard.telemetry.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"},loading:z.value},{default:s(()=>[t(R,{gutter:[12,12],style:{"margin-bottom":"12px"}},{default:s(()=>[t(u,{xs:24,md:8},{default:s(()=>[o("div",Xe,[o("div",xe,a(e.$t("dashboard.telemetry.filterWindow")),1),t(W,{value:D.value.windowPreset,"onUpdate:value":n[10]||(n[10]=l=>D.value.windowPreset=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(j,{value:"all"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.windowAll")),1)]),_:1}),t(j,{value:"1h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window1h")),1)]),_:1}),t(j,{value:"24h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window24h")),1)]),_:1}),t(j,{value:"7d"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window7d")),1)]),_:1})]),_:1},8,["value"])])]),_:1}),t(u,{xs:24,md:8},{default:s(()=>[o("div",et,[o("div",tt,a(e.$t("dashboard.telemetry.filterProvider")),1),t(W,{value:D.value.provider,"onUpdate:value":n[11]||(n[11]=l=>D.value.provider=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(j,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.providerAll")),1)]),_:1}),(i(!0),p(N,null,A(m.value,l=>(i(),U(j,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),t(u,{xs:24,md:8},{default:s(()=>[o("div",st,[o("div",at,a(e.$t("dashboard.telemetry.filterModel")),1),t(W,{value:D.value.model,"onUpdate:value":n[12]||(n[12]=l=>D.value.model=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(j,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.modelAll")),1)]),_:1}),(i(!0),p(N,null,A($.value,l=>(i(),U(j,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1})]),_:1}),t(R,{gutter:[12,12]},{default:s(()=>[t(u,{xs:24,sm:8},{default:s(()=>[o("div",ot,[o("div",lt,a(e.$t("dashboard.telemetry.hitRate")),1),o("div",rt,a(w(f.value.hitRate)),1),o("div",nt,a(e.$t("dashboard.telemetry.hitRateSub",{compressed:f.value.compressedSamples,total:f.value.samples})),1)])]),_:1}),t(u,{xs:24,sm:8},{default:s(()=>[o("div",dt,[o("div",it,a(e.$t("dashboard.telemetry.savedTokens")),1),o("div",ut,a(f.value.totalSavedTokens),1),o("div",ct,a(e.$t("dashboard.telemetry.savedTokensSub",{avg:f.value.averageSavedTokens})),1)])]),_:1}),t(u,{xs:24,sm:8},{default:s(()=>[o("div",vt,[o("div",mt,a(e.$t("dashboard.telemetry.netSavingsRate")),1),o("div",pt,a(w(f.value.netSavingsRate)),1),o("div",ht,a(e.$t("dashboard.telemetry.netSavingsRateSub",{original:f.value.totalOriginalTokens,compressed:f.value.totalCompressedTokens})),1)])]),_:1})]),_:1}),t(R,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(u,{xs:24,lg:12},{default:s(()=>[o("div",ft,[o("div",bt,a(e.$t("dashboard.telemetry.strategyDistribution")),1),f.value.strategyDistribution.length===0?(i(),p("div",yt,a(e.$t("dashboard.telemetry.strategyEmpty")),1)):(i(),p("div",_t,[(i(!0),p(N,null,A(f.value.strategyDistribution.slice(0,6),l=>(i(),p("div",{key:l.strategy,class:"telemetry-row"},[o("span",null,a(l.strategy),1),o("span",null,a(e.$t("dashboard.telemetry.strategyRow",{hits:l.hits,rate:w(l.hitRate)})),1)]))),128))]))])]),_:1}),t(u,{xs:24,lg:12},{default:s(()=>[o("div",gt,[o("div",$t,a(e.$t("dashboard.telemetry.variantDistribution")),1),r.value.length===0?(i(),p("div",kt,a(e.$t("dashboard.telemetry.variantEmpty")),1)):(i(),p("div",wt,[(i(!0),p(N,null,A(r.value,([l,se])=>(i(),p("div",{key:l,class:"telemetry-row"},[o("span",null,a(l),1),o("span",null,a(e.$t("dashboard.telemetry.variantRow",{count:se})),1)]))),128))]))])]),_:1})]),_:1}),t(R,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(u,{xs:24,lg:12},{default:s(()=>[o("div",Ct,[o("div",St,a(e.$t("dashboard.telemetry.providerSlice")),1),m.value.length===0?(i(),p("div",Rt,a(e.$t("dashboard.telemetry.providerEmpty")),1)):(i(),p("div",Dt,[(i(!0),p(N,null,A(m.value.slice(0,6),l=>(i(),p("div",{key:l.key,class:"telemetry-row"},[o("span",null,a(l.key),1),o("span",null,a(e.$t("dashboard.telemetry.providerRow",{samples:l.samples,rate:w(l.hitRate)})),1)]))),128))]))])]),_:1}),t(u,{xs:24,lg:12},{default:s(()=>[o("div",Pt,[o("div",jt,a(e.$t("dashboard.telemetry.modelSlice")),1),$.value.length===0?(i(),p("div",zt,a(e.$t("dashboard.telemetry.modelEmpty")),1)):(i(),p("div",Lt,[(i(!0),p(N,null,A($.value.slice(0,6),l=>(i(),p("div",{key:l.key,class:"telemetry-row"},[o("span",null,a(l.key),1),o("span",null,a(e.$t("dashboard.telemetry.modelRow",{samples:l.samples,saved:l.savedTokens})),1)]))),128))]))])]),_:1})]),_:1})]),_:1},8,["title","loading"]),t(k,{title:e.$t("dashboard.info.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:s(()=>[t(te,{column:{xs:1,sm:2,lg:3},size:"small"},{default:s(()=>[t(E,{label:e.$t("dashboard.info.panelMode")},{default:s(()=>[t(I,{color:_.value?"blue":"purple"},{default:s(()=>[h(a(_.value?e.$t("dashboard.info.modeProject"):e.$t("dashboard.info.modeGlobal")),1)]),_:1},8,["color"])]),_:1},8,["label"]),_.value?(i(),U(E,{key:0,label:e.$t("dashboard.info.projectName")},{default:s(()=>[o("span",Tt,a(d(v).projectName||"—"),1)]),_:1},8,["label"])):J("",!0),_.value?(i(),U(E,{key:1,label:e.$t("dashboard.info.projectPath")},{default:s(()=>[o("span",Ot,a(d(v).projectRoot),1)]),_:1},8,["label"])):J("",!0),t(E,{label:e.$t("dashboard.info.websocket")},{default:s(()=>[o("span",Et," ws://"+a(d(v).wsHost||"127.0.0.1")+":"+a(d(v).wsPort||18800),1)]),_:1},8,["label"]),t(E,{label:e.$t("dashboard.info.auth")},{default:s(()=>[t(I,{color:d(v).wsToken?"green":"default",style:{"font-size":"11px"}},{default:s(()=>[h(a(d(v).wsToken?e.$t("dashboard.info.authEnabled"):e.$t("dashboard.info.authDisabled")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(E,{label:e.$t("dashboard.info.version")},{default:s(()=>[o("span",Mt,a(d(B)),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["title"])])}}},Ht=de(Nt,[["__scopeId","data-v-bf6b8d82"]]);export{Ht as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.stat-card[data-v-bf6b8d82]{background:var(--bg-card)!important;border-color:var(--border-color)!important;transition:border-color .2s}.stat-card[data-v-bf6b8d82]:hover{border-color:var(--text-muted)!important}.stat-header[data-v-bf6b8d82]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.stat-label[data-v-bf6b8d82]{color:var(--text-secondary);font-size:12px}.stat-value[data-v-bf6b8d82]{font-size:22px;font-weight:600;line-height:1.2;margin-bottom:4px}.stat-sub[data-v-bf6b8d82]{color:var(--text-muted);font-size:11px}.gateway-card[data-v-bf6b8d82]{border-left:3px solid #1677ff!important}.status-log[data-v-bf6b8d82]{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-bf6b8d82]{background:var(--bg-base);border:1px solid var(--border-color);border-radius:8px;padding:14px;height:100%}.telemetry-filter[data-v-bf6b8d82]{display:flex;flex-direction:column;gap:6px}.telemetry-filter-label[data-v-bf6b8d82]{color:var(--text-muted);font-size:12px}.telemetry-label[data-v-bf6b8d82]{color:var(--text-muted);font-size:12px;margin-bottom:6px}.telemetry-value[data-v-bf6b8d82]{color:#91caff;font-size:24px;font-weight:600;line-height:1.2}.telemetry-sub[data-v-bf6b8d82]{color:var(--text-secondary);font-size:11px;margin-top:4px}.telemetry-section[data-v-bf6b8d82]{background:var(--bg-base);border:1px solid var(--border-color);border-radius:8px;padding:14px;min-height:140px}.telemetry-section-title[data-v-bf6b8d82]{color:var(--text-secondary);font-size:12px;margin-bottom:10px}.telemetry-list[data-v-bf6b8d82]{display:flex;flex-direction:column;gap:8px}.telemetry-row[data-v-bf6b8d82]{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px}.telemetry-empty[data-v-bf6b8d82]{color:var(--text-muted);font-size:12px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{P as n,f as m,i as V,ay as B}from"./index-3RqDry-K.js";import{T as D}from"./Trigger-CLym84HI.js";import{c as g}from"./vnode-DB3JBusp.js";import{d as M,r as v,w as F,c as d,F as L,f as y}from"./vendor-BXcBOG8b.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=M({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=v(!!e.visible);F(()=>e.visible,t=>{t!==void 0&&(f.value=t)});const p=v();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(L,{key:B},[e.arrow&&d("div",{class:`${e.prefixCls}-arrow`},null),g(r,u,!1)])},w=y(()=>{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?g(r[0],{class:e.openClassName||`${e.prefixCls}-open`},!1):r},P=y(()=>!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(D,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
|
+
import{_ as C}from"./index-3RqDry-K.js";import{aG as k}from"./icons-DlxlFL4g.js";import{K as N,L as n,M as p,R as a,c as f,Z as T,u as $,P as s,S as l,N as u,O as i,Q as h,f as t}from"./vendor-BXcBOG8b.js";const j={class:"email-row"},w={class:"left"},A={class:"body"},B={class:"head"},M={class:"from"},V={class:"time"},D={class:"subject"},E={key:0,class:"snippet"},L={class:"meta"},O={__name:"EmailListRenderer",props:{event:{type:Object,required:!0}},setup(d){const r=d,e=t(()=>r.event.content||{}),g=t(()=>r.event.extra||{}),y=t(()=>e.value.from||e.value.sender||e.value.fromName||r.event.actor||"(未知发件人)"),S=t(()=>e.value.subject||e.value.title||"(无主题)"),v=t(()=>e.value.snippet||e.value.preview||e.value.body?.slice(0,100)||null),m=t(()=>Array.isArray(e.value.attachments)?e.value.attachments.length:typeof e.value.attachmentCount=="number"?e.value.attachmentCount:0),_=t(()=>g.value.category||e.value.category),x=t(()=>e.value.unread===!0),b=t(()=>{if(!r.event.occurredAt)return"";const o=new Date(r.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")}`});return(o,R)=>{const c=N("a-tag");return n(),p("div",j,[a("div",w,[f($(k),{class:T(["icon",{unread:x.value}])},null,8,["class"])]),a("div",A,[a("div",B,[a("span",M,s(y.value),1),a("span",V,s(b.value),1)]),a("div",D,s(S.value),1),v.value?(n(),p("div",E,s(v.value),1)):l("",!0),a("div",L,[f(c,{color:"blue",class:"src"},{default:u(()=>[i(s(d.event.source.adapter),1)]),_:1}),m.value>0?(n(),h(c,{key:0,color:"orange"},{default:u(()=>[i(" 📎 "+s(m.value),1)]),_:1})):l("",!0),_.value?(n(),h(c,{key:1},{default:u(()=>[i(s(_.value),1)]),_:1})):l("",!0)])])])}}},G=C(O,[["__scopeId","data-v-713d5068"]]);export{G as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.email-row[data-v-713d5068]{display:flex;gap:12px;padding:12px 16px;background:#fff;border:1px solid #f0f0f0;border-radius:8px;margin-bottom:8px}.left[data-v-713d5068]{display:flex;align-items:flex-start;padding-top:4px}.left .icon[data-v-713d5068]{font-size:18px;color:#999}.left .icon.unread[data-v-713d5068]{color:#1677ff}.body[data-v-713d5068]{flex:1;min-width:0}.head[data-v-713d5068]{display:flex;justify-content:space-between;margin-bottom:4px}.from[data-v-713d5068]{font-weight:600;font-size:13px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.time[data-v-713d5068]{font-size:12px;color:#999;flex-shrink:0;margin-left:8px}.subject[data-v-713d5068]{font-size:14px;color:#333;margin-bottom:4px;font-weight:500}.snippet[data-v-713d5068]{font-size:12px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px}.meta[data-v-713d5068]{display:flex;gap:6px;flex-wrap:wrap}.src[data-v-713d5068]{font-size:10px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as G,u as X,d}from"./index-3RqDry-K.js";import{R as Z}from"./icons-DlxlFL4g.js";import{o as $,M as T,R as s,c as t,N as a,Q as I,S as D,r as f,K as i,a as ee,L as b,O as u,u as te,P as c,F as ae,Y as le,f as V}from"./vendor-BXcBOG8b.js";function oe(k){return["ask","agent"].map(p=>{const l=k?.readiness?.[p],v=l?.state==="admitted",m=l?.scope==="deployment-admission"&&l.runtimeVerification==="not_checked"&&Array.isArray(l.requiredCommands)&&l.requiredCommands.includes(p)&&(v?l.ready===!0&&l.taskReady===null:["not_configured","disabled","invalid","command_not_allowed"].includes(l.state)&&l.ready===!1&&l.taskReady===!1);return{command:p,state:m?l.state:"unknown",summary:m?v?"部署准入通过":"部署准入被阻断":"未提供准入诊断",detail:m&&typeof l.detail=="string"?l.detail:"当前 CLI 未提供可识别的部署准入诊断,请更新 CLI。",remediation:m&&typeof l.remediation=="string"?l.remediation:""}})}function ne(k,p){for(const l of Object.keys(k))delete k[l];Object.assign(k,{source:"none",effectiveEnabled:!1,profileEnabled:!1,verified:!1,commands:[],readiness:null},p||{})}const se={class:"page-head"},ie={class:"mono"},re={class:"mono"},de={class:"admission-status","aria-live":"polite"},ue=["data-admission-command"],ce={class:"mono"},me={key:0,class:"mono"},pe={__name:"EvolutionSettings",setup(k){const p=X(),l=f(!1),v=f(!1),m=f(!1),P=f(!1),R=f(!1),w=f(""),_=f(""),y=f(""),o=ee({source:"none",effectiveEnabled:!1,profileEnabled:!1,verified:!1,commands:[]}),S=V(()=>l.value||v.value||m.value||P.value||R.value),B=V(()=>oe(o));function E(n){ne(o,n),_.value=o.descriptorPath||"",y.value=o.trustRootPath||"",w.value=o.modulePath||w.value||""}async function h(n,e=3e4){return await p.waitConnected(8e3),(await p.sendRaw(n,e)).result}async function N(){l.value=!0;try{E(await h({type:"evolution.deployment.status"}))}catch(n){d.error("读取配置失败:"+n.message)}finally{l.value=!1}}async function q(){if(!_.value.trim()||!y.value.trim()){d.warning("请填写描述符和信任根公钥的绝对路径");return}v.value=!0;try{E(await h({type:"evolution.deployment.configure",descriptorPath:_.value.trim(),trustRootPath:y.value.trim()},6e4)),d.success("签名校验通过,配置已保存并启用;自动发布仍为 HOLD")}catch(n){d.error("配置失败:"+n.message)}finally{v.value=!1}}async function H(){if(!w.value.trim()){d.warning("请填写测试部署宿主模块的服务器绝对路径");return}P.value=!0;try{E(await h({type:"evolution.deployment.init-test",modulePath:w.value.trim()},6e4)),d.success("TEST 测试开发环境已生成并启用;禁止用于生产")}catch(n){d.error("生成测试环境失败:"+n.message)}finally{P.value=!1}}async function U(){if(!_.value.trim()||!y.value.trim()){d.warning("请填写正式描述符和正式信任根公钥的绝对路径");return}R.value=!0;try{E(await h({type:"evolution.deployment.replace-test",descriptorPath:_.value.trim(),trustRootPath:y.value.trim()},6e4)),d.success("测试根已安全轮换为正式受管证书;请重启 cc ui、IDE 或 Desktop 长驻进程后做正式验证")}catch(n){d.error("替换失败:"+n.message)}finally{R.value=!1}}async function z(){m.value=!0;try{E(await h({type:"evolution.deployment.set-enabled",enabled:!o.profileEnabled})),d.success(o.profileEnabled?"已启用":"已停用")}catch(n){d.error("更新失败:"+n.message)}finally{m.value=!1}}return $(N),(n,e)=>{const C=i("a-button"),F=i("a-switch"),L=i("a-card"),O=i("a-alert"),M=i("a-input"),j=i("a-form-item"),Q=i("a-divider"),W=i("a-space"),J=i("a-form"),A=i("a-col"),x=i("a-tag"),g=i("a-descriptions-item"),K=i("a-descriptions"),Y=i("a-row");return b(),T("div",null,[s("div",se,[e[4]||(e[4]=s("div",null,[s("h2",{class:"page-title"},"Skill 自进化配置"),s("p",{class:"page-sub"}," 默认关闭;CLI、IDE 插件与 cc ui 共用 evolution.enabled 配置。 ")],-1)),t(C,{loading:l.value,onClick:N},{icon:a(()=>[t(te(Z))]),default:a(()=>[e[3]||(e[3]=u("刷新 ",-1))]),_:1},8,["loading"])]),t(L,{title:"自进化开关",class:"notice"},{default:a(()=>[t(F,{checked:o.profileEnabled,loading:m.value,disabled:S.value||l.value,"checked-children":"已开启","un-checked-children":"已关闭",onChange:z},null,8,["checked","loading","disabled"]),e[5]||(e[5]=s("p",null," 关闭后仍可正常聊天和使用 Agent。首次开启会初始化本地运行时,也可使用下方配置的部署。 ",-1)),e[6]||(e[6]=s("p",null," Quick Ask 的下一次请求生效;正在运行的 Agent 会话请停止后重新启动。候选项发布仍需人工审核。 ",-1)),e[7]||(e[7]=s("p",{class:"mono"},'config.json:"evolution": { "enabled": false }',-1))]),_:1}),t(O,{message:"自进化与自动发布分别控制",description:"开启后使用经过签名的 Skill 自进化运行时;自动发布始终保持 HOLD。",type:"info","show-icon":"",class:"notice"}),o.deploymentMode==="test"?(b(),I(O,{key:0,message:"当前为 TEST 测试开发环境",description:"本机自动生成的测试密钥不能用于生产。正式 descriptor 和 trust root 到位后,请使用下方“一键替换测试证书并转正式”。",type:"error","show-icon":"",class:"notice"})):D("",!0),t(Y,{gutter:16},{default:a(()=>[t(A,{xs:24,xl:15},{default:a(()=>[t(L,{title:"上线前测试与正式部署",class:"panel-card"},{default:a(()=>[t(J,{layout:"vertical"},{default:a(()=>[t(j,{label:"测试部署宿主模块"},{extra:a(()=>[...e[8]||(e[8]=[u("首次填写后点击一次即可生成 Ed25519 测试密钥、签名描述符并启用;宿主模块修改后再次点击可刷新。",-1)])]),default:a(()=>[t(M,{value:w.value,"onUpdate:value":e[0]||(e[0]=r=>w.value=r),disabled:S.value,placeholder:"运行 cc ui 的机器上 deployment host .mjs/.js 的绝对路径"},null,8,["value","disabled"])]),_:1}),t(C,{type:"primary",loading:P.value,onClick:H},{default:a(()=>[...e[9]||(e[9]=[u("一键生成/刷新测试环境",-1)])]),_:1},8,["loading"]),t(Q),t(j,{label:"签名部署描述符"},{extra:a(()=>[...e[10]||(e[10]=[u("Web 页面不能读取本机文件选择器,请填写运行 cc ui 的机器上的绝对路径。",-1)])]),default:a(()=>[t(M,{value:_.value,"onUpdate:value":e[1]||(e[1]=r=>_.value=r),disabled:S.value,placeholder:"deployment descriptor JSON 的服务器绝对路径"},null,8,["value","disabled"])]),_:1}),t(j,{label:"Ed25519 信任根公钥"},{default:a(()=>[t(M,{value:y.value,"onUpdate:value":e[2]||(e[2]=r=>y.value=r),disabled:S.value,placeholder:"信任根 public key 的服务器绝对路径"},null,8,["value","disabled"])]),_:1}),t(W,null,{default:a(()=>[t(C,{type:"primary",loading:v.value,onClick:q},{default:a(()=>[...e[11]||(e[11]=[u("校验、保存并启用",-1)])]),_:1},8,["loading"]),o.deploymentMode==="test"?(b(),I(C,{key:0,loading:R.value,onClick:U},{default:a(()=>[...e[12]||(e[12]=[u("一键替换测试证书并转正式",-1)])]),_:1},8,["loading"])):D("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),t(A,{xs:24,xl:9},{default:a(()=>[t(L,{title:"治理状态",class:"panel-card status-card"},{default:a(()=>[t(K,{column:1,size:"small"},{default:a(()=>[t(g,{label:"部署模式"},{default:a(()=>[t(x,{color:o.deploymentMode==="test"?"red":"blue"},{default:a(()=>[u(c(o.deploymentMode==="test"?"TEST(仅限上线前联调)":o.deploymentMode||"none"),1)]),_:1},8,["color"])]),_:1}),t(g,{label:"生效状态"},{default:a(()=>[t(x,{color:o.effectiveEnabled?"green":"default"},{default:a(()=>[u(c(o.effectiveEnabled?"已启用":"未启用"),1)]),_:1},8,["color"])]),_:1}),t(g,{label:"生效来源"},{default:a(()=>[u(c(o.source||"none"),1)]),_:1}),t(g,{label:"签名校验"},{default:a(()=>[t(x,{color:o.verified?"green":"red"},{default:a(()=>[u(c(o.verified?"已通过":"未通过"),1)]),_:1},8,["color"])]),_:1}),t(g,{label:"自动发布"},{default:a(()=>[t(x,{color:"orange"},{default:a(()=>[...e[13]||(e[13]=[u("HOLD",-1)])]),_:1})]),_:1}),t(g,{label:"配置文件"},{default:a(()=>[s("span",ie,c(o.profilePath||"—"),1)]),_:1}),t(g,{label:"允许命令"},{default:a(()=>[s("span",re,c((o.commands||[]).join(", ")||"—"),1)]),_:1})]),_:1}),s("section",de,[e[14]||(e[14]=s("h3",null,"自进化部署准入",-1)),e[15]||(e[15]=s("p",null,"这里只检查部署准入,实际任务运行尚未验证。",-1)),(b(!0),T(ae,null,le(B.value,r=>(b(),T("div",{key:r.command,"data-admission-command":r.command},[s("strong",null,c(r.command)+":"+c(r.summary),1),s("p",ce,c(r.detail),1),r.remediation?(b(),T("p",me,c(r.remediation),1)):D("",!0)],8,ue))),128))]),o.error?(b(),I(O,{key:0,message:o.error,type:"error","show-icon":"",class:"error"},null,8,["message"])):D("",!0)]),_:1})]),_:1})]),_:1})])}}},ye=G(pe,[["__scopeId","data-v-2fecc737"]]);export{ye as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page-head[data-v-2fecc737]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.notice[data-v-2fecc737]{margin-bottom:16px}.panel-card[data-v-2fecc737]{height:100%;background:var(--bg-card);border-color:var(--border-color)}.status-card[data-v-2fecc737]{min-height:318px}.mono[data-v-2fecc737]{font-family:var(--font-mono, monospace);overflow-wrap:anywhere}.error[data-v-2fecc737]{margin-top:16px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.family-guard-dashboard[data-v-876ad52f]{padding:16px}.page-header[data-v-876ad52f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as W,r as f,f as E,o as j,M as y,R as V,c as a,N as o,u as c,Q as K,S as z,F as b,K as u,L as p,O as M,P as I}from"./vendor-BXcBOG8b.js";import{u as q,_ as A}from"./index-3RqDry-K.js";import"./icons-DlxlFL4g.js";function H(t){if(!t)return t;if(t.error)throw new Error(t.error);return t.result!==void 0?t.result:t}function L(t,e){if(t&&t.success===!1)throw new Error(t.error||"请求失败");return t&&t.data!==void 0?t.data:e}function O(){const t=q(),e=(s,i={},h=15e3)=>t.sendRaw({type:s,...i},h).then(H);return{async listChildren(){return L(await e("family-guard.list-children",{},1e4),[])},async listChildEvents(s={}){return L(await e("family-guard.list-child-events",s),[])},async appUsageSummary(s={}){return L(await e("family-guard.app-usage-summary",s),{totalMs:0,apps:[]})}}}const J=W("familyGuard",()=>{const t=f([]),e=f(null),s=f([]),i=f({totalMs:0,apps:[]}),h=f(!1),_=f(null),F=E(()=>t.value.length>0),$=E(()=>Math.round((i.value.totalMs||0)/6e4));async function G(){h.value=!0,_.value=null;try{const r=O();t.value=await r.listChildren(),!e.value&&t.value.length>0&&await g(t.value[0].childDid)}catch(r){_.value=r?.message||String(r)}finally{h.value=!1}}async function g(r,m=0){e.value=r,await Promise.all([v(m),x(m)])}async function v(r=0,m=200){if(!e.value)return;const N=O();s.value=await N.listChildEvents({childDid:e.value,sinceMs:r,limit:m})}async function x(r=0){if(!e.value)return;const m=O();i.value=await m.appUsageSummary({childDid:e.value,sinceMs:r})}return{children:t,selectedChildDid:e,events:s,summary:i,loading:h,error:_,hasChildren:F,totalMinutes:$,fetchChildren:G,selectChild:g,fetchEvents:v,fetchSummary:x}}),X={class:"family-guard-dashboard"},Y={class:"page-header"},Z={__name:"FamilyGuardDashboard",setup(t){const e=J(),s=f(null),i=f("all"),h=[{label:"全部",value:"all"},{label:"近 24 小时",value:"24h"},{label:"近 7 天",value:"7d"}],_=E(()=>e.children.map(n=>({label:`${n.childDid}(${n.eventCount} 条)`,value:n.childDid}))),F=E(()=>v(e.summary.totalMs)),$=[{title:"应用 / 包名",dataIndex:"package",key:"package",ellipsis:!0},{title:"时长",dataIndex:"totalMs",key:"totalMs",width:140},{title:"次数",dataIndex:"count",key:"count",width:100}],G=[{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 g(){return i.value==="24h"?Date.now()-1440*60*1e3:i.value==="7d"?Date.now()-10080*60*1e3:0}function v(n){const l=Math.round((n||0)/1e3),D=Math.floor(l/3600),w=Math.floor(l%3600/60),S=l%60;return D>0?`${D}h ${w}m`:w>0?`${w}m ${S}s`:`${S}s`}function x(n){return n?new Date(n).toLocaleString():"—"}async function r(n){await e.selectChild(n,g())}async function m(){if(!e.selectedChildDid)return;const n=g();await Promise.all([e.fetchEvents(n),e.fetchSummary(n)])}async function N(){await e.fetchChildren(),s.value=e.selectedChildDid}return j(async()=>{await e.fetchChildren(),s.value=e.selectedChildDid}),(n,l)=>{const D=u("a-button"),w=u("a-alert"),S=u("a-empty"),P=u("a-select"),T=u("a-space"),B=u("a-statistic"),k=u("a-card"),U=u("a-col"),Q=u("a-row"),R=u("a-table");return p(),y("div",X,[V("div",Y,[l[3]||(l[3]=V("h2",null,"家庭守护 · 孩子使用情况",-1)),a(D,{loading:c(e).loading,onClick:N},{default:o(()=>[...l[2]||(l[2]=[M("刷新",-1)])]),_:1},8,["loading"])]),c(e).error?(p(),K(w,{key:0,type:"error",message:c(e).error,banner:"",closable:"",style:{"margin-bottom":"12px"}},null,8,["message"])):z("",!0),!c(e).loading&&!c(e).hasChildren?(p(),K(S,{key:1,description:"还没有收到任何孩子端的使用数据(需在桌面端运行,孩子端已配对并上行)"})):(p(),y(b,{key:2},[a(T,{style:{"margin-bottom":"16px"},align:"center",wrap:""},{default:o(()=>[l[4]||(l[4]=V("span",null,"孩子:",-1)),a(P,{value:s.value,"onUpdate:value":l[0]||(l[0]=d=>s.value=d),style:{"min-width":"280px"},options:_.value,placeholder:"选择孩子",onChange:r},null,8,["value","options"]),a(P,{value:i.value,"onUpdate:value":l[1]||(l[1]=d=>i.value=d),style:{"min-width":"140px"},options:h,onChange:m},null,8,["value"])]),_:1}),a(Q,{gutter:16,style:{"margin-bottom":"16px"}},{default:o(()=>[a(U,{xs:24,md:8},{default:o(()=>[a(k,null,{default:o(()=>[a(B,{title:"总使用时长",value:F.value},null,8,["value"])]),_:1})]),_:1}),a(U,{xs:24,md:8},{default:o(()=>[a(k,null,{default:o(()=>[a(B,{title:"应用数",value:c(e).summary.apps.length},null,8,["value"])]),_:1})]),_:1}),a(U,{xs:24,md:8},{default:o(()=>[a(k,null,{default:o(()=>[a(B,{title:"事件数",value:c(e).events.length},null,8,["value"])]),_:1})]),_:1})]),_:1}),a(k,{title:"应用使用排行",style:{"margin-bottom":"16px"}},{default:o(()=>[a(R,{"data-source":c(e).summary.apps,columns:$,pagination:!1,"row-key":"package",size:"small"},{bodyCell:o(({column:d,record:C})=>[d.key==="totalMs"?(p(),y(b,{key:0},[M(I(v(C.totalMs)),1)],64)):z("",!0)]),_:1},8,["data-source"])]),_:1}),a(k,{title:"最近事件"},{default:o(()=>[a(R,{"data-source":c(e).events,columns:G,pagination:{pageSize:20},"row-key":"resourceId",size:"small"},{bodyCell:o(({column:d,record:C})=>[d.key==="timestampMs"?(p(),y(b,{key:0},[M(I(x(C.timestampMs)),1)],64)):d.key==="durationMs"?(p(),y(b,{key:1},[M(I(v(C.durationMs)),1)],64)):d.key==="app"?(p(),y(b,{key:2},[M(I(C.package||"—"),1)],64)):z("",!0)]),_:1},8,["data-source"])]),_:1})],64))])}}},ne=A(Z,[["__scopeId","data-v-876ad52f"]]);export{ne as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as P,_ as et,b as tt,u as at,E as ot,d as h}from"./index-3RqDry-K.js";import{R as nt,at as st,a3 as lt,aF as rt,o as it,an as ut,f as dt,u as ct}from"./icons-DlxlFL4g.js";import{o as ft,M as I,R as A,P as d,u as s,c as t,N as a,K as m,r as x,L as f,O as p,F as D,Y as K,Q as T,S as V,f as B,a as ve}from"./vendor-BXcBOG8b.js";const $e=Object.freeze(["closed","open","half_open"]),be=Object.freeze(["healthy","degraded","unhealthy","unknown"]),Fe=Object.freeze(["heartbeat","latency","success_rate","cpu_usage","memory_usage"]);function k(l,e=0){return typeof l=="number"&&Number.isFinite(l)?l:e}function pt(l,e=0){if(!l||typeof l!="object")return null;const i=l.node_id??l.nodeId??"";if(!i)return null;const b=String(l.state||"closed").toLowerCase();return{key:i,nodeId:i,state:b,failureCount:k(l.failure_count??l.failureCount,0),successCount:k(l.success_count??l.successCount,0),failureThreshold:k(l.failure_threshold??l.failureThreshold,0),successThreshold:k(l.success_threshold??l.successThreshold,0),openTimeout:k(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:e}}function mt(l){const e=P(l);return Array.isArray(e)?e.map(pt).filter(Boolean):[]}function ht(l,e=0){if(!l||typeof l!="object")return null;const i=l.check_id??l.checkId??"";return i?{key:i,checkId:i,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:e}:null}function kt(l){const e=P(l);return Array.isArray(e)?e.map(ht).filter(Boolean):[]}function yt(l,e=0){if(!l||typeof l!="object")return null;const i=l.nodeId??l.node_id??"";return i?{key:i,nodeId:i,minConnections:k(l.minConnections,0),maxConnections:k(l.maxConnections,0),idleTimeout:k(l.idleTimeout,0),activeConnections:k(l.activeConnections,0),idleConnections:k(l.idleConnections,0),totalCreated:k(l.totalCreated,0),totalDestroyed:k(l.totalDestroyed,0),waitingRequests:k(l.waitingRequests,0),createdAt:l.createdAt??null,_idx:e}:null}function vt(l){const e=P(l);return Array.isArray(e)?e.map(yt).filter(Boolean):[]}function _t(l){const e=P(l);if(!e||typeof e!="object"||Array.isArray(e))return{nodeId:"",status:"unknown",checks:0,latestChecks:[]};const b=(Array.isArray(e.latestChecks)?e.latestChecks:[]).filter(y=>y&&typeof y=="object").map(y=>({checkType:String(y.checkType??y.check_type??"").toLowerCase(),status:String(y.status||"unknown").toLowerCase(),checkedAt:y.checkedAt??y.checked_at??null}));return{nodeId:e.nodeId??e.node_id??"",status:String(e.status||"unknown").toLowerCase(),checks:k(e.checks,0),latestChecks:b}}function _e(l){const e=P(l);if(!e||typeof e!="object"||Array.isArray(e))return{ok:!1,id:null,reason:""};const i=!!(e.registered||e.recorded||e.initialized),b=e.nodeId??e.checkId??null;return{ok:i,id:b?String(b):null,reason:e.reason?String(e.reason):""}}function bt(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,state:"",previousState:"",failureCount:0,successCount:0,remainingMs:0,reason:""}:{ok:!!(e.updated||e.reset),state:String(e.state||""),previousState:String(e.previousState||""),failureCount:k(e.failureCount,0),successCount:k(e.successCount,0),remainingMs:k(e.remainingMs,0),reason:e.reason?String(e.reason):""}}function gt(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,active:0,idle:0,waiting:0,reason:""}:{ok:!!(e.acquired||e.released||e.destroyed),active:k(e.active,0),idle:k(e.idle,0),waiting:k(e.waiting,0),reason:e.reason?String(e.reason):""}}function Ct(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,reason:""}:{ok:!!e.removed,reason:e.reason?String(e.reason):""}}const xt={circuitBreakers:{total:0,byState:{}},healthChecks:{total:0,byStatus:{}},connectionPools:{total:0,totalActive:0,totalIdle:0,totalConnections:0}};function Tt(l){const e=JSON.parse(JSON.stringify(xt));for(const b of $e)e.circuitBreakers.byState[b]=0;for(const b of be)e.healthChecks.byStatus[b]=0;const i=P(l);if(!i||typeof i!="object"||Array.isArray(i))return e;if(i.circuitBreakers&&typeof i.circuitBreakers=="object"&&(e.circuitBreakers.total=k(i.circuitBreakers.total,0),i.circuitBreakers.byState&&typeof i.circuitBreakers.byState=="object"))for(const[b,y]of Object.entries(i.circuitBreakers.byState))typeof y=="number"&&Number.isFinite(y)&&(e.circuitBreakers.byState[b]=y);if(i.healthChecks&&typeof i.healthChecks=="object"&&(e.healthChecks.total=k(i.healthChecks.total,0),i.healthChecks.byStatus&&typeof i.healthChecks.byStatus=="object"))for(const[b,y]of Object.entries(i.healthChecks.byStatus))typeof y=="number"&&Number.isFinite(y)&&(e.healthChecks.byStatus[b]=y);return i.connectionPools&&typeof i.connectionPools=="object"&&(e.connectionPools.total=k(i.connectionPools.total,0),e.connectionPools.totalActive=k(i.connectionPools.totalActive,0),e.connectionPools.totalIdle=k(i.connectionPools.totalIdle,0),e.connectionPools.totalConnections=k(i.connectionPools.totalConnections,0)),e}function ie(l){if(l==null||l==="")return"—";const e=typeof l=="number"?new Date(l):new Date(String(l));return isNaN(e.getTime())?String(l):e.toLocaleString("zh-CN",{hour12:!1})}const St={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},It={class:"page-title"},At={class:"page-sub"},wt={class:"stat-sub"},zt={class:"stat-sub"},jt={class:"stat-sub"},Pt={class:"stat-sub"},Ft={class:"filter-bar"},$t={key:1},Rt={key:2},Bt={key:3,class:"muted"},Lt={class:"filter-bar"},Mt={key:0,style:{"font-family":"monospace","font-size":"12px"}},Ot={key:3,class:"muted",style:{"font-family":"monospace","font-size":"11px"}},qt={key:4,class:"muted"},Ut={key:1,class:"muted"},Nt={style:{"font-family":"monospace"}},Et={style:{"margin-top":"16px"}},Ht={style:{color:"var(--text-primary)","margin-bottom":"8px"}},Dt={key:2,class:"muted"},Kt={__name:"Federation",setup(l){const{t:e}=tt(),i=at(),b=ot.PRESENTED_IMAGE_SIMPLE,y=x(!1),z=x(!1),ue=x(!1),de=x([]),ge=x([]),Ce=x([]),S=x({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}}),xe=x("breakers"),J=x(""),G=x(""),Q=x(""),W=x(!1),Y=x(!1),X=x(!1),v=ve({nodeId:"",failureThreshold:5,successThreshold:2,openTimeout:6e4}),g=ve({nodeId:"",checkType:"heartbeat",status:"healthy",metrics:""}),_=ve({nodeId:"",min:5,max:50,idleTimeout:3e5}),Z=x(""),F=x(null),Re=B(()=>[{title:e("federation.breakerColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"200px"},{title:e("federation.breakerColumns.state"),key:"state",width:"100px"},{title:e("federation.breakerColumns.failure"),key:"failure",width:"120px"},{title:e("federation.breakerColumns.success"),key:"success",width:"120px"},{title:e("federation.breakerColumns.openTimeout"),key:"openTimeout",dataIndex:"openTimeout",width:"110px"},{title:e("federation.breakerColumns.updatedAt"),key:"updatedAt",width:"170px"},{title:e("federation.breakerColumns.action"),key:"action",width:"340px"}]),Be=B(()=>[{title:e("federation.checkColumns.id"),key:"checkId",width:"130px"},{title:e("federation.checkColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"180px"},{title:e("federation.checkColumns.metric"),key:"checkType",width:"120px"},{title:e("federation.checkColumns.status"),key:"status",width:"100px"},{title:e("federation.checkColumns.metrics"),key:"metrics"},{title:e("federation.checkColumns.checkedAt"),key:"checkedAt",width:"170px"}]),Le=B(()=>[{title:e("federation.poolColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"200px"},{title:e("federation.poolColumns.active"),key:"activeConnections",dataIndex:"activeConnections",width:"90px"},{title:e("federation.poolColumns.idle"),key:"idleConnections",dataIndex:"idleConnections",width:"90px"},{title:e("federation.poolColumns.max"),key:"maxConnections",dataIndex:"maxConnections",width:"90px"},{title:e("federation.poolColumns.utilization"),key:"utilization",width:"160px"},{title:e("federation.poolColumns.waiting"),key:"waitingRequests",dataIndex:"waitingRequests",width:"90px"},{title:e("federation.poolColumns.totalCreated"),key:"totalCreated",dataIndex:"totalCreated",width:"90px"},{title:e("federation.poolColumns.createdAt"),key:"createdAt",width:"170px"},{title:e("federation.poolColumns.action"),key:"action",width:"240px"}]),Me=B(()=>[{title:e("federation.latestColumns.metric"),key:"checkType",width:"160px"},{title:e("federation.latestColumns.status"),key:"status",width:"120px"},{title:e("federation.latestColumns.checkedAt"),key:"checkedAt"}]),Oe=B(()=>J.value?de.value.filter(r=>r.state===J.value):de.value),qe=B(()=>{let r=ge.value;return G.value&&(r=r.filter(n=>n.checkType===G.value)),Q.value&&(r=r.filter(n=>n.status===Q.value)),r}),Te=B(()=>(S.value.circuitBreakers.byState.open||0)+(S.value.circuitBreakers.byState.half_open||0)),Se=B(()=>{const r=S.value.circuitBreakers.total;return r?(S.value.circuitBreakers.byState.closed||0)/r*100:100});function Ie(r){return r.maxConnections?Math.round(r.activeConnections/r.maxConnections*100):0}function ee(r){const n=`federation.state.${r}`,u=e(n);return u===n?r:u}function Ue(r){return{closed:"green",open:"red",half_open:"gold"}[r]||"default"}function te(r){const n=`federation.metric.${r}`,u=e(n);return u===n?r:u}function N(r){const n=`federation.health.${r}`,u=e(n);return u===n?r:u}function ce(r){return{healthy:"green",degraded:"gold",unhealthy:"red",unknown:"default"}[r]||"default"}function Ae(r){return r>=95?"#52c41a":r>=80?"#1677ff":r>=60?"#faad14":"#ff4d4f"}function Ne(r,n){return r?r.length<=n?r:r.slice(0,n)+"…":""}function $(r){return`"${String(r).replace(/"/g,'\\"')}"`}async function R(){y.value=!0;try{const[r,n,u,j]=await Promise.all([i.execute("federation breakers --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("federation checks --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("federation pools --json",8e3).catch(()=>({output:""})),i.execute("federation stats --json",8e3).catch(()=>({output:""}))]);de.value=mt(r.output),ge.value=kt(n.output),Ce.value=vt(u.output),S.value=Tt(j.output)}catch(r){h.error(e("federation.messages.loadFailed",{err:r?.message||r}))}finally{y.value=!1}}async function Ee(){if(!v.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation register ${$(v.nodeId.trim())}`];v.failureThreshold&&r.push(`-f ${v.failureThreshold}`),v.successThreshold&&r.push(`-s ${v.successThreshold}`),v.openTimeout&&r.push(`-t ${v.openTimeout}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.registerFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.registerOk",{id:u.id})),W.value=!1,Ve(),await R()}catch(r){h.error(e("federation.messages.registerFailed",{err:r?.message||r}))}finally{z.value=!1}}async function He(){if(!g.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation check ${$(g.nodeId.trim())}`];r.push(`-t ${g.checkType}`),r.push(`-s ${g.status}`),g.metrics.trim()&&r.push(`-m ${$(g.metrics.trim())}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.checkFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.checkOk",{id:u.id?.slice(0,8)})),Y.value=!1,Je(),await R()}catch(r){h.error(e("federation.messages.checkFailed",{err:r?.message||r}))}finally{z.value=!1}}async function De(){if(!_.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation pool-init ${$(_.nodeId.trim())}`];_.min&&r.push(`--min ${_.min}`),_.max&&r.push(`--max ${_.max}`),_.idleTimeout&&r.push(`--idle-timeout ${_.idleTimeout}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.poolFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.poolOk",{id:u.id})),X.value=!1,Ge(),await R()}catch(r){h.error(e("federation.messages.poolFailed",{err:r?.message||r}))}finally{z.value=!1}}async function ae(r,n){try{const u=`federation ${n} ${$(r.nodeId)} --json`,{output:j}=await i.execute(u,8e3),C=bt(j);if(!C.ok){h.warning(C.remainingMs?e("federation.messages.operationCooldown",{ms:C.remainingMs}):C.reason||e("federation.messages.operationNoEffect"));return}C.previousState&&C.state&&C.previousState!==C.state?h.success(e("federation.messages.transitionMsg",{from:ee(C.previousState),to:ee(C.state)})):h.success(e(n==="reset"?"federation.messages.resetMsg":"federation.messages.recordedMsg")),await R()}catch(u){h.error(e("federation.messages.operationFailed",{err:u?.message||u}))}}async function Ke(r){try{const{output:n}=await i.execute(`federation remove ${$(r.nodeId)} --json`,8e3),u=Ct(n);if(!u.ok){h.error(e("federation.messages.removeFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.removeOk")),await R()}catch(n){h.error(e("federation.messages.removeFailed",{err:n?.message||n}))}}async function fe(r,n){try{const u={acquire:"pool-acquire",release:"pool-release",destroy:"pool-destroy"}[n],{output:j}=await i.execute(`federation ${u} ${$(r.nodeId)} --json`,8e3),C=gt(j);if(!C.ok){h.warning(C.reason||e("federation.messages.operationNoEffect"));return}if(n==="destroy")h.success(e("federation.messages.destroyMsg"));else{const pe=n==="acquire"?"federation.messages.acquireMsg":"federation.messages.releaseMsg";h.success(e(pe,{active:C.active,idle:C.idle}))}await R()}catch(u){h.error(e("federation.messages.operationFailed",{err:u?.message||u}))}}async function we(){if(!Z.value.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}ue.value=!0;try{const{output:r}=await i.execute(`federation node-health ${$(Z.value.trim())} --json`,8e3);F.value=_t(r)}catch(r){h.error(e("federation.messages.queryFailed",{err:r?.message||r}))}finally{ue.value=!1}}function Ve(){v.nodeId="",v.failureThreshold=5,v.successThreshold=2,v.openTimeout=6e4}function Je(){g.nodeId="",g.checkType="heartbeat",g.status="healthy",g.metrics=""}function Ge(){_.nodeId="",_.min=5,_.max=50,_.idleTimeout=3e5}return ft(R),(r,n)=>{const u=m("a-button"),j=m("a-menu-item"),C=m("a-menu"),pe=m("a-dropdown"),oe=m("a-space"),E=m("a-statistic"),L=m("a-card"),H=m("a-col"),Qe=m("a-row"),O=m("a-radio-button"),me=m("a-radio-group"),q=m("a-tag"),ze=m("a-popconfirm"),ne=m("a-empty"),se=m("a-table"),le=m("a-tab-pane"),We=m("a-progress"),re=m("a-input"),he=m("a-descriptions-item"),Ye=m("a-descriptions"),Xe=m("a-tabs"),w=m("a-form-item"),U=m("a-input-number"),ke=m("a-form"),ye=m("a-modal"),je=m("a-select-option"),Pe=m("a-select"),Ze=m("a-textarea");return f(),I("div",null,[A("div",St,[A("div",null,[A("h2",It,d(s(e)("federation.title")),1),A("p",At,d(s(e)("federation.subtitle")),1)]),t(oe,null,{default:a(()=>[t(u,{loading:y.value,onClick:R},{icon:a(()=>[t(s(nt))]),default:a(()=>[p(" "+d(s(e)("federation.refresh")),1)]),_:1},8,["loading"]),t(pe,null,{overlay:a(()=>[t(C,null,{default:a(()=>[t(j,{key:"register",onClick:n[0]||(n[0]=o=>W.value=!0)},{default:a(()=>[p(d(s(e)("federation.newMenu.register")),1)]),_:1}),t(j,{key:"check",onClick:n[1]||(n[1]=o=>Y.value=!0)},{default:a(()=>[p(d(s(e)("federation.newMenu.check")),1)]),_:1}),t(j,{key:"pool",onClick:n[2]||(n[2]=o=>X.value=!0)},{default:a(()=>[p(d(s(e)("federation.newMenu.pool")),1)]),_:1})]),_:1})]),default:a(()=>[t(u,{type:"primary"},{icon:a(()=>[t(s(st))]),default:a(()=>[p(" "+d(s(e)("federation.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),t(Qe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.breakers"),value:S.value.circuitBreakers.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(s(lt))]),_:1},8,["title","value"]),A("div",wt,d(s(e)("federation.stats.breakerSub",{closed:S.value.circuitBreakers.byState.closed||0,open:S.value.circuitBreakers.byState.open||0})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.checks"),value:S.value.healthChecks.total,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(s(rt))]),_:1},8,["title","value"]),A("div",zt,d(s(e)("federation.stats.checkSub",{healthy:S.value.healthChecks.byStatus.healthy||0,unhealthy:S.value.healthChecks.byStatus.unhealthy||0})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.pools"),value:S.value.connectionPools.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[t(s(it))]),_:1},8,["title","value"]),A("div",jt,d(s(e)("federation.stats.poolSub",{active:S.value.connectionPools.totalActive,idle:S.value.connectionPools.totalIdle})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.degraded"),value:Te.value,"value-style":{color:Te.value>0?"#faad14":"#8c8c8c",fontSize:"20px"}},{prefix:a(()=>[t(s(ut))]),_:1},8,["title","value","value-style"]),A("div",Pt,d(s(e)("federation.stats.degradedSub",{halfOpen:S.value.circuitBreakers.byState.half_open||0})),1)]),_:1})]),_:1}),t(H,{xs:24,sm:8,lg:4},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.availability"),value:Se.value,suffix:"%",precision:0,"value-style":{color:Ae(Se.value),fontSize:"20px"}},{prefix:a(()=>[t(s(dt))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),t(Xe,{activeKey:xe.value,"onUpdate:activeKey":n[7]||(n[7]=o=>xe.value=o),class:"fed-tabs"},{default:a(()=>[t(le,{key:"breakers",tab:s(e)("federation.tabs.breakers")},{default:a(()=>[A("div",Ft,[t(me,{value:J.value,"onUpdate:value":n[3]||(n[3]=o=>J.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(O,{value:""},{default:a(()=>[p(d(s(e)("federation.filter.allStates")),1)]),_:1}),(f(!0),I(D,null,K(s($e),o=>(f(),T(O,{key:o,value:o},{default:a(()=>[p(d(ee(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(se,{columns:Re.value,"data-source":Oe.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:c})=>[o.key==="state"?(f(),T(q,{key:0,color:Ue(c.state)},{default:a(()=>[p(d(ee(c.state)),1)]),_:2},1032,["color"])):o.key==="failure"?(f(),I("span",$t,d(c.failureCount)+" / "+d(c.failureThreshold),1)):o.key==="success"?(f(),I("span",Rt,d(c.successCount)+" / "+d(c.successThreshold),1)):o.key==="updatedAt"?(f(),I("span",Bt,d(s(ie)(c.updatedAt)),1)):o.key==="action"?(f(),T(oe,{key:4,size:4},{default:a(()=>[t(u,{size:"small",danger:"",onClick:M=>ae(c,"failure")},{default:a(()=>[p(d(s(e)("federation.breakerActions.failure")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:M=>ae(c,"success")},{default:a(()=>[p(d(s(e)("federation.breakerActions.success")),1)]),_:1},8,["onClick"]),t(u,{size:"small",type:"dashed",onClick:M=>ae(c,"half-open")},{default:a(()=>[p(d(s(e)("federation.breakerActions.halfOpen")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:M=>ae(c,"reset")},{default:a(()=>[p(d(s(e)("federation.breakerActions.reset")),1)]),_:1},8,["onClick"]),t(ze,{title:s(e)("federation.breakerActions.removeConfirm"),onConfirm:M=>Ke(c)},{default:a(()=>[t(u,{size:"small",danger:"",type:"text"},{default:a(()=>[p(d(s(e)("federation.breakerActions.remove")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):V("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.breakers")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"checks",tab:s(e)("federation.tabs.checks")},{default:a(()=>[A("div",Lt,[t(me,{value:G.value,"onUpdate:value":n[4]||(n[4]=o=>G.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(O,{value:""},{default:a(()=>[p(d(s(e)("federation.filter.allMetrics")),1)]),_:1}),(f(!0),I(D,null,K(s(Fe),o=>(f(),T(O,{key:o,value:o},{default:a(()=>[p(d(te(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),t(me,{value:Q.value,"onUpdate:value":n[5]||(n[5]=o=>Q.value=o),size:"small"},{default:a(()=>[t(O,{value:""},{default:a(()=>[p(d(s(e)("federation.filter.allStates")),1)]),_:1}),(f(!0),I(D,null,K(s(be),o=>(f(),T(O,{key:o,value:o},{default:a(()=>[p(d(N(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(se,{columns:Be.value,"data-source":qe.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:c})=>[o.key==="checkId"?(f(),I("span",Mt,d(c.checkId.slice(0,12)),1)):o.key==="checkType"?(f(),T(q,{key:1,color:"blue"},{default:a(()=>[p(d(te(c.checkType)),1)]),_:2},1024)):o.key==="status"?(f(),T(q,{key:2,color:ce(c.status)},{default:a(()=>[p(d(N(c.status)),1)]),_:2},1032,["color"])):o.key==="metrics"?(f(),I("span",Ot,d(Ne(c.metrics||"",50)),1)):o.key==="checkedAt"?(f(),I("span",qt,d(s(ie)(c.checkedAt)),1)):V("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.checks")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"pools",tab:s(e)("federation.tabs.pools")},{default:a(()=>[t(se,{columns:Le.value,"data-source":Ce.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:c})=>[o.key==="utilization"?(f(),T(We,{key:0,percent:Ie(c),"stroke-color":Ae(Ie(c)),size:"small"},null,8,["percent","stroke-color"])):o.key==="createdAt"?(f(),I("span",Ut,d(s(ie)(c.createdAt)),1)):o.key==="action"?(f(),T(oe,{key:2,size:4},{default:a(()=>[t(u,{size:"small",type:"primary",onClick:M=>fe(c,"acquire")},{default:a(()=>[p(d(s(e)("federation.poolActions.acquire")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:M=>fe(c,"release")},{default:a(()=>[p(d(s(e)("federation.poolActions.release")),1)]),_:1},8,["onClick"]),t(ze,{title:s(e)("federation.poolActions.destroyConfirm"),onConfirm:M=>fe(c,"destroy")},{default:a(()=>[t(u,{size:"small",danger:"",type:"text"},{default:a(()=>[p(d(s(e)("federation.poolActions.destroy")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):V("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.pools")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"node-health",tab:s(e)("federation.tabs.nodeHealth")},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:a(()=>[t(oe,null,{default:a(()=>[t(re,{value:Z.value,"onUpdate:value":n[6]||(n[6]=o=>Z.value=o),placeholder:s(e)("federation.nodeHealth.inputPlaceholder"),style:{width:"240px"},"allow-clear":"",onPressEnter:we},null,8,["value","placeholder"]),t(u,{type:"primary",loading:ue.value,onClick:we},{icon:a(()=>[t(s(ct))]),default:a(()=>[p(" "+d(s(e)("federation.nodeHealth.query")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),F.value?(f(),T(L,{key:0,style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(Ye,{column:3,size:"small",bordered:""},{default:a(()=>[t(he,{label:s(e)("federation.nodeHealth.node")},{default:a(()=>[A("span",Nt,d(F.value.nodeId),1)]),_:1},8,["label"]),t(he,{label:s(e)("federation.nodeHealth.status")},{default:a(()=>[t(q,{color:ce(F.value.status)},{default:a(()=>[p(d(N(F.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(he,{label:s(e)("federation.nodeHealth.checkCount")},{default:a(()=>[p(d(F.value.checks),1)]),_:1},8,["label"])]),_:1}),A("div",Et,[A("h4",Ht,d(s(e)("federation.nodeHealth.latestTitle")),1),F.value.latestChecks.length?(f(),T(se,{key:1,columns:Me.value,"data-source":F.value.latestChecks,pagination:!1,size:"small","row-key":"checkType",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:c})=>[o.key==="checkType"?(f(),T(q,{key:0,color:"blue"},{default:a(()=>[p(d(te(c.checkType)),1)]),_:2},1024)):o.key==="status"?(f(),T(q,{key:1,color:ce(c.status)},{default:a(()=>[p(d(N(c.status)),1)]),_:2},1032,["color"])):o.key==="checkedAt"?(f(),I("span",Dt,d(s(ie)(c.checkedAt)),1)):V("",!0)]),_:1},8,["columns","data-source"])):(f(),T(ne,{key:0,image:s(b),description:s(e)("federation.empty.noLatest")},null,8,["image","description"]))])]),_:1})):V("",!0)]),_:1},8,["tab"])]),_:1},8,["activeKey"]),t(ye,{open:W.value,"onUpdate:open":n[12]||(n[12]=o=>W.value=o),title:s(e)("federation.register.title"),"confirm-loading":z.value,onOk:Ee},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.register.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:v.nodeId,"onUpdate:value":n[8]||(n[8]=o=>v.nodeId=o),placeholder:s(e)("federation.register.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.failureThresholdLabel")},{default:a(()=>[t(U,{value:v.failureThreshold,"onUpdate:value":n[9]||(n[9]=o=>v.failureThreshold=o),min:1,max:100,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.successThresholdLabel")},{default:a(()=>[t(U,{value:v.successThreshold,"onUpdate:value":n[10]||(n[10]=o=>v.successThreshold=o),min:1,max:100,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.openTimeoutLabel")},{default:a(()=>[t(U,{value:v.openTimeout,"onUpdate:value":n[11]||(n[11]=o=>v.openTimeout=o),min:1e3,step:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"]),t(ye,{open:Y.value,"onUpdate:open":n[17]||(n[17]=o=>Y.value=o),title:s(e)("federation.check.title"),"confirm-loading":z.value,onOk:He},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.check.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:g.nodeId,"onUpdate:value":n[13]||(n[13]=o=>g.nodeId=o),placeholder:s(e)("federation.check.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.metricLabel"),required:""},{default:a(()=>[t(Pe,{value:g.checkType,"onUpdate:value":n[14]||(n[14]=o=>g.checkType=o)},{default:a(()=>[(f(!0),I(D,null,K(s(Fe),o=>(f(),T(je,{key:o,value:o},{default:a(()=>[p(d(te(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.statusLabel"),required:""},{default:a(()=>[t(Pe,{value:g.status,"onUpdate:value":n[15]||(n[15]=o=>g.status=o)},{default:a(()=>[(f(!0),I(D,null,K(s(be),o=>(f(),T(je,{key:o,value:o},{default:a(()=>[p(d(N(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.metricsLabel")},{default:a(()=>[t(Ze,{value:g.metrics,"onUpdate:value":n[16]||(n[16]=o=>g.metrics=o),rows:3,placeholder:s(e)("federation.check.metricsPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"]),t(ye,{open:X.value,"onUpdate:open":n[22]||(n[22]=o=>X.value=o),title:s(e)("federation.pool.title"),"confirm-loading":z.value,onOk:De},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.pool.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:_.nodeId,"onUpdate:value":n[18]||(n[18]=o=>_.nodeId=o),placeholder:s(e)("federation.pool.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.minLabel")},{default:a(()=>[t(U,{value:_.min,"onUpdate:value":n[19]||(n[19]=o=>_.min=o),min:1,max:500,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.maxLabel")},{default:a(()=>[t(U,{value:_.max,"onUpdate:value":n[20]||(n[20]=o=>_.max=o),min:1,max:500,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.idleTimeoutLabel")},{default:a(()=>[t(U,{value:_.idleTimeout,"onUpdate:value":n[21]||(n[21]=o=>_.idleTimeout=o),min:1e3,step:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}}},Qt=et(Kt,[["__scopeId","data-v-45647e41"]]);export{Qt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page-title[data-v-45647e41]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-45647e41]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.fed-tabs[data-v-45647e41] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-45647e41]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.stat-sub[data-v-45647e41]{margin-top:4px;color:var(--text-muted);font-size:11px}.muted[data-v-45647e41]{color:var(--text-muted)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as I}from"./createContext-XTreuyqp.js";import{w as p,i as u,e as C,d as i,g as f,f as c,r as x,p as a}from"./vendor-BXcBOG8b.js";const r=Symbol("ContextProps"),s=Symbol("InternalContextProps"),S=function(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c(()=>!0);const e=x(new Map),t=(m,v)=>{e.value.set(m,v),e.value=new Map(e.value)},F=m=>{e.value.delete(m),e.value=new Map(e.value)};p([o,e],()=>{}),a(r,n),a(s,{addFormItemField:t,removeFormItemField:F})},l={id:c(()=>{}),onFieldBlur:()=>{},onFieldChange:()=>{},clearValidate:()=>{}},d={addFormItemField:()=>{},removeFormItemField:()=>{}},b=()=>{const n=u(s,d),o=Symbol("FormItemFieldKey"),e=f();return n.addFormItemField(o,e.type),C(()=>{n.removeFormItemField(o)}),a(s,d),a(r,l),u(r,l)},K=i({compatConfig:{MODE:3},name:"AFormItemRest",setup(n,o){let{slots:e}=o;return a(s,d),a(r,l),()=>{var t;return(t=e.default)===null||t===void 0?void 0:t.call(e)}}}),g=I({}),M=i({name:"NoFormStatus",setup(n,o){let{slots:e}=o;return g.useProvide({}),()=>{var t;return(t=e.default)===null||t===void 0?void 0:t.call(e)}}});export{g as F,M as N,b as a,K as b,S as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as S}from"./index-3RqDry-K.js";import{K as N,L as s,M as d,R as l,P as r,c as h,N as u,O as p,S as m,F as x,Y as b,Q as $,f as i}from"./vendor-BXcBOG8b.js";import"./icons-DlxlFL4g.js";const C={class:"event-card"},B={class:"card-head"},T={class:"time"},V={key:0,class:"actor"},D={class:"card-body"},F={class:"primary"},M={key:0,class:"secondary"},O={key:0,class:"card-meta"},R={class:"meta-k"},j={__name:"GenericCardRenderer",props:{event:{type:Object,required:!0}},setup(c){const o=c,y=i(()=>{if(!o.event.occurredAt)return"";try{const e=new Date(o.event.occurredAt),a=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0"),g=String(e.getHours()).padStart(2,"0"),k=String(e.getMinutes()).padStart(2,"0");return`${a}-${t}-${n} ${g}:${k}`}catch{return""}}),f=i(()=>{const e=o.event.content||{};return e.text||e.title||e.subject||e.name||e.prompt||JSON.stringify(e).slice(0,200)}),v=i(()=>{const e=o.event.content||{};return e.body||e.snippet||e.description||e.from||e.counterparty||null}),_=i(()=>{const e=o.event.content||{},a=o.event.extra||{},t=[];return e.amount!=null&&t.push({k:"金额",v:e.amount,color:"gold"}),a.merchant&&t.push({k:"商户",v:a.merchant,color:"green"}),a.orderNo&&t.push({k:"订单",v:a.orderNo,color:"purple"}),e.from&&e.to&&t.push({k:"路线",v:`${e.from} → ${e.to}`,color:"cyan"}),e.trainNo&&t.push({k:"车次",v:e.trainNo,color:"cyan"}),e.model&&t.push({k:"模型",v:e.model,color:"magenta"}),o.event.place&&t.push({k:"地点",v:o.event.place,color:"geekblue"}),t});return(e,a)=>{const t=N("a-tag");return s(),d("div",C,[l("div",B,[l("span",T,r(y.value),1),h(t,{color:"blue",class:"adapter"},{default:u(()=>[p(r(c.event.source.adapter),1)]),_:1}),h(t,{class:"subtype"},{default:u(()=>[p(r(c.event.subtype),1)]),_:1}),c.event.actor?(s(),d("span",V,"@"+r(c.event.actor),1)):m("",!0)]),l("div",D,[l("div",F,r(f.value),1),v.value?(s(),d("div",M,r(v.value),1)):m("",!0)]),_.value.length>0?(s(),d("div",O,[(s(!0),d(x,null,b(_.value,n=>(s(),$(t,{key:n.k,color:n.color},{default:u(()=>[l("span",R,r(n.k)+":",1),p(" "+r(n.v),1)]),_:2},1032,["color"]))),128))])):m("",!0)])}}},L=S(j,[["__scopeId","data-v-59c7ec07"]]);export{L as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.event-card[data-v-59c7ec07]{padding:12px 16px;background:#fff;border:1px solid #f0f0f0;border-radius:8px;margin-bottom:8px;transition:border-color .15s}.event-card[data-v-59c7ec07]:hover{border-color:#1677ff}.card-head[data-v-59c7ec07]{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.time[data-v-59c7ec07]{font-size:12px;color:#999;font-variant-numeric:tabular-nums}.subtype[data-v-59c7ec07]{font-size:11px}.actor[data-v-59c7ec07]{font-size:12px;color:#666}.card-body[data-v-59c7ec07]{margin-bottom:8px}.primary[data-v-59c7ec07]{font-size:14px;color:#333;word-break:break-word;white-space:pre-wrap}.secondary[data-v-59c7ec07]{font-size:12px;color:#999;margin-top:4px}.card-meta[data-v-59c7ec07]{display:flex;gap:6px;flex-wrap:wrap}.meta-k[data-v-59c7ec07]{font-weight:600;opacity:.7}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{_ as te,b as ae,u as oe,d as f}from"./index-3RqDry-K.js";import{R as se,aj as le,n as G,aL as j,aM as ie}from"./icons-DlxlFL4g.js";import{M as q,R as r,P as i,u as a,c as s,N as o,r as n,K as p,L as g,O as d,Q as _,S as x}from"./vendor-BXcBOG8b.js";const ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},re={class:"page-title"},ue={class:"page-sub"},ce={key:0,style:{"margin-bottom":"16px"}},de={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"}},pe={style:{display:"flex",gap:"12px","align-items":"flex-end","flex-wrap":"wrap"}},me={style:{flex:"1","min-width":"200px"}},ge={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},ve={style:{"min-width":"140px"}},fe={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},_e={style:{display:"flex",gap:"12px","align-items":"flex-end","flex-wrap":"wrap"}},ye={style:{flex:"1","min-width":"200px"}},be={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},xe={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"}},he={style:{color:"var(--text-secondary)"}},ke={__name:"Git",setup(we){const{t:e}=ae(),F=oe(),V=n("git"),A=n(!1),C=n(""),D=n(""),O=n(0),R=n(!1),h=n(""),L=n(!1),M=n(!1),P=n(""),E=n("markdown"),I=n(!1),S=n("./site"),T=n(!1),v=n(""),k=n(!1),w=n("");function H(l){const t=l.split(`
|
|
2
|
+
`);let u="",c=0;for(const y of t){const b=y.match(/On branch\s+(.+)/)||y.match(/分支\s+(.+)/);b&&(u=b[1].trim());const B=y.trim();/^(M|A|D|R|C|U|\?\?|MM|AM|AD)\s/.test(B)&&c++,/^(modified|new file|deleted|renamed):/i.test(B)&&c++}return{branch:u,changed:c}}async function z(){A.value=!0;try{const{output:l}=await F.execute("git status",15e3);C.value=l;const t=H(l);D.value=t.branch,O.value=t.changed}catch(l){f.error(e("git.messages.statusFailed",{err:l.message})),C.value=""}finally{A.value=!1}}function Q(){M.value=!0}async function W(){M.value=!1,R.value=!0,h.value="";try{const{output:l}=await F.execute("git auto-commit",3e4);h.value=l,L.value=!l.includes("✖")&&!l.toLowerCase().includes("error"),L.value&&f.success(e("git.messages.commitOk")),await z()}catch(l){h.value=e("git.messages.commitFailedDetail",{err:l.message}),L.value=!1,f.error(e("git.messages.commitFailedToast"))}finally{R.value=!1}}async function J(){const l=P.value.trim();if(!l){f.warning(e("git.messages.importPathRequired"));return}I.value=!0,v.value="",w.value="";try{const t=`import ${E.value} ${l}`,{output:u}=await F.execute(t,6e4);w.value=u;const c=u.includes("✖")||u.toLowerCase().includes("error");k.value=!c,v.value=e(c?"git.io.importIssue":"git.io.importDone"),c||f.success(e("git.messages.importOk"))}catch(t){v.value=e("git.messages.importFailedDetail",{err:t.message}),k.value=!1,f.error(e("git.messages.importFailed"))}finally{I.value=!1}}async function X(){const l=S.value.trim();if(!l){f.warning(e("git.messages.exportPathRequired"));return}T.value=!0,v.value="",w.value="";try{const t=`export site -o ${l}`,{output:u}=await F.execute(t,6e4);w.value=u;const c=u.includes("✖")||u.toLowerCase().includes("error");k.value=!c,v.value=e(c?"git.io.exportIssue":"git.io.exportDone"),c||f.success(e("git.messages.exportOk"))}catch(t){v.value=e("git.messages.exportFailedDetail",{err:t.message}),k.value=!1,f.error(e("git.messages.exportFailed"))}finally{T.value=!1}}return(l,t)=>{const u=p("a-button"),c=p("a-space"),y=p("a-tag"),b=p("a-card"),B=p("a-empty"),N=p("a-alert"),$=p("a-tab-pane"),K=p("a-input"),U=p("a-select-option"),Y=p("a-select"),Z=p("a-tabs"),ee=p("a-modal");return g(),q("div",null,[r("div",ne,[r("div",null,[r("h2",re,i(a(e)("git.title")),1),r("p",ue,i(a(e)("git.subtitle")),1)])]),s(Z,{activeKey:V.value,"onUpdate:activeKey":t[5]||(t[5]=m=>V.value=m),type:"card"},{default:o(()=>[s($,{key:"git"},{tab:o(()=>[s(a(G)),d(" "+i(a(e)("git.tabs.git")),1)]),default:o(()=>[s(c,{style:{"margin-bottom":"16px"}},{default:o(()=>[s(u,{type:"primary",loading:A.value,onClick:z},{icon:o(()=>[s(a(se))]),default:o(()=>[d(" "+i(a(e)("git.actions.refresh")),1)]),_:1},8,["loading"]),s(u,{loading:R.value,onClick:Q},{icon:o(()=>[s(a(le))]),default:o(()=>[d(" "+i(a(e)("git.actions.autoCommit")),1)]),_:1},8,["loading"])]),_:1}),D.value||O.value>0?(g(),q("div",ce,[s(c,null,{default:o(()=>[D.value?(g(),_(y,{key:0,color:"blue"},{default:o(()=>[s(a(G)),d(" "+i(D.value),1)]),_:1})):x("",!0),O.value>0?(g(),_(y,{key:1,color:"orange"},{default:o(()=>[d(i(a(e)("git.status.changedCount",{count:O.value})),1)]),_:1})):C.value&&O.value===0?(g(),_(y,{key:2,color:"green"},{default:o(()=>[d(i(a(e)("git.status.clean")),1)]),_:1})):x("",!0)]),_:1})])):x("",!0),C.value?(g(),_(b,{key:1,bordered:!1,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)"}},{default:o(()=>[r("pre",de,i(C.value),1)]),_:1})):A.value?x("",!0):(g(),_(B,{key:2,description:a(e)("git.status.emptyHint"),style:{padding:"60px 0"}},null,8,["description"])),h.value?(g(),_(N,{key:3,message:L.value?a(e)("git.status.commitSuccessAlert"):a(e)("git.status.commitResultAlert"),description:h.value,type:L.value?"success":"info","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:t[0]||(t[0]=m=>h.value="")},null,8,["message","description","type"])):x("",!0)]),_:1}),s($,{key:"io"},{tab:o(()=>[s(a(j)),d(" "+i(a(e)("git.tabs.io")),1)]),default:o(()=>[s(b,{title:a(e)("git.import.cardTitle"),bordered:!1,style:{background:"var(--bg-card)",border:"1px solid var(--border-color)","margin-bottom":"16px"}},{default:o(()=>[r("div",pe,[r("div",me,[r("label",ge,i(a(e)("git.import.pathLabel")),1),s(K,{value:P.value,"onUpdate:value":t[1]||(t[1]=m=>P.value=m),placeholder:a(e)("git.import.pathPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),r("div",ve,[r("label",fe,i(a(e)("git.import.formatLabel")),1),s(Y,{value:E.value,"onUpdate:value":t[2]||(t[2]=m=>E.value=m),style:{width:"140px"}},{default:o(()=>[s(U,{value:"markdown"},{default:o(()=>[...t[7]||(t[7]=[d("Markdown",-1)])]),_:1}),s(U,{value:"pdf"},{default:o(()=>[...t[8]||(t[8]=[d("PDF",-1)])]),_:1}),s(U,{value:"evernote"},{default:o(()=>[...t[9]||(t[9]=[d("Evernote",-1)])]),_:1})]),_:1},8,["value"])]),s(u,{type:"primary",loading:I.value,disabled:!P.value.trim(),onClick:J},{icon:o(()=>[s(a(j))]),default:o(()=>[d(" "+i(a(e)("git.import.submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["title"]),s(b,{title:a(e)("git.export.cardTitle"),bordered:!1,style:{background:"var(--bg-card)",border:"1px solid var(--border-color)","margin-bottom":"16px"}},{default:o(()=>[r("div",_e,[r("div",ye,[r("label",be,i(a(e)("git.export.pathLabel")),1),s(K,{value:S.value,"onUpdate:value":t[3]||(t[3]=m=>S.value=m),placeholder:a(e)("git.export.pathPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),s(u,{type:"primary",loading:T.value,disabled:!S.value.trim(),onClick:X},{icon:o(()=>[s(a(ie))]),default:o(()=>[d(" "+i(a(e)("git.export.submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["title"]),v.value?(g(),_(N,{key:0,message:k.value?a(e)("git.io.successAlert"):a(e)("git.io.resultAlert"),description:v.value,type:k.value?"success":"info","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:t[4]||(t[4]=m=>v.value="")},null,8,["message","description","type"])):x("",!0),w.value?(g(),_(b,{key:1,title:a(e)("git.io.outputCardTitle"),bordered:!1,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","margin-top":"16px"}},{default:o(()=>[r("pre",xe,i(w.value),1)]),_:1},8,["title"])):x("",!0)]),_:1})]),_:1},8,["activeKey"]),s(ee,{open:M.value,"onUpdate:open":t[6]||(t[6]=m=>M.value=m),title:a(e)("git.confirm.title"),"ok-text":a(e)("git.confirm.ok"),"cancel-text":a(e)("common.cancel"),"confirm-loading":R.value,onOk:W},{default:o(()=>[r("p",he,[d(i(a(e)("git.confirm.intro1"))+" ",1),t[10]||(t[10]=r("code",null,"git auto-commit",-1)),d(" "+i(a(e)("git.confirm.intro2")),1)])]),_:1},8,["open","title","ok-text","cancel-text","confirm-loading"])])}}},Fe=te(ke,[["__scopeId","data-v-9c41946e"]]);export{Fe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-v-
|
|
1
|
+
[data-v-9c41946e] .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab{background:var(--bg-card);border-color:var(--border-color);color:var(--text-secondary)}[data-v-9c41946e] .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-9c41946e] .ant-card-head{color:var(--text-primary);border-bottom-color:var(--border-color)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page-title[data-v-6b8682f4]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-6b8682f4]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.governance-tabs[data-v-6b8682f4] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-6b8682f4]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.type-pill[data-v-6b8682f4]{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-6b8682f4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.type-count[data-v-6b8682f4]{font-size:18px;font-weight:600;color:var(--text-primary)}.type-name[data-v-6b8682f4]{color:var(--text-primary);font-size:13px;font-weight:500}.type-desc[data-v-6b8682f4]{color:var(--text-secondary);font-size:11px;margin-top:2px}.bd-row[data-v-6b8682f4]{display:flex;align-items:center;margin-bottom:8px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{X as at,t as V,_ as ot,u as nt,b as lt,E as rt,d as g}from"./index-3RqDry-K.js";import{R as st,at as it,l as we,ar as ut,f as ct,d as dt,aU as pt,aV as vt}from"./icons-DlxlFL4g.js";import{o as ft,M as m,R as v,P as s,c as t,N as a,Q as _,S as b,K as f,r as h,L as u,O as d,u as k,F,Y as I,_ as yt,f as Le,a as Pe}from"./vendor-BXcBOG8b.js";const fe=Object.freeze(["draft","active","passed","rejected","expired"]),oe=Object.freeze(["parameter_change","feature_request","policy_update","budget_allocation"]),mt=Object.freeze(["yes","no","abstain"]);function L(i,l=0){return typeof i=="number"&&Number.isFinite(i)?i:l}function R(i){if(!i)return{noDb:!1,error:""};const l=at(i),r=/Database not available/i.test(l);return{noDb:r,error:r?"Database not available":""}}function gt(i,l=0){if(!i||typeof i!="object")return null;const r=i.id||"";return r?{key:r,id:r,name:String(i.name||""),description:String(i.description||""),_idx:l}:null}function bt(i){const l=V(i);return Array.isArray(l)?l.map(gt).filter(Boolean):[]}function _t(i,l=0){if(!i||typeof i!="object")return null;const r=i.id||"";return r?{key:r,id:r,title:String(i.title||""),description:i.description??"",type:String(i.type||"feature_request"),proposerDid:i.proposerDid??"",status:String(i.status||"draft").toLowerCase(),impactLevel:i.impactLevel??"",impactAnalysis:i.impactAnalysis??null,voteYes:L(i.voteYes,0),voteNo:L(i.voteNo,0),voteAbstain:L(i.voteAbstain,0),votingStartsAt:i.votingStartsAt??null,votingEndsAt:i.votingEndsAt??null,metadata:i.metadata??null,createdAt:i.createdAt??null,_idx:l}:null}function kt(i){const l=V(i);return Array.isArray(l)?l.map(_t).filter(Boolean):[]}function $t(i,l=0){if(!i||typeof i!="object")return null;const r=i.id||"";if(!r)return null;const P=String(i.vote||"").toLowerCase();return{key:r,id:r,proposalId:String(i.proposalId||""),voterDid:String(i.voterDid||""),vote:mt.includes(P)?P:"unknown",reason:i.reason??"",weight:L(i.weight,1),createdAt:i.createdAt??null,_idx:l}}function ht(i){const l=V(i);return Array.isArray(l)?l.map($t).filter(Boolean):[]}function St(i){const l=V(i);return!l||typeof l!="object"||Array.isArray(l)?null:{impactLevel:String(l.impactLevel||""),affectedComponents:Array.isArray(l.affectedComponents)?l.affectedComponents.filter(r=>typeof r=="string"):[],riskScore:L(l.riskScore,0),benefitScore:L(l.benefitScore,0),estimatedEffort:String(l.estimatedEffort||""),communitySentiment:String(l.communitySentiment||""),recommendations:Array.isArray(l.recommendations)?l.recommendations.filter(r=>typeof r=="string"):[],analyzedAt:l.analyzedAt??null}}function zt(i){const l=V(i);return!l||typeof l!="object"||Array.isArray(l)?null:{proposalId:String(l.proposalId||""),predictedOutcome:String(l.predictedOutcome||""),confidence:L(l.confidence,0),yesProb:L(l.yesProb,0),noProb:L(l.noProb,0),abstainProb:L(l.abstainProb,0),basedOn:String(l.basedOn||""),sampleSize:L(l.sampleSize,0)}}const Ct={proposalCount:0,voteCount:0,byStatus:{},byType:{}};function At(i){const l=JSON.parse(JSON.stringify(Ct));for(const P of fe)l.byStatus[P]=0;for(const P of oe)l.byType[P]=0;const r=V(i);if(!r||typeof r!="object"||Array.isArray(r))return l;if(l.proposalCount=L(r.proposalCount,0),l.voteCount=L(r.voteCount,0),r.byStatus&&typeof r.byStatus=="object")for(const[P,D]of Object.entries(r.byStatus))typeof D=="number"&&Number.isFinite(D)&&(l.byStatus[P]=D);if(r.byType&&typeof r.byType=="object")for(const[P,D]of Object.entries(r.byType))typeof D=="number"&&Number.isFinite(D)&&(l.byType[P]=D);return l}function W(i){if(i==null||i==="")return"—";const l=typeof i=="number"?new Date(i):new Date(String(i));return isNaN(l.getTime())?String(i):l.toLocaleString("zh-CN",{hour12:!1})}const xt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},wt={class:"page-title"},Lt={class:"page-sub"},Pt={class:"type-head"},Dt={class:"type-count"},Ot={class:"type-name"},jt={class:"type-desc"},Tt={class:"filter-bar"},Ft={style:{color:"var(--text-primary)","font-weight":"500"}},Et={style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Nt={style:{"font-family":"monospace","font-size":"12px"}},Ut={style:{color:"#52c41a"}},It={style:{color:"#ff4d4f"}},Mt={style:{color:"var(--text-muted)"}},Rt={key:1,style:{color:"var(--text-muted)"}},Vt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Yt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Bt={style:{"margin-left":"8px",color:"var(--text-muted)","font-size":"12px"}},qt={key:0,style:{"padding-top":"8px"}},Gt={style:{"font-family":"monospace","font-size":"12px"}},Kt={key:0,style:{"font-family":"monospace","font-size":"12px"}},Ht={key:1,style:{color:"var(--text-muted)"}},Jt={key:0,style:{"white-space":"pre-wrap"}},Qt={key:1,style:{color:"var(--text-muted)"}},Wt={style:{color:"var(--text-primary)","font-size":"13px",margin:"20px 0 10px"}},Xt={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)"}},ea={key:0,style:{"margin-left":"8px",color:"var(--text-secondary)","font-size":"12px"}},ta={style:{"margin-left":"auto",color:"var(--text-muted)","font-size":"11px"}},aa={key:0,style:{"padding-top":"8px"}},oa={style:{"margin-bottom":"8px"}},na={style:{color:"var(--text-secondary)","font-size":"12px"}},la={style:{color:"var(--text-secondary)","font-size":"12px"}},ra={key:0,style:{"padding-top":"8px"}},sa={style:{"text-align":"center","margin-bottom":"20px"}},ia={style:{color:"#52c41a"}},ua={style:{color:"#ff4d4f"}},ca={style:{color:"var(--text-muted)"}},da={__name:"Governance",setup(i){const l=nt(),{t:r}=lt(),P=rt.PRESENTED_IMAGE_SIMPLE,D=h(!1),ne=h(!1),le=h(!1),ye=h([]),me=h([]),A=h({proposalCount:0,voteCount:0,byStatus:{},byType:{}}),re=h({noDb:!1,error:""}),ge=h("proposals"),Y=h(""),B=h(""),X=h(!1),Z=h(!1),se=h(!1),ie=h(!1),ue=h(!1),$=Pe({title:"",type:"feature_request",proposerDid:"",description:""}),S=Pe({voterDid:"",value:"yes",weight:1,reason:""}),p=h(null),ee=h([]),x=h(null),w=h(null),De=Le(()=>[{title:r("governance.cols.title"),key:"title"},{title:r("governance.cols.type"),key:"type",width:"130px"},{title:r("governance.cols.status"),key:"status",width:"100px"},{title:r("governance.cols.tally"),key:"tally",width:"180px"},{title:r("governance.cols.impact"),key:"impact",width:"100px"},{title:r("governance.cols.createdAt"),key:"createdAt",width:"160px"},{title:r("governance.cols.action"),key:"action",width:"320px"}]),Oe=Le(()=>{let e=ye.value;return Y.value&&(e=e.filter(o=>o.status===Y.value)),B.value&&(e=e.filter(o=>o.type===B.value)),e});function te(e){const o=`governance.statusLabels.${e}`,c=r(o);return c===o?e:c}function ce(e){return{draft:"default",active:"processing",passed:"green",rejected:"red",expired:"default"}[e]||"default"}function je(e){return{draft:"#888",active:"#1677ff",passed:"#52c41a",rejected:"#ff4d4f",expired:"#888"}[e]||"#888"}function q(e){const o=`governance.typeLabels.${e}`,c=r(o);return c===o?e:c}function G(e){return{parameter_change:"cyan",feature_request:"blue",policy_update:"purple",budget_allocation:"gold"}[e]||"default"}function Te(e){return{parameter_change:"#13c2c2",feature_request:"#1677ff",policy_update:"#722ed1",budget_allocation:"#faad14"}[e]||"#888"}function de(e){const o=`governance.impactLabels.${e}`,c=r(o);return c===o?e:c}function be(e){return{low:"default",medium:"blue",high:"orange",critical:"red"}[e]||"default"}function Fe(e){return{low:"#888",medium:"#1677ff",high:"#faad14",critical:"#ff4d4f"}[e]||"#888"}function Ee(e){const o=`governance.voteLabels.${e}`,c=r(o);return c===o?e:c}function Ne(e){return{yes:"green",no:"red",abstain:"default"}[e]||"default"}function Ue(e){if(!e)return"—";const o=`governance.effortLabels.${e}`,c=r(o);return c===o?e:c}function Ie(e){if(!e)return"—";const o=`governance.sentimentLabels.${e}`,c=r(o);return c===o?e:c}function Me(e){const o=e.voteYes+e.voteNo;return o?Math.round(e.voteYes/o*100):0}function _e(e,o){return o?Math.round(e/o*100):0}async function K(){D.value=!0,re.value={noDb:!1,error:""};try{const[e,o,c]=await Promise.all([l.execute("governance types --json",8e3).catch(()=>({output:""})),l.execute("governance list --json",1e4).catch(()=>({output:""})),l.execute("governance stats --json",8e3).catch(()=>({output:""}))]),O=[o,c].map(H=>R(H.output)).find(H=>H.noDb);O&&(re.value=O),me.value=bt(e.output),ye.value=kt(o.output),A.value=At(c.output)}catch(e){g.error(r("governance.msg.loadFailed")+": "+(e?.message||e))}finally{D.value=!1}}async function Re(){if(!$.title.trim()){g.warning(r("governance.msg.titleEmpty"));return}ne.value=!0;try{const e=[`governance create "${$.title.trim().replace(/"/g,'\\"')}"`];e.push(`-t ${$.type}`),$.proposerDid.trim()&&e.push(`-p "${$.proposerDid.trim().replace(/"/g,'\\"')}"`),$.description.trim()&&e.push(`-d "${$.description.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:o}=await l.execute(e.join(" "),1e4);if(R(o).noDb){g.error(r("governance.msg.needCcInit"));return}if(!/"id"/.test(o)){g.error(r("governance.msg.createFailed")+": "+o.slice(0,120));return}g.success(r("governance.msg.createSuccess")),X.value=!1,$e(),await K()}catch(e){g.error(r("governance.msg.createFailed")+": "+(e?.message||e))}finally{ne.value=!1}}async function Ve(e){await ke(`governance activate ${e.id} --json`,r("governance.msg.activated"))}async function Ye(e){await ke(`governance close ${e.id} --json`,r("governance.msg.closed"))}async function ke(e,o){try{const{output:c}=await l.execute(e,1e4);if(R(c).noDb){g.error(r("governance.msg.needCcInit"));return}if(!/"id"|"proposalId"|"passed"/.test(c)){g.error(r("governance.msg.actionFailed")+": "+c.slice(0,120));return}g.success(o),await K()}catch(c){g.error(r("governance.msg.actionFailed")+": "+(c?.message||c))}}function Be(e){p.value=e,S.voterDid="",S.value="yes",S.weight=1,S.reason="",Z.value=!0}async function qe(){if(p.value){if(!S.voterDid.trim()){g.warning(r("governance.msg.voterEmpty"));return}le.value=!0;try{const e=[`governance vote ${p.value.id}`,`"${S.voterDid.trim().replace(/"/g,'\\"')}"`,S.value,`-w ${S.weight}`];S.reason.trim()&&e.push(`-r "${S.reason.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:o}=await l.execute(e.join(" "),8e3);if(R(o).noDb){g.error(r("governance.msg.needCcInit"));return}if(!/"id"/.test(o)){g.error(r("governance.msg.voteFailed")+": "+o.slice(0,120));return}g.success(r("governance.msg.voteSuccess")),Z.value=!1,await K()}catch(e){g.error(r("governance.msg.voteFailed")+": "+(e?.message||e))}finally{le.value=!1}}}async function Ge(e){p.value=e,ee.value=[],se.value=!0;try{const{output:o}=await l.execute(`governance votes ${e.id} --json`,8e3);ee.value=ht(o)}catch{}}async function Ke(e){p.value=e,x.value=null;try{const{output:o}=await l.execute(`governance analyze ${e.id} --json`,8e3);if(R(o).noDb){g.error(r("governance.msg.needCcInit"));return}const O=St(o);if(!O){g.error(r("governance.msg.analyzeFailed")+": "+o.slice(0,120));return}x.value=O,ie.value=!0}catch(o){g.error(r("governance.msg.analyzeFailed")+": "+(o?.message||o))}}async function He(e){p.value=e,w.value=null;try{const{output:o}=await l.execute(`governance predict ${e.id} --json`,8e3);if(R(o).noDb){g.error(r("governance.msg.needCcInit"));return}const O=zt(o);if(!O){g.error(r("governance.msg.predictFailed")+": "+o.slice(0,120));return}w.value=O,ue.value=!0}catch(o){g.error(r("governance.msg.predictFailed")+": "+(o?.message||o))}}function $e(){$.title="",$.type="feature_request",$.proposerDid="",$.description=""}return ft(K),(e,o)=>{const c=f("a-button"),O=f("a-space"),H=f("a-alert"),E=f("a-statistic"),j=f("a-card"),T=f("a-col"),ae=f("a-row"),z=f("a-tag"),U=f("a-radio-button"),pe=f("a-radio-group"),M=f("a-progress"),Je=f("a-popconfirm"),Qe=f("a-table"),he=f("a-tab-pane"),We=f("a-tabs"),ve=f("a-input"),N=f("a-form-item"),Xe=f("a-select-option"),Ze=f("a-select"),Se=f("a-textarea"),ze=f("a-form"),J=f("a-modal"),et=f("a-input-number"),C=f("a-descriptions-item"),Ce=f("a-descriptions"),tt=f("a-empty"),Ae=f("a-list-item"),xe=f("a-list");return u(),m("div",null,[v("div",xt,[v("div",null,[v("h2",wt,s(e.$t("governance.title")),1),v("p",Lt,s(e.$t("governance.subtitle")),1)]),t(O,null,{default:a(()=>[t(c,{loading:D.value,onClick:K},{icon:a(()=>[t(k(st))]),default:a(()=>[d(" "+s(e.$t("governance.refresh")),1)]),_:1},8,["loading"]),t(c,{type:"primary",onClick:o[0]||(o[0]=n=>X.value=!0)},{icon:a(()=>[t(k(it))]),default:a(()=>[d(" "+s(e.$t("governance.create")),1)]),_:1})]),_:1})]),re.value.noDb?(u(),_(H,{key:0,type:"info","show-icon":"",message:e.$t("governance.noDb.message"),description:e.$t("governance.noDb.description"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):b("",!0),t(ae,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(T,{xs:12,sm:8,lg:5},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.total"),value:A.value.proposalCount,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(k(we))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(T,{xs:12,sm:8,lg:5},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.active"),value:A.value.byStatus.active||0,"value-style":{color:(A.value.byStatus.active||0)>0?"#1677ff":"#888",fontSize:"20px"}},{prefix:a(()=>[t(k(ut))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(T,{xs:12,sm:8,lg:5},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.passed"),value:A.value.byStatus.passed||0,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(k(ct))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(T,{xs:12,sm:8,lg:5},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.rejected"),value:A.value.byStatus.rejected||0,"value-style":{color:"#ff4d4f",fontSize:"20px"}},{prefix:a(()=>[t(k(dt))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(T,{xs:24,sm:8,lg:4},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.votes"),value:A.value.voteCount,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[t(k(pt))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(j,{title:e.$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(()=>[t(ae,{gutter:[12,12]},{default:a(()=>[(u(!0),m(F,null,I(me.value,n=>(u(),_(T,{key:n.id,xs:12,sm:12,lg:6},{default:a(()=>[v("div",{class:"type-pill",style:yt({borderLeftColor:G(n.id)})},[v("div",Pt,[t(z,{color:G(n.id),style:{"font-family":"monospace"}},{default:a(()=>[d(s(n.id),1)]),_:2},1032,["color"]),v("span",Dt,s(A.value.byType[n.id]||0),1)]),v("div",Ot,s(n.name),1),v("div",jt,s(n.description),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),t(We,{activeKey:ge.value,"onUpdate:activeKey":o[3]||(o[3]=n=>ge.value=n),class:"governance-tabs"},{default:a(()=>[t(he,{key:"proposals",tab:e.$t("governance.tabs.proposals")},{default:a(()=>[v("div",Tt,[t(pe,{value:Y.value,"onUpdate:value":o[1]||(o[1]=n=>Y.value=n),size:"small","button-style":"solid"},{default:a(()=>[t(U,{value:""},{default:a(()=>[d(s(e.$t("governance.filter.allStatuses")),1)]),_:1}),(u(!0),m(F,null,I(k(fe),n=>(u(),_(U,{key:n,value:n},{default:a(()=>[d(s(te(n)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),t(pe,{value:B.value,"onUpdate:value":o[2]||(o[2]=n=>B.value=n),size:"small"},{default:a(()=>[t(U,{value:""},{default:a(()=>[d(s(e.$t("governance.filter.allTypes")),1)]),_:1}),(u(!0),m(F,null,I(k(oe),n=>(u(),_(U,{key:n,value:n},{default:a(()=>[d(s(q(n)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(Qe,{columns:De.value,"data-source":Oe.value,pagination:{pageSize:20,showTotal:n=>e.$t("governance.table.totalSuffix",{n})},size:"small",loading:D.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:n,record:y})=>[n.key==="title"?(u(),m(F,{key:0},[v("span",Ft,s(y.title||e.$t("governance.table.unnamed")),1),v("div",Et,s(y.id.slice(0,16)),1)],64)):b("",!0),n.key==="type"?(u(),_(z,{key:1,color:G(y.type),style:{"font-family":"monospace"}},{default:a(()=>[d(s(q(y.type)),1)]),_:2},1032,["color"])):b("",!0),n.key==="status"?(u(),_(z,{key:2,color:ce(y.status)},{default:a(()=>[d(s(te(y.status)),1)]),_:2},1032,["color"])):b("",!0),n.key==="tally"?(u(),m(F,{key:3},[v("span",Nt,[v("span",Ut,"+"+s(y.voteYes),1),o[17]||(o[17]=d(" / ",-1)),v("span",It,"-"+s(y.voteNo),1),o[18]||(o[18]=d(" / ",-1)),v("span",Mt,"~"+s(y.voteAbstain),1)]),y.voteYes+y.voteNo>0?(u(),_(M,{key:0,percent:Me(y),size:"small","show-info":!1,"stroke-color":y.voteYes>=y.voteNo?"#52c41a":"#ff4d4f",style:{"margin-top":"4px"}},null,8,["percent","stroke-color"])):b("",!0)],64)):b("",!0),n.key==="impact"?(u(),m(F,{key:4},[y.impactLevel?(u(),_(z,{key:0,color:be(y.impactLevel)},{default:a(()=>[d(s(de(y.impactLevel)),1)]),_:2},1032,["color"])):(u(),m("span",Rt,"—"))],64)):b("",!0),n.key==="createdAt"?(u(),m("span",Vt,s(k(W)(y.createdAt)),1)):b("",!0),n.key==="action"?(u(),m(F,{key:6},[t(c,{size:"small",type:"link",onClick:Q=>Ge(y)},{default:a(()=>[d(s(e.$t("governance.actions.details")),1)]),_:1},8,["onClick"]),y.status==="draft"?(u(),_(c,{key:0,size:"small",type:"link",onClick:Q=>Ve(y)},{default:a(()=>[d(s(e.$t("governance.actions.activate")),1)]),_:1},8,["onClick"])):b("",!0),y.status==="active"?(u(),_(c,{key:1,size:"small",type:"link",style:{color:"#52c41a"},onClick:Q=>Be(y)},{default:a(()=>[d(s(e.$t("governance.actions.vote")),1)]),_:1},8,["onClick"])):b("",!0),y.status==="active"?(u(),_(Je,{key:2,title:e.$t("governance.closeConfirm.title"),"ok-text":e.$t("governance.closeConfirm.ok"),"cancel-text":e.$t("governance.closeConfirm.cancel"),onConfirm:Q=>Ye(y)},{default:a(()=>[t(c,{size:"small",type:"link",danger:""},{default:a(()=>[d(s(e.$t("governance.actions.close")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):b("",!0),t(c,{size:"small",type:"link",onClick:Q=>Ke(y)},{default:a(()=>[d(s(e.$t("governance.actions.analyze")),1)]),_:1},8,["onClick"]),t(c,{size:"small",type:"link",onClick:Q=>He(y)},{default:a(()=>[d(s(e.$t("governance.actions.predict")),1)]),_:1},8,["onClick"])],64)):b("",!0)]),emptyText:a(()=>[v("div",Yt,[t(k(we),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),d(" "+s(Y.value||B.value?e.$t("governance.table.emptyFiltered"):e.$t("governance.table.empty")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(he,{key:"breakdown",tab:e.$t("governance.tabs.breakdown")},{default:a(()=>[t(ae,{gutter:[16,16]},{default:a(()=>[t(T,{xs:24,lg:12},{default:a(()=>[t(j,{title:e.$t("governance.breakdown.byStatus"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[(u(!0),m(F,null,I(k(fe),n=>(u(),m("div",{key:n,class:"bd-row"},[t(z,{color:ce(n),style:{"min-width":"60px","text-align":"center"}},{default:a(()=>[d(s(te(n)),1)]),_:2},1032,["color"]),t(M,{percent:_e(A.value.byStatus[n]||0,A.value.proposalCount),"stroke-color":je(n),format:()=>`${A.value.byStatus[n]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1},8,["title"])]),_:1}),t(T,{xs:24,lg:12},{default:a(()=>[t(j,{title:e.$t("governance.breakdown.byType"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[(u(!0),m(F,null,I(k(oe),n=>(u(),m("div",{key:n,class:"bd-row"},[t(z,{color:G(n),style:{"min-width":"90px","text-align":"center"}},{default:a(()=>[d(s(q(n)),1)]),_:2},1032,["color"]),t(M,{percent:_e(A.value.byType[n]||0,A.value.proposalCount),"stroke-color":Te(n),format:()=>`${A.value.byType[n]||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"]),t(J,{open:X.value,"onUpdate:open":o[8]||(o[8]=n=>X.value=n),title:e.$t("governance.create_modal.title"),"confirm-loading":ne.value,width:560,"ok-text":e.$t("governance.create_modal.ok"),"cancel-text":e.$t("governance.create_modal.cancel"),onOk:Re,onCancel:$e},{default:a(()=>[t(ze,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(N,{label:e.$t("governance.create_modal.titleLabel"),required:""},{default:a(()=>[t(ve,{value:$.title,"onUpdate:value":o[4]||(o[4]=n=>$.title=n),placeholder:e.$t("governance.create_modal.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.create_modal.typeLabel"),required:""},{default:a(()=>[t(Ze,{value:$.type,"onUpdate:value":o[5]||(o[5]=n=>$.type=n)},{default:a(()=>[(u(!0),m(F,null,I(k(oe),n=>(u(),_(Xe,{key:n,value:n},{default:a(()=>[d(s(q(n)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.create_modal.proposerLabel")},{default:a(()=>[t(ve,{value:$.proposerDid,"onUpdate:value":o[6]||(o[6]=n=>$.proposerDid=n),placeholder:e.$t("governance.create_modal.proposerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.create_modal.descLabel")},{default:a(()=>[t(Se,{value:$.description,"onUpdate:value":o[7]||(o[7]=n=>$.description=n),placeholder:e.$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"]),t(J,{open:Z.value,"onUpdate:open":o[13]||(o[13]=n=>Z.value=n),title:e.$t("governance.vote_modal.title",{title:p.value?.title||""}),"confirm-loading":le.value,width:540,"ok-text":e.$t("governance.vote_modal.ok"),"cancel-text":e.$t("governance.vote_modal.cancel"),onOk:qe},{default:a(()=>[t(ze,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(N,{label:e.$t("governance.vote_modal.voterLabel"),required:""},{default:a(()=>[t(ve,{value:S.voterDid,"onUpdate:value":o[9]||(o[9]=n=>S.voterDid=n),placeholder:"did:key:..."},null,8,["value"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.vote_modal.valueLabel"),required:""},{default:a(()=>[t(pe,{value:S.value,"onUpdate:value":o[10]||(o[10]=n=>S.value=n),"button-style":"solid"},{default:a(()=>[t(U,{value:"yes",style:{color:"#52c41a"}},{default:a(()=>[d(s(e.$t("governance.vote_modal.yes")),1)]),_:1}),t(U,{value:"no",style:{color:"#ff4d4f"}},{default:a(()=>[d(s(e.$t("governance.vote_modal.no")),1)]),_:1}),t(U,{value:"abstain"},{default:a(()=>[d(s(e.$t("governance.vote_modal.abstain")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.vote_modal.weightLabel")},{default:a(()=>[t(et,{value:S.weight,"onUpdate:value":o[11]||(o[11]=n=>S.weight=n),min:.1,step:.1,style:{width:"120px"}},null,8,["value"]),v("span",Bt,s(e.$t("governance.vote_modal.weightHint")),1)]),_:1},8,["label"]),t(N,{label:e.$t("governance.vote_modal.reasonLabel")},{default:a(()=>[t(Se,{value:S.reason,"onUpdate:value":o[12]||(o[12]=n=>S.reason=n),placeholder:e.$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"]),t(J,{open:se.value,"onUpdate:open":o[14]||(o[14]=n=>se.value=n),title:e.$t("governance.details.title",{title:p.value?.title||""}),width:780,footer:null},{default:a(()=>[p.value?(u(),m("div",qt,[t(Ce,{column:2,size:"small",bordered:""},{default:a(()=>[t(C,{label:e.$t("governance.details.id"),span:2},{default:a(()=>[v("span",Gt,s(p.value.id),1)]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.type")},{default:a(()=>[t(z,{color:G(p.value.type)},{default:a(()=>[d(s(q(p.value.type)),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.status")},{default:a(()=>[t(z,{color:ce(p.value.status)},{default:a(()=>[d(s(te(p.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.proposer"),span:2},{default:a(()=>[p.value.proposerDid?(u(),m("span",Kt,s(p.value.proposerDid),1)):(u(),m("span",Ht,s(e.$t("governance.details.proposerUnset")),1))]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.description"),span:2},{default:a(()=>[p.value.description?(u(),m("div",Jt,s(p.value.description),1)):(u(),m("span",Qt,"—"))]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.tally"),span:2},{default:a(()=>[t(O,null,{default:a(()=>[t(z,{color:"green"},{default:a(()=>[d(s(e.$t("governance.details.tallyYes",{n:p.value.voteYes})),1)]),_:1}),t(z,{color:"red"},{default:a(()=>[d(s(e.$t("governance.details.tallyNo",{n:p.value.voteNo})),1)]),_:1}),t(z,null,{default:a(()=>[d(s(e.$t("governance.details.tallyAbstain",{n:p.value.voteAbstain})),1)]),_:1})]),_:1})]),_:1},8,["label"]),p.value.impactLevel?(u(),_(C,{key:0,label:e.$t("governance.details.impact")},{default:a(()=>[t(z,{color:be(p.value.impactLevel)},{default:a(()=>[d(s(de(p.value.impactLevel)),1)]),_:1},8,["color"])]),_:1},8,["label"])):b("",!0),t(C,{label:e.$t("governance.details.createdAt")},{default:a(()=>[d(s(k(W)(p.value.createdAt)),1)]),_:1},8,["label"]),p.value.votingStartsAt?(u(),_(C,{key:1,label:e.$t("governance.details.votingStartsAt")},{default:a(()=>[d(s(k(W)(p.value.votingStartsAt)),1)]),_:1},8,["label"])):b("",!0),p.value.votingEndsAt?(u(),_(C,{key:2,label:e.$t("governance.details.votingEndsAt")},{default:a(()=>[d(s(k(W)(p.value.votingEndsAt)),1)]),_:1},8,["label"])):b("",!0)]),_:1}),v("h4",Wt,s(e.$t("governance.details.votesHeader")),1),ee.value.length?(u(),_(xe,{key:1,size:"small","data-source":ee.value,pagination:{pageSize:8}},{renderItem:a(({item:n})=>[t(Ae,null,{default:a(()=>[t(z,{color:Ne(n.vote),style:{"min-width":"50px","text-align":"center"}},{default:a(()=>[d(s(Ee(n.vote)),1)]),_:2},1032,["color"]),v("span",Xt,"w="+s(n.weight),1),v("span",Zt,s(n.voterDid),1),n.reason?(u(),m("span",ea,"— "+s(n.reason),1)):b("",!0),v("span",ta,s(k(W)(n.createdAt)),1)]),_:2},1024)]),_:1},8,["data-source"])):(u(),_(tt,{key:0,description:e.$t("governance.details.votesEmpty"),image:k(P)},null,8,["description","image"]))])):b("",!0)]),_:1},8,["open","title"]),t(J,{open:ie.value,"onUpdate:open":o[15]||(o[15]=n=>ie.value=n),title:e.$t("governance.analysis.title",{title:p.value?.title||""}),width:640,footer:null},{default:a(()=>[x.value?(u(),m("div",aa,[t(ae,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:a(()=>[t(T,{span:8},{default:a(()=>[t(E,{title:e.$t("governance.analysis.impactLevel"),value:de(x.value.impactLevel),"value-style":{color:Fe(x.value.impactLevel),fontSize:"16px"}},null,8,["title","value","value-style"])]),_:1}),t(T,{span:8},{default:a(()=>[t(E,{title:e.$t("governance.analysis.effort"),value:Ue(x.value.estimatedEffort),"value-style":{fontSize:"16px"}},null,8,["title","value"])]),_:1}),t(T,{span:8},{default:a(()=>[t(E,{title:e.$t("governance.analysis.sentiment"),value:Ie(x.value.communitySentiment),"value-style":{fontSize:"16px"}},null,8,["title","value"])]),_:1})]),_:1}),t(j,{title:e.$t("governance.analysis.riskBenefit"),size:"small",style:{"margin-bottom":"12px"}},{default:a(()=>[v("div",oa,[v("span",na,s(e.$t("governance.analysis.riskScore")),1),t(M,{percent:Math.round(x.value.riskScore*100),"stroke-color":"#ff4d4f"},null,8,["percent"])]),v("div",null,[v("span",la,s(e.$t("governance.analysis.benefitScore")),1),t(M,{percent:Math.round(x.value.benefitScore*100),"stroke-color":"#52c41a"},null,8,["percent"])])]),_:1},8,["title"]),x.value.affectedComponents.length?(u(),_(j,{key:0,title:e.$t("governance.analysis.components"),size:"small",style:{"margin-bottom":"12px"}},{default:a(()=>[(u(!0),m(F,null,I(x.value.affectedComponents,n=>(u(),_(z,{key:n,color:"blue"},{default:a(()=>[d(s(n),1)]),_:2},1024))),128))]),_:1},8,["title"])):b("",!0),x.value.recommendations.length?(u(),_(j,{key:1,title:e.$t("governance.analysis.recommendations"),size:"small"},{default:a(()=>[t(xe,{size:"small","data-source":x.value.recommendations},{renderItem:a(({item:n})=>[t(Ae,null,{default:a(()=>[t(k(vt),{style:{color:"#faad14","margin-right":"8px"}}),d(" "+s(n),1)]),_:2},1024)]),_:1},8,["data-source"])]),_:1},8,["title"])):b("",!0)])):b("",!0)]),_:1},8,["open","title"]),t(J,{open:ue.value,"onUpdate:open":o[16]||(o[16]=n=>ue.value=n),title:e.$t("governance.prediction.title",{title:p.value?.title||""}),width:540,footer:null},{default:a(()=>[w.value?(u(),m("div",ra,[v("div",sa,[t(z,{color:w.value.predictedOutcome==="pass"?"green":"red",style:{"font-size":"16px",padding:"6px 14px"}},{default:a(()=>[d(s(w.value.predictedOutcome==="pass"?e.$t("governance.prediction.outcomePass"):e.$t("governance.prediction.outcomeReject")),1)]),_:1},8,["color"])]),t(Ce,{column:2,size:"small",bordered:""},{default:a(()=>[t(C,{label:e.$t("governance.prediction.confidence"),span:2},{default:a(()=>[t(M,{percent:Math.round(w.value.confidence*100),"stroke-color":w.value.confidence>=.6?"#52c41a":"#faad14"},null,8,["percent","stroke-color"])]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.basedOn")},{default:a(()=>[t(z,{color:w.value.basedOn==="votes"?"blue":"orange"},{default:a(()=>[d(s(w.value.basedOn==="votes"?e.$t("governance.prediction.basedOnVotes"):e.$t("governance.prediction.basedOnHeuristic")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.sampleSize")},{default:a(()=>[d(s(w.value.sampleSize),1)]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.yesProb")},{default:a(()=>[v("span",ia,s((w.value.yesProb*100).toFixed(1))+"%",1)]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.noProb")},{default:a(()=>[v("span",ua,s((w.value.noProb*100).toFixed(1))+"%",1)]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.abstainProb"),span:2},{default:a(()=>[v("span",ca,s((w.value.abstainProb*100).toFixed(1))+"%",1)]),_:1},8,["label"])]),_:1})])):b("",!0)]),_:1},8,["open","title"])])}}},ya=ot(da,[["__scopeId","data-v-6b8682f4"]]);export{ya as default};
|