chainlesschain 0.162.131 → 0.162.133
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 +12 -3
- package/package.json +2 -2
- package/src/assets/web-panel/.build-hash +1 -1
- package/src/assets/web-panel/assets/{AIOps-2KUTHQX_.js → AIOps-D5PYXgpS.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-L7_IhqNu.js → ActionButton-DA4ysdbh.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-CUixECiG.js → Analytics-BFWqU0kU.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-Dpe2haDQ.js → AppLayout-DJaMA8zM.js} +3 -3
- package/src/assets/web-panel/assets/Audit-Cu5EdUNw.js +1 -0
- package/src/assets/web-panel/assets/Backup-CHqoN1Wn.js +1 -0
- package/src/assets/web-panel/assets/{BaseInput-Cu__ZKoW.js → BaseInput-D7sHv5k5.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-CBFYmY92.js → Chat-DwIEoXul.js} +3 -3
- package/src/assets/web-panel/assets/ChatBubbleRenderer-87TM5pDY.js +1 -0
- package/src/assets/web-panel/assets/{Checkbox-Brs6y0pv.js → Checkbox-0Q3R3OKe.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-DvIDK2R6.js → Codegen-EuxRN2jc.js} +1 -1
- package/src/assets/web-panel/assets/{Col-BY1bz9zm.js → Col-C88Gc81T.js} +1 -1
- package/src/assets/web-panel/assets/{Community-Du0uBY_j.js → Community-DRD-Qbgo.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-CxkCfnD4.js → Compact-EQRtnWqU.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-DI4GSvYO.js → Compliance-DAkQntzW.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-BaBiaYNG.js → Cowork-BjhQndo0.js} +2 -2
- package/src/assets/web-panel/assets/{Cron-By787-AO.js → Cron-BNVidRa8.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-D06BizgW.js → Crosschain-CwaR5TR4.js} +1 -1
- package/src/assets/web-panel/assets/{DID-CaE65NYK.js → DID-CnZ2v2_Q.js} +2 -2
- package/src/assets/web-panel/assets/Dashboard-DgjhReMB.js +3 -0
- package/src/assets/web-panel/assets/{Dropdown-Depeqs8h.js → Dropdown-BeoYnFbZ.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-BA1AKXFR.js → EmailListRenderer-D5YKi_uf.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-BZFbC7Cx.js → FamilyGuardDashboard-Df1K_Gd7.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-8yPwScKv.js → Federation-BSTYpp26.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-BVy_AKdW.js → FormItemContext-C2fTmnPv.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-D7kFe3QM.js → GenericCardRenderer-BGWqXdu1.js} +1 -1
- package/src/assets/web-panel/assets/{Git-BI_taCzW.js → Git-DG8u5Uhq.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-DIOg1O6M.js → Governance-Curqpb82.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-CSL-isQ_.js → Inference-oOFhrj8m.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-iCn8Fvmf.js → KnowledgeGraph-CBb6KH38.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-YMjpW89s.js → Logs-BXuwdD41.js} +2 -2
- package/src/assets/web-panel/assets/{Marketplace--fNmNRri.js → Marketplace-BTpRCkiA.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-DGaQOFxN.js → McpTools-DxCN3sKG.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-DNjUfk5O.js → Memory-BI8gDlyk.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-Ce2Pn2oK.js → MobileBridge-BxSOiRDO.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-DaNhq1_x.js → MobileProjects-BFiakxnr.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-Htf1b8xE.js → Mtc-TUKC17XK.js} +2 -2
- package/src/assets/web-panel/assets/{MtcAudit-2IIu0OB3.js → MtcAudit-D2RX-5pT.js} +2 -2
- package/src/assets/web-panel/assets/{Multisig-BMAUzfxj.js → Multisig-vzRlWX2F.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-DsPldroh.js → NLProgramming-CV7gTVMx.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-COLd7vCP.js → Notes-BRwckEQP.js} +2 -2
- package/src/assets/web-panel/assets/{NotificationSettings-CNzZtI_o.js → NotificationSettings-D_epSpxf.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-6NPy-YHQ.js → OrderTableRenderer-DiUZoZMw.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-DSNHsR4a.js → Organization-BXMDLOZv.js} +2 -2
- package/src/assets/web-panel/assets/{Overflow-BcAYe_TB.js → Overflow-D7cCvX6c.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-B9XhsIKr.js → P2P-DTHILhe0.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-BR0GWf23.js → PdhVaultBrowser-DrOiphKi.js} +4 -4
- package/src/assets/web-panel/assets/{Permissions-Css2FapO.js → Permissions-CabXm5TU.js} +2 -2
- package/src/assets/web-panel/assets/{PersonalDataHub-DjRdBk_h.js → PersonalDataHub-CT27ryRx.js} +2 -2
- package/src/assets/web-panel/assets/{Pipeline-Cv6hncIf.js → Pipeline-Ckplz3m9.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-vDC68AoW.js → Privacy-V4TD__ts.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-mkoQhgMU.js → ProjectInit-Cic8jcbW.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-Byl3RnMM.js → ProjectSettings-DHvk9hwH.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-CILs2XYD.js → Projects-CT9QWjwR.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-BCrc0doI.js → Providers-CBiYQ8Mw.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-Dt4oMuVS.js → QuickAsk-VPI7xb2Z.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-BERAt_xe.js → Recommend-D0v1ViOX.js} +1 -1
- package/src/assets/web-panel/assets/{Reputation-BKMmJ1ht.js → Reputation-Dpr8cUji.js} +1 -1
- package/src/assets/web-panel/assets/{Row-DtGT9VXo.js → Row-L5Z6GXFI.js} +1 -1
- package/src/assets/web-panel/assets/RssFeed-kwLpn9aV.js +3 -0
- package/src/assets/web-panel/assets/{Search-Df58g7IV.js → Search-D_sra3g-.js} +1 -1
- package/src/assets/web-panel/assets/{Security-Cf9gGz78.js → Security-CWb06MeE.js} +2 -2
- package/src/assets/web-panel/assets/{Services-epoiecXf.js → Services-A4Ti0exb.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-C9675HRM.js → Skeleton-CH6Lp6zL.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-DnGvHN3A.js → Skills-XQQG90xL.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-DRwsKeYG.js → Sla-D7MyrxMq.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-DqBcNvXF.js → SpeechSettings-bZzSxulW.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-CR50CALR.js → SyncSettings-Be4oJLRb.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-ncUrJWWO.js → Tasks-vP1RiLQe.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-CWjIynfa.js → Templates-BnaCTa7n.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-CpIyHDJJ.js → Tenant-04JgqZFj.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-BVUShXlx.js → Terminal-PvO7VD-K.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-C0ovMDh_.js → TimelineRenderer-C5PpCHFb.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-BJJfEvw7.js → Tokens-Cxk8RTXc.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-nDr3aXXM.js → Trigger-D8GKqHE7.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-DBfuYxaI.js → Trust-6Xuh2TaD.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-DTUTMPJd.js → UkeySign-SnjOTe6A.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-CQqkMpBR.js → VideoEditing-D4mh67r1.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-84mblhC7.js → Wallet-DLG1owId.js} +2 -2
- package/src/assets/web-panel/assets/{WebAuthn-xH8iwuYw.js → WebAuthn-2lPtuboR.js} +2 -2
- package/src/assets/web-panel/assets/{WorkflowEditor-BAdP685p.js → WorkflowEditor-JNAuaMXq.js} +1 -1
- package/src/assets/web-panel/assets/{chat-BG05UmOG.js → chat-C_VzV_CQ.js} +1 -1
- package/src/assets/web-panel/assets/{colors-B--izi6g.js → colors-D4Nk10ju.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-mhINqcNr.js → compact-item-DF3mC45s.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-BxF4heyS.js → createContext-DYPL7lov.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-H7hgiUpq.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-k6zp6JXy.js → hasIn-D5flAJ52.js} +1 -1
- package/src/assets/web-panel/assets/{index-C8YjdEoE.js → index-B18cp3n9.js} +1 -1
- package/src/assets/web-panel/assets/{index-CZY1CcMi.js → index-B50bPMUj.js} +1 -1
- package/src/assets/web-panel/assets/{index-DYDTWu56.js → index-B6HB1nYU.js} +4 -4
- package/src/assets/web-panel/assets/index-BCILPdOo.js +1 -0
- package/src/assets/web-panel/assets/{index-YVGxF1lz.js → index-BGEz_rsH.js} +1 -1
- package/src/assets/web-panel/assets/{index-DZhH_4lu.js → index-BM2OBesL.js} +1 -1
- package/src/assets/web-panel/assets/{index-C7E33Rtr.js → index-BP_RJr7h.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cf1HBQJD.js → index-BVYugqQ_.js} +2 -2
- package/src/assets/web-panel/assets/{index-DcIEV2W9.js → index-BbqlP-0x.js} +1 -1
- package/src/assets/web-panel/assets/{index-DbJ9HYUz.js → index-BrhQVZvQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-DBeRyDo3.js → index-BvX4TP6v.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dy6draCr.js → index-CBQKNqZw.js} +1 -1
- package/src/assets/web-panel/assets/{index-C9uMHXAU.js → index-CQRTZCRK.js} +2 -2
- package/src/assets/web-panel/assets/{index-D22mMJcM.js → index-CXgtLdeP.js} +1 -1
- package/src/assets/web-panel/assets/{index-C_PP2xgo.js → index-CYGcdwPp.js} +1 -1
- package/src/assets/web-panel/assets/{index-DIfHlmg5.js → index-CmmTTeI_.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bm4EqCGD.js → index-CwL5VIal.js} +1 -1
- package/src/assets/web-panel/assets/index-CxOMN1eP.js +1 -0
- package/src/assets/web-panel/assets/{index-DoIbLP_2.js → index-D-ZudNpP.js} +1 -1
- package/src/assets/web-panel/assets/{index-BpxmdKly.js → index-D6kjxouA.js} +1 -1
- package/src/assets/web-panel/assets/{index-DkGO_kL_.js → index-D6yet1u8.js} +1 -1
- package/src/assets/web-panel/assets/{index-tgxfNjRl.js → index-DAB3Q_nF.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bz_W2HMQ.js → index-DB6Gfmbd.js} +1 -1
- package/src/assets/web-panel/assets/{index-CaOJtN9_.js → index-DBrnQlVj.js} +2 -2
- package/src/assets/web-panel/assets/{index-Hrtyb8g4.js → index-DFGgPqGL.js} +1 -1
- package/src/assets/web-panel/assets/{index-DJ7voWn9.js → index-DIWcJ5_g.js} +1 -1
- package/src/assets/web-panel/assets/index-DLK7Yseu.js +1 -0
- package/src/assets/web-panel/assets/{index-NufO1jVs.js → index-DdSPhjdJ.js} +1 -1
- package/src/assets/web-panel/assets/{index-BQTN9owK.js → index-DlaUWCOV.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dut5fnts.js → index-DoVbiVLl.js} +1 -1
- package/src/assets/web-panel/assets/{index-BptC59Nw.js → index-NJplJRk0.js} +2 -2
- package/src/assets/web-panel/assets/{index-ClLYJ9Lr.js → index-QfqrYch4.js} +3 -3
- package/src/assets/web-panel/assets/{index-D50R_x2q.js → index-RJ5RP6OB.js} +3 -3
- package/src/assets/web-panel/assets/{index-ptTT_8Cw.js → index-Y1PuU7dA.js} +1 -1
- package/src/assets/web-panel/assets/{index-D4it444p.js → index-_I4YISHL.js} +3 -3
- package/src/assets/web-panel/assets/{index-CDgK11Jy.js → index-eP13aFQA.js} +1 -1
- package/src/assets/web-panel/assets/index-fgHY0FSb.js +1 -0
- package/src/assets/web-panel/assets/{index-ALaGUTBj.js → index-mxl2Tk9N.js} +2 -2
- package/src/assets/web-panel/assets/{index-CQ4ARcWQ.js → index-u7jSAnE5.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-BRO1fie3.js → initDefaultProps-BYpzEQJR.js} +1 -1
- package/src/assets/web-panel/assets/{motion-B0PeqWDm.js → motion-BwoBDSTB.js} +2 -2
- package/src/assets/web-panel/assets/{move-DaFHMz5S.js → move-ECqdofgP.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-CwRq1H46.js → mtc-parser-BwJBczVR.js} +1 -1
- package/src/assets/web-panel/assets/{omit-BoixPnCY.js → omit-C05k2QvJ.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-CtG4UyHs.js → pickAttrs-yEaymbc3.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-CGzpdN2U.js → placementArrow-BolUzOwE.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-DxtcM-r9.js → responsiveObserve-6k5y4DzK.js} +1 -1
- package/src/assets/web-panel/assets/{slide-oAHegf3-.js → slide-DDkfGVnC.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-Ddl5dLe-.js → statusUtils-CuQEwQEu.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-4gYXGrlZ.js → styleChecker-CbIXhlWn.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-DB-sP5mv.js → useFlexGapSupport-BRzWzevU.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-cROlRg8N.js → useFs-AItSJ9F5.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-COtU3A5K.js → usePersonalDataHub-Btpt6GeK.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-Cz2bZGdQ.js → vnode-DTq_TuIb.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-zhr1SK6Y.js → zoom-2A1jrVbU.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/lib/llm-config-defaults.js +6 -4
- package/src/repl/add-dir.js +1 -4
- package/src/repl/agents-status.js +2 -8
- package/src/repl/hooks-status.js +2 -1
- package/src/repl/pr-comments.js +2 -12
- package/src/runtime/agent-core.js +1 -5
- package/src/assets/web-panel/assets/Audit-CnRXY9qp.js +0 -1
- package/src/assets/web-panel/assets/Backup-C0JsfiNs.js +0 -1
- package/src/assets/web-panel/assets/ChatBubbleRenderer-Df45RqwP.js +0 -1
- package/src/assets/web-panel/assets/Dashboard-BEk1ucNb.js +0 -3
- package/src/assets/web-panel/assets/RssFeed-CU_HDGRB.js +0 -3
- package/src/assets/web-panel/assets/devWarning-B-PQddh3.js +0 -1
- package/src/assets/web-panel/assets/index-B8dJqRve.js +0 -1
- package/src/assets/web-panel/assets/index-BmqTrBA9.js +0 -1
- package/src/assets/web-panel/assets/index-C3T_jBxU.js +0 -1
- package/src/assets/web-panel/assets/index-DA_QbRy1.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as m,J as f,U as b,R as c,c as o,K as e,V as y,S as h,o as tt,b as V,r as x,P as d,Q as _,F as T,Z as B,$ as ht}from"./vendor-BvqAck49.js";import{s as xt,t as nt,_ as Lt,b as et,u as at,d as A}from"./index-D4it444p.js";import{u as ot}from"./useFs-cROlRg8N.js";import{s as St,am as Ct,f as Tt,d as Et,m as Ot,az as At,R as wt}from"./icons-DP3uiYxy.js";import"./useShellMode-CgR0wCYM.js";const it=Object.freeze(["auth","permission","data","system","file","did","crypto","api"]),st=Object.freeze(["low","medium","high","critical"]);function q(n,s=0){return typeof n=="number"&&Number.isFinite(n)?n:s}function Q(n){if(!n)return{noDb:!1,error:""};const s=xt(n),r=/Database not available/i.test(s);return{noDb:r,error:r?"Database not available":""}}function Rt(n,s=0){if(!n||typeof n!="object")return null;const r=n.id||"";if(!r)return null;let t=n.details;if(typeof t=="string"&&t)try{t=JSON.parse(t)}catch{}const L=typeof n.success=="boolean"?n.success:n.success===1||n.success==="1"||n.success===!0,M=n.audit_mtc_event_id??n.auditMtcEventId??null;return{key:r,id:r,eventType:String(n.event_type??n.eventType??"").toLowerCase(),operation:String(n.operation||""),actor:n.actor??"",target:n.target??"",details:t??null,riskLevel:String(n.risk_level??n.riskLevel??"low").toLowerCase(),ipAddress:n.ip_address??n.ipAddress??"",userAgent:n.user_agent??n.userAgent??"",success:L,errorMessage:n.error_message??n.errorMessage??"",createdAt:n.created_at??n.createdAt??"",auditMtcEventId:M,_idx:s}}function lt(n){const s=nt(n);return Array.isArray(s)?s.map(Rt).filter(Boolean):[]}const zt={total:0,failures:0,highRisk:0,byEventType:{},byRiskLevel:{}};function rt(n){const s=JSON.parse(JSON.stringify(zt));for(const t of it)s.byEventType[t]=0;for(const t of st)s.byRiskLevel[t]=0;const r=nt(n);if(!r||typeof r!="object"||Array.isArray(r))return s;if(s.total=q(r.total,0),s.failures=q(r.failures,0),s.highRisk=q(r.highRisk,0),r.byEventType&&typeof r.byEventType=="object")for(const[t,L]of Object.entries(r.byEventType))typeof L=="number"&&Number.isFinite(L)&&(s.byEventType[t]=L);if(r.byRiskLevel&&typeof r.byRiskLevel=="object")for(const[t,L]of Object.entries(r.byRiskLevel))typeof L=="number"&&Number.isFinite(L)&&(s.byRiskLevel[t]=L);return s}function It(n){return!n||!n.auditMtcEventId?"none":"tracked"}function Mt(n){if(n==null||n==="")return"—";const s=String(n),r=s.includes(" ")&&!s.includes("T")?s.replace(" ","T")+"Z":s,t=new Date(r);return isNaN(t.getTime())?s:t.toLocaleString("zh-CN",{hour12:!1})}const Dt={__name:"Audit",setup(n,{expose:s}){s();const{t:r}=et(),t=at(),L=ot(),M=x(!1),w=x([]),E=x({total:0,failures:0,highRisk:0,byEventType:{},byRiskLevel:{}}),F=x({noDb:!1,error:""}),R=x("events"),S=x(""),p=x(""),O=x(""),v=x(""),N=x(!1),z=x(!1),j=x(null),U=V(()=>[{title:r("audit.logColumns.createdAt"),key:"createdAt",width:"160px"},{title:r("audit.logColumns.eventType"),key:"eventType",width:"110px"},{title:r("audit.logColumns.operation"),key:"operation"},{title:r("audit.logColumns.actor"),key:"actor",width:"140px"},{title:r("audit.logColumns.target"),key:"target",width:"180px"},{title:r("audit.logColumns.riskLevel"),key:"riskLevel",width:"90px"},{title:r("audit.logColumns.success"),key:"success",width:"80px"},{title:r("audit.logColumns.mtc"),key:"mtc",width:"110px"},{title:r("audit.logColumns.action"),key:"action",width:"80px"}]),I=x({});function D(a){return a.auditMtcEventId&&I.value[a.id]||null}function J(a){const i=D(a);return i?i.state==="staging"?r("audit.mtc.stagingLabel"):i.state==="batched"?r("audit.mtc.batchedLabel",{batchId:i.batchId||"?"}):r("audit.mtc.unknownLabel"):r("audit.mtc.signedNotChecked")}function P(a){const i=D(a);return i?i.state==="staging"?"orange":i.state==="batched"?"green":"default":"blue"}function W(a){if(!a.auditMtcEventId)return"";const i=D(a),u=r("audit.mtc.tooltipBase",{id:a.auditMtcEventId});return i?i.state==="staging"?r("audit.mtc.tooltipStaging",{base:u}):i.state==="batched"?r("audit.mtc.tooltipBatched",{base:u,batchId:i.batchId,treeHead:i.treeHeadId||""}):u:r("audit.mtc.tooltipNotChecked",{base:u})}async function k(a){if(!a.auditMtcEventId)return;const i=a.auditMtcEventId.replace(/"/g,'\\"');try{const u=await t.execute(`audit mtc reconcile-check "${i}" --json`,8e3);let C;try{C=JSON.parse(u.output.trim())}catch{const $=u.output.match(/\{[\s\S]*\}/);C=$?JSON.parse($[0]):null}if(!C){A.warning(r("audit.mtc.noJson"));return}const kt=C.found?{state:"batched",batchId:C.batchId,treeHeadId:C.treeHeadId}:C.staging?{state:"staging"}:{state:"unknown"};I.value={...I.value,[a.id]:kt}}catch(u){A.error(r("audit.mtc.checkFailed",{err:u?.message||u}))}}const Y=V(()=>E.value.total?(E.value.total-E.value.failures)/E.value.total*100:100),H=V(()=>!!(p.value||O.value||v.value||N.value)),l=V(()=>{let a=w.value;if(O.value&&(a=a.filter(i=>i.eventType===O.value)),v.value&&(a=a.filter(i=>i.riskLevel===v.value)),N.value&&(a=a.filter(i=>!i.success)),p.value){const i=p.value.toLowerCase();a=a.filter(u=>(u.operation||"").toLowerCase().includes(i)||(u.actor||"").toLowerCase().includes(i)||(u.target||"").toLowerCase().includes(i))}return a});function g(a){const i=`audit.type.${a}`,u=r(i);return u===i?a:u}function Z(a){return{auth:"blue",permission:"purple",data:"cyan",system:"default",file:"green",did:"gold",crypto:"magenta",api:"volcano"}[a]||"default"}function ct(a){return{auth:"#1677ff",permission:"#722ed1",data:"#13c2c2",system:"#888",file:"#52c41a",did:"#faad14",crypto:"#eb2f96",api:"#fa541c"}[a]||"#888"}function dt(a){const i=`audit.risk.${a}`,u=r(i);return u===i?a:u}function ut(a){return{low:"default",medium:"gold",high:"orange",critical:"red"}[a]||"default"}function ft(a){return{low:"#888",medium:"#faad14",high:"#fa8c16",critical:"#ff4d4f"}[a]||"#888"}function yt(a,i){return i?Math.round(a/i*100):0}function gt(a,i){return a?a.length<=i?a:a.slice(0,i)+"…":""}function _t(a){if(typeof a=="string")return a;try{return JSON.stringify(a,null,2)}catch{return String(a)}}let K=null;function mt(){clearTimeout(K),K=setTimeout(()=>{p.value=S.value.trim()},300)}function bt(){p.value=S.value.trim()}async function G(){M.value=!0,F.value={noDb:!1,error:""};try{const[a,i]=await Promise.all([t.execute("audit log --json -n 200",12e3).catch(()=>({output:""})),t.execute("audit stats --json",8e3).catch(()=>({output:""}))]),u=[a,i].map(C=>Q(C.output)).find(C=>C.noDb);u&&(F.value=u),w.value=lt(a.output),E.value=rt(i.output)}catch(a){A.error(r("audit.messages.loadFailed",{err:a?.message||a}))}finally{M.value=!1}}function vt(a){j.value=a,z.value=!0}async function pt(){try{const{output:a}=await t.execute("audit export -f json -n 10000",2e4);if(Q(a).noDb){A.error(r("audit.messages.needInit"));return}if(!a.trim().startsWith("[")){A.error(r("audit.messages.exportFailed",{err:a.slice(0,120)}));return}const u=await L.saveText(a.trim(),{defaultPath:`audit-${new Date().toISOString().slice(0,10)}.json`,filters:[{name:"JSON",extensions:["json"]}]});if(u.canceled)return;A.success(u.path?r("audit.messages.exportOk",{path:u.path}):r("audit.messages.exportOkDefault"))}catch(a){A.error(r("audit.messages.exportFailed",{err:a?.message||a}))}}tt(G);const X={t:r,ws:t,fs:L,loading:M,logs:w,stats:E,errorState:F,activeTab:R,searchInput:S,searchTerm:p,typeFilter:O,riskFilter:v,failuresOnly:N,showDetailsModal:z,currentLog:j,logColumns:U,mtcStatusCache:I,getMtcStatusEntry:D,getMtcLabel:J,getMtcColor:P,getMtcTooltip:W,checkMtcStatus:k,successRate:Y,hasFilters:H,filteredLogs:l,typeLabel:g,typeColor:Z,typeBarColor:ct,riskLabel:dt,riskColor:ut,riskBarColor:ft,pctOfTotal:yt,truncate:gt,formatDetails:_t,get searchDebounce(){return K},set searchDebounce(a){K=a},onSearchInput:mt,runSearch:bt,loadAll:G,viewLogDetails:vt,exportJson:pt,ref:x,computed:V,onMounted:tt,get useI18n(){return et},get ReloadOutlined(){return wt},get DownloadOutlined(){return At},get FileSearchOutlined(){return Ot},get CloseCircleOutlined(){return Et},get CheckCircleOutlined(){return Tt},get WarningOutlined(){return Ct},get AlertOutlined(){return St},get message(){return A},get useWsStore(){return at},get useFs(){return ot},get parseLogs(){return lt},get parseStats(){return rt},get detectAuditError(){return Q},get formatAuditTime(){return Mt},get classifyMtcStatus(){return It},get EVENT_TYPES(){return it},get RISK_LEVELS(){return st}};return Object.defineProperty(X,"__isScriptSetup",{enumerable:!1,value:!0}),X}},Ft={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Nt={class:"page-title"},jt={class:"page-sub"},Vt={class:"type-name"},Bt={class:"type-count"},Jt={class:"filter-bar"},Pt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},Kt={style:{color:"var(--text-primary)","font-weight":"500","font-family":"monospace","font-size":"12px"}},Ut={key:0,style:{color:"#ff4d4f","font-size":"11px","margin-top":"2px"}},Wt={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},Yt={key:1,style:{color:"var(--text-muted)"}},Ht={key:0,style:{color:"var(--text-secondary)","font-size":"12px","font-family":"monospace"}},Zt={key:1,style:{color:"var(--text-muted)"}},qt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Qt={key:0,style:{"padding-top":"8px"}},Gt={style:{"font-family":"monospace","font-size":"12px"}},Xt={style:{"margin-left":"8px",color:"var(--text-secondary)","font-size":"12px"}},$t={style:{"font-family":"monospace"}},te={key:0,style:{"font-family":"monospace","font-size":"12px"}},ee={key:1,style:{color:"var(--text-muted)"}},ae={key:0,style:{"font-family":"monospace","font-size":"12px"}},oe={key:1,style:{color:"var(--text-muted)"}},le={style:{"font-family":"monospace","font-size":"12px"}},re={style:{"font-family":"monospace","font-size":"11px"}},ne={style:{color:"#ff4d4f"}},ie={class:"details-pre"};function se(n,s,r,t,L,M){const w=m("a-button"),E=m("a-space"),F=m("a-alert"),R=m("a-statistic"),S=m("a-card"),p=m("a-col"),O=m("a-row"),v=m("a-tag"),N=m("a-input-search"),z=m("a-radio-button"),j=m("a-radio-group"),U=m("a-checkbox"),I=m("a-tooltip"),D=m("a-table"),J=m("a-tab-pane"),P=m("a-progress"),W=m("a-tabs"),k=m("a-descriptions-item"),Y=m("a-descriptions"),H=m("a-modal");return d(),f("div",null,[b("div",Ft,[b("div",null,[b("h2",Nt,c(t.t("audit.title")),1),b("p",jt,c(t.t("audit.subtitle")),1)]),o(E,null,{default:e(()=>[o(w,{loading:t.loading,onClick:t.loadAll},{icon:e(()=>[o(t.ReloadOutlined)]),default:e(()=>[_(" "+c(t.t("audit.refresh")),1)]),_:1},8,["loading"]),o(w,{onClick:t.exportJson},{icon:e(()=>[o(t.DownloadOutlined)]),default:e(()=>[_(" "+c(t.t("audit.exportJson")),1)]),_:1})]),_:1})]),y(" noDb banner "),t.errorState.noDb?(d(),h(F,{key:0,type:"info","show-icon":"",message:t.t("audit.noDb.message"),description:t.t("audit.noDb.description"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):y("v-if",!0),y(" Stat cards "),o(O,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:e(()=>[o(p,{xs:12,sm:8,lg:5},{default:e(()=>[o(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[o(R,{title:t.t("audit.stats.total"),value:t.stats.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:e(()=>[o(t.FileSearchOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(p,{xs:12,sm:8,lg:5},{default:e(()=>[o(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[o(R,{title:t.t("audit.stats.failures"),value:t.stats.failures,"value-style":{color:t.stats.failures>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:e(()=>[o(t.CloseCircleOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(p,{xs:12,sm:8,lg:5},{default:e(()=>[o(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[o(R,{title:t.t("audit.stats.highRisk"),value:t.stats.highRisk,"value-style":{color:t.stats.highRisk>0?"#fa8c16":"#52c41a",fontSize:"20px"}},{prefix:e(()=>[o(t.WarningOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(p,{xs:12,sm:8,lg:5},{default:e(()=>[o(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[o(R,{title:t.t("audit.stats.critical"),value:t.stats.byRiskLevel.critical||0,"value-style":{color:(t.stats.byRiskLevel.critical||0)>0?"#ff4d4f":"#888",fontSize:"20px"}},{prefix:e(()=>[o(t.AlertOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(p,{xs:24,sm:8,lg:4},{default:e(()=>[o(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[o(R,{title:t.t("audit.stats.successRate"),value:t.successRate,suffix:"%",precision:1,"value-style":{color:t.successRate>=95?"#52c41a":t.successRate>=80?"#faad14":"#ff4d4f",fontSize:"20px"}},{prefix:e(()=>[o(t.CheckCircleOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),y(" Event type catalogue "),o(S,{title:t.t("audit.typeCatalogueTitle"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:e(()=>[o(O,{gutter:[12,12]},{default:e(()=>[(d(!0),f(T,null,B(t.EVENT_TYPES,l=>(d(),h(p,{key:l,xs:12,sm:8,lg:3},{default:e(()=>[b("div",{class:"type-pill",style:ht({borderLeftColor:t.typeBarColor(l)})},[o(v,{color:t.typeColor(l),style:{"font-family":"monospace","font-size":"11px"}},{default:e(()=>[_(c(l),1)]),_:2},1032,["color"]),b("div",Vt,c(t.typeLabel(l)),1),b("div",Bt,c(t.stats.byEventType[l]||0),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),y(" Tabs "),o(W,{activeKey:t.activeTab,"onUpdate:activeKey":s[4]||(s[4]=l=>t.activeTab=l),class:"audit-tabs"},{default:e(()=>[y(" ── Events tab ──────────────────────────────────────────── "),o(J,{key:"events",tab:t.t("audit.tabs.events")},{default:e(()=>[b("div",Jt,[o(N,{value:t.searchInput,"onUpdate:value":s[0]||(s[0]=l=>t.searchInput=l),placeholder:t.t("audit.filter.searchPlaceholder"),"allow-clear":"",style:{"max-width":"280px"},onSearch:t.runSearch,onInput:t.onSearchInput},null,8,["value","placeholder"]),o(j,{value:t.typeFilter,"onUpdate:value":s[1]||(s[1]=l=>t.typeFilter=l),size:"small","button-style":"solid"},{default:e(()=>[o(z,{value:""},{default:e(()=>[_(c(t.t("audit.filter.allTypes")),1)]),_:1}),(d(!0),f(T,null,B(t.EVENT_TYPES,l=>(d(),h(z,{key:l,value:l},{default:e(()=>[_(c(t.typeLabel(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),o(j,{value:t.riskFilter,"onUpdate:value":s[2]||(s[2]=l=>t.riskFilter=l),size:"small"},{default:e(()=>[o(z,{value:""},{default:e(()=>[_(c(t.t("audit.filter.allRisks")),1)]),_:1}),(d(!0),f(T,null,B(t.RISK_LEVELS,l=>(d(),h(z,{key:l,value:l},{default:e(()=>[_(c(t.riskLabel(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),o(U,{checked:t.failuresOnly,"onUpdate:checked":s[3]||(s[3]=l=>t.failuresOnly=l)},{default:e(()=>[_(c(t.t("audit.filter.failuresOnly")),1)]),_:1},8,["checked"])]),o(D,{columns:t.logColumns,"data-source":t.filteredLogs,pagination:{pageSize:20,showTotal:l=>t.t("audit.totals.rows",{count:l})},size:"small",loading:t.loading,style:{background:"var(--bg-card)"}},{bodyCell:e(({column:l,record:g})=>[l.key==="createdAt"?(d(),f("span",Pt,c(t.formatAuditTime(g.createdAt)),1)):y("v-if",!0),l.key==="eventType"?(d(),h(v,{key:1,color:t.typeColor(g.eventType),style:{"font-family":"monospace"}},{default:e(()=>[_(c(g.eventType),1)]),_:2},1032,["color"])):y("v-if",!0),l.key==="operation"?(d(),f(T,{key:2},[b("span",Kt,c(g.operation),1),g.errorMessage?(d(),f("div",Ut,c(g.errorMessage),1)):y("v-if",!0)],64)):y("v-if",!0),l.key==="actor"?(d(),f(T,{key:3},[g.actor?(d(),f("span",Wt,c(g.actor),1)):(d(),f("span",Yt,"—"))],64)):y("v-if",!0),l.key==="target"?(d(),f(T,{key:4},[g.target?(d(),f("span",Ht,c(t.truncate(g.target,32)),1)):(d(),f("span",Zt,"—"))],64)):y("v-if",!0),l.key==="riskLevel"?(d(),h(v,{key:5,color:t.riskColor(g.riskLevel)},{default:e(()=>[_(c(t.riskLabel(g.riskLevel)),1)]),_:2},1032,["color"])):y("v-if",!0),l.key==="success"?(d(),h(v,{key:6,color:g.success?"green":"red"},{default:e(()=>[_(c(g.success?"OK":"FAIL"),1)]),_:2},1032,["color"])):y("v-if",!0),l.key==="mtc"?(d(),f(T,{key:7},[t.classifyMtcStatus(g)==="none"?(d(),h(I,{key:0,title:t.t("audit.mtc.noneTooltip")},{default:e(()=>[o(v,{color:"default"},{default:e(()=>[...s[6]||(s[6]=[_("—",-1)])]),_:1})]),_:1},8,["title"])):(d(),h(I,{key:1,title:t.getMtcTooltip(g)},{default:e(()=>[o(v,{color:t.getMtcColor(g),style:{cursor:"pointer"},onClick:Z=>t.checkMtcStatus(g)},{default:e(()=>[_(c(t.getMtcLabel(g)),1)]),_:2},1032,["color","onClick"])]),_:2},1032,["title"]))],64)):y("v-if",!0),l.key==="action"?(d(),h(w,{key:8,size:"small",type:"link",onClick:Z=>t.viewLogDetails(g)},{default:e(()=>[_(c(t.t("audit.rowAction.details")),1)]),_:1},8,["onClick"])):y("v-if",!0)]),emptyText:e(()=>[b("div",qt,[o(t.FileSearchOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),_(" "+c(t.hasFilters?t.t("audit.empty.filtered"):t.t("audit.empty.noEvents")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),y(" ── Breakdown tab ───────────────────────────────────────── "),o(J,{key:"breakdown",tab:t.t("audit.tabs.breakdown")},{default:e(()=>[o(O,{gutter:[16,16]},{default:e(()=>[o(p,{xs:24,lg:12},{default:e(()=>[o(S,{title:t.t("audit.breakdown.byType"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[(d(!0),f(T,null,B(t.EVENT_TYPES,l=>(d(),f("div",{key:l,class:"bd-row"},[o(v,{color:t.typeColor(l),style:{"min-width":"80px","text-align":"center","font-family":"monospace"}},{default:e(()=>[_(c(l),1)]),_:2},1032,["color"]),o(P,{percent:t.pctOfTotal(t.stats.byEventType[l]||0,t.stats.total),"stroke-color":t.typeBarColor(l),format:()=>`${t.stats.byEventType[l]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1},8,["title"])]),_:1}),o(p,{xs:24,lg:12},{default:e(()=>[o(S,{title:t.t("audit.breakdown.byRisk"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[(d(!0),f(T,null,B(t.RISK_LEVELS,l=>(d(),f("div",{key:l,class:"bd-row"},[o(v,{color:t.riskColor(l),style:{"min-width":"80px","text-align":"center"}},{default:e(()=>[_(c(t.riskLabel(l)),1)]),_:2},1032,["color"]),o(P,{percent:t.pctOfTotal(t.stats.byRiskLevel[l]||0,t.stats.total),"stroke-color":t.riskBarColor(l),format:()=>`${t.stats.byRiskLevel[l]||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"]),y(" ── Event details modal ─────────────────────────────────── "),o(H,{open:t.showDetailsModal,"onUpdate:open":s[5]||(s[5]=l=>t.showDetailsModal=l),title:t.t("audit.details.title",{id:t.currentLog?.id?.slice(0,8)||""}),width:720,footer:null},{default:e(()=>[t.currentLog?(d(),f("div",Qt,[o(Y,{column:2,size:"small",bordered:""},{default:e(()=>[o(k,{label:t.t("audit.details.id"),span:2},{default:e(()=>[b("span",Gt,c(t.currentLog.id),1)]),_:1},8,["label"]),o(k,{label:t.t("audit.details.eventType")},{default:e(()=>[o(v,{color:t.typeColor(t.currentLog.eventType),style:{"font-family":"monospace"}},{default:e(()=>[_(c(t.currentLog.eventType),1)]),_:1},8,["color"]),b("span",Xt,c(t.typeLabel(t.currentLog.eventType)),1)]),_:1},8,["label"]),o(k,{label:t.t("audit.details.riskLevel")},{default:e(()=>[o(v,{color:t.riskColor(t.currentLog.riskLevel)},{default:e(()=>[_(c(t.riskLabel(t.currentLog.riskLevel)),1)]),_:1},8,["color"])]),_:1},8,["label"]),o(k,{label:t.t("audit.details.operation"),span:2},{default:e(()=>[b("span",$t,c(t.currentLog.operation),1)]),_:1},8,["label"]),o(k,{label:t.t("audit.details.status")},{default:e(()=>[o(v,{color:t.currentLog.success?"green":"red"},{default:e(()=>[_(c(t.currentLog.success?t.t("audit.details.success"):t.t("audit.details.failure")),1)]),_:1},8,["color"])]),_:1},8,["label"]),o(k,{label:t.t("audit.details.time")},{default:e(()=>[_(c(t.formatAuditTime(t.currentLog.createdAt)),1)]),_:1},8,["label"]),o(k,{label:t.t("audit.details.actor")},{default:e(()=>[t.currentLog.actor?(d(),f("span",te,c(t.currentLog.actor),1)):(d(),f("span",ee,"—"))]),_:1},8,["label"]),o(k,{label:t.t("audit.details.target")},{default:e(()=>[t.currentLog.target?(d(),f("span",ae,c(t.currentLog.target),1)):(d(),f("span",oe,"—"))]),_:1},8,["label"]),t.currentLog.ipAddress?(d(),h(k,{key:0,label:t.t("audit.details.ip")},{default:e(()=>[b("span",le,c(t.currentLog.ipAddress),1)]),_:1},8,["label"])):y("v-if",!0),t.currentLog.userAgent?(d(),h(k,{key:1,label:t.t("audit.details.userAgent")},{default:e(()=>[b("span",re,c(t.currentLog.userAgent),1)]),_:1},8,["label"])):y("v-if",!0),t.currentLog.errorMessage?(d(),h(k,{key:2,label:t.t("audit.details.errorMessage"),span:2},{default:e(()=>[b("span",ne,c(t.currentLog.errorMessage),1)]),_:1},8,["label"])):y("v-if",!0),t.currentLog.details?(d(),h(k,{key:3,label:t.t("audit.details.details"),span:2},{default:e(()=>[b("pre",ie,c(t.formatDetails(t.currentLog.details)),1)]),_:1},8,["label"])):y("v-if",!0)]),_:1})])):y("v-if",!0)]),_:1},8,["open","title"])])}const ge=Lt(Dt,[["render",se],["__scopeId","data-v-be9f4fc3"],["__file","/tmp/cc-web-panel-ligafk/repo/packages/web-panel/src/views/Audit.vue"]]);export{ge as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as k,J as d,U as b,R as l,c as t,K as n,o as fe,b as Q,r as c,P as s,Q as v,V as r,S as _,F as Oe}from"./vendor-BvqAck49.js";import{_ as Ce,b as ye,u as be,d as ie}from"./index-D4it444p.js";import{u as ke}from"./useFs-cROlRg8N.js";import{az as ze,R as Pe,aQ as Be,as as Le,aS as Te,S as Ae,z as Fe}from"./icons-DP3uiYxy.js";import"./useShellMode-CgR0wCYM.js";const ce=["B","KB","MB","GB","TB","PB","EB"];function Me(F){if(F==null||isNaN(F))return"-";const f=Number(F);if(f<0)return"-";if(f===0)return"0 B";let o=Math.floor(Math.log(f)/Math.log(1024));return o<0&&(o=0),o>=ce.length&&(o=ce.length-1),(f/Math.pow(1024,o)).toFixed(o>0?1:0)+" "+ce[o]}const Re={__name:"Backup",setup(F,{expose:f}){f();const{t:o}=ye(),e=be(),W=ke(),U=c(!1),g=c("backup"),C=c(!1),x=c(!1),B=c(!1),h=c(""),y=c([]),w=c(""),M=Q(()=>[{title:o("backup.backupColumns.id"),key:"id"},{title:o("backup.backupColumns.size"),key:"size",width:120},{title:o("backup.backupColumns.createdAt"),key:"createdAt"},{title:o("backup.backupColumns.action"),key:"action",width:100}]);async function m(){x.value=!0,h.value="";try{const{output:a}=await e.execute("backup list --json",15e3),i=A(a);Array.isArray(i)?y.value=i:i&&Array.isArray(i.backups)?y.value=i.backups:(y.value=[],a&&a.trim()&&(w.value=a))}catch(a){h.value=o("backup.messages.loadBackupsFailed",{err:a.message})}finally{x.value=!1}}async function S(){B.value=!0,w.value="",h.value="";try{const{output:a}=await e.execute("backup create --json",3e4);w.value=a||o("backup.backup.createDefaultMessage"),await m()}catch(a){w.value=o("backup.messages.createBackupFailed",{err:a.message})}finally{B.value=!1}}const R=c(!1),L=c(!1),T=c(null),z=c("");function G(a){T.value=a,z.value="",R.value=!0}async function u(){if(T.value){L.value=!0,z.value="";try{const{output:a}=await e.execute(`backup restore ${T.value.id}`,6e4);z.value=a||o("backup.backup.restoreDefaultMessage")}catch(a){z.value=o("backup.messages.restoreFailed",{err:a.message})}finally{L.value=!1}}}const p=c(!1),I=c(""),D=c(!1),N=c(""),q=c(0),X=c(""),P=c(""),Y=c(!1),Z=c(!1),E=c([]),ve=Q(()=>[{title:o("backup.conflictColumns.path"),key:"path"},{title:o("backup.conflictColumns.type"),key:"type",width:120}]);async function j(){p.value=!0,I.value="";try{const{output:a}=await e.execute("sync status --json",15e3),i=A(a);i?(D.value=i.online||i.synced||i.status==="online"||!1,N.value=D.value?o("backup.sync.synced"):o("backup.sync.notSynced"),q.value=i.pending??i.pendingChanges??0,X.value=i.lastSync||i.lastSyncTime||""):se(a)}catch(a){I.value=o("backup.messages.loadSyncFailed",{err:a.message})}finally{p.value=!1}}function se(a){if(!a){N.value=o("backup.sync.unknown");return}D.value=/synced|online|up.to.date/i.test(a),N.value=D.value?o("backup.sync.synced"):o("backup.sync.notSynced");const i=a.match(/pending[:\s]+(\d+)/i);q.value=i?parseInt(i[1]):0;const O=a.match(/last[:\s]+(.+)/i);O&&(X.value=O[1].trim())}async function ge(){Y.value=!0,P.value="";try{const{output:a}=await e.execute("sync push",3e4);P.value=a||o("backup.sync.pushDefaultMessage"),await j()}catch(a){P.value=o("backup.messages.pushFailed",{err:a.message})}finally{Y.value=!1}}async function me(){Z.value=!0,P.value="";try{const{output:a}=await e.execute("sync pull",3e4);P.value=a||o("backup.sync.pullDefaultMessage"),await j()}catch(a){P.value=o("backup.messages.pullFailed",{err:a.message})}finally{Z.value=!1}}async function re(){try{const{output:a}=await e.execute("sync conflicts --json",15e3),i=A(a);Array.isArray(i)?E.value=i:i&&Array.isArray(i.conflicts)?E.value=i.conflicts:E.value=[]}catch{E.value=[]}}const $=c(!1),ee=c(""),ae=c(!1),te=c(""),ne=c(!1),H=c(""),J=c([]),_e=Q(()=>[{title:o("backup.pinColumns.cid"),key:"cid"},{title:o("backup.pinColumns.name"),key:"name"},{title:o("backup.pinColumns.size"),key:"size",width:120},{title:o("backup.pinColumns.pinnedAt"),key:"pinnedAt"},{title:o("backup.pinColumns.action"),key:"action",width:120}]);async function ue(){$.value=!0,ee.value="";try{const{output:a}=await e.execute("ipfs status --json",15e3),i=A(a);if(i)ae.value=i.online||i.status==="online"||i.connected||!1,te.value=i.peerId||i.id||"";else{ae.value=a?/online|connected|running/i.test(a):!1;const O=a?a.match(/(?:peer\s*id|id)[:\s]+(\S+)/i):null;te.value=O?O[1]:""}}catch(a){ee.value=o("backup.messages.loadIpfsFailed",{err:a.message})}finally{$.value=!1}}async function K(){ne.value=!0,H.value="";try{const{output:a}=await e.execute("ipfs pins --json",15e3),i=A(a);Array.isArray(i)?J.value=i:i&&Array.isArray(i.pins)?J.value=i.pins:J.value=[]}catch(a){H.value=o("backup.messages.loadPinsFailed",{err:a.message})}finally{ne.value=!1}}const xe=c(!1),oe=c(!1),le=c(""),V=c("");async function he(){if(le.value.trim()){oe.value=!0,V.value="";try{const{output:a}=await e.execute(`ipfs pin "${le.value.trim()}"`,3e4);V.value=a||o("backup.ipfs.pinDefaultSuccess"),await K()}catch(a){V.value=o("backup.messages.pinFailed",{err:a.message})}finally{oe.value=!1}}}async function we(a){try{await e.execute(`ipfs unpin ${a.cid}`,15e3),await K()}catch(i){H.value=o("backup.messages.unpinFailed",{err:i.message})}}function A(a){if(!a||!a.trim())return null;try{return JSON.parse(a.trim())}catch{const O=a.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(O)try{return JSON.parse(O[0])}catch{}return null}}async function Se(){if(y.value.length){U.value=!0;try{const a=await W.saveJson({schema:1,exportedAt:new Date().toISOString(),count:y.value.length,backups:y.value},{defaultPath:`backup-list-${new Date().toISOString().slice(0,10)}.json`});if(a.canceled)return;ie.success(a.path?o("backup.messages.exportOk",{count:y.value.length,path:a.path}):o("backup.messages.exportOkDefault"))}catch(a){ie.error(o("backup.messages.exportFailed",{err:a.message||a}))}finally{U.value=!1}}}async function de(){C.value=!0;try{await Promise.all([m(),j(),re(),ue(),K()])}finally{C.value=!1}}fe(de);const pe={t:o,ws:e,fs:W,exportingList:U,activeTab:g,refreshing:C,backupLoading:x,backupCreating:B,backupError:h,backups:y,lastBackupResult:w,backupColumns:M,loadBackups:m,createBackup:S,showRestoreModal:R,restoreLoading:L,restoreTarget:T,restoreResult:z,confirmRestore:G,doRestore:u,syncLoading:p,syncError:I,syncOnline:D,syncStatusText:N,syncPending:q,lastSyncTime:X,syncOutput:P,pushLoading:Y,pullLoading:Z,conflicts:E,conflictColumns:ve,loadSync:j,parseSyncStatusText:se,syncPush:ge,syncPull:me,loadConflicts:re,ipfsLoading:$,ipfsError:ee,ipfsOnline:ae,ipfsPeerId:te,pinsLoading:ne,pinsError:H,pins:J,pinColumns:_e,loadIpfsStatus:ue,loadPins:K,showPinModal:xe,pinLoading:oe,pinFilePath:le,pinResult:V,doPin:he,unpinFile:we,safeParseJson:A,exportBackupList:Se,refreshAll:de,ref:c,computed:Q,onMounted:fe,get useI18n(){return ye},get CloudUploadOutlined(){return Fe},get SyncOutlined(){return Ae},get HddOutlined(){return Te},get PlusOutlined(){return Le},get DeleteOutlined(){return Be},get ReloadOutlined(){return Pe},get DownloadOutlined(){return ze},get message(){return ie},get useWsStore(){return be},get useFs(){return ke},get formatSize(){return Me}};return Object.defineProperty(pe,"__isScriptSetup",{enumerable:!1,value:!0}),pe}},Ie={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},De={class:"page-title"},Ee={class:"page-sub"},Ue={key:0,style:{"text-align":"center",padding:"30px"}},Ne={key:0,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},je={key:1},He={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},Je={key:3,style:{"margin-top":"16px"}},Ke={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},Ve={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},Qe={key:4,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},We={style:{color:"var(--text-secondary)"}},Ge={key:0,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px","margin-top":"8px"}},qe={style:{"font-family":"monospace"}},Xe={key:0},Ye={key:1,style:{"margin-top":"12px"}},Ze={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},$e={key:0,style:{"text-align":"center",padding:"30px"}},ea={key:0,style:{"margin-bottom":"16px"}},aa={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},ta={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},na={key:0,style:{"font-family":"monospace","font-size":"12px"}},oa={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},la={key:0,style:{"text-align":"center",padding:"30px"}},ia={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},ca={key:0,style:{"text-align":"center",padding:"30px"}},sa={key:0,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},ra={key:1},ua={key:2},da={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},pa={key:3,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},fa={style:{"margin-bottom":"12px",color:"var(--text-secondary)"}},ya={key:0,style:{"margin-top":"12px"}},ba={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}};function ka(F,f,o,e,W,U){const g=k("a-button"),C=k("a-space"),x=k("a-spin"),B=k("a-empty"),h=k("a-table"),y=k("a-card"),w=k("a-modal"),M=k("a-tab-pane"),m=k("a-statistic"),S=k("a-col"),R=k("a-row"),L=k("a-tag"),T=k("a-popconfirm"),z=k("a-input"),G=k("a-tabs");return s(),d("div",null,[b("div",Ie,[b("div",null,[b("h2",De,l(e.t("backup.title")),1),b("p",Ee,l(e.t("backup.subtitle")),1)]),t(g,{type:"primary",ghost:"",loading:e.refreshing,onClick:e.refreshAll},{icon:n(()=>[t(e.ReloadOutlined)]),default:n(()=>[v(" "+l(e.t("backup.refresh")),1)]),_:1},8,["loading"])]),t(G,{activeKey:e.activeTab,"onUpdate:activeKey":f[4]||(f[4]=u=>e.activeTab=u),type:"card"},{default:n(()=>[r(" Tab 1: Backup management "),t(M,{key:"backup"},{tab:n(()=>[t(e.CloudUploadOutlined),v(" "+l(e.t("backup.tabs.backup")),1)]),default:n(()=>[t(y,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{title:n(()=>[t(C,null,{default:n(()=>[t(e.CloudUploadOutlined),b("span",null,l(e.t("backup.backup.cardTitle")),1)]),_:1})]),extra:n(()=>[t(C,null,{default:n(()=>[t(g,{disabled:!e.backups.length,loading:e.exportingList,onClick:e.exportBackupList},{icon:n(()=>[t(e.DownloadOutlined)]),default:n(()=>[v(" "+l(e.t("backup.backup.exportButton")),1)]),_:1},8,["disabled","loading"]),t(g,{type:"primary",loading:e.backupCreating,onClick:e.createBackup},{icon:n(()=>[t(e.PlusOutlined)]),default:n(()=>[v(" "+l(e.t("backup.backup.createButton")),1)]),_:1},8,["loading"])]),_:1})]),default:n(()=>[e.backupLoading?(s(),d("div",Ue,[t(x)])):e.backups.length===0&&!e.lastBackupResult?(s(),_(B,{key:1,description:e.t("backup.backup.emptyText")},null,8,["description"])):r("v-if",!0),e.backups.length>0?(s(),_(h,{key:2,columns:e.backupColumns,"data-source":e.backups,pagination:!1,size:"small","row-key":"id"},{bodyCell:n(({column:u,record:p})=>[u.key==="id"?(s(),d("span",Ne,l(p.id.length>20?p.id.slice(0,20)+"...":p.id),1)):r("v-if",!0),u.key==="size"?(s(),d("span",je,l(e.formatSize(p.size)),1)):r("v-if",!0),u.key==="createdAt"?(s(),d("span",He,l(p.createdAt||"-"),1)):r("v-if",!0),u.key==="action"?(s(),_(g,{key:3,size:"small",type:"link",onClick:I=>e.confirmRestore(p)},{default:n(()=>[v(l(e.t("backup.backupColumns.restore")),1)]),_:1},8,["onClick"])):r("v-if",!0)]),_:1},8,["columns","data-source"])):r("v-if",!0),e.lastBackupResult?(s(),d("div",Je,[b("div",Ke,l(e.t("backup.backup.lastResultLabel")),1),b("pre",Ve,l(e.lastBackupResult),1)])):r("v-if",!0),e.backupError?(s(),d("div",Qe,l(e.backupError),1)):r("v-if",!0)]),_:1}),t(w,{open:e.showRestoreModal,"onUpdate:open":f[0]||(f[0]=u=>e.showRestoreModal=u),title:e.t("backup.backup.restoreTitle"),"ok-text":e.t("backup.backup.restoreOk"),"cancel-text":e.t("common.cancel"),"confirm-loading":e.restoreLoading,onOk:e.doRestore,"ok-type":"danger"},{default:n(()=>[b("p",We,l(e.t("backup.backup.restoreIntro")),1),e.restoreTarget?(s(),d("div",Ge,[b("div",null,[b("strong",null,l(e.t("backup.backup.backupIdPrefix")),1),f[5]||(f[5]=v()),b("span",qe,l(e.restoreTarget.id),1)]),e.restoreTarget.createdAt?(s(),d("div",Xe,[b("strong",null,l(e.t("backup.backup.createdAtPrefix")),1),v(" "+l(e.restoreTarget.createdAt),1)])):r("v-if",!0)])):r("v-if",!0),e.restoreResult?(s(),d("div",Ye,[b("pre",Ze,l(e.restoreResult),1)])):r("v-if",!0)]),_:1},8,["open","title","ok-text","cancel-text","confirm-loading"])]),_:1}),r(" Tab 2: Data sync "),t(M,{key:"sync"},{tab:n(()=>[t(e.SyncOutlined),v(" "+l(e.t("backup.tabs.sync")),1)]),default:n(()=>[e.syncLoading?(s(),d("div",$e,[t(x)])):(s(),d(Oe,{key:1},[t(R,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[t(S,{xs:24,sm:8},{default:n(()=>[t(y,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[t(m,{title:e.t("backup.sync.statusLabel"),value:e.syncStatusText,"value-style":{color:e.syncOnline?"#52c41a":"#888",fontSize:"16px"}},{prefix:n(()=>[t(e.SyncOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(S,{xs:24,sm:8},{default:n(()=>[t(y,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[t(m,{title:e.t("backup.sync.pendingLabel"),value:e.syncPending,"value-style":{color:e.syncPending>0?"#faad14":"#52c41a",fontSize:"16px"}},{prefix:n(()=>[t(e.SyncOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(S,{xs:24,sm:8},{default:n(()=>[t(y,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[t(m,{title:e.t("backup.sync.lastSyncLabel"),value:e.lastSyncTime||e.t("backup.sync.noLastSync"),"value-style":{color:"var(--text-secondary)",fontSize:"16px"}},{prefix:n(()=>[t(e.SyncOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(C,{style:{"margin-bottom":"16px"}},{default:n(()=>[t(g,{loading:e.pushLoading,onClick:e.syncPush,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[t(e.CloudUploadOutlined)]),default:n(()=>[v(" "+l(e.t("backup.sync.pushButton")),1)]),_:1},8,["loading"]),t(g,{loading:e.pullLoading,onClick:e.syncPull,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[t(e.SyncOutlined)]),default:n(()=>[v(" "+l(e.t("backup.sync.pullButton")),1)]),_:1},8,["loading"])]),_:1}),e.syncOutput?(s(),d("div",ea,[b("div",aa,l(e.t("backup.sync.outputLabel")),1),b("pre",ta,l(e.syncOutput),1)])):r("v-if",!0),r(" Conflicts "),e.conflicts.length>0?(s(),_(y,{key:1,title:e.t("backup.sync.conflictsTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[t(h,{columns:e.conflictColumns,"data-source":e.conflicts,pagination:!1,size:"small","row-key":"path"},{bodyCell:n(({column:u,record:p})=>[u.key==="path"?(s(),d("span",na,l(p.path),1)):r("v-if",!0),u.key==="type"?(s(),_(L,{key:1,color:"red"},{default:n(()=>[v(l(p.type||e.t("backup.sync.conflictDefault")),1)]),_:2},1024)):r("v-if",!0)]),_:1},8,["columns","data-source"])]),_:1},8,["title"])):r("v-if",!0)],64)),e.syncError?(s(),d("div",oa,l(e.syncError),1)):r("v-if",!0)]),_:1}),r(" Tab 3: IPFS storage "),t(M,{key:"ipfs"},{tab:n(()=>[t(e.HddOutlined),v(" "+l(e.t("backup.tabs.ipfs")),1)]),default:n(()=>[t(y,{title:e.t("backup.ipfs.statusCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{extra:n(()=>[t(L,{color:e.ipfsOnline?"green":"default"},{default:n(()=>[v(l(e.ipfsOnline?e.t("backup.ipfs.online"):e.t("backup.ipfs.offline")),1)]),_:1},8,["color"])]),default:n(()=>[e.ipfsLoading?(s(),d("div",la,[t(x)])):(s(),_(R,{key:1,gutter:[16,16]},{default:n(()=>[t(S,{xs:24,sm:8},{default:n(()=>[t(y,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[t(m,{title:e.t("backup.ipfs.nodeStatusLabel"),value:e.ipfsOnline?e.t("backup.ipfs.connected"):e.t("backup.ipfs.disconnected"),"value-style":{color:e.ipfsOnline?"#52c41a":"#888",fontSize:"16px"}},{prefix:n(()=>[t(e.HddOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(S,{xs:24,sm:8},{default:n(()=>[t(y,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[t(m,{title:e.t("backup.ipfs.pinnedLabel"),value:e.pins.length,"value-style":{fontSize:"16px"}},{prefix:n(()=>[t(e.HddOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),t(S,{xs:24,sm:8},{default:n(()=>[t(y,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[t(m,{title:e.t("backup.ipfs.peerIdLabel"),value:e.ipfsPeerId||"-","value-style":{color:"var(--text-muted)",fontSize:"12px",fontFamily:"monospace"}},{prefix:n(()=>[t(e.HddOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1})),e.ipfsError?(s(),d("div",ia,l(e.ipfsError),1)):r("v-if",!0)]),_:1},8,["title"]),t(y,{title:e.t("backup.ipfs.pinListTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:n(()=>[t(g,{size:"small",onClick:f[1]||(f[1]=u=>e.showPinModal=!0),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[t(e.PlusOutlined)]),default:n(()=>[v(" "+l(e.t("backup.ipfs.pinFileButton")),1)]),_:1})]),default:n(()=>[e.pinsLoading?(s(),d("div",ca,[t(x)])):e.pins.length===0?(s(),_(B,{key:1,description:e.t("backup.ipfs.pinEmptyText")},null,8,["description"])):(s(),_(h,{key:2,columns:e.pinColumns,"data-source":e.pins,pagination:{pageSize:10},size:"small","row-key":"cid"},{bodyCell:n(({column:u,record:p})=>[u.key==="cid"?(s(),d("span",sa,l(p.cid.length>24?p.cid.slice(0,24)+"...":p.cid),1)):r("v-if",!0),u.key==="name"?(s(),d("span",ra,l(p.name||"-"),1)):r("v-if",!0),u.key==="size"?(s(),d("span",ua,l(e.formatSize(p.size)),1)):r("v-if",!0),u.key==="pinnedAt"?(s(),d("span",da,l(p.pinnedAt||"-"),1)):r("v-if",!0),u.key==="action"?(s(),_(T,{key:4,title:e.t("backup.ipfs.unpinConfirm"),"ok-text":e.t("backup.ipfs.unpinOk"),"cancel-text":e.t("common.cancel"),onConfirm:I=>e.unpinFile(p)},{default:n(()=>[t(g,{size:"small",type:"link",danger:""},{default:n(()=>[t(e.DeleteOutlined),v(" "+l(e.t("backup.ipfs.unpinAction")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):r("v-if",!0)]),_:1},8,["columns","data-source"])),e.pinsError?(s(),d("div",pa,l(e.pinsError),1)):r("v-if",!0)]),_:1},8,["title"]),t(w,{open:e.showPinModal,"onUpdate:open":f[3]||(f[3]=u=>e.showPinModal=u),title:e.t("backup.ipfs.pinModalTitle"),"confirm-loading":e.pinLoading,onOk:e.doPin,"ok-text":e.t("backup.ipfs.pinModalOk"),"cancel-text":e.t("common.cancel")},{default:n(()=>[b("div",fa,l(e.t("backup.ipfs.pinModalIntro")),1),t(z,{value:e.pinFilePath,"onUpdate:value":f[2]||(f[2]=u=>e.pinFilePath=u),placeholder:e.t("backup.ipfs.pinModalPlaceholder"),onPressEnter:e.doPin},null,8,["value","placeholder"]),e.pinResult?(s(),d("div",ya,[b("pre",ba,l(e.pinResult),1)])):r("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}const wa=Ce(Re,[["render",ka],["__scopeId","data-v-077902a5"],["__file","/tmp/cc-web-panel-ligafk/repo/packages/web-panel/src/views/Backup.vue"]]);export{wa as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as v,P as u,J as S,U as a,R as n,S as y,K as C,Q as x,V as w,_ as k,b as s}from"./vendor-BvqAck49.js";import{_ as B}from"./index-D4it444p.js";import"./icons-DP3uiYxy.js";const N={__name:"ChatBubbleRenderer",props:{event:{type:Object,required:!0}},setup(c,{expose:i}){i();const t=c,r=s(()=>{const e=t.event.content||{};return e.text||e.body||e.message||e.title||JSON.stringify(e).slice(0,200)}),d=s(()=>{const e=t.event.content||{};return e.from||e.sender||e.senderName||t.event.actor||"(unknown)"}),l=s(()=>{const e=(t.event.actor||"").toLowerCase();return e.includes("self")||e==="me"||e.endsWith("_self")}),o=s(()=>{const e=t.event.source.adapter||"";return e.startsWith("messaging-qq")?"magenta":e==="wechat"?"green":"blue"}),m=s(()=>{if(!t.event.occurredAt)return"";try{const e=new Date(t.event.occurredAt),p=e.getFullYear(),f=String(e.getMonth()+1).padStart(2,"0"),g=String(e.getDate()).padStart(2,"0"),b=String(e.getHours()).padStart(2,"0"),h=String(e.getMinutes()).padStart(2,"0");return`${p}-${f}-${g} ${b}:${h}`}catch{return""}}),_={props:t,messageText:r,actorLabel:d,isMine:l,adapterColor:o,formattedTime:m,computed:s};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}},T={class:"bubble"},M={class:"meta"},R={class:"actor"},V={class:"time"},q={class:"body"};function D(c,i,t,r,d,l){const o=v("a-tag");return u(),S("div",{class:k(["chat-row",{mine:r.isMine}])},[a("div",T,[a("div",M,[a("span",R,n(r.actorLabel),1),a("span",V,n(r.formattedTime),1)]),a("div",q,n(r.messageText),1),t.event.source.adapter?(u(),y(o,{key:0,class:"src",color:r.adapterColor},{default:C(()=>[x(n(t.event.source.adapter),1)]),_:1},8,["color"])):w("v-if",!0)])],2)}const A=B(N,[["render",D],["__scopeId","data-v-49238629"],["__file","/tmp/cc-web-panel-ligafk/repo/packages/web-panel/src/components/pdh/renderers/ChatBubbleRenderer.vue"]]);export{A as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{E as G,r as E,I as k,J as f,U as l,R as o,c as s,K as a,S as z,V as $,N as q,o as U,x as V,b as w,P as m,Q as v,$ as N,F as T,Z as F}from"./vendor-BvqAck49.js";import{u as A,s as J,_ as W}from"./index-D4it444p.js";import{u as B}from"./chat-BG05UmOG.js";import{ad as K,ae as Q,a4 as Z,h as X,a7 as Y,ab as x,a9 as ee,af as te,a8 as se,R as ae}from"./icons-DP3uiYxy.js";function oe(e){const n=J(e);if(!n)return null;try{return JSON.parse(n)}catch{}const c=n.match(/\[[\s\S]*\]|\{[\s\S]*\}/);if(!c)return null;try{return JSON.parse(c[0])}catch{return null}}function le(){return{samples:0,compressedSamples:0,hitRate:0,totalSavedTokens:0,averageSavedTokens:0,totalOriginalTokens:0,totalCompressedTokens:0,netSavingsRate:0,variantDistribution:{},strategyDistribution:[],providerDistribution:[],modelDistribution:[]}}const H=G("dashboard",()=>{const e=E(!1),n=E(!1),c=E({wsStatus:"disconnected",activeLlm:null,activeModel:null,skillCount:0,sessionCount:0,providerCount:0,appRunning:!1,setupDone:!1,edition:"",mcpCount:null,noteCount:null}),t=E(""),O=E(le()),h=E({windowPreset:"all",provider:"",model:""});let b=null;function S(i=A()){b||(b=i.onRuntimeEvent(u=>{u.type==="compression:summary"?P(u.payload?.summary||{}):u.type==="session:start"?c.value.sessionCount=(c.value.sessionCount||0)+1:u.type==="session:end"&&(c.value.sessionCount=Math.max(0,(c.value.sessionCount||0)-1))}))}function y(){b&&(b(),b=null)}function P(i){O.value={...O.value,...i||{}}}function d(i){return i==="1h"?3600*1e3:i==="24h"?1440*60*1e3:i==="7d"?10080*60*1e3:null}function _(i){c.value.appRunning=i.includes("Desktop app running"),c.value.setupDone=i.includes("Setup completed");const u=i.match(/Edition:\s+(\S+)/i);u&&(c.value.edition=u[1]);const g=i.match(/LLM:\s+(\S+)\s+\(([^)]+)\)/i);if(g)c.value.activeLlm=g[1],c.value.activeModel=g[2];else{const r=i.match(/LLM:\s+(\S+)/i);r&&(c.value.activeLlm=r[1])}}async function D(){const i=A();S(i),n.value=!0;const u={type:"compression-stats",windowMs:d(h.value.windowPreset)};h.value.provider&&(u.provider=h.value.provider),h.value.model&&(u.model=h.value.model);try{const g=await i.sendRaw(u,1e4);P(g.summary||{})}catch{}finally{n.value=!1}}async function p(){const i=A();S(i),e.value=!0,c.value.wsStatus=i.status,t.value="";try{const[u,g]=await Promise.allSettled([i.execute("status",15e3),i.listSessions()]);if(u.status==="fulfilled"){const r=u.value.output;t.value=r.split(`
|
|
2
|
-
`).slice(0,20).join(`
|
|
3
|
-
`),_(r)}g.status==="fulfilled"&&(c.value.sessionCount=g.value.length),Promise.allSettled([i.execute("skill sources --json",15e3),i.execute("llm providers",15e3)]).then(([r,C])=>{if(r.status==="fulfilled"){const R=oe(r.value.output);Array.isArray(R)&&(c.value.skillCount=R.reduce((j,L)=>j+(typeof L?.count=="number"?L.count:0),0))}if(C.status==="fulfilled"){const j=C.value.output.match(/active[:\s]+(\S+)/i);j&&!c.value.activeLlm&&(c.value.activeLlm=j[1])}}),i.sendRaw({type:"mcp.list_tools"},5e3).then(r=>{const R=(r?.result??r)?.servers;c.value.mcpCount=Array.isArray(R)?R.length:0}).catch(()=>{c.value.mcpCount=0}),await D()}catch{}finally{e.value=!1}}return{loading:e,compressionLoading:n,stats:c,statusLog:t,compression:O,telemetryFilters:h,ensureRuntimeSubscription:S,stopRuntimeSubscription:y,refresh:p,refreshCompression:D,applyCompressionSummary:P,toWindowMs:d}}),re={__name:"Dashboard",setup(e,{expose:n}){n();const c=q(),t=A(),O=B(),h=H(),b=window.__CC_CONFIG__||{},S=w(()=>b.mode==="project"),y="v5.0.3.133",P=w(()=>t.status),d=w(()=>h.loading),_=w(()=>h.statusLog),D=w(()=>h.telemetryFilters),p=w(()=>h.compression),i=w(()=>h.stats),u=w(()=>Object.entries(p.value.variantDistribution||{})),g=w(()=>p.value.providerDistribution||[]),r=w(()=>p.value.modelDistribution||[]);async function C(){await h.refresh()}async function R(){await h.refreshCompression()}function j(I){return`${((I||0)*100).toFixed(1)}%`}async function L(){await O.createSession("agent"),c.push("/chat")}U(()=>{h.ensureRuntimeSubscription(t),setTimeout(C,300)}),V(()=>{h.stopRuntimeSubscription()});const M={router:c,ws:t,chatStore:O,dashboardStore:h,cfg:b,isProject:S,PRODUCT_VERSION:y,wsStatus:P,loading:d,statusLog:_,telemetryFilters:D,compression:p,stats:i,variantEntries:u,providerEntries:g,modelEntries:r,refresh:C,refreshCompression:R,formatPercent:j,newAgentSession:L,computed:w,onMounted:U,onUnmounted:V,get useRouter(){return q},get ReloadOutlined(){return ae},get ApiOutlined(){return se},get RobotOutlined(){return te},get AppstoreOutlined(){return ee},get MessageOutlined(){return x},get FolderOutlined(){return Y},get DesktopOutlined(){return X},get FileTextOutlined(){return Z},get ToolOutlined(){return Q},get SettingOutlined(){return K},get useWsStore(){return A},get useChatStore(){return B},get useDashboardStore(){return H}};return Object.defineProperty(M,"__isScriptSetup",{enumerable:!1,value:!0}),M}},ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"20px"}},ie={class:"page-title"},de={class:"page-sub"},ce={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},ue={style:{color:"#91caff","font-weight":"600"}},me={style:{color:"#4a6fa5","font-size":"11px","font-family":"monospace"}},fe={class:"stat-header"},ve={class:"stat-label"},he={class:"stat-sub"},be={class:"stat-header"},ye={class:"stat-label"},pe={class:"stat-value",style:{color:"#91caff","font-size":"15px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},_e={class:"stat-sub",style:{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},ge={class:"stat-header"},ke={class:"stat-label"},we={class:"stat-value",style:{color:"#1677ff"}},Se={class:"stat-sub"},Ce={class:"stat-header"},Re={class:"stat-label"},Oe={class:"stat-value",style:{color:"#c084fc"}},Pe={class:"stat-sub"},De={class:"stat-header"},je={class:"stat-label"},Ee={class:"stat-sub"},Te={class:"stat-header"},Fe={class:"stat-label"},ze={class:"stat-value",style:{color:"#13c2c2"}},Ae={class:"stat-sub"},Le={class:"stat-header"},$e={class:"stat-label"},Ne={class:"stat-value",style:{color:"#faad14"}},Me={class:"stat-sub"},qe={class:"status-log"},Ue={class:"telemetry-filter"},Ve={class:"telemetry-filter-label"},Be={class:"telemetry-filter"},He={class:"telemetry-filter-label"},Ie={class:"telemetry-filter"},Ge={class:"telemetry-filter-label"},Je={class:"telemetry-card"},We={class:"telemetry-label"},Ke={class:"telemetry-value"},Qe={class:"telemetry-sub"},Ze={class:"telemetry-card"},Xe={class:"telemetry-label"},Ye={class:"telemetry-value"},xe={class:"telemetry-sub"},et={class:"telemetry-card"},tt={class:"telemetry-label"},st={class:"telemetry-value"},at={class:"telemetry-sub"},ot={class:"telemetry-section"},lt={class:"telemetry-section-title"},rt={key:0,class:"telemetry-empty"},nt={key:1,class:"telemetry-list"},it={class:"telemetry-section"},dt={class:"telemetry-section-title"},ct={key:0,class:"telemetry-empty"},ut={key:1,class:"telemetry-list"},mt={class:"telemetry-section"},ft={class:"telemetry-section-title"},vt={key:0,class:"telemetry-empty"},ht={key:1,class:"telemetry-list"},bt={class:"telemetry-section"},yt={class:"telemetry-section-title"},pt={key:0,class:"telemetry-empty"},_t={key:1,class:"telemetry-list"},gt={style:{color:"#91caff"}},kt={style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},wt={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},St={style:{color:"var(--text-muted)"}};function Ct(e,n,c,t,O,h){const b=k("a-button"),S=k("a-tag"),y=k("a-card"),P=k("a-badge"),d=k("a-col"),_=k("a-row"),D=k("a-space"),p=k("a-select-option"),i=k("a-select"),u=k("a-descriptions-item"),g=k("a-descriptions");return m(),f("div",null,[l("div",ne,[l("div",null,[l("h2",ie,o(e.$t("dashboard.title")),1),l("p",de,o(t.isProject?e.$t("dashboard.subProject",{name:t.cfg.projectName||e.$t("dashboard.unnamedProject")}):e.$t("dashboard.subGlobal")),1)]),s(b,{type:"primary",ghost:"",loading:t.loading,onClick:t.refresh},{icon:a(()=>[s(t.ReloadOutlined)]),default:a(()=>[v(" "+o(e.$t("dashboard.refresh")),1)]),_:1},8,["loading"])]),t.isProject?(m(),z(y,{key:0,style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.25)","margin-bottom":"16px"},size:"small"},{default:a(()=>[l("div",ce,[s(t.FolderOutlined,{style:{color:"#1677ff","font-size":"18px"}}),l("div",null,[l("div",ue,o(t.cfg.projectName||e.$t("dashboard.projectBanner.fallbackName")),1),l("div",me,o(t.cfg.projectRoot),1)]),s(S,{color:"blue",style:{"margin-left":"auto"}},{default:a(()=>[v(o(e.$t("dashboard.projectBanner.tag")),1)]),_:1})])]),_:1})):$("v-if",!0),s(_,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:a(()=>[s(d,{xs:24,sm:12,lg:6},{default:a(()=>[s(y,{class:"stat-card gateway-card",size:"small"},{default:a(()=>[l("div",fe,[l("span",ve,o(e.$t("dashboard.stats.wsGateway")),1),s(P,{status:t.wsStatus==="connected"?"success":"error"},null,8,["status"])]),l("div",{class:"stat-value",style:N({color:t.wsStatus==="connected"?"#52c41a":"#888"})},o(t.wsStatus==="connected"?e.$t("dashboard.stats.wsRunning"):e.$t("dashboard.stats.wsDisconnected")),5),l("div",he,o(e.$t("dashboard.stats.wsPortLine",{port:t.cfg.wsPort||18800,host:t.cfg.wsHost||"127.0.0.1"})),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:a(()=>[s(y,{class:"stat-card",size:"small"},{default:a(()=>[l("div",be,[l("span",ye,o(e.$t("dashboard.stats.currentLlm")),1),s(t.RobotOutlined,{style:{color:"#1677ff"}})]),l("div",pe,o(t.stats.activeLlm||e.$t("dashboard.stats.llmUnconfigured")),1),l("div",_e,o(t.stats.activeModel||"—"),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:a(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[0]||(n[0]=r=>e.$router.push("/skills"))},{default:a(()=>[l("div",ge,[l("span",ke,o(e.$t("dashboard.stats.skills")),1),s(t.AppstoreOutlined,{style:{color:"#1677ff"}})]),l("div",we,o(t.stats.skillCount||"—"),1),l("div",Se,o(e.$t("dashboard.stats.skillsHint")),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:a(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[1]||(n[1]=r=>e.$router.push("/chat"))},{default:a(()=>[l("div",Ce,[l("span",Re,o(e.$t("dashboard.stats.sessions")),1),s(t.MessageOutlined,{style:{color:"#722ed1"}})]),l("div",Oe,o(t.stats.sessionCount),1),l("div",Pe,o(e.$t("dashboard.stats.sessionsHint")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:a(()=>[s(d,{xs:24,sm:8},{default:a(()=>[s(y,{class:"stat-card",size:"small"},{default:a(()=>[l("div",De,[l("span",je,o(e.$t("dashboard.stats.appStatus")),1),s(t.DesktopOutlined,{style:N({color:t.stats.appRunning?"#52c41a":"#888"})},null,8,["style"])]),l("div",{class:"stat-value",style:N({color:t.stats.appRunning?"#52c41a":"#888",fontSize:"15px"})},o(t.stats.appRunning?e.$t("dashboard.stats.appRunning"):t.stats.setupDone?e.$t("dashboard.stats.appReady"):e.$t("dashboard.stats.appNotStarted")),5),l("div",Ee,o(e.$t("dashboard.stats.edition",{name:t.stats.edition||"Community"})),1)]),_:1})]),_:1}),s(d,{xs:24,sm:8},{default:a(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[2]||(n[2]=r=>e.$router.push("/mcp"))},{default:a(()=>[l("div",Te,[l("span",Fe,o(e.$t("dashboard.stats.mcp")),1),s(t.ToolOutlined,{style:{color:"#13c2c2"}})]),l("div",ze,o(t.stats.mcpCount??"—"),1),l("div",Ae,o(e.$t("dashboard.stats.mcpHint")),1)]),_:1})]),_:1}),s(d,{xs:24,sm:8},{default:a(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[3]||(n[3]=r=>e.$router.push("/notes"))},{default:a(()=>[l("div",Le,[l("span",$e,o(e.$t("dashboard.stats.notes")),1),s(t.FileTextOutlined,{style:{color:"#faad14"}})]),l("div",Ne,o(t.stats.noteCount??"—"),1),l("div",Me,o(e.$t("dashboard.stats.notesHint")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:[16,16]},{default:a(()=>[s(d,{xs:24,lg:10},{default:a(()=>[s(y,{title:e.$t("dashboard.quick.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)",height:"100%"}},{default:a(()=>[s(D,{direction:"vertical",style:{width:"100%"},size:"middle"},{default:a(()=>[s(b,{type:"primary",block:"",onClick:n[4]||(n[4]=r=>e.$router.push("/chat"))},{icon:a(()=>[s(t.MessageOutlined)]),default:a(()=>[v(" "+o(t.isProject?e.$t("dashboard.quick.enterProjectChat"):e.$t("dashboard.quick.newAiChat")),1)]),_:1}),s(b,{block:"",onClick:t.newAgentSession,style:{background:"rgba(114,46,209,.12)","border-color":"#722ed1",color:"#722ed1"}},{icon:a(()=>[s(t.RobotOutlined)]),default:a(()=>[v(" "+o(e.$t("dashboard.quick.startAgent")),1)]),_:1}),s(_,{gutter:8},{default:a(()=>[s(d,{span:12},{default:a(()=>[s(b,{block:"",onClick:n[5]||(n[5]=r=>e.$router.push("/services")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[s(t.SettingOutlined)]),default:a(()=>[v(" "+o(e.$t("dashboard.quick.services")),1)]),_:1})]),_:1}),s(d,{span:12},{default:a(()=>[s(b,{block:"",onClick:n[6]||(n[6]=r=>e.$router.push("/logs")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[s(t.FileTextOutlined)]),default:a(()=>[v(" "+o(e.$t("dashboard.quick.logs")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:8},{default:a(()=>[s(d,{span:12},{default:a(()=>[s(b,{block:"",onClick:n[7]||(n[7]=r=>e.$router.push("/skills")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[s(t.AppstoreOutlined)]),default:a(()=>[v(" "+o(e.$t("dashboard.quick.skills")),1)]),_:1})]),_:1}),s(d,{span:12},{default:a(()=>[s(b,{block:"",onClick:n[8]||(n[8]=r=>e.$router.push("/providers")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[s(t.ApiOutlined)]),default:a(()=>[v(" "+o(e.$t("dashboard.quick.providers")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"])]),_:1}),s(d,{xs:24,lg:14},{default:a(()=>[s(y,{title:e.$t("dashboard.status.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"},loading:t.loading},{extra:a(()=>[s(b,{type:"link",size:"small",onClick:n[9]||(n[9]=r=>e.$router.push("/logs"))},{default:a(()=>[v(o(e.$t("dashboard.status.more")),1)]),_:1})]),default:a(()=>[l("pre",qe,o(t.statusLog||e.$t("dashboard.status.placeholder")),1)]),_:1},8,["title","loading"])]),_:1})]),_:1}),s(y,{title:e.$t("dashboard.telemetry.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"},loading:t.loading},{default:a(()=>[s(_,{gutter:[12,12],style:{"margin-bottom":"12px"}},{default:a(()=>[s(d,{xs:24,md:8},{default:a(()=>[l("div",Ue,[l("div",Ve,o(e.$t("dashboard.telemetry.filterWindow")),1),s(i,{value:t.telemetryFilters.windowPreset,"onUpdate:value":n[10]||(n[10]=r=>t.telemetryFilters.windowPreset=r),style:{width:"100%"},onChange:t.refreshCompression},{default:a(()=>[s(p,{value:"all"},{default:a(()=>[v(o(e.$t("dashboard.telemetry.windowAll")),1)]),_:1}),s(p,{value:"1h"},{default:a(()=>[v(o(e.$t("dashboard.telemetry.window1h")),1)]),_:1}),s(p,{value:"24h"},{default:a(()=>[v(o(e.$t("dashboard.telemetry.window24h")),1)]),_:1}),s(p,{value:"7d"},{default:a(()=>[v(o(e.$t("dashboard.telemetry.window7d")),1)]),_:1})]),_:1},8,["value"])])]),_:1}),s(d,{xs:24,md:8},{default:a(()=>[l("div",Be,[l("div",He,o(e.$t("dashboard.telemetry.filterProvider")),1),s(i,{value:t.telemetryFilters.provider,"onUpdate:value":n[11]||(n[11]=r=>t.telemetryFilters.provider=r),style:{width:"100%"},onChange:t.refreshCompression},{default:a(()=>[s(p,{value:""},{default:a(()=>[v(o(e.$t("dashboard.telemetry.providerAll")),1)]),_:1}),(m(!0),f(T,null,F(t.providerEntries,r=>(m(),z(p,{key:r.key,value:r.key},{default:a(()=>[v(o(r.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),s(d,{xs:24,md:8},{default:a(()=>[l("div",Ie,[l("div",Ge,o(e.$t("dashboard.telemetry.filterModel")),1),s(i,{value:t.telemetryFilters.model,"onUpdate:value":n[12]||(n[12]=r=>t.telemetryFilters.model=r),style:{width:"100%"},onChange:t.refreshCompression},{default:a(()=>[s(p,{value:""},{default:a(()=>[v(o(e.$t("dashboard.telemetry.modelAll")),1)]),_:1}),(m(!0),f(T,null,F(t.modelEntries,r=>(m(),z(p,{key:r.key,value:r.key},{default:a(()=>[v(o(r.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1})]),_:1}),s(_,{gutter:[12,12]},{default:a(()=>[s(d,{xs:24,sm:8},{default:a(()=>[l("div",Je,[l("div",We,o(e.$t("dashboard.telemetry.hitRate")),1),l("div",Ke,o(t.formatPercent(t.compression.hitRate)),1),l("div",Qe,o(e.$t("dashboard.telemetry.hitRateSub",{compressed:t.compression.compressedSamples,total:t.compression.samples})),1)])]),_:1}),s(d,{xs:24,sm:8},{default:a(()=>[l("div",Ze,[l("div",Xe,o(e.$t("dashboard.telemetry.savedTokens")),1),l("div",Ye,o(t.compression.totalSavedTokens),1),l("div",xe,o(e.$t("dashboard.telemetry.savedTokensSub",{avg:t.compression.averageSavedTokens})),1)])]),_:1}),s(d,{xs:24,sm:8},{default:a(()=>[l("div",et,[l("div",tt,o(e.$t("dashboard.telemetry.netSavingsRate")),1),l("div",st,o(t.formatPercent(t.compression.netSavingsRate)),1),l("div",at,o(e.$t("dashboard.telemetry.netSavingsRateSub",{original:t.compression.totalOriginalTokens,compressed:t.compression.totalCompressedTokens})),1)])]),_:1})]),_:1}),s(_,{gutter:[16,16],style:{"margin-top":"12px"}},{default:a(()=>[s(d,{xs:24,lg:12},{default:a(()=>[l("div",ot,[l("div",lt,o(e.$t("dashboard.telemetry.strategyDistribution")),1),t.compression.strategyDistribution.length===0?(m(),f("div",rt,o(e.$t("dashboard.telemetry.strategyEmpty")),1)):(m(),f("div",nt,[(m(!0),f(T,null,F(t.compression.strategyDistribution.slice(0,6),r=>(m(),f("div",{key:r.strategy,class:"telemetry-row"},[l("span",null,o(r.strategy),1),l("span",null,o(e.$t("dashboard.telemetry.strategyRow",{hits:r.hits,rate:t.formatPercent(r.hitRate)})),1)]))),128))]))])]),_:1}),s(d,{xs:24,lg:12},{default:a(()=>[l("div",it,[l("div",dt,o(e.$t("dashboard.telemetry.variantDistribution")),1),t.variantEntries.length===0?(m(),f("div",ct,o(e.$t("dashboard.telemetry.variantEmpty")),1)):(m(),f("div",ut,[(m(!0),f(T,null,F(t.variantEntries,([r,C])=>(m(),f("div",{key:r,class:"telemetry-row"},[l("span",null,o(r),1),l("span",null,o(e.$t("dashboard.telemetry.variantRow",{count:C})),1)]))),128))]))])]),_:1})]),_:1}),s(_,{gutter:[16,16],style:{"margin-top":"12px"}},{default:a(()=>[s(d,{xs:24,lg:12},{default:a(()=>[l("div",mt,[l("div",ft,o(e.$t("dashboard.telemetry.providerSlice")),1),t.providerEntries.length===0?(m(),f("div",vt,o(e.$t("dashboard.telemetry.providerEmpty")),1)):(m(),f("div",ht,[(m(!0),f(T,null,F(t.providerEntries.slice(0,6),r=>(m(),f("div",{key:r.key,class:"telemetry-row"},[l("span",null,o(r.key),1),l("span",null,o(e.$t("dashboard.telemetry.providerRow",{samples:r.samples,rate:t.formatPercent(r.hitRate)})),1)]))),128))]))])]),_:1}),s(d,{xs:24,lg:12},{default:a(()=>[l("div",bt,[l("div",yt,o(e.$t("dashboard.telemetry.modelSlice")),1),t.modelEntries.length===0?(m(),f("div",pt,o(e.$t("dashboard.telemetry.modelEmpty")),1)):(m(),f("div",_t,[(m(!0),f(T,null,F(t.modelEntries.slice(0,6),r=>(m(),f("div",{key:r.key,class:"telemetry-row"},[l("span",null,o(r.key),1),l("span",null,o(e.$t("dashboard.telemetry.modelRow",{samples:r.samples,saved:r.savedTokens})),1)]))),128))]))])]),_:1})]),_:1})]),_:1},8,["title","loading"]),s(y,{title:e.$t("dashboard.info.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:a(()=>[s(g,{column:{xs:1,sm:2,lg:3},size:"small"},{default:a(()=>[s(u,{label:e.$t("dashboard.info.panelMode")},{default:a(()=>[s(S,{color:t.isProject?"blue":"purple"},{default:a(()=>[v(o(t.isProject?e.$t("dashboard.info.modeProject"):e.$t("dashboard.info.modeGlobal")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t.isProject?(m(),z(u,{key:0,label:e.$t("dashboard.info.projectName")},{default:a(()=>[l("span",gt,o(t.cfg.projectName||"—"),1)]),_:1},8,["label"])):$("v-if",!0),t.isProject?(m(),z(u,{key:1,label:e.$t("dashboard.info.projectPath")},{default:a(()=>[l("span",kt,o(t.cfg.projectRoot),1)]),_:1},8,["label"])):$("v-if",!0),s(u,{label:e.$t("dashboard.info.websocket")},{default:a(()=>[l("span",wt," ws://"+o(t.cfg.wsHost||"127.0.0.1")+":"+o(t.cfg.wsPort||18800),1)]),_:1},8,["label"]),s(u,{label:e.$t("dashboard.info.auth")},{default:a(()=>[s(S,{color:t.cfg.wsToken?"green":"default",style:{"font-size":"11px"}},{default:a(()=>[v(o(t.cfg.wsToken?e.$t("dashboard.info.authEnabled"):e.$t("dashboard.info.authDisabled")),1)]),_:1},8,["color"])]),_:1},8,["label"]),s(u,{label:e.$t("dashboard.info.version")},{default:a(()=>[l("span",St,o(t.PRODUCT_VERSION),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["title"])])}const jt=W(re,[["render",Ct],["__scopeId","data-v-7f773d42"],["__file","/tmp/cc-web-panel-ligafk/repo/packages/web-panel/src/views/Dashboard.vue"]]);export{jt as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{I as m,J as y,U as f,c as s,K as o,V as v,S as R,Q as g,o as Q,b as q,r as x,P as i,F as N,Z as K,R as k,a2 as Y}from"./vendor-BvqAck49.js";import{_ as $,u as Z,d as u}from"./index-D4it444p.js";import{aB as ee,aQ as te,R as ne,as as le,y as ae}from"./icons-DP3uiYxy.js";const oe={__name:"RssFeed",setup(G,{expose:a}){a();const h=Z(),e=x(!1),M=x(!1),j=x(!1),w=x(!1),b=x([]),S=x([]),C=x(""),L=x(!1),O=x(""),z=x([]),D=q(()=>{const l=b.value.length,n=S.value.length,d=S.value.filter(p=>!p.read).length,r=b.value.filter(p=>p.lastUpdated).sort((p,X)=>new Date(X.lastUpdated)-new Date(p.lastUpdated))[0],c=r?I(r.lastUpdated):"-";return[{label:"订阅源数",value:l,color:"#1677ff"},{label:"文章总数",value:n,color:"#52c41a"},{label:"未读文章",value:d,color:"#faad14"},{label:"最近刷新",value:c,color:"#13c2c2"}]}),P=[{title:"标题",key:"title",dataIndex:"title",ellipsis:!0},{title:"来源",key:"source",dataIndex:"source",width:"140px"},{title:"发布时间",key:"publishedAt",dataIndex:"publishedAt",width:"160px"},{title:"状态",key:"status",width:"80px"},{title:"操作",key:"actions",width:"100px"}];function I(l){if(!l)return"-";try{const n=new Date(l);return isNaN(n.getTime())?l:n.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}catch{return l}}function U(l){try{const n=l.match(/(\[[\s\S]*\]|\{[\s\S]*\})/);if(n)return JSON.parse(n[1])}catch{}return null}async function A(){e.value=!0;try{const{output:l}=await h.execute("rss list --json",2e4),n=U(l);Array.isArray(n)?b.value=n.map((d,r)=>({key:d.id||d.url||r,id:d.id||String(r),title:d.title||d.name||"",url:d.url||d.feedUrl||"",itemCount:d.itemCount??d.articleCount??d.count??0,lastUpdated:d.lastUpdated||d.updatedAt||d.lastRefresh||""})):b.value=T(l)}catch(l){u.error("加载订阅源失败: "+l.message)}finally{e.value=!1}}function T(l){const n=[],d=l.split(`
|
|
2
|
-
`);for(const r of d){const c=r.trim();if(!c||c.startsWith("─")||c.match(/^\d+ feed/i)||c.startsWith("RSS")||c.startsWith("No "))continue;const p=c.match(/^(\d+)\.\s+(.+?)(?:\s+[-–]\s+(.+))?$/);p?n.push({key:p[1],id:p[1],title:p[2].trim(),url:(p[3]||"").trim(),itemCount:0,lastUpdated:""}):c.length>5&&n.push({key:String(n.length),id:String(n.length),title:c.slice(0,80),url:"",itemCount:0,lastUpdated:""})}return n}async function F(){M.value=!0,z.value=[];try{let l="rss articles --limit 30 --json";C.value&&(l=`rss articles --feed ${C.value} --limit 30 --json`);const{output:n}=await h.execute(l,2e4),d=U(n);Array.isArray(d)?S.value=d.map((r,c)=>({key:r.id||String(c),id:r.id||String(c),title:r.title||"无标题",link:r.link||r.url||"",source:r.source||r.feedTitle||r.feedName||"",publishedAt:r.publishedAt||r.pubDate||r.date||"",read:!!r.read,summary:r.summary||r.description||"",content:r.content||""})):S.value=W(n)}catch(l){u.error("加载文章失败: "+l.message)}finally{M.value=!1}}function W(l){const n=[],d=l.split(`
|
|
3
|
-
`);for(const r of d){const c=r.trim();if(!c||c.startsWith("─")||c.match(/^\d+ article/i)||c.startsWith("No "))continue;const p=c.match(/^(\d+)\.\s+(.+?)(?:\s+[-–]\s+(.+))?$/);p&&n.push({key:p[1],id:p[1],title:p[2].trim(),link:"",source:(p[3]||"").trim(),publishedAt:"",read:!1,summary:"",content:""})}return n}async function B(){const l=O.value.trim();if(!l){u.warning("请输入订阅源地址");return}w.value=!0;try{const{output:n}=await h.execute(`rss add "${l}"`,3e4);n.includes("error")||n.includes("失败")||n.includes("Error")?u.error("添加失败: "+n.slice(0,120)):(u.success("订阅源已添加"),L.value=!1,O.value="",await A(),await F())}catch(n){u.error("添加失败: "+n.message)}finally{w.value=!1}}async function E(l){try{u.loading({content:`正在刷新 ${l.title||l.id}...`,key:"refreshFeed"}),await h.execute(`rss refresh ${l.id}`,3e4),u.success({content:"刷新完成",key:"refreshFeed"}),await A(),await F()}catch(n){u.error({content:"刷新失败: "+n.message,key:"refreshFeed"})}}async function V(l){try{u.loading({content:`正在删除 ${l.title||l.id}...`,key:"removeFeed"});const{output:n}=await h.execute(`rss remove ${l.id}`,2e4);n.includes("error")||n.includes("失败")?u.error({content:"删除失败: "+n.slice(0,120),key:"removeFeed"}):(u.success({content:"已删除订阅源",key:"removeFeed"}),await A(),await F())}catch(n){u.error({content:"删除失败: "+n.message,key:"removeFeed"})}}async function t(){j.value=!0;try{u.loading({content:"正在刷新所有订阅源...",key:"refreshAll"}),await h.execute("rss refresh-all",6e4),u.success({content:"全部刷新完成",key:"refreshAll"}),await A(),await F()}catch(l){u.error({content:"刷新失败: "+l.message,key:"refreshAll"})}finally{j.value=!1}}async function _(l){try{await h.execute(`rss mark-read ${l.id}`,1e4),l.read=!0,u.success("已标记已读")}catch(n){u.error("操作失败: "+n.message)}}function J(l,n){z.value=l?[n.key]:[]}Q(async()=>{await A(),await F()});const H={ws:h,feedsLoading:e,articlesLoading:M,refreshingAll:j,adding:w,feeds:b,articles:S,selectedFeedId:C,showAddModal:L,newFeedUrl:O,expandedKeys:z,statsCards:D,articleColumns:P,formatTime:I,safeParseJson:U,loadFeeds:A,parseFeedListText:T,loadArticles:F,parseArticlesText:W,addFeed:B,refreshFeed:E,removeFeed:V,refreshAllFeeds:t,markRead:_,onExpandArticle:J,ref:x,computed:q,onMounted:Q,get ReadOutlined(){return ae},get PlusOutlined(){return le},get ReloadOutlined(){return ne},get DeleteOutlined(){return te},get LinkOutlined(){return ee},get message(){return u},get useWsStore(){return Z}};return Object.defineProperty(H,"__isScriptSetup",{enumerable:!1,value:!0}),H}},se={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},re={key:0,style:{"text-align":"center",padding:"60px"}},ie={style:{display:"flex","align-items":"center",gap:"6px",overflow:"hidden"}},de={style:{color:"#e0e0e0","font-size":"13px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},ce={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"6px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},ue={style:{display:"flex","justify-content":"space-between",color:"var(--text-secondary)","font-size":"12px"}},me={key:2,style:{"text-align":"center",padding:"40px",color:"var(--text-muted)","margin-bottom":"24px"}},pe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"12px"}},ye={key:3,style:{"text-align":"center",padding:"60px"}},fe=["href"],ge={key:1,style:{color:"#e0e0e0","font-weight":"500"}},_e={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},ve={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},xe={style:{padding:"8px 16px",color:"var(--text-secondary)","font-size":"13px","line-height":"1.8","max-height":"300px","overflow-y":"auto"}},ke={key:0,style:{"margin-bottom":"8px"}},he=["innerHTML"],we={key:2,style:{color:"var(--text-muted)"}},be={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}};function Ae(G,a,h,e,M,j){const w=m("a-button"),b=m("a-space"),S=m("a-statistic"),C=m("a-card"),L=m("a-col"),O=m("a-row"),z=m("a-spin"),D=m("a-menu-item"),P=m("a-menu"),I=m("a-dropdown"),U=m("a-select-option"),A=m("a-select"),T=m("a-tag"),F=m("a-table"),W=m("a-input"),B=m("a-form-item"),E=m("a-form"),V=m("a-modal");return i(),y("div",null,[f("div",se,[a[6]||(a[6]=f("div",null,[f("h2",{class:"page-title"},"RSS 订阅"),f("p",{class:"page-sub"},"订阅源 / 文章阅读")],-1)),s(b,null,{default:o(()=>[s(w,{type:"primary",onClick:a[0]||(a[0]=t=>e.showAddModal=!0)},{icon:o(()=>[s(e.PlusOutlined)]),default:o(()=>[a[4]||(a[4]=g(" 添加订阅 ",-1))]),_:1}),s(w,{ghost:"",loading:e.refreshingAll,onClick:e.refreshAllFeeds},{icon:o(()=>[s(e.ReloadOutlined)]),default:o(()=>[a[5]||(a[5]=g(" 全部刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),v(" Stats Cards "),s(O,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:o(()=>[(i(!0),y(N,null,K(e.statsCards,t=>(i(),R(L,{xs:12,sm:6,key:t.label},{default:o(()=>[s(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:o(()=>[s(S,{title:t.label,value:t.value,"value-style":{color:t.color,fontSize:"20px"}},null,8,["title","value","value-style"])]),_:2},1024)]),_:2},1024))),128))]),_:1}),v(" Section 1: Feed Sources "),a[16]||(a[16]=f("h3",{style:{color:"var(--text-primary)","margin-bottom":"12px"}},"订阅源管理",-1)),e.feedsLoading?(i(),y("div",re,[s(z,{size:"large"})])):e.feeds.length>0?(i(),R(O,{key:1,gutter:[16,16],style:{"margin-bottom":"24px"}},{default:o(()=>[(i(!0),y(N,null,K(e.feeds,t=>(i(),R(L,{xs:24,sm:12,md:8,lg:6,key:t.id||t.url},{default:o(()=>[s(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small",hoverable:!0},{title:o(()=>[f("div",ie,[s(e.ReadOutlined,{style:{color:"#1677ff","flex-shrink":"0"}}),f("span",de,k(t.title||"未命名订阅"),1)])]),extra:o(()=>[s(I,null,{overlay:o(()=>[s(P,null,{default:o(()=>[s(D,{onClick:_=>e.refreshFeed(t)},{default:o(()=>[s(e.ReloadOutlined),a[8]||(a[8]=g(" 刷新 ",-1))]),_:1},8,["onClick"]),s(D,{onClick:_=>e.removeFeed(t),danger:""},{default:o(()=>[s(e.DeleteOutlined),a[9]||(a[9]=g(" 删除 ",-1))]),_:1},8,["onClick"])]),_:2},1024)]),default:o(()=>[s(w,{size:"small",type:"text",style:{color:"var(--text-muted)"}},{default:o(()=>[...a[7]||(a[7]=[g("...",-1)])]),_:1})]),_:2},1024)]),default:o(()=>[f("p",ce,[s(e.LinkOutlined),g(" "+k(t.url||"-"),1)]),f("div",ue,[f("span",null,k(t.itemCount??"-")+" 篇文章",1),f("span",null,k(e.formatTime(t.lastUpdated)),1)])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(i(),y("div",me,[s(e.ReadOutlined,{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),a[10]||(a[10]=g(' 暂无订阅源,点击"添加订阅"开始 ',-1))])),v(" Section 2: Articles "),f("div",pe,[a[12]||(a[12]=f("h3",{style:{color:"var(--text-primary)",margin:"0"}},"文章列表",-1)),s(b,null,{default:o(()=>[s(A,{value:e.selectedFeedId,"onUpdate:value":a[1]||(a[1]=t=>e.selectedFeedId=t),style:{"min-width":"180px"},placeholder:"筛选订阅源","allow-clear":"",onChange:e.loadArticles},{default:o(()=>[s(U,{value:""},{default:o(()=>[...a[11]||(a[11]=[g("全部订阅",-1)])]),_:1}),(i(!0),y(N,null,K(e.feeds,t=>(i(),R(U,{key:t.id,value:t.id},{default:o(()=>[g(k(t.title||t.url),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),s(w,{loading:e.articlesLoading,onClick:e.loadArticles},{icon:o(()=>[s(e.ReloadOutlined)]),_:1},8,["loading"])]),_:1})]),e.articlesLoading?(i(),y("div",ye,[s(z,{size:"large"})])):(i(),R(F,{key:4,columns:e.articleColumns,"data-source":e.articles,pagination:{pageSize:20,showTotal:t=>`共 ${t} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"rss-row",expandable:{expandedRowKeys:e.expandedKeys,onExpand:e.onExpandArticle}},{bodyCell:o(({column:t,record:_})=>[t.key==="title"?(i(),y(N,{key:0},[_.link?(i(),y("a",{key:0,href:_.link,target:"_blank",rel:"noopener noreferrer",style:{color:"#1677ff","font-weight":"500"}},[s(e.LinkOutlined,{style:{"margin-right":"4px"}}),g(k(_.title),1)],8,fe)):(i(),y("span",ge,k(_.title),1))],64)):v("v-if",!0),t.key==="source"?(i(),R(T,{key:1,color:"blue",style:{"font-size":"10px"}},{default:o(()=>[g(k(_.source||"-"),1)]),_:2},1024)):v("v-if",!0),t.key==="publishedAt"?(i(),y("span",_e,k(e.formatTime(_.publishedAt)),1)):v("v-if",!0),t.key==="status"?(i(),R(T,{key:3,color:_.read?"default":"green"},{default:o(()=>[g(k(_.read?"已读":"未读"),1)]),_:2},1032,["color"])):v("v-if",!0),t.key==="actions"?(i(),y(N,{key:4},[_.read?(i(),y("span",ve,"--")):(i(),R(w,{key:0,size:"small",type:"link",onClick:Y(J=>e.markRead(_),["stop"])},{default:o(()=>[...a[13]||(a[13]=[g(" 标记已读 ",-1)])]),_:1},8,["onClick"]))],64)):v("v-if",!0)]),expandedRowRender:o(({record:t})=>[f("div",xe,[t.summary?(i(),y("div",ke,[a[14]||(a[14]=f("strong",{style:{color:"var(--text-primary)"}},"摘要: ",-1)),g(k(t.summary),1)])):v("v-if",!0),t.content?(i(),y("div",{key:1,innerHTML:t.content,style:{color:"var(--text-secondary)"}},null,8,he)):v("v-if",!0),!t.summary&&!t.content?(i(),y("div",we,"暂无内容预览")):v("v-if",!0)])]),emptyText:o(()=>[f("div",be,[s(e.ReadOutlined,{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),a[15]||(a[15]=g(" 暂无文章 ",-1))])]),_:1},8,["data-source","pagination","expandable"])),v(" Add Feed Modal "),s(V,{open:e.showAddModal,"onUpdate:open":a[3]||(a[3]=t=>e.showAddModal=t),title:"添加订阅源","confirm-loading":e.adding,onOk:e.addFeed,"ok-text":"添加","cancel-text":"取消"},{default:o(()=>[s(E,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:o(()=>[s(B,{label:"URL",required:""},{default:o(()=>[s(W,{value:e.newFeedUrl,"onUpdate:value":a[2]||(a[2]=t=>e.newFeedUrl=t),placeholder:"输入 RSS 订阅源地址,如 https://example.com/feed.xml"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirm-loading"])])}const Ce=$(oe,[["render",Ae],["__scopeId","data-v-59e72a50"],["__file","/tmp/cc-web-panel-ligafk/repo/packages/web-panel/src/views/RssFeed.vue"]]);export{Ce as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{R as r}from"./index-D4it444p.js";const o=((n,a,e)=>{r(n,`[ant-design-vue: ${a}] ${e}`)});export{o as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as o}from"./Row-DtGT9VXo.js";import{a0 as t}from"./index-D4it444p.js";import"./vendor-BvqAck49.js";import"./responsiveObserve-DxtcM-r9.js";import"./useFlexGapSupport-DB-sP5mv.js";import"./styleChecker-4gYXGrlZ.js";import"./index-CZY1CcMi.js";import"./icons-DP3uiYxy.js";const l=t(o);export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{q as k,O as q,h as p,f as N,I as L,P as F,S as G,i as M}from"./index-D4it444p.js";import{d as W,b as o,w as H,c as v,F as J,r as j}from"./vendor-BvqAck49.js";import{u as K}from"./useFlexGapSupport-DB-sP5mv.js";import{a as Q,C as h}from"./Compact-CxkCfnD4.js";import"./icons-DP3uiYxy.js";import"./styleChecker-4gYXGrlZ.js";import"./createContext-BxF4heyS.js";import"./_getTag-DnrRH4E6.js";const U={small:8,middle:16,large:24},X=()=>({prefixCls:String,size:{type:[String,Number,Array]},direction:F.oneOf(G("horizontal","vertical")).def("horizontal"),align:F.oneOf(G("start","end","center","baseline")),wrap:L()});function Y(e){return typeof e=="string"?U[e]:e||0}const d=W({compatConfig:{MODE:3},name:"ASpace",inheritAttrs:!1,props:X(),slots:Object,setup(e,B){let{slots:r,attrs:f}=B;const{prefixCls:l,space:g,direction:x}=k("space",e),[P,D]=Q(l),z=K(),n=o(()=>{var t,a,i;return(i=(t=e.size)!==null&&t!==void 0?t:(a=g?.value)===null||a===void 0?void 0:a.size)!==null&&i!==void 0?i:"small"}),y=j(),s=j();H(n,()=>{[y.value,s.value]=(Array.isArray(n.value)?n.value:[n.value,n.value]).map(t=>Y(t))},{immediate:!0});const C=o(()=>e.align===void 0&&e.direction==="horizontal"?"center":e.align),E=o(()=>M(l.value,D.value,`${l.value}-${e.direction}`,{[`${l.value}-rtl`]:x.value==="rtl",[`${l.value}-align-${C.value}`]:C.value})),R=o(()=>x.value==="rtl"?"marginLeft":"marginRight"),T=o(()=>{const t={};return z.value&&(t.columnGap=`${y.value}px`,t.rowGap=`${s.value}px`),p(p({},t),e.wrap&&{flexWrap:"wrap",marginBottom:`${-s.value}px`})});return()=>{var t,a;const{wrap:i,direction:V="horizontal"}=e,b=(t=r.default)===null||t===void 0?void 0:t.call(r),w=q(b),_=w.length;if(_===0)return null;const c=(a=r.split)===null||a===void 0?void 0:a.call(r),A=`${l.value}-item`,O=y.value,S=_-1;return v("div",N(N({},f),{},{class:[E.value,f.class],style:[T.value,f.style]}),[w.map((I,u)=>{let $=b.indexOf(I);$===-1&&($=`$$space-${u}`);let m={};return z.value||(V==="vertical"?u<S&&(m={marginBottom:`${O/(c?2:1)}px`}):m=p(p({},u<S&&{[R.value]:`${O/(c?2:1)}px`}),i&&{paddingBottom:`${s.value}px`})),P(v(J,{key:$},[v("div",{class:A,style:m},[I]),u<S&&c&&v("span",{class:`${A}-split`,style:m},[c])]))})])}}});d.Compact=h;d.install=function(e){return e.component(d.name,d),e.component(h.name,h),e};export{h as Compact,d as default,X as spaceProps};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as L,m as O,h as w,r as V,n as W,a0 as _,N as A,q as X,f as $,a1 as v,P as c,S as R,w as f}from"./index-D4it444p.js";import{d as j,b as p,m as K,r as b,w as N,o as U,n as q,c as o}from"./vendor-BvqAck49.js";import{T as G,L as Q}from"./icons-DP3uiYxy.js";import{K as C}from"./KeyCode-D63Tfrq7.js";import{W as J}from"./index-CDgK11Jy.js";import{u as Y}from"./FormItemContext-BVy_AKdW.js";import{o as Z}from"./omit-BoixPnCY.js";import"./isVisible-C7tPsqfj.js";import"./useState-BK4hy8Ma.js";import"./raf-Deuc0E8-.js";import"./devWarning-B-PQddh3.js";import"./createContext-BxF4heyS.js";const k=i=>{const{componentCls:n}=i,e=`${n}-inner`;return{[n]:{[`&${n}-small`]:{minWidth:i.switchMinWidthSM,height:i.switchHeightSM,lineHeight:`${i.switchHeightSM}px`,[`${n}-inner`]:{paddingInlineStart:i.switchInnerMarginMaxSM,paddingInlineEnd:i.switchInnerMarginMinSM,[`${e}-checked`]:{marginInlineStart:`calc(-100% + ${i.switchPinSizeSM+i.switchPadding*2}px - ${i.switchInnerMarginMaxSM*2}px)`,marginInlineEnd:`calc(100% - ${i.switchPinSizeSM+i.switchPadding*2}px + ${i.switchInnerMarginMaxSM*2}px)`},[`${e}-unchecked`]:{marginTop:-i.switchHeightSM,marginInlineStart:0,marginInlineEnd:0}},[`${n}-handle`]:{width:i.switchPinSizeSM,height:i.switchPinSizeSM},[`${n}-loading-icon`]:{top:(i.switchPinSizeSM-i.switchLoadingIconSize)/2,fontSize:i.switchLoadingIconSize},[`&${n}-checked`]:{[`${n}-inner`]:{paddingInlineStart:i.switchInnerMarginMinSM,paddingInlineEnd:i.switchInnerMarginMaxSM,[`${e}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${e}-unchecked`]:{marginInlineStart:`calc(100% - ${i.switchPinSizeSM+i.switchPadding*2}px + ${i.switchInnerMarginMaxSM*2}px)`,marginInlineEnd:`calc(-100% + ${i.switchPinSizeSM+i.switchPadding*2}px - ${i.switchInnerMarginMaxSM*2}px)`}},[`${n}-handle`]:{insetInlineStart:`calc(100% - ${i.switchPinSizeSM+i.switchPadding}px)`}},[`&:not(${n}-disabled):active`]:{[`&:not(${n}-checked) ${e}`]:{[`${e}-unchecked`]:{marginInlineStart:i.marginXXS/2,marginInlineEnd:-i.marginXXS/2}},[`&${n}-checked ${e}`]:{[`${e}-checked`]:{marginInlineStart:-i.marginXXS/2,marginInlineEnd:i.marginXXS/2}}}}}}},ii=i=>{const{componentCls:n}=i;return{[n]:{[`${n}-loading-icon${i.iconCls}`]:{position:"relative",top:(i.switchPinSize-i.fontSize)/2,color:i.switchLoadingIconColor,verticalAlign:"top"},[`&${n}-checked ${n}-loading-icon`]:{color:i.switchColor}}}},ni=i=>{const{componentCls:n}=i,e=`${n}-handle`;return{[n]:{[e]:{position:"absolute",top:i.switchPadding,insetInlineStart:i.switchPadding,width:i.switchPinSize,height:i.switchPinSize,transition:`all ${i.switchDuration} ease-in-out`,"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:i.colorWhite,borderRadius:i.switchPinSize/2,boxShadow:i.switchHandleShadow,transition:`all ${i.switchDuration} ease-in-out`,content:'""'}},[`&${n}-checked ${e}`]:{insetInlineStart:`calc(100% - ${i.switchPinSize+i.switchPadding}px)`},[`&:not(${n}-disabled):active`]:{[`${e}::before`]:{insetInlineEnd:i.switchHandleActiveInset,insetInlineStart:0},[`&${n}-checked ${e}::before`]:{insetInlineEnd:0,insetInlineStart:i.switchHandleActiveInset}}}}},ei=i=>{const{componentCls:n}=i,e=`${n}-inner`;return{[n]:{[e]:{display:"block",overflow:"hidden",borderRadius:100,height:"100%",paddingInlineStart:i.switchInnerMarginMax,paddingInlineEnd:i.switchInnerMarginMin,transition:`padding-inline-start ${i.switchDuration} ease-in-out, padding-inline-end ${i.switchDuration} ease-in-out`,[`${e}-checked, ${e}-unchecked`]:{display:"block",color:i.colorTextLightSolid,fontSize:i.fontSizeSM,transition:`margin-inline-start ${i.switchDuration} ease-in-out, margin-inline-end ${i.switchDuration} ease-in-out`,pointerEvents:"none"},[`${e}-checked`]:{marginInlineStart:`calc(-100% + ${i.switchPinSize+i.switchPadding*2}px - ${i.switchInnerMarginMax*2}px)`,marginInlineEnd:`calc(100% - ${i.switchPinSize+i.switchPadding*2}px + ${i.switchInnerMarginMax*2}px)`},[`${e}-unchecked`]:{marginTop:-i.switchHeight,marginInlineStart:0,marginInlineEnd:0}},[`&${n}-checked ${e}`]:{paddingInlineStart:i.switchInnerMarginMin,paddingInlineEnd:i.switchInnerMarginMax,[`${e}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${e}-unchecked`]:{marginInlineStart:`calc(100% - ${i.switchPinSize+i.switchPadding*2}px + ${i.switchInnerMarginMax*2}px)`,marginInlineEnd:`calc(-100% + ${i.switchPinSize+i.switchPadding*2}px - ${i.switchInnerMarginMax*2}px)`}},[`&:not(${n}-disabled):active`]:{[`&:not(${n}-checked) ${e}`]:{[`${e}-unchecked`]:{marginInlineStart:i.switchPadding*2,marginInlineEnd:-i.switchPadding*2}},[`&${n}-checked ${e}`]:{[`${e}-checked`]:{marginInlineStart:-i.switchPadding*2,marginInlineEnd:i.switchPadding*2}}}}}},ai=i=>{const{componentCls:n}=i;return{[n]:w(w(w(w({},V(i)),{position:"relative",display:"inline-block",boxSizing:"border-box",minWidth:i.switchMinWidth,height:i.switchHeight,lineHeight:`${i.switchHeight}px`,verticalAlign:"middle",background:i.colorTextQuaternary,border:"0",borderRadius:100,cursor:"pointer",transition:`all ${i.motionDurationMid}`,userSelect:"none",[`&:hover:not(${n}-disabled)`]:{background:i.colorTextTertiary}}),W(i)),{[`&${n}-checked`]:{background:i.switchColor,[`&:hover:not(${n}-disabled)`]:{background:i.colorPrimaryHover}},[`&${n}-loading, &${n}-disabled`]:{cursor:"not-allowed",opacity:i.switchDisabledOpacity,"*":{boxShadow:"none",cursor:"not-allowed"}},[`&${n}-rtl`]:{direction:"rtl"}})}},ci=L("Switch",i=>{const n=i.fontSize*i.lineHeight,e=i.controlHeight/2,t=2,h=n-t*2,l=e-t*2,s=O(i,{switchMinWidth:h*2+t*4,switchHeight:n,switchDuration:i.motionDurationMid,switchColor:i.colorPrimary,switchDisabledOpacity:i.opacityLoading,switchInnerMarginMin:h/2,switchInnerMarginMax:h+t+t*2,switchPadding:t,switchPinSize:h,switchBg:i.colorBgContainer,switchMinWidthSM:l*2+t*2,switchHeightSM:e,switchInnerMarginMinSM:l/2,switchInnerMarginMaxSM:l+t+t*2,switchPinSizeSM:l,switchHandleShadow:`0 2px 4px 0 ${new G("#00230b").setAlpha(.2).toRgbString()}`,switchLoadingIconSize:i.fontSizeIcon*.75,switchLoadingIconColor:`rgba(0, 0, 0, ${i.opacityLoading})`,switchHandleActiveInset:"-30%"});return[ai(s),ei(s),ni(s),ii(s),k(s)]}),ti=R("small","default"),di=()=>({id:String,prefixCls:String,size:c.oneOf(ti),disabled:{type:Boolean,default:void 0},checkedChildren:c.any,unCheckedChildren:c.any,tabindex:c.oneOfType([c.string,c.number]),autofocus:{type:Boolean,default:void 0},loading:{type:Boolean,default:void 0},checked:c.oneOfType([c.string,c.number,c.looseBool]),checkedValue:c.oneOfType([c.string,c.number,c.looseBool]).def(!0),unCheckedValue:c.oneOfType([c.string,c.number,c.looseBool]).def(!1),onChange:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onMouseup:{type:Function},"onUpdate:checked":{type:Function},onBlur:Function,onFocus:Function}),li=j({compatConfig:{MODE:3},name:"ASwitch",__ANT_SWITCH:!0,inheritAttrs:!1,props:di(),slots:Object,setup(i,n){let{attrs:e,slots:t,expose:h,emit:l}=n;const s=Y(),x=A(),g=p(()=>{var a;return(a=i.disabled)!==null&&a!==void 0?a:x.value});K(()=>{f(!("defaultChecked"in e),"Switch","'defaultChecked' is deprecated, please use 'v-model:checked'"),f(!("value"in e),"Switch","`value` is not validate prop, do you mean `checked`?")});const S=b(i.checked!==void 0?i.checked:e.defaultChecked),I=p(()=>S.value===i.checkedValue);N(()=>i.checked,()=>{S.value=i.checked});const{prefixCls:d,direction:y,size:P}=X("switch",i),[z,H]=ci(d),u=b(),M=()=>{var a;(a=u.value)===null||a===void 0||a.focus()};h({focus:M,blur:()=>{var a;(a=u.value)===null||a===void 0||a.blur()}}),U(()=>{q(()=>{i.autofocus&&!g.value&&u.value.focus()})});const m=(a,r)=>{g.value||(l("update:checked",a),l("change",a,r),s.onFieldChange())},E=a=>{l("blur",a)},T=a=>{M();const r=I.value?i.unCheckedValue:i.checkedValue;m(r,a),l("click",r,a)},D=a=>{a.keyCode===C.LEFT?m(i.unCheckedValue,a):a.keyCode===C.RIGHT&&m(i.checkedValue,a),l("keydown",a)},B=a=>{var r;(r=u.value)===null||r===void 0||r.blur(),l("mouseup",a)},F=p(()=>({[`${d.value}-small`]:P.value==="small",[`${d.value}-loading`]:i.loading,[`${d.value}-checked`]:I.value,[`${d.value}-disabled`]:g.value,[d.value]:!0,[`${d.value}-rtl`]:y.value==="rtl",[H.value]:!0}));return()=>{var a;return z(o(J,null,{default:()=>[o("button",$($($({},Z(i,["prefixCls","checkedChildren","unCheckedChildren","checked","autofocus","checkedValue","unCheckedValue","id","onChange","onUpdate:checked"])),e),{},{id:(a=i.id)!==null&&a!==void 0?a:s.id.value,onKeydown:D,onClick:T,onBlur:E,onMouseup:B,type:"button",role:"switch","aria-checked":S.value,disabled:g.value||i.loading,class:[e.class,F.value],ref:u}),[o("div",{class:`${d.value}-handle`},[i.loading?o(Q,{class:`${d.value}-loading-icon`},null):null]),o("span",{class:`${d.value}-inner`},[o("span",{class:`${d.value}-inner-checked`},[v(t,i,"checkedChildren")]),o("span",{class:`${d.value}-inner-unchecked`},[v(t,i,"unCheckedChildren")])])])]}))}}}),vi=_(li);export{ti as SwitchSizes,vi as default,di as switchProps};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as o}from"./Col-BY1bz9zm.js";import{a0 as t}from"./index-D4it444p.js";import"./vendor-BvqAck49.js";import"./index-CZY1CcMi.js";import"./icons-DP3uiYxy.js";const s=t(o);export{s as default};
|