chainlesschain 0.162.85 → 0.162.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-9s5boloe.js → AIOps-B5qoKwDX.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-nuq5gtIb.js → ActionButton-BdKytPee.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-DrDHYSjZ.js → Analytics-CeSpW9WC.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-BDs4ULs3.js → AppLayout-CN0HcGHl.js} +5 -5
- package/src/assets/web-panel/assets/{Audit-DaqX39ZA.js → Audit-DiLVSuxs.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-ZpAZcYWU.js → Backup-RBZEr_Cm.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-rEL4bCmz.js → BaseInput-BLwgjz7w.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-LkXtveTN.js → Chat-hWbKo3Y8.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-BdkD-opG.js → ChatBubbleRenderer-DCQz2Fh1.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-B_nJ54jp.js → Checkbox-DjSvCtwm.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-C0NHbbUn.js → Codegen-CS5mCkDD.js} +1 -1
- package/src/assets/web-panel/assets/{Col-Bijl1DuU.js → Col-CXZT4-Kf.js} +1 -1
- package/src/assets/web-panel/assets/{Community-CVxkvzf7.js → Community-sRpeoMwv.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-CXmuCEc2.js → Compact-DLud5sT4.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-CsP-YVrE.js → Compliance-BaC6_OKU.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-B31Nw8vF.js → Cowork-CkDgjPCR.js} +4 -4
- package/src/assets/web-panel/assets/{Cron-Bo_cDFwM.js → Cron-JIyvROA6.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-D0C8hYOr.js → Crosschain-3zqCVPCv.js} +1 -1
- package/src/assets/web-panel/assets/{DID-eq7i-KXB.js → DID-B3tgwNrV.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-CVRBWNgx.js → Dashboard-7bPbgI4P.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-DcEm3tiv.js → Dropdown--vLJWMQt.js} +1 -1
- package/src/assets/web-panel/assets/EmailListRenderer-By5OyD2q.js +1 -0
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-C1THZ4cA.js → FamilyGuardDashboard-CCox4cK9.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-BO6tO2cA.js → Federation--4n8yx-h.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-BLCjbBnQ.js → FormItemContext-CP8g135H.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-HGQG6O9G.js → GenericCardRenderer-DhiGHyKC.js} +1 -1
- package/src/assets/web-panel/assets/{Git-DN44Wtw8.js → Git-CrnIJELY.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-BwUlWRZa.js → Governance-BudsrPFK.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-CI7XUJpq.js → Inference-Dmi_oji4.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-D5AFdDA1.js → KnowledgeGraph-C25fw0FO.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-ChxfsVjf.js → Logs-DShQrjB9.js} +2 -2
- package/src/assets/web-panel/assets/{Marketplace-fzmD7edl.js → Marketplace-Dkw8f7jY.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-egeEEiOo.js → McpTools-BHx1HO5R.js} +5 -5
- package/src/assets/web-panel/assets/{Memory-ClfkU0Zc.js → Memory-RI41JeXd.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-CZP0a7ug.js → MobileBridge-CelTeD1k.js} +2 -2
- package/src/assets/web-panel/assets/{MobileProjects-ClhNmxpO.js → MobileProjects-B8pQWHvj.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-2W2NWMiR.js → Mtc-CK1SSiwH.js} +4 -4
- package/src/assets/web-panel/assets/{MtcAudit-BTH5f5vy.js → MtcAudit-CRdIoMd4.js} +6 -6
- package/src/assets/web-panel/assets/{Multisig-Dm-8GZVC.js → Multisig-Bw-b9lKa.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-CWvQYw0f.js → NLProgramming-BwwxruYQ.js} +1 -1
- package/src/assets/web-panel/assets/Notes-D4u4Q26j.js +7 -0
- package/src/assets/web-panel/assets/{NotificationSettings-DhGUAxEK.js → NotificationSettings-C6NlrEiz.js} +1 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-B085DzwZ.js +1 -0
- package/src/assets/web-panel/assets/{Organization-BE6PoYoV.js → Organization-CJ-HZOGl.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-CidZn_Vh.js → Overflow-DP-Gr0MB.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-D8KPm4lA.js → P2P-ClZ8vSAq.js} +2 -2
- package/src/assets/web-panel/assets/PdhVaultBrowser-Cp_Cp_QM.js +7 -0
- package/src/assets/web-panel/assets/{Permissions-DBRrTNke.js → Permissions-CFNoSn65.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-DYhCXT0Y.js → PersonalDataHub-BB7QWWJg.js} +4 -4
- package/src/assets/web-panel/assets/{Pipeline-CcP7z75i.js → Pipeline-X8zOudQr.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-DIL17ASI.js → Privacy-BhHTcrIP.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-UbjZrOSd.js → ProjectInit-DyexCLNd.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-DEi3eB8z.js → ProjectSettings-6OwfY6DN.js} +2 -2
- package/src/assets/web-panel/assets/Projects-CXz0fJTM.js +1 -0
- package/src/assets/web-panel/assets/{Providers-BDh_Pzi1.js → Providers-DcV93Yo5.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-BDRMDklR.js → QuickAsk-D-hrghMC.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-SiCcAGiO.js → Recommend-zaqUMInK.js} +1 -1
- package/src/assets/web-panel/assets/{Reputation-CHG51BYr.js → Reputation-F6S8NTxc.js} +1 -1
- package/src/assets/web-panel/assets/{Row-syZxxDmc.js → Row-DAH0pXst.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-CLfcVChu.js → RssFeed-CiAB906Z.js} +3 -3
- package/src/assets/web-panel/assets/{Search-By-0Z5NO.js → Search-Coqx1seG.js} +1 -1
- package/src/assets/web-panel/assets/{Security-gxHVmg1J.js → Security-BoxcgnJV.js} +4 -4
- package/src/assets/web-panel/assets/{Services-DGbUxRrs.js → Services-COCvhr-B.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-JiyfBUz-.js → Skeleton-B1eVJHIi.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-C4xFz9Bd.js → Skills-CE9Dmx9j.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-DyeMx6KJ.js → Sla-BNTAqoF4.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-CY8SKnF9.js → SpeechSettings-Bcz7uwC6.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-t3ZgQs5m.js → SyncSettings-BYavRqFb.js} +2 -2
- package/src/assets/web-panel/assets/Tasks-DIChx79b.js +1 -0
- package/src/assets/web-panel/assets/{Templates-dZ0agBUO.js → Templates-CtFWI9Wo.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-DEoI-tNH.js → Tenant-D3_a2Q-F.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-CvMaElnO.js → Terminal-tUKKFhFe.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-CUS477-i.js → TimelineRenderer-CAuPIfP3.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-B9-haDN7.js → Tokens-HwfHQxS6.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-den4MocY.js → Trigger-DqBh0u8h.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-DqnPipcT.js → Trust-BZisudc4.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-CmPLZGO2.js → UkeySign-BDVHNHgW.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-BcldEyuI.js → VideoEditing-CVg27K9W.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-Dap9Ydle.js → Wallet-C_C9Uozu.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-cSNYDx2c.js → WebAuthn-BJOqrscu.js} +5 -5
- package/src/assets/web-panel/assets/{WorkflowEditor-R4gjxnPH.js → WorkflowEditor-D371gIHp.js} +1 -1
- package/src/assets/web-panel/assets/{chat-Dgaug64C.js → chat-Bg3mtk60.js} +1 -1
- package/src/assets/web-panel/assets/{colors-CzEwsWwx.js → colors-DbsZDd0h.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-DWfrBoYH.js → compact-item-DdUiFvWf.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-DTQOT4YN.js → createContext-CdIrP9Fp.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-Cx5sL2Te.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-BZffORzo.js → hasIn-yRPIU6sb.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bz3VXQHs.js → index--f_sM-jB.js} +1 -1
- package/src/assets/web-panel/assets/{index-C0YRxk_4.js → index-06QSa3lu.js} +1 -1
- package/src/assets/web-panel/assets/{index-C7wTpk38.js → index-3ByeAY2K.js} +1 -1
- package/src/assets/web-panel/assets/{index-BgWQb3ab.js → index-6AVqepI5.js} +1 -1
- package/src/assets/web-panel/assets/{index-BgqftzvZ.js → index-7ME2_dHQ.js} +3 -3
- package/src/assets/web-panel/assets/index-A3QJglda.js +1 -0
- package/src/assets/web-panel/assets/{index-CU_6ho7E.js → index-BB6vndQ4.js} +1 -1
- package/src/assets/web-panel/assets/{index-D_TSRl0O.js → index-BMtLrQ_2.js} +1 -1
- package/src/assets/web-panel/assets/{index-OvBi64nW.js → index-BSg5Da6w.js} +1 -1
- package/src/assets/web-panel/assets/{index-C2pcp3GP.js → index-BVzaPW2D.js} +1 -1
- package/src/assets/web-panel/assets/{index-DFYzC2yk.js → index-Be6UZot2.js} +1 -1
- package/src/assets/web-panel/assets/{index-C-aIuwpi.js → index-Bqz7zZa7.js} +1 -1
- package/src/assets/web-panel/assets/{index-D7h9VCvX.js → index-C-KhRvoX.js} +1 -1
- package/src/assets/web-panel/assets/{index-DRAeb51w.js → index-C1TOvQrI.js} +1 -1
- package/src/assets/web-panel/assets/{index-CN37EzzF.js → index-C1qvwqu6.js} +1 -1
- package/src/assets/web-panel/assets/{index-DGjB2DHG.js → index-C9vGPhlv.js} +1 -1
- package/src/assets/web-panel/assets/{index-CXK7GqtK.js → index-CI6-JPV0.js} +1 -1
- package/src/assets/web-panel/assets/{index-FEhVHCgN.js → index-CI9zX_HP.js} +1 -1
- package/src/assets/web-panel/assets/{index-CZWIp8ei.js → index-CO_F1Qu3.js} +1 -1
- package/src/assets/web-panel/assets/{index-CKs7M2hi.js → index-Ca_WrpLv.js} +1 -1
- package/src/assets/web-panel/assets/{index-D3XaluNc.js → index-CbVz-2sW.js} +1 -1
- package/src/assets/web-panel/assets/{index-D6B2nVTh.js → index-CiSWEzLQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-BI6qopNT.js → index-CkJ_vwPY.js} +1 -1
- package/src/assets/web-panel/assets/{index-3of1AqNk.js → index-Co41LvAQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-OoAfomZi.js → index-DFREoy8V.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bx9jDCsw.js → index-DPG-ZpDS.js} +1 -1
- package/src/assets/web-panel/assets/{index-B4Zncxxn.js → index-DTV6uuEg.js} +1 -1
- package/src/assets/web-panel/assets/{index-CR6f7W_w.js → index-DVdMu7WX.js} +1 -1
- package/src/assets/web-panel/assets/{index-Ov5m4jW7.js → index-DXK5QEYX.js} +1 -1
- package/src/assets/web-panel/assets/index-DYZJhSD2.js +1 -0
- package/src/assets/web-panel/assets/{index-CV7WR2SO.js → index-D_OnF9Ge.js} +1 -1
- package/src/assets/web-panel/assets/{index-4Vr4kM9h.js → index-DhZHHas9.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dlc29Z4D.js → index-DilAf_75.js} +1 -1
- package/src/assets/web-panel/assets/{index-MpkucUn9.js → index-DmN9cfv0.js} +1 -1
- package/src/assets/web-panel/assets/{index-CCHs-tnT.js → index-DoR3E0kH.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cl1aGzuh.js → index-M2Kx4V8G.js} +1 -1
- package/src/assets/web-panel/assets/{index-CS3ZkiIg.js → index-XLmzFKoX.js} +1 -1
- package/src/assets/web-panel/assets/{index-CFNgAerJ.js → index-g_ZbMU32.js} +1 -1
- package/src/assets/web-panel/assets/{index-B5fMCVs_.js → index-xOjyFW4Q.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-B2v8eGiE.js → initDefaultProps-CziU9pk-.js} +1 -1
- package/src/assets/web-panel/assets/{motion-CwkWvaNW.js → motion-BOZPhyUp.js} +1 -1
- package/src/assets/web-panel/assets/{move-BYJ058wL.js → move-BwhvSRTb.js} +1 -1
- package/src/assets/web-panel/assets/{omit-B3nuYFSU.js → omit-BfU3fObW.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-0hcTSJaT.js → pickAttrs-eGMYizN6.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-D6IUlBKU.js → placementArrow-8A1qsZl_.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-FKtuDNR2.js → responsiveObserve-BU9yRWZK.js} +1 -1
- package/src/assets/web-panel/assets/{slide-B_QbBNod.js → slide-BG428wmF.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-rGTl4pd7.js → statusUtils-_TFDDXxp.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-DSo1kqIn.js → styleChecker-DuM2cLhx.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-CxkZaI6s.js → useFlexGapSupport-fg8Q35CB.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-DrW3e3kn.js → useFs-3EiVX8L4.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-CVKkAaON.js → usePersonalDataHub-C8OgHGoE.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-lTUDdHso.js → vnode--NhVoccz.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-D9qIJ7kF.js → zoom-Bf0hAHy7.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/lib/image-input.js +27 -3
- package/src/repl/agent-repl.js +4 -1
- package/src/repl/config-summary.js +48 -0
- package/src/runtime/coding-agent-shell-policy.cjs +58 -18
- package/src/runtime/headless-stream.js +55 -1
- package/src/assets/web-panel/assets/EmailListRenderer-B16xNYan.js +0 -1
- package/src/assets/web-panel/assets/Notes-Ba9QC8Nt.js +0 -7
- package/src/assets/web-panel/assets/OrderTableRenderer-DwM-WxqV.js +0 -1
- package/src/assets/web-panel/assets/PdhVaultBrowser-uALWSx7o.js +0 -7
- package/src/assets/web-panel/assets/Projects-DhHbGqmv.js +0 -1
- package/src/assets/web-panel/assets/Tasks-BavjuZCf.js +0 -1
- package/src/assets/web-panel/assets/devWarning-BpZTkDGI.js +0 -1
- package/src/assets/web-panel/assets/index-CmQTcEwA.js +0 -1
- package/src/assets/web-panel/assets/index-vzAexOhR.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as p,J as f,U as C,R as u,c as o,K as r,V as b,o as ae,a as X,b as U,r as y,P as c,Q as _,F as x,Z as V,S as T}from"./vendor-BvqAck49.js";import{_ as me,u as le,b as oe,d as h}from"./index-BgqftzvZ.js";import{s as ve}from"./community-parser-CO25nZFt.js";import{a0 as fe,a$ as be,$ as ke,f as _e,a9 as ye,z as ge,R as he}from"./icons-DP3uiYxy.js";function $(t){const l=ve(t);if(!l)return null;try{return JSON.parse(l)}catch{}const i=l.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!i)return null;try{return JSON.parse(i[0])}catch{return null}}const Se=Object.freeze(["draft","published","deprecated","suspended"]),Ce=Object.freeze(["pending","running","success","failed","timeout"]);function B(t,l=0){return typeof t=="number"&&Number.isFinite(t)?t:l}function xe(t,l=0){if(!t||typeof t!="object")return null;const i=t.id||"";return i?{key:i,id:i,name:String(t.name||""),version:String(t.version||""),description:String(t.description||""),endpoint:t.endpoint||"",pricing:t.pricing??null,status:String(t.status||"draft").toLowerCase(),owner:t.owner||"",invocationCount:B(t.invocationCount??t.invocation_count,0),createdAt:t.createdAt??t.created_at??null,updatedAt:t.updatedAt??t.updated_at??null,_idx:l}:null}function re(t){const l=$(t);return Array.isArray(l)?l.map(xe).filter(Boolean):[]}function Fe(t,l=0){if(!t||typeof t!="object")return null;const i=t.id||"";return i?{key:i,id:i,serviceId:t.serviceId||t.service_id||"",callerId:t.callerId||t.caller_id||"",input:t.input??null,output:t.output??null,status:String(t.status||"success").toLowerCase(),durationMs:t.durationMs??t.duration_ms??null,error:t.error||"",createdAt:t.createdAt??t.created_at??null,_idx:l}:null}function ne(t){const l=$(t);return Array.isArray(l)?l.map(Fe).filter(Boolean):[]}function se(t){const l={total:0,counts:{success:0,failed:0,timeout:0,pending:0,running:0},successRate:0,avgDurationMs:0,scopedToService:null},i=$(t);if(!i||typeof i!="object"||Array.isArray(i))return l;l.total=B(i.total,0),l.successRate=B(i.successRate??i.success_rate,0),l.avgDurationMs=B(i.avgDurationMs??i.avg_duration_ms,0),l.scopedToService=i.scopedToService??i.scoped_to_service??null;const e=i.counts&&typeof i.counts=="object"?i.counts:{};for(const A of Object.keys(l.counts))l.counts[A]=B(e[A],0);return l}function we(t){if(t==null||t==="")return"—";const l=typeof t=="number"?new Date(t):new Date(String(t));return isNaN(l.getTime())?String(t):l.toLocaleString("zh-CN",{hour12:!1})}const Te={__name:"Marketplace",setup(t,{expose:l}){l();const i=le(),{t:e}=oe(),A=y(!1),J=y(!1),O=y(!1),I=y([]),F=y([]),w=y({total:0,counts:{success:0,failed:0,timeout:0,pending:0,running:0},successRate:0,avgDurationMs:0,scopedToService:null}),R=y("services"),N=y(""),L=y(""),E=y(null),K=y(!1),M=y(!1),k=X({name:"",version:"",description:"",endpoint:"",owner:"",status:"published"}),m=X({serviceId:"",caller:"",status:"success",durationMs:null,error:""}),P=y(""),W=U(()=>[{title:e("marketplace.serviceCols.name"),key:"name"},{title:e("marketplace.serviceCols.status"),key:"status",width:"120px"},{title:e("marketplace.serviceCols.invocationCount"),key:"invocationCount",width:"110px"},{title:e("marketplace.serviceCols.owner"),key:"owner",width:"180px"},{title:e("marketplace.serviceCols.createdAt"),key:"createdAt",width:"160px"},{title:e("marketplace.serviceCols.action"),key:"action",width:"180px"}]),q=U(()=>[{title:e("marketplace.invocationCols.service"),key:"service"},{title:e("marketplace.invocationCols.caller"),key:"caller",width:"180px"},{title:e("marketplace.invocationCols.status"),key:"status",width:"100px"},{title:e("marketplace.invocationCols.durationMs"),key:"durationMs",width:"110px"},{title:e("marketplace.invocationCols.createdAt"),key:"createdAt",width:"160px"}]),j=U(()=>I.value.filter(n=>n.status==="published").length),D=U(()=>w.value.successRate*100),G=U(()=>{let n=I.value;if(N.value&&(n=n.filter(s=>s.status===N.value)),L.value){const s=L.value.toLowerCase();n=n.filter(v=>v.name.toLowerCase().includes(s))}return n}),z=U(()=>E.value?F.value.filter(n=>n.serviceId===E.value):F.value);function g(n){const s=`marketplace.serviceStatusLabels.${n}`,v=e(s);return v===s?n:v}function Q(n){return{draft:"default",published:"green",deprecated:"orange",suspended:"red"}[n]||"default"}function Y(n){const s=`marketplace.invocationStatusLabels.${n}`,v=e(s);return v===s?n:v}function Z(n){return{pending:"default",running:"processing",success:"green",failed:"red",timeout:"orange"}[n]||"default"}function H(n){return n?n.length>28?n.slice(0,16)+"..."+n.slice(-8):n:""}function a(n,s){return n?n.length>s?n.slice(0,s)+"...":n:""}function d(n){const s=I.value.find(v=>v.id===n);return s?s.name:e("marketplace.deletedService")}async function S(){A.value=!0;try{const[n,s,v]=await Promise.all([i.execute("marketplace list --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("marketplace invocations --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("marketplace stats --json",1e4).catch(()=>({output:""}))]);I.value=re(n.output),F.value=ne(s.output),w.value=se(v.output)}catch(n){h.error(e("marketplace.msg.loadFailed")+": "+(n?.message||n))}finally{A.value=!1}}async function ie(){const n=k.name.trim();if(!n){h.warning(e("marketplace.msg.publishEmpty"));return}J.value=!0;try{const s=[`marketplace publish "${n.replace(/"/g,'\\"')}"`];k.version.trim()&&s.push(`--version "${k.version.trim().replace(/"/g,'\\"')}"`),k.description.trim()&&s.push(`--description "${k.description.trim().replace(/"/g,'\\"')}"`),k.endpoint.trim()&&s.push(`--endpoint "${k.endpoint.trim().replace(/"/g,'\\"')}"`),k.owner.trim()&&s.push(`--owner "${k.owner.trim().replace(/"/g,'\\"')}"`),s.push(`--status ${k.status}`),s.push("--json");const{output:v}=await i.execute(s.join(" "),15e3);if(/error|failed|失败/i.test(v)&&!/"id"/.test(v)){h.error(e("marketplace.msg.publishFailed")+": "+v.slice(0,120));return}h.success(e("marketplace.msg.publishSuccess")),K.value=!1,ee(),await S()}catch(s){h.error(e("marketplace.msg.publishFailed")+": "+(s?.message||s))}finally{J.value=!1}}function ce(n){if(n.status!=="published"){h.warning(e("marketplace.msg.recordOnlyPublished"));return}m.serviceId=n.id,m.caller="",m.status="success",m.durationMs=null,m.error="",P.value=n.name,M.value=!0}async function ue(){O.value=!0;try{const n=[`marketplace record ${m.serviceId}`];m.caller.trim()&&n.push(`--caller "${m.caller.trim().replace(/"/g,'\\"')}"`),n.push(`--status ${m.status}`),m.durationMs!=null&&n.push(`--duration-ms ${m.durationMs}`),(m.status==="failed"||m.status==="timeout")&&m.error.trim()&&n.push(`--error "${m.error.trim().replace(/"/g,'\\"')}"`),n.push("--json");const{output:s}=await i.execute(n.join(" "),15e3);if(/error|failed|失败/i.test(s)&&!/"id"/.test(s)){h.error(e("marketplace.msg.recordFailed")+": "+s.slice(0,120));return}h.success(e("marketplace.msg.recordSuccess")),M.value=!1,R.value="invocations",await S()}catch(n){h.error(e("marketplace.msg.recordFailed")+": "+(n?.message||n))}finally{O.value=!1}}async function de(n,s){if(s!==n.status)try{const{output:v}=await i.execute(`marketplace status ${n.id} ${s} --json`,1e4);if(/error|invalid|失败/i.test(v)&&!/"status"/.test(v)){h.error(e("marketplace.msg.transitionFailed")+": "+v.slice(0,120));return}h.success(e("marketplace.msg.transitionSuccess",{label:g(s)})),await S()}catch(v){h.error(e("marketplace.msg.transitionFailed")+": "+(v?.message||v))}}function ee(){k.name="",k.version="",k.description="",k.endpoint="",k.owner="",k.status="published"}function pe(){m.serviceId="",m.caller="",m.status="success",m.durationMs=null,m.error="",P.value=""}ae(S);const te={ws:i,t:e,loading:A,publishing:J,recording:O,services:I,invocations:F,stats:w,activeTab:R,statusFilter:N,nameFilter:L,invocationServiceFilter:E,showPublishModal:K,showRecordModal:M,publishForm:k,recordForm:m,recordTargetName:P,serviceColumns:W,invocationColumns:q,publishedCount:j,successRatePct:D,filteredServices:G,filteredInvocations:z,statusLabel:g,serviceStatusColor:Q,invocationStatusLabel:Y,invocationStatusColor:Z,shortDid:H,truncate:a,serviceName:d,loadAll:S,publishService:ie,openRecord:ce,recordInvocation:ue,transitionStatus:de,resetPublishForm:ee,resetRecordForm:pe,ref:y,computed:U,onMounted:ae,reactive:X,get ReloadOutlined(){return he},get CloudUploadOutlined(){return ge},get AppstoreOutlined(){return ye},get CheckCircleOutlined(){return _e},get ThunderboltOutlined(){return ke},get RiseOutlined(){return be},get ClockCircleOutlined(){return fe},get message(){return h},get useI18n(){return oe},get useWsStore(){return le},get parseServices(){return re},get parseInvocations(){return ne},get parseStats(){return se},get formatMarketplaceTime(){return we},get SERVICE_STATUSES(){return Se},get INVOCATION_STATUSES(){return Ce}};return Object.defineProperty(te,"__isScriptSetup",{enumerable:!1,value:!0}),te}},Oe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Re={class:"page-title"},Ae={class:"page-sub"},Ie={class:"filter-bar"},Me={style:{color:"var(--text-primary)","font-weight":"500"}},ze={key:1,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},Ue={key:2,style:{color:"#722ed1","font-weight":"500"}},Le={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Ne={key:1,style:{color:"var(--text-muted)"}},Ee={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Pe={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},je={class:"filter-bar"},De={style:{color:"var(--text-primary)"}},Ve={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace"}},Be={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Je={key:1,style:{color:"var(--text-muted)"}},Ke={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},We={key:1,style:{color:"var(--text-muted)"}},qe={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Qe={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}};function Ye(t,l,i,e,A,J){const O=p("a-button"),I=p("a-space"),F=p("a-statistic"),w=p("a-card"),R=p("a-col"),N=p("a-row"),L=p("a-radio-button"),E=p("a-radio-group"),K=p("a-input-search"),M=p("a-tag"),k=p("a-menu-item"),m=p("a-menu"),P=p("a-dropdown"),W=p("a-table"),q=p("a-tab-pane"),j=p("a-select-option"),D=p("a-select"),G=p("a-tabs"),z=p("a-input"),g=p("a-form-item"),Q=p("a-textarea"),Y=p("a-form"),Z=p("a-modal"),H=p("a-input-number");return c(),f("div",null,[C("div",Oe,[C("div",null,[C("h2",Re,u(t.$t("marketplace.title")),1),C("p",Ae,u(t.$t("marketplace.subtitle")),1)]),o(I,null,{default:r(()=>[o(O,{loading:e.loading,onClick:e.loadAll},{icon:r(()=>[o(e.ReloadOutlined)]),default:r(()=>[_(" "+u(t.$t("marketplace.refresh")),1)]),_:1},8,["loading"]),o(O,{type:"primary",onClick:l[0]||(l[0]=a=>e.showPublishModal=!0)},{icon:r(()=>[o(e.CloudUploadOutlined)]),default:r(()=>[_(" "+u(t.$t("marketplace.publish")),1)]),_:1})]),_:1})]),b(" Stats overview "),o(N,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:r(()=>[o(R,{xs:12,sm:8,lg:5},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.total"),value:e.services.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:r(()=>[o(e.AppstoreOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(R,{xs:12,sm:8,lg:5},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.published"),value:e.publishedCount,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:r(()=>[o(e.CheckCircleOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(R,{xs:12,sm:8,lg:5},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.invocations"),value:e.stats.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:r(()=>[o(e.ThunderboltOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(R,{xs:12,sm:8,lg:5},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.successRate"),value:e.successRatePct,suffix:"%",precision:1,"value-style":{color:e.stats.successRate>=.9?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:r(()=>[o(e.RiseOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(R,{xs:24,sm:8,lg:4},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.avgDuration"),value:e.stats.avgDurationMs,suffix:"ms","value-style":{color:"#faad14",fontSize:"20px"}},{prefix:r(()=>[o(e.ClockCircleOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),b(" Tabs "),o(G,{activeKey:e.activeTab,"onUpdate:activeKey":l[4]||(l[4]=a=>e.activeTab=a),class:"market-tabs"},{default:r(()=>[b(" ── Services tab ──────────────────────────────────────────── "),o(q,{key:"services",tab:t.$t("marketplace.tabs.services")},{default:r(()=>[C("div",Ie,[o(E,{value:e.statusFilter,"onUpdate:value":l[1]||(l[1]=a=>e.statusFilter=a),size:"small","button-style":"solid"},{default:r(()=>[o(L,{value:""},{default:r(()=>[_(u(t.$t("marketplace.filter.all")),1)]),_:1}),(c(!0),f(x,null,V(e.SERVICE_STATUSES,a=>(c(),T(L,{key:a,value:a},{default:r(()=>[_(u(e.statusLabel(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),o(K,{value:e.nameFilter,"onUpdate:value":l[2]||(l[2]=a=>e.nameFilter=a),placeholder:t.$t("marketplace.filter.namePlaceholder"),"allow-clear":"",style:{"max-width":"280px"}},null,8,["value","placeholder"])]),o(W,{columns:e.serviceColumns,"data-source":e.filteredServices,pagination:{pageSize:20,showTotal:a=>t.$t("marketplace.table.totalSuffix",{n:a})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:r(({column:a,record:d})=>[a.key==="name"?(c(),f(x,{key:0},[C("span",Me,u(d.name),1),d.version?(c(),T(M,{key:0,color:"blue",style:{"margin-left":"6px","font-size":"10px"}},{default:r(()=>[_(" v"+u(d.version),1)]),_:2},1024)):b("v-if",!0),d.description?(c(),f("div",ze,u(e.truncate(d.description,80)),1)):b("v-if",!0)],64)):b("v-if",!0),a.key==="status"?(c(),T(M,{key:1,color:e.serviceStatusColor(d.status)},{default:r(()=>[_(u(e.statusLabel(d.status)),1)]),_:2},1032,["color"])):b("v-if",!0),a.key==="invocationCount"?(c(),f("span",Ue,u(d.invocationCount),1)):b("v-if",!0),a.key==="owner"?(c(),f(x,{key:3},[d.owner?(c(),f("span",Le,u(e.shortDid(d.owner)),1)):(c(),f("span",Ne,"—"))],64)):b("v-if",!0),a.key==="createdAt"?(c(),f("span",Ee,u(e.formatMarketplaceTime(d.createdAt)),1)):b("v-if",!0),a.key==="action"?(c(),f(x,{key:5},[o(O,{size:"small",type:"link",onClick:S=>e.openRecord(d)},{default:r(()=>[_(u(t.$t("marketplace.table.actionRecord")),1)]),_:1},8,["onClick"]),o(P,{trigger:["click"]},{overlay:r(()=>[o(m,{onClick:S=>e.transitionStatus(d,S.key)},{default:r(()=>[(c(!0),f(x,null,V(e.SERVICE_STATUSES,S=>(c(),T(k,{key:S,disabled:S===d.status},{default:r(()=>[_(u(e.statusLabel(S)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:r(()=>[o(O,{size:"small",type:"link"},{default:r(()=>[_(u(t.$t("marketplace.table.statusDropdown")),1)]),_:1})]),_:2},1024)],64)):b("v-if",!0)]),emptyText:r(()=>[C("div",Pe,[o(e.AppstoreOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),_(" "+u(e.statusFilter||e.nameFilter?t.$t("marketplace.table.emptyFiltered"):t.$t("marketplace.table.empty")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),b(" ── Invocations tab ───────────────────────────────────────── "),o(q,{key:"invocations",tab:t.$t("marketplace.tabs.invocations")},{default:r(()=>[C("div",je,[o(D,{value:e.invocationServiceFilter,"onUpdate:value":l[3]||(l[3]=a=>e.invocationServiceFilter=a),placeholder:t.$t("marketplace.filter.byService"),"allow-clear":"",style:{width:"280px"},size:"small"},{default:r(()=>[(c(!0),f(x,null,V(e.services,a=>(c(),T(j,{key:a.id,value:a.id},{default:r(()=>[_(u(a.name)+" ("+u(e.statusLabel(a.status))+") ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),o(W,{columns:e.invocationColumns,"data-source":e.filteredInvocations,pagination:{pageSize:20,showTotal:a=>t.$t("marketplace.table.totalSuffix",{n:a})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:r(({column:a,record:d})=>[a.key==="service"?(c(),f(x,{key:0},[C("span",De,u(e.serviceName(d.serviceId)),1),C("div",Ve,u(d.serviceId.slice(0,8)),1)],64)):b("v-if",!0),a.key==="caller"?(c(),f(x,{key:1},[d.callerId?(c(),f("span",Be,u(e.shortDid(d.callerId)),1)):(c(),f("span",Je,"—"))],64)):b("v-if",!0),a.key==="status"?(c(),T(M,{key:2,color:e.invocationStatusColor(d.status)},{default:r(()=>[_(u(e.invocationStatusLabel(d.status)),1)]),_:2},1032,["color"])):b("v-if",!0),a.key==="durationMs"?(c(),f(x,{key:3},[d.durationMs!=null?(c(),f("span",Ke,u(d.durationMs)+" ms ",1)):(c(),f("span",We,"—"))],64)):b("v-if",!0),a.key==="createdAt"?(c(),f("span",qe,u(e.formatMarketplaceTime(d.createdAt)),1)):b("v-if",!0)]),emptyText:r(()=>[C("div",Qe,[o(e.ThunderboltOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),_(" "+u(t.$t("marketplace.table.emptyInvocations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),b(" ── Publish service modal ─────────────────────────────────── "),o(Z,{open:e.showPublishModal,"onUpdate:open":l[11]||(l[11]=a=>e.showPublishModal=a),title:t.$t("marketplace.publish_modal.title"),"confirm-loading":e.publishing,width:560,"ok-text":t.$t("marketplace.publish_modal.ok"),"cancel-text":t.$t("marketplace.publish_modal.cancel"),onOk:e.publishService,onCancel:e.resetPublishForm},{default:r(()=>[o(Y,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:r(()=>[o(g,{label:t.$t("marketplace.publish_modal.nameLabel"),required:""},{default:r(()=>[o(z,{value:e.publishForm.name,"onUpdate:value":l[5]||(l[5]=a=>e.publishForm.name=a),placeholder:t.$t("marketplace.publish_modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.versionLabel")},{default:r(()=>[o(z,{value:e.publishForm.version,"onUpdate:value":l[6]||(l[6]=a=>e.publishForm.version=a),placeholder:t.$t("marketplace.publish_modal.versionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.descLabel")},{default:r(()=>[o(Q,{value:e.publishForm.description,"onUpdate:value":l[7]||(l[7]=a=>e.publishForm.description=a),"auto-size":{minRows:2,maxRows:5}},null,8,["value"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.endpointLabel")},{default:r(()=>[o(z,{value:e.publishForm.endpoint,"onUpdate:value":l[8]||(l[8]=a=>e.publishForm.endpoint=a),placeholder:t.$t("marketplace.publish_modal.endpointPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.ownerLabel")},{default:r(()=>[o(z,{value:e.publishForm.owner,"onUpdate:value":l[9]||(l[9]=a=>e.publishForm.owner=a),placeholder:t.$t("marketplace.publish_modal.ownerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.statusLabel")},{default:r(()=>[o(D,{value:e.publishForm.status,"onUpdate:value":l[10]||(l[10]=a=>e.publishForm.status=a)},{default:r(()=>[(c(!0),f(x,null,V(e.SERVICE_STATUSES,a=>(c(),T(j,{key:a,value:a},{default:r(()=>[_(u(e.statusLabel(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),b(" ── Record invocation modal ───────────────────────────────── "),o(Z,{open:e.showRecordModal,"onUpdate:open":l[16]||(l[16]=a=>e.showRecordModal=a),title:t.$t("marketplace.record_modal.title",{name:e.recordTargetName}),"confirm-loading":e.recording,width:520,"ok-text":t.$t("marketplace.record_modal.ok"),"cancel-text":t.$t("marketplace.record_modal.cancel"),onOk:e.recordInvocation,onCancel:e.resetRecordForm},{default:r(()=>[o(Y,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:r(()=>[o(g,{label:t.$t("marketplace.record_modal.callerLabel")},{default:r(()=>[o(z,{value:e.recordForm.caller,"onUpdate:value":l[12]||(l[12]=a=>e.recordForm.caller=a),placeholder:t.$t("marketplace.record_modal.callerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.record_modal.statusLabel")},{default:r(()=>[o(D,{value:e.recordForm.status,"onUpdate:value":l[13]||(l[13]=a=>e.recordForm.status=a)},{default:r(()=>[(c(!0),f(x,null,V(e.INVOCATION_STATUSES,a=>(c(),T(j,{key:a,value:a},{default:r(()=>[_(u(e.invocationStatusLabel(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.record_modal.durationLabel")},{default:r(()=>[o(H,{value:e.recordForm.durationMs,"onUpdate:value":l[14]||(l[14]=a=>e.recordForm.durationMs=a),min:0,max:36e5,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),e.recordForm.status==="failed"||e.recordForm.status==="timeout"?(c(),T(g,{key:0,label:t.$t("marketplace.record_modal.errorLabel")},{default:r(()=>[o(Q,{value:e.recordForm.error,"onUpdate:value":l[15]||(l[15]=a=>e.recordForm.error=a),"auto-size":{minRows:2,maxRows:4}},null,8,["value"])]),_:1},8,["label"])):b("v-if",!0)]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const $e=me(Te,[["render",Ye],["__scopeId","data-v-892f664d"],["__file","/tmp/cc-web-panel-oYLsUC/repo/packages/web-panel/src/views/Marketplace.vue"]]);export{$e as default};
|
|
1
|
+
import{I as p,J as f,U as C,R as u,c as o,K as r,V as b,o as ae,a as Y,b as U,r as y,P as c,Q as _,F as x,Z as V,S as T}from"./vendor-BvqAck49.js";import{_ as me,u as le,b as oe,d as h}from"./index-7ME2_dHQ.js";import{s as ve}from"./community-parser-CO25nZFt.js";import{a0 as fe,a$ as be,$ as ke,f as _e,a9 as ye,z as ge,R as he}from"./icons-DP3uiYxy.js";function $(t){const l=ve(t);if(!l)return null;try{return JSON.parse(l)}catch{}const i=l.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!i)return null;try{return JSON.parse(i[0])}catch{return null}}const Se=Object.freeze(["draft","published","deprecated","suspended"]),Ce=Object.freeze(["pending","running","success","failed","timeout"]);function B(t,l=0){return typeof t=="number"&&Number.isFinite(t)?t:l}function xe(t,l=0){if(!t||typeof t!="object")return null;const i=t.id||"";return i?{key:i,id:i,name:String(t.name||""),version:String(t.version||""),description:String(t.description||""),endpoint:t.endpoint||"",pricing:t.pricing??null,status:String(t.status||"draft").toLowerCase(),owner:t.owner||"",invocationCount:B(t.invocationCount??t.invocation_count,0),createdAt:t.createdAt??t.created_at??null,updatedAt:t.updatedAt??t.updated_at??null,_idx:l}:null}function re(t){const l=$(t);return Array.isArray(l)?l.map(xe).filter(Boolean):[]}function Fe(t,l=0){if(!t||typeof t!="object")return null;const i=t.id||"";return i?{key:i,id:i,serviceId:t.serviceId||t.service_id||"",callerId:t.callerId||t.caller_id||"",input:t.input??null,output:t.output??null,status:String(t.status||"success").toLowerCase(),durationMs:t.durationMs??t.duration_ms??null,error:t.error||"",createdAt:t.createdAt??t.created_at??null,_idx:l}:null}function ne(t){const l=$(t);return Array.isArray(l)?l.map(Fe).filter(Boolean):[]}function se(t){const l={total:0,counts:{success:0,failed:0,timeout:0,pending:0,running:0},successRate:0,avgDurationMs:0,scopedToService:null},i=$(t);if(!i||typeof i!="object"||Array.isArray(i))return l;l.total=B(i.total,0),l.successRate=B(i.successRate??i.success_rate,0),l.avgDurationMs=B(i.avgDurationMs??i.avg_duration_ms,0),l.scopedToService=i.scopedToService??i.scoped_to_service??null;const e=i.counts&&typeof i.counts=="object"?i.counts:{};for(const A of Object.keys(l.counts))l.counts[A]=B(e[A],0);return l}function we(t){if(t==null||t==="")return"—";const l=typeof t=="number"?new Date(t):new Date(String(t));return isNaN(l.getTime())?String(t):l.toLocaleString("zh-CN",{hour12:!1})}const Te={__name:"Marketplace",setup(t,{expose:l}){l();const i=le(),{t:e}=oe(),A=y(!1),J=y(!1),O=y(!1),I=y([]),F=y([]),w=y({total:0,counts:{success:0,failed:0,timeout:0,pending:0,running:0},successRate:0,avgDurationMs:0,scopedToService:null}),R=y("services"),N=y(""),L=y(""),P=y(null),K=y(!1),M=y(!1),k=Y({name:"",version:"",description:"",endpoint:"",owner:"",status:"published"}),m=Y({serviceId:"",caller:"",status:"success",durationMs:null,error:""}),E=y(""),W=U(()=>[{title:e("marketplace.serviceCols.name"),key:"name"},{title:e("marketplace.serviceCols.status"),key:"status",width:"120px"},{title:e("marketplace.serviceCols.invocationCount"),key:"invocationCount",width:"110px"},{title:e("marketplace.serviceCols.owner"),key:"owner",width:"180px"},{title:e("marketplace.serviceCols.createdAt"),key:"createdAt",width:"160px"},{title:e("marketplace.serviceCols.action"),key:"action",width:"180px"}]),q=U(()=>[{title:e("marketplace.invocationCols.service"),key:"service"},{title:e("marketplace.invocationCols.caller"),key:"caller",width:"180px"},{title:e("marketplace.invocationCols.status"),key:"status",width:"100px"},{title:e("marketplace.invocationCols.durationMs"),key:"durationMs",width:"110px"},{title:e("marketplace.invocationCols.createdAt"),key:"createdAt",width:"160px"}]),j=U(()=>I.value.filter(n=>n.status==="published").length),D=U(()=>w.value.successRate*100),H=U(()=>{let n=I.value;if(N.value&&(n=n.filter(s=>s.status===N.value)),L.value){const s=L.value.toLowerCase();n=n.filter(v=>v.name.toLowerCase().includes(s))}return n}),z=U(()=>P.value?F.value.filter(n=>n.serviceId===P.value):F.value);function g(n){const s=`marketplace.serviceStatusLabels.${n}`,v=e(s);return v===s?n:v}function Q(n){return{draft:"default",published:"green",deprecated:"orange",suspended:"red"}[n]||"default"}function Z(n){const s=`marketplace.invocationStatusLabels.${n}`,v=e(s);return v===s?n:v}function G(n){return{pending:"default",running:"processing",success:"green",failed:"red",timeout:"orange"}[n]||"default"}function X(n){return n?n.length>28?n.slice(0,16)+"..."+n.slice(-8):n:""}function a(n,s){return n?n.length>s?n.slice(0,s)+"...":n:""}function d(n){const s=I.value.find(v=>v.id===n);return s?s.name:e("marketplace.deletedService")}async function S(){A.value=!0;try{const[n,s,v]=await Promise.all([i.execute("marketplace list --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("marketplace invocations --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("marketplace stats --json",1e4).catch(()=>({output:""}))]);I.value=re(n.output),F.value=ne(s.output),w.value=se(v.output)}catch(n){h.error(e("marketplace.msg.loadFailed")+": "+(n?.message||n))}finally{A.value=!1}}async function ie(){const n=k.name.trim();if(!n){h.warning(e("marketplace.msg.publishEmpty"));return}J.value=!0;try{const s=[`marketplace publish "${n.replace(/"/g,'\\"')}"`];k.version.trim()&&s.push(`--version "${k.version.trim().replace(/"/g,'\\"')}"`),k.description.trim()&&s.push(`--description "${k.description.trim().replace(/"/g,'\\"')}"`),k.endpoint.trim()&&s.push(`--endpoint "${k.endpoint.trim().replace(/"/g,'\\"')}"`),k.owner.trim()&&s.push(`--owner "${k.owner.trim().replace(/"/g,'\\"')}"`),s.push(`--status ${k.status}`),s.push("--json");const{output:v}=await i.execute(s.join(" "),15e3);if(/error|failed|失败/i.test(v)&&!/"id"/.test(v)){h.error(e("marketplace.msg.publishFailed")+": "+v.slice(0,120));return}h.success(e("marketplace.msg.publishSuccess")),K.value=!1,ee(),await S()}catch(s){h.error(e("marketplace.msg.publishFailed")+": "+(s?.message||s))}finally{J.value=!1}}function ce(n){if(n.status!=="published"){h.warning(e("marketplace.msg.recordOnlyPublished"));return}m.serviceId=n.id,m.caller="",m.status="success",m.durationMs=null,m.error="",E.value=n.name,M.value=!0}async function ue(){O.value=!0;try{const n=[`marketplace record ${m.serviceId}`];m.caller.trim()&&n.push(`--caller "${m.caller.trim().replace(/"/g,'\\"')}"`),n.push(`--status ${m.status}`),m.durationMs!=null&&n.push(`--duration-ms ${m.durationMs}`),(m.status==="failed"||m.status==="timeout")&&m.error.trim()&&n.push(`--error "${m.error.trim().replace(/"/g,'\\"')}"`),n.push("--json");const{output:s}=await i.execute(n.join(" "),15e3);if(/error|failed|失败/i.test(s)&&!/"id"/.test(s)){h.error(e("marketplace.msg.recordFailed")+": "+s.slice(0,120));return}h.success(e("marketplace.msg.recordSuccess")),M.value=!1,R.value="invocations",await S()}catch(n){h.error(e("marketplace.msg.recordFailed")+": "+(n?.message||n))}finally{O.value=!1}}async function de(n,s){if(s!==n.status)try{const{output:v}=await i.execute(`marketplace status ${n.id} ${s} --json`,1e4);if(/error|invalid|失败/i.test(v)&&!/"status"/.test(v)){h.error(e("marketplace.msg.transitionFailed")+": "+v.slice(0,120));return}h.success(e("marketplace.msg.transitionSuccess",{label:g(s)})),await S()}catch(v){h.error(e("marketplace.msg.transitionFailed")+": "+(v?.message||v))}}function ee(){k.name="",k.version="",k.description="",k.endpoint="",k.owner="",k.status="published"}function pe(){m.serviceId="",m.caller="",m.status="success",m.durationMs=null,m.error="",E.value=""}ae(S);const te={ws:i,t:e,loading:A,publishing:J,recording:O,services:I,invocations:F,stats:w,activeTab:R,statusFilter:N,nameFilter:L,invocationServiceFilter:P,showPublishModal:K,showRecordModal:M,publishForm:k,recordForm:m,recordTargetName:E,serviceColumns:W,invocationColumns:q,publishedCount:j,successRatePct:D,filteredServices:H,filteredInvocations:z,statusLabel:g,serviceStatusColor:Q,invocationStatusLabel:Z,invocationStatusColor:G,shortDid:X,truncate:a,serviceName:d,loadAll:S,publishService:ie,openRecord:ce,recordInvocation:ue,transitionStatus:de,resetPublishForm:ee,resetRecordForm:pe,ref:y,computed:U,onMounted:ae,reactive:Y,get ReloadOutlined(){return he},get CloudUploadOutlined(){return ge},get AppstoreOutlined(){return ye},get CheckCircleOutlined(){return _e},get ThunderboltOutlined(){return ke},get RiseOutlined(){return be},get ClockCircleOutlined(){return fe},get message(){return h},get useI18n(){return oe},get useWsStore(){return le},get parseServices(){return re},get parseInvocations(){return ne},get parseStats(){return se},get formatMarketplaceTime(){return we},get SERVICE_STATUSES(){return Se},get INVOCATION_STATUSES(){return Ce}};return Object.defineProperty(te,"__isScriptSetup",{enumerable:!1,value:!0}),te}},Oe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Re={class:"page-title"},Ae={class:"page-sub"},Ie={class:"filter-bar"},Me={style:{color:"var(--text-primary)","font-weight":"500"}},ze={key:1,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},Ue={key:2,style:{color:"#722ed1","font-weight":"500"}},Le={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Ne={key:1,style:{color:"var(--text-muted)"}},Pe={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Ee={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},je={class:"filter-bar"},De={style:{color:"var(--text-primary)"}},Ve={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace"}},Be={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Je={key:1,style:{color:"var(--text-muted)"}},Ke={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},We={key:1,style:{color:"var(--text-muted)"}},qe={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Qe={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}};function Ze(t,l,i,e,A,J){const O=p("a-button"),I=p("a-space"),F=p("a-statistic"),w=p("a-card"),R=p("a-col"),N=p("a-row"),L=p("a-radio-button"),P=p("a-radio-group"),K=p("a-input-search"),M=p("a-tag"),k=p("a-menu-item"),m=p("a-menu"),E=p("a-dropdown"),W=p("a-table"),q=p("a-tab-pane"),j=p("a-select-option"),D=p("a-select"),H=p("a-tabs"),z=p("a-input"),g=p("a-form-item"),Q=p("a-textarea"),Z=p("a-form"),G=p("a-modal"),X=p("a-input-number");return c(),f("div",null,[C("div",Oe,[C("div",null,[C("h2",Re,u(t.$t("marketplace.title")),1),C("p",Ae,u(t.$t("marketplace.subtitle")),1)]),o(I,null,{default:r(()=>[o(O,{loading:e.loading,onClick:e.loadAll},{icon:r(()=>[o(e.ReloadOutlined)]),default:r(()=>[_(" "+u(t.$t("marketplace.refresh")),1)]),_:1},8,["loading"]),o(O,{type:"primary",onClick:l[0]||(l[0]=a=>e.showPublishModal=!0)},{icon:r(()=>[o(e.CloudUploadOutlined)]),default:r(()=>[_(" "+u(t.$t("marketplace.publish")),1)]),_:1})]),_:1})]),b(" Stats overview "),o(N,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:r(()=>[o(R,{xs:12,sm:8,lg:5},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.total"),value:e.services.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:r(()=>[o(e.AppstoreOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(R,{xs:12,sm:8,lg:5},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.published"),value:e.publishedCount,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:r(()=>[o(e.CheckCircleOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(R,{xs:12,sm:8,lg:5},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.invocations"),value:e.stats.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:r(()=>[o(e.ThunderboltOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(R,{xs:12,sm:8,lg:5},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.successRate"),value:e.successRatePct,suffix:"%",precision:1,"value-style":{color:e.stats.successRate>=.9?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:r(()=>[o(e.RiseOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(R,{xs:24,sm:8,lg:4},{default:r(()=>[o(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:r(()=>[o(F,{title:t.$t("marketplace.stats.avgDuration"),value:e.stats.avgDurationMs,suffix:"ms","value-style":{color:"#faad14",fontSize:"20px"}},{prefix:r(()=>[o(e.ClockCircleOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),b(" Tabs "),o(H,{activeKey:e.activeTab,"onUpdate:activeKey":l[4]||(l[4]=a=>e.activeTab=a),class:"market-tabs"},{default:r(()=>[b(" ── Services tab ──────────────────────────────────────────── "),o(q,{key:"services",tab:t.$t("marketplace.tabs.services")},{default:r(()=>[C("div",Ie,[o(P,{value:e.statusFilter,"onUpdate:value":l[1]||(l[1]=a=>e.statusFilter=a),size:"small","button-style":"solid"},{default:r(()=>[o(L,{value:""},{default:r(()=>[_(u(t.$t("marketplace.filter.all")),1)]),_:1}),(c(!0),f(x,null,V(e.SERVICE_STATUSES,a=>(c(),T(L,{key:a,value:a},{default:r(()=>[_(u(e.statusLabel(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),o(K,{value:e.nameFilter,"onUpdate:value":l[2]||(l[2]=a=>e.nameFilter=a),placeholder:t.$t("marketplace.filter.namePlaceholder"),"allow-clear":"",style:{"max-width":"280px"}},null,8,["value","placeholder"])]),o(W,{columns:e.serviceColumns,"data-source":e.filteredServices,pagination:{pageSize:20,showTotal:a=>t.$t("marketplace.table.totalSuffix",{n:a})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:r(({column:a,record:d})=>[a.key==="name"?(c(),f(x,{key:0},[C("span",Me,u(d.name),1),d.version?(c(),T(M,{key:0,color:"blue",style:{"margin-left":"6px","font-size":"10px"}},{default:r(()=>[_(" v"+u(d.version),1)]),_:2},1024)):b("v-if",!0),d.description?(c(),f("div",ze,u(e.truncate(d.description,80)),1)):b("v-if",!0)],64)):b("v-if",!0),a.key==="status"?(c(),T(M,{key:1,color:e.serviceStatusColor(d.status)},{default:r(()=>[_(u(e.statusLabel(d.status)),1)]),_:2},1032,["color"])):b("v-if",!0),a.key==="invocationCount"?(c(),f("span",Ue,u(d.invocationCount),1)):b("v-if",!0),a.key==="owner"?(c(),f(x,{key:3},[d.owner?(c(),f("span",Le,u(e.shortDid(d.owner)),1)):(c(),f("span",Ne,"—"))],64)):b("v-if",!0),a.key==="createdAt"?(c(),f("span",Pe,u(e.formatMarketplaceTime(d.createdAt)),1)):b("v-if",!0),a.key==="action"?(c(),f(x,{key:5},[o(O,{size:"small",type:"link",onClick:S=>e.openRecord(d)},{default:r(()=>[_(u(t.$t("marketplace.table.actionRecord")),1)]),_:1},8,["onClick"]),o(E,{trigger:["click"]},{overlay:r(()=>[o(m,{onClick:S=>e.transitionStatus(d,S.key)},{default:r(()=>[(c(!0),f(x,null,V(e.SERVICE_STATUSES,S=>(c(),T(k,{key:S,disabled:S===d.status},{default:r(()=>[_(u(e.statusLabel(S)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:r(()=>[o(O,{size:"small",type:"link"},{default:r(()=>[_(u(t.$t("marketplace.table.statusDropdown")),1)]),_:1})]),_:2},1024)],64)):b("v-if",!0)]),emptyText:r(()=>[C("div",Ee,[o(e.AppstoreOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),_(" "+u(e.statusFilter||e.nameFilter?t.$t("marketplace.table.emptyFiltered"):t.$t("marketplace.table.empty")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),b(" ── Invocations tab ───────────────────────────────────────── "),o(q,{key:"invocations",tab:t.$t("marketplace.tabs.invocations")},{default:r(()=>[C("div",je,[o(D,{value:e.invocationServiceFilter,"onUpdate:value":l[3]||(l[3]=a=>e.invocationServiceFilter=a),placeholder:t.$t("marketplace.filter.byService"),"allow-clear":"",style:{width:"280px"},size:"small"},{default:r(()=>[(c(!0),f(x,null,V(e.services,a=>(c(),T(j,{key:a.id,value:a.id},{default:r(()=>[_(u(a.name)+" ("+u(e.statusLabel(a.status))+") ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),o(W,{columns:e.invocationColumns,"data-source":e.filteredInvocations,pagination:{pageSize:20,showTotal:a=>t.$t("marketplace.table.totalSuffix",{n:a})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:r(({column:a,record:d})=>[a.key==="service"?(c(),f(x,{key:0},[C("span",De,u(e.serviceName(d.serviceId)),1),C("div",Ve,u(d.serviceId.slice(0,8)),1)],64)):b("v-if",!0),a.key==="caller"?(c(),f(x,{key:1},[d.callerId?(c(),f("span",Be,u(e.shortDid(d.callerId)),1)):(c(),f("span",Je,"—"))],64)):b("v-if",!0),a.key==="status"?(c(),T(M,{key:2,color:e.invocationStatusColor(d.status)},{default:r(()=>[_(u(e.invocationStatusLabel(d.status)),1)]),_:2},1032,["color"])):b("v-if",!0),a.key==="durationMs"?(c(),f(x,{key:3},[d.durationMs!=null?(c(),f("span",Ke,u(d.durationMs)+" ms ",1)):(c(),f("span",We,"—"))],64)):b("v-if",!0),a.key==="createdAt"?(c(),f("span",qe,u(e.formatMarketplaceTime(d.createdAt)),1)):b("v-if",!0)]),emptyText:r(()=>[C("div",Qe,[o(e.ThunderboltOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),_(" "+u(t.$t("marketplace.table.emptyInvocations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),b(" ── Publish service modal ─────────────────────────────────── "),o(G,{open:e.showPublishModal,"onUpdate:open":l[11]||(l[11]=a=>e.showPublishModal=a),title:t.$t("marketplace.publish_modal.title"),"confirm-loading":e.publishing,width:560,"ok-text":t.$t("marketplace.publish_modal.ok"),"cancel-text":t.$t("marketplace.publish_modal.cancel"),onOk:e.publishService,onCancel:e.resetPublishForm},{default:r(()=>[o(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:r(()=>[o(g,{label:t.$t("marketplace.publish_modal.nameLabel"),required:""},{default:r(()=>[o(z,{value:e.publishForm.name,"onUpdate:value":l[5]||(l[5]=a=>e.publishForm.name=a),placeholder:t.$t("marketplace.publish_modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.versionLabel")},{default:r(()=>[o(z,{value:e.publishForm.version,"onUpdate:value":l[6]||(l[6]=a=>e.publishForm.version=a),placeholder:t.$t("marketplace.publish_modal.versionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.descLabel")},{default:r(()=>[o(Q,{value:e.publishForm.description,"onUpdate:value":l[7]||(l[7]=a=>e.publishForm.description=a),"auto-size":{minRows:2,maxRows:5}},null,8,["value"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.endpointLabel")},{default:r(()=>[o(z,{value:e.publishForm.endpoint,"onUpdate:value":l[8]||(l[8]=a=>e.publishForm.endpoint=a),placeholder:t.$t("marketplace.publish_modal.endpointPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.ownerLabel")},{default:r(()=>[o(z,{value:e.publishForm.owner,"onUpdate:value":l[9]||(l[9]=a=>e.publishForm.owner=a),placeholder:t.$t("marketplace.publish_modal.ownerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.publish_modal.statusLabel")},{default:r(()=>[o(D,{value:e.publishForm.status,"onUpdate:value":l[10]||(l[10]=a=>e.publishForm.status=a)},{default:r(()=>[(c(!0),f(x,null,V(e.SERVICE_STATUSES,a=>(c(),T(j,{key:a,value:a},{default:r(()=>[_(u(e.statusLabel(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),b(" ── Record invocation modal ───────────────────────────────── "),o(G,{open:e.showRecordModal,"onUpdate:open":l[16]||(l[16]=a=>e.showRecordModal=a),title:t.$t("marketplace.record_modal.title",{name:e.recordTargetName}),"confirm-loading":e.recording,width:520,"ok-text":t.$t("marketplace.record_modal.ok"),"cancel-text":t.$t("marketplace.record_modal.cancel"),onOk:e.recordInvocation,onCancel:e.resetRecordForm},{default:r(()=>[o(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:r(()=>[o(g,{label:t.$t("marketplace.record_modal.callerLabel")},{default:r(()=>[o(z,{value:e.recordForm.caller,"onUpdate:value":l[12]||(l[12]=a=>e.recordForm.caller=a),placeholder:t.$t("marketplace.record_modal.callerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.record_modal.statusLabel")},{default:r(()=>[o(D,{value:e.recordForm.status,"onUpdate:value":l[13]||(l[13]=a=>e.recordForm.status=a)},{default:r(()=>[(c(!0),f(x,null,V(e.INVOCATION_STATUSES,a=>(c(),T(j,{key:a,value:a},{default:r(()=>[_(u(e.invocationStatusLabel(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),o(g,{label:t.$t("marketplace.record_modal.durationLabel")},{default:r(()=>[o(X,{value:e.recordForm.durationMs,"onUpdate:value":l[14]||(l[14]=a=>e.recordForm.durationMs=a),min:0,max:36e5,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),e.recordForm.status==="failed"||e.recordForm.status==="timeout"?(c(),T(g,{key:0,label:t.$t("marketplace.record_modal.errorLabel")},{default:r(()=>[o(Q,{value:e.recordForm.error,"onUpdate:value":l[15]||(l[15]=a=>e.recordForm.error=a),"auto-size":{minRows:2,maxRows:4}},null,8,["value"])]),_:1},8,["label"])):b("v-if",!0)]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const $e=me(Te,[["render",Ze],["__scopeId","data-v-892f664d"],["__file","/tmp/cc-web-panel-PV9Dxg/repo/packages/web-panel/src/views/Marketplace.vue"]]);export{$e as default};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{I as M,P as o,J as d,F as I,Z as
|
|
1
|
+
import{I as M,P as o,J as d,F as I,Z as G,V as x,U as f,R as s,c as g,K as v,Q as U,S as V,$ as Re,b as E,o as pe,r as O}from"./vendor-BvqAck49.js";import{u as re,_ as he,b as ye}from"./index-7ME2_dHQ.js";import{as as Me,at as je,ap as Ue,f as Le,ae as Pe,a3 as Ee,R as Ie}from"./icons-DP3uiYxy.js";function X(r){if(r&&typeof r.ok=="boolean"&&!r.ok)throw new Error(r.error||"MCP call failed");return r?.result??r??null}function ve(){const r=re();async function a(p){const c=await r.sendRaw(p?{type:"mcp.list_tools",serverName:p}:{type:"mcp.list_tools"},15e3);return X(c)}async function t(p,c,w={}){if(typeof p!="string"||!p)throw new Error("serverName is required");if(typeof c!="string"||!c)throw new Error("toolName is required");const h=await r.sendRaw({type:"mcp.call_tool",serverName:p,toolName:c,params:w},6e4);return X(h)}async function e(p){const c=await r.sendRaw(p?{type:"mcp.list_resources",serverName:p}:{type:"mcp.list_resources"},15e3);return X(c)}async function i(p,c){if(typeof p!="string"||!p)throw new Error("serverName is required");if(typeof c!="string"||!c)throw new Error("uri is required");const w=await r.sendRaw({type:"mcp.read_resource",serverName:p,uri:c},3e4);return X(w)}return{listTools:a,callTool:t,listResources:e,readResource:i}}function K(r){return!r||typeof r!="object"?[]:r.type!=="object"||!r.properties||typeof r.properties!="object"?[]:ie(r,[])}function ie(r,a){const t=new Set(Array.isArray(r.required)?r.required:[]),e=[],i=r.properties||{};for(const[p,c]of Object.entries(i)){if(!c||typeof c!="object")continue;const w=[...a,p],h=t.has(p);if(ae(c.type)==="object"&&c.properties&&typeof c.properties=="object"){const j=ie(c,w);j.length===0?e.push(_e(w,c,h,"raw")):e.push(...j);continue}e.push(_e(w,c,h))}return e}function _e(r,a,t,e){const i=ae(a.type),p=typeof a.description=="string"?a.description:"",c=r.join("."),w=a.title||r[r.length-1],h=Array.isArray(a.enum)&&a.enum.length>0;let k="raw",j=null,R;if(e)k=e;else if(h)k="select";else if(i==="string")k=Fe(a,p)?"textarea":"text";else if(i==="integer"||i==="number")k="number";else if(i==="boolean")k="boolean";else if(i==="array"){const A=a.items&&typeof a.items=="object"?a.items:null,n=A?ae(A.type):null;n==="string"?(k="tags",j="string"):n==="object"&&A.properties&&typeof A.properties=="object"&&(k="objectList",R=ie(A,[]),R.length===0&&(k="raw",R=void 0))}return{name:c,path:r,type:i,widget:k,label:w,description:p,required:t,default:a.default,enum:h?a.enum.slice():void 0,itemsType:j,...R?{itemFields:R}:{}}}function ae(r){return typeof r=="string"?r:Array.isArray(r)&&r.find(t=>t&&t!=="null")||"any"}function Fe(r,a){return r.format==="long-text"||r.format==="textarea"||typeof r.maxLength=="number"&&r.maxLength>200||a.length>120}function ge(r){const a={};for(const t of r){if(t.default!==void 0){a[t.name]=le(t.default);continue}t.widget==="boolean"?a[t.name]=!1:t.widget==="tags"?a[t.name]=[]:t.widget==="number"?a[t.name]=null:t.widget==="raw"?a[t.name]="":t.widget==="objectList"?a[t.name]=[]:a[t.name]=""}return a}function le(r){if(Array.isArray(r))return r.map(le);if(r&&typeof r=="object"){const a={};for(const[t,e]of Object.entries(r))a[t]=le(e);return a}return r}function se(r,a){const t={},e={};for(const i of r){const p=Array.isArray(i.path)?i.path:String(i.name).split("."),c=a?.[i.name];if(Ne(c,i.widget)){i.required&&(t[i.name]="必填");continue}if(i.widget==="number"){const h=typeof c=="number"?c:Number(c);if(Number.isNaN(h)){t[i.name]="必须是数字";continue}if(i.type==="integer"&&!Number.isInteger(h)){t[i.name]="必须是整数";continue}B(e,p,h);continue}if(i.widget==="boolean"){B(e,p,!!c);continue}if(i.widget==="tags"){const h=Array.isArray(c)?c:String(c).split(/[\n,]/).map(k=>k.trim()).filter(Boolean);B(e,p,h);continue}if(i.widget==="select"){if(Array.isArray(i.enum)&&!i.enum.includes(c)){t[i.name]="值不在允许的选项内";continue}B(e,p,c);continue}if(i.widget==="raw"){try{B(e,p,JSON.parse(c))}catch(h){t[i.name]=`JSON 解析失败:${h.message}`}continue}if(i.widget==="objectList"){if(!Array.isArray(c)){t[i.name]="必须是列表";continue}if(c.length===0)continue;const h=[];let k=!1;for(let j=0;j<c.length;j++){const R=c[j];if(!R||typeof R!="object"){t[`${i.name}[${j}]`]="必须是对象",k=!0;continue}const A=se(i.itemFields||[],R);if(!A.ok){k=!0;for(const[n,l]of Object.entries(A.errors))t[`${i.name}[${j}].${n}`]=l;continue}h.push(A.params)}k||B(e,p,h);continue}B(e,p,c)}return Object.keys(t).length>0?{ok:!1,errors:t}:{ok:!0,params:e}}function B(r,a,t){if(a.length===1){r[a[0]]=t;return}let e=r;for(let i=0;i<a.length-1;i++){const p=a[i];(e[p]===void 0||typeof e[p]!="object"||Array.isArray(e[p]))&&(e[p]={}),e=e[p]}e[a[a.length-1]]=t}function Ne(r,a){return r==null?!0:a==="boolean"?!1:a==="number"?r===""||r===null:a==="tags"?Array.isArray(r)?r.length===0:String(r).trim()==="":a==="objectList"?r==null:typeof r=="string"?r.trim()==="":!1}const qe={__name:"McpToolForm",props:{schema:{type:Object,default:null},modelValue:{type:Object,default:()=>({})},errors:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(r,{expose:a,emit:t}){const e=r,i=t,p=E(()=>K(e.schema));function c(l){const b=Math.max(0,(l.path?.length??1)-1);return b>0?`margin-left: ${b*16}px;`:""}let w=null;function h(l){const b=l.path||[l.name];if(b.length<=1)return w=null,"";const m=b.slice(0,-1).join(".");return m===w?"":(w=m,m)}function k(l,b){i("update:modelValue",{...e.modelValue,[l]:b})}function j(l,b,m,S){const N=Array.isArray(e.modelValue[l])?e.modelValue[l].slice():[];N[b]={...N[b]||{},[m]:S},i("update:modelValue",{...e.modelValue,[l]:N})}function R(l){const b=Array.isArray(e.modelValue[l.name])?e.modelValue[l.name].slice():[],m={};for(const S of l.itemFields||[])S.default!==void 0?m[S.name]=S.default:S.widget==="boolean"?m[S.name]=!1:S.widget==="number"?m[S.name]=null:m[S.name]="";b.push(m),i("update:modelValue",{...e.modelValue,[l.name]:b})}function A(l,b){const m=Array.isArray(e.modelValue[l])?e.modelValue[l].slice():[];m.splice(b,1),i("update:modelValue",{...e.modelValue,[l]:m})}a({fields:p});const n={props:e,emit:i,fields:p,indentStyle:c,get lastParentKey(){return w},set lastParentKey(l){w=l},parentBreadcrumb:h,set:k,setItem:j,addItem:R,removeItem:A,computed:E,get PlusOutlined(){return Me},get extractFields(){return K}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},Be={key:0,style:{color:"var(--text-muted)","font-size":"12px",padding:"8px 0"}},Je={key:1,style:{display:"flex","flex-direction":"column",gap:"14px"}},We={key:0,style:{color:"var(--text-muted)","font-size":"10px","font-family":"monospace","margin-bottom":"4px"}},Ke={style:{"margin-bottom":"4px"}},He={style:{"font-family":"monospace","font-size":"12px"}},De={key:0,style:{color:"#ff4d4f","margin-left":"4px"}},Ge={key:1,style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Qe={style:{display:"flex","justify-content":"space-between","align-items":"center","margin-bottom":"8px"}},Ye={style:{color:"var(--text-muted)","font-size":"11px"}},Ze={style:{display:"flex","flex-direction":"column",gap:"10px"}},Xe={style:{"font-family":"monospace","font-size":"11px"}},$e={key:0,style:{color:"#ff4d4f","margin-left":"4px"}},et={key:5,style:{color:"#ff4d4f","font-size":"11px"}},tt={key:10,style:{color:"#ff4d4f","font-size":"11px","margin-top":"4px"}};function ot(r,a,t,e,i,p){const c=M("a-tag"),w=M("a-input"),h=M("a-textarea"),k=M("a-input-number"),j=M("a-switch"),R=M("a-select"),A=M("a-button");return e.fields.length?(o(),d("div",Je,[(o(!0),d(I,null,G(e.fields,n=>(o(),d(I,{key:n.name},[x(" Nested-leaf indent: 16px per parent path component "),f("div",{style:Re(e.indentStyle(n))},[x(` Group breadcrumb shown ONCE per parent group transition so the
|
|
2
2
|
user can tell "address.street" + "address.city" are siblings.
|
|
3
|
-
The previous-field tracker is computed inline. `),e.parentBreadcrumb(n)!==""?(o(),d("div",We,s(e.parentBreadcrumb(n)),1)):x("v-if",!0),f("div",Ke,[f("span",He,s(n.label),1),n.required?(o(),d("span",
|
|
4
|
-
`],"onUpdate:value":l=>e.set(n.name,l)},null,8,["value","onUpdate:value"])):n.widget==="objectList"?(o(),d(I,{key:8},[x(" objectList: render each item as a sub-form panel with remove + add. "),f("div",null,[(o(!0),d(I,null,
|
|
5
|
-
`);let z=null;for(const
|
|
3
|
+
The previous-field tracker is computed inline. `),e.parentBreadcrumb(n)!==""?(o(),d("div",We,s(e.parentBreadcrumb(n)),1)):x("v-if",!0),f("div",Ke,[f("span",He,s(n.label),1),n.required?(o(),d("span",De,"*")):x("v-if",!0),g(c,{size:"small",style:{"margin-left":"8px","font-size":"10px"}},{default:v(()=>[U(s(n.type)+s(n.itemsType?`<${n.itemsType}>`:""),1)]),_:2},1024)]),n.description?(o(),d("div",Ge,s(n.description),1)):x("v-if",!0),n.widget==="text"?(o(),V(w,{key:2,value:t.modelValue[n.name]??"",placeholder:n.default!==void 0?`默认 ${n.default}`:"",size:"small","onUpdate:value":l=>e.set(n.name,l)},null,8,["value","placeholder","onUpdate:value"])):n.widget==="textarea"?(o(),V(h,{key:3,value:t.modelValue[n.name]??"",rows:4,placeholder:n.default!==void 0?`默认 ${n.default}`:"","onUpdate:value":l=>e.set(n.name,l)},null,8,["value","placeholder","onUpdate:value"])):n.widget==="number"?(o(),V(k,{key:4,value:t.modelValue[n.name],size:"small",placeholder:n.default!==void 0?`默认 ${n.default}`:"",style:{width:"100%"},"onUpdate:value":l=>e.set(n.name,l)},null,8,["value","placeholder","onUpdate:value"])):n.widget==="boolean"?(o(),V(j,{key:5,checked:!!t.modelValue[n.name],"onUpdate:checked":l=>e.set(n.name,l)},null,8,["checked","onUpdate:checked"])):n.widget==="select"?(o(),V(R,{key:6,value:t.modelValue[n.name]??void 0,options:(n.enum||[]).map(l=>({label:String(l),value:l})),size:"small",style:{width:"100%"},placeholder:n.default!==void 0?`默认 ${n.default}`:"请选择","onUpdate:value":l=>e.set(n.name,l)},null,8,["value","options","placeholder","onUpdate:value"])):n.widget==="tags"?(o(),V(R,{key:7,value:Array.isArray(t.modelValue[n.name])?t.modelValue[n.name]:[],mode:"tags",size:"small",style:{width:"100%"},placeholder:"输入后回车添加","token-separators":[",",`
|
|
4
|
+
`],"onUpdate:value":l=>e.set(n.name,l)},null,8,["value","onUpdate:value"])):n.widget==="objectList"?(o(),d(I,{key:8},[x(" objectList: render each item as a sub-form panel with remove + add. "),f("div",null,[(o(!0),d(I,null,G(Array.isArray(t.modelValue[n.name])?t.modelValue[n.name]:[],(l,b)=>(o(),d("div",{key:b,style:{border:"1px dashed var(--border-color)",padding:"10px","border-radius":"4px","margin-bottom":"8px",background:"var(--bg-card-hover)"}},[f("div",Qe,[f("span",Ye,"#"+s(b+1),1),g(A,{size:"small",type:"link",danger:"",onClick:m=>e.removeItem(n.name,b)},{default:v(()=>[...a[0]||(a[0]=[U(" 删除 ",-1)])]),_:1},8,["onClick"])]),f("div",Ze,[(o(!0),d(I,null,G(n.itemFields||[],m=>(o(),d("div",{key:m.name,style:{display:"flex","flex-direction":"column",gap:"4px"}},[f("div",null,[f("span",Xe,s(m.label),1),m.required?(o(),d("span",$e,"*")):x("v-if",!0),g(c,{size:"small",style:{"margin-left":"6px","font-size":"10px"}},{default:v(()=>[U(s(m.type),1)]),_:2},1024)]),m.widget==="text"?(o(),V(w,{key:0,value:l[m.name]??"",size:"small","onUpdate:value":S=>e.setItem(n.name,b,m.name,S)},null,8,["value","onUpdate:value"])):m.widget==="number"?(o(),V(k,{key:1,value:l[m.name],size:"small",style:{width:"100%"},"onUpdate:value":S=>e.setItem(n.name,b,m.name,S)},null,8,["value","onUpdate:value"])):m.widget==="boolean"?(o(),V(j,{key:2,checked:!!l[m.name],"onUpdate:checked":S=>e.setItem(n.name,b,m.name,S)},null,8,["checked","onUpdate:checked"])):m.widget==="select"?(o(),V(R,{key:3,value:l[m.name]??void 0,options:(m.enum||[]).map(S=>({label:String(S),value:S})),size:"small",style:{width:"100%"},"onUpdate:value":S=>e.setItem(n.name,b,m.name,S)},null,8,["value","options","onUpdate:value"])):(o(),V(h,{key:4,value:typeof l[m.name]=="string"?l[m.name]:"",rows:2,placeholder:"复杂子字段 — 请用 JSON 模式",style:{"font-family":"monospace","font-size":"11px"},"onUpdate:value":S=>e.setItem(n.name,b,m.name,S)},null,8,["value","onUpdate:value"])),t.errors[`${n.name}[${b}].${m.name}`]?(o(),d("div",et,s(t.errors[`${n.name}[${b}].${m.name}`]),1)):x("v-if",!0)]))),128))])]))),128)),g(A,{size:"small",type:"dashed",block:"",onClick:l=>e.addItem(n)},{icon:v(()=>[g(e.PlusOutlined)]),default:v(()=>[a[1]||(a[1]=U(" 添加项 ",-1))]),_:1},8,["onClick"])])],2112)):(o(),V(h,{key:9,value:t.modelValue[n.name]??"",rows:3,placeholder:'复杂类型 — 请输入 JSON,如 {"key":"value"}',style:{"font-family":"monospace","font-size":"12px"},"onUpdate:value":l=>e.set(n.name,l)},null,8,["value","onUpdate:value"])),t.errors[n.name]?(o(),d("div",tt,s(t.errors[n.name]),1)):x("v-if",!0)],4)],64))),128))])):(o(),d("div",Be," 此工具的 inputSchema 不是 type:object — 请用 JSON 模式编辑。 "))}const nt=he(qe,[["render",ot],["__file","/tmp/cc-web-panel-PV9Dxg/repo/packages/web-panel/src/components/McpToolForm.vue"]]),rt={__name:"McpTools",setup(r,{expose:a}){a();const{t}=ye(),e=re(),i=ve(),p=O(!1),c=O([]),w=O([]),h=O(""),k=O(""),j=E(()=>{if(!h.value)return w.value;const y=h.value.toLowerCase();return w.value.filter(u=>u.name?.toLowerCase().includes(y)||u.description?.toLowerCase().includes(y))}),R=E(()=>[{title:t("mcpTools.toolColumns.name"),key:"name",dataIndex:"name",width:"28%"},{title:t("mcpTools.toolColumns.server"),key:"server",dataIndex:"server",width:"18%"},{title:t("mcpTools.toolColumns.description"),dataIndex:"description",ellipsis:!0},{title:t("mcpTools.toolColumns.action"),key:"action",width:110}]),A=O([]),n=O(""),l=O(!1),b=O(!1),m=E(()=>[{title:t("mcpTools.resourceColumns.uri"),key:"uri",dataIndex:"uri"},{title:t("mcpTools.resourceColumns.server"),key:"server",dataIndex:"server",width:"15%"},{title:t("mcpTools.resourceColumns.mime"),key:"mimeType",dataIndex:"mimeType",width:"15%"},{title:t("mcpTools.resourceColumns.action"),key:"action",width:90}]),S=E(()=>{if(!n.value)return A.value;const y=n.value.toLowerCase();return A.value.filter(u=>u.uri?.toLowerCase().includes(y)||u.name?.toLowerCase().includes(y)||u.description?.toLowerCase().includes(y))});async function N(){if(!l.value){l.value=!0;try{const y=await i.listResources();if(!y||!Array.isArray(y.servers)){A.value=[];return}const u=[];for(const T of y.servers)if(Array.isArray(T.resources))for(const z of T.resources)u.push({key:`${T.name}.${z.uri}`,uri:z.uri,name:z.name||"",description:z.description||"",mimeType:z.mimeType||null,server:T.name});A.value=u,b.value=!0}catch(y){console.error("listResources failed:",y),A.value=[]}finally{l.value=!1}}}const J=O(!1),_=O(null),L=O(!1),W=O([]),$=O(""),xe=E(()=>_.value?t("mcpTools.read.modalTitle",{server:_.value.server}):t("mcpTools.read.fallbackTitle"));async function be(y){_.value=y,W.value=[],$.value="",J.value=!0,L.value=!0;try{const u=await i.readResource(y.server,y.uri);u&&Array.isArray(u.contents)?W.value=u.contents:W.value=u?[u]:[]}catch(u){$.value=u?.message||String(u)}finally{L.value=!1}}function ke(){J.value=!1}const ee=O(!1),P=O(null),te=O("form"),oe=O({}),Q=O({}),ne=O("{}"),Y=O(!1),q=O(null),Z=O(""),we=E(()=>K(P.value?.inputSchema||null).length>0),Te=E(()=>P.value?t("mcpTools.run.modalTitle",{server:P.value.server,tool:P.value.name}):t("mcpTools.run.fallbackTitle")),ze=E(()=>{if(!P.value?.inputSchema)return"";try{return JSON.stringify(P.value.inputSchema,null,2)}catch{return String(P.value.inputSchema)}}),Se=E(()=>{if(q.value===null)return"";try{return JSON.stringify(q.value,null,2)}catch{return String(q.value)}}),H=O("");function Ce(y){P.value=y,ne.value="{}",q.value=null,Z.value="",H.value="",Q.value={};const u=K(y?.inputSchema||null);te.value=u.length>0?"form":"json",oe.value=ge(u),ee.value=!0}function Oe(){ee.value=!1}async function Ae(){if(!P.value||Y.value)return;H.value="",Q.value={};let y={};if(te.value==="form"){const u=K(P.value.inputSchema||null),T=se(u,oe.value);if(!T.ok){Q.value=T.errors;return}y=T.params}else{const u=(ne.value||"").trim();if(u){try{y=JSON.parse(u)}catch(T){H.value=T.message||"invalid JSON";return}if(y===null||typeof y!="object"||Array.isArray(y)){H.value=t("mcpTools.run.paramsMustBeObject");return}}}Y.value=!0,Z.value="",q.value=null;try{const u=await i.callTool(P.value.server,P.value.name,y);q.value=u}catch(u){Z.value=u?.message||String(u)}finally{Y.value=!1}}async function ce(){const y=await i.listTools();if(!y||!Array.isArray(y.servers))return!1;c.value=y.servers.map(T=>({key:T.name,name:T.name,command:"",args:[],description:T.state?`state: ${T.state}`:"",error:T.error||null}));const u=[];for(const T of y.servers)if(Array.isArray(T.tools))for(const z of T.tools)u.push({key:`${T.name}.${z.name}`,name:z.name,description:z.description||"",server:T.name,inputSchema:z.inputSchema||null});return w.value=u,!0}async function de(){p.value=!0;try{try{if(await ce()){k.value="topic";return}}catch(T){const z=T?.message||"";z.includes("mcp_unavailable")||z.includes("no_handler")||z.includes("UNKNOWN_TYPE")||console.error("MCP topic load failed:",T)}const[y,u]=await Promise.all([e.execute("mcp servers",15e3).catch(()=>({output:""})),e.execute("mcp tools",15e3).catch(()=>({output:""}))]);c.value=ue(y.output),w.value=me(u.output),k.value="cli"}catch(y){console.error("MCP load failed:",y)}finally{p.value=!1,k.value==="topic"?N():(A.value=[],b.value=!1)}}function ue(y){const u=[],T=y.split(`
|
|
5
|
+
`);let z=null;for(const D of T){const C=D.trim();if(!C||C.startsWith("─")||C.startsWith("MCP"))continue;const F=C.match(/^[●•]?\s*([a-z][a-z0-9-_]+)\s*$/i)||C.match(/^([a-z][a-z0-9-_]+)\s*[::]/);F?(z&&u.push(z),z={key:F[1],name:F[1],command:"",args:[],description:""}):z&&(C.startsWith("command:")||C.startsWith("Command:")?z.command=C.replace(/^command:\s*/i,"").trim():C.startsWith("args:")||C.startsWith("Args:")?z.args=C.replace(/^args:\s*/i,"").split(",").map(Ve=>Ve.trim()):z.description||(z.description=C.slice(0,80)))}return z&&u.push(z),!u.length&&y.trim()&&!y.includes("No MCP")&&y.split(`
|
|
6
6
|
`).filter(C=>C.trim()&&!C.includes("─")).slice(0,10).forEach((C,F)=>{u.push({key:F,name:C.trim(),command:"",args:[],description:""})}),u}function me(y){const u=[],T=y.split(`
|
|
7
|
-
`);let z="unknown";for(const Y of T){const C=Y.trim();if(!C||C.startsWith("─"))continue;if(C.match(/^\[/)||C.match(/^Server:/i)){z=C.replace(/[\[\]]/g,"").replace(/^Server:\s*/i,"").trim();continue}const F=C.match(/^[●•]?\s*([a-z][a-z0-9_-]+)\s*[-–]\s*(.+)/i)||C.match(/^[●•]?\s*([a-z][a-z0-9_-]+)$/);F&&u.push({key:u.length,name:F[1],description:F[2]||"",server:z})}return u}pe(de);const fe={t,ws:e,mcp:i,loading:p,servers:c,tools:w,toolSearch:h,dataSource:k,filteredTools:j,toolColumns:V,resources:A,resourceSearch:n,resourcesLoading:l,resourcesLoaded:b,resourceColumns:m,filteredResources:S,loadResources:N,readModalOpen:J,selectedResource:_,reading:L,readContents:W,readError:$,readModalTitle:xe,openReadModal:be,closeReadModal:ke,runModalOpen:ee,selectedTool:P,paramMode:te,formValues:oe,formErrors:G,paramsText:ne,running:Q,runResult:q,runError:Z,hasFormSchema:we,runModalTitle:Te,formattedSchema:ze,formattedResult:Se,paramsParseError:H,openRunModal:Ce,closeRunModal:Oe,runSelectedTool:Ae,loadFromTopic:ce,load:de,parseServers:ue,parseTools:me,ref:O,computed:E,onMounted:pe,get useI18n(){return ye},get ReloadOutlined(){return Ie},get CloudServerOutlined(){return Ee},get ToolOutlined(){return Pe},get CheckCircleOutlined(){return Le},get PlayCircleOutlined(){return Ue},get EyeOutlined(){return je},get useWsStore(){return re},get useMcp(){return ve},McpToolForm:nt,get extractFields(){return K},get defaultValues(){return ge},get validateValues(){return se}};return Object.defineProperty(fe,"__isScriptSetup",{enumerable:!1,value:!0}),fe}},at={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},lt={class:"page-title"},st={class:"page-sub"},it={key:0,style:{"text-align":"center",padding:"30px"}},ct={key:1,style:{"text-align":"center",padding:"30px",color:"var(--text-muted)"}},dt={style:{background:"var(--bg-card-hover)",padding:"2px 6px","border-radius":"3px"}},ut={key:2,class:"servers-grid"},mt={style:{display:"flex","align-items":"center",gap:"10px","margin-bottom":"6px"}},ft={style:{color:"#e0e0e0","font-weight":"500","font-family":"monospace"}},pt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},yt={key:1,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"4px"}},vt={key:0,style:{"text-align":"center",padding:"30px"}},_t={key:0,style:{color:"#91caff","font-family":"monospace","font-size":"12px"}},gt={key:1,style:{color:"var(--text-muted)","font-size":"11px"}},ht={style:{padding:"30px",color:"var(--text-muted)"}},xt={key:0,style:{"text-align":"center",padding:"30px"}},bt={key:1,style:{"text-align":"center",padding:"30px",color:"var(--text-muted)"}},kt={key:0,style:{color:"#87d068","font-family":"monospace","font-size":"11px","word-break":"break-all"}},wt={key:1,style:{color:"var(--text-muted)","font-size":"10px"}},Tt={style:{padding:"30px",color:"var(--text-muted)"}},zt={key:0,style:{display:"flex","flex-direction":"column",gap:"12px"}},St={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Ct={style:{"font-family":"monospace","font-size":"13px"}},Ot={style:{color:"#91caff"}},At={key:0},Rt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Vt={style:{"font-size":"12px"}},Mt={key:1},jt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Ut={style:{background:"var(--bg-card-hover)",padding:"8px","border-radius":"4px","font-size":"11px","max-height":"140px",overflow:"auto",margin:"0"}},Lt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"4px"}},Pt={style:{color:"var(--text-muted)","font-size":"11px"}},Et={key:0,style:{color:"#ff4d4f","font-size":"11px","margin-top":"4px"}},It={key:2,style:{background:"#2a1517",border:"1px solid #5c2426",padding:"8px","border-radius":"4px"}},Ft={style:{color:"#ff4d4f","font-size":"11px","font-weight":"500","margin-bottom":"4px"}},Nt={style:{color:"#ff7875","font-size":"11px",margin:"0","white-space":"pre-wrap"}},qt={key:3},Bt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Jt={style:{background:"var(--bg-card-hover)",padding:"8px","border-radius":"4px","font-size":"11px","max-height":"240px",overflow:"auto",margin:"0","white-space":"pre-wrap"}},Wt={key:0,style:{display:"flex","flex-direction":"column",gap:"12px"}},Kt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Ht={style:{"font-family":"monospace","font-size":"12px","word-break":"break-all"}},Yt={style:{color:"#87d068"}},Dt={key:0},Gt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Qt={style:{"font-size":"12px"}},Zt={key:1,style:{"text-align":"center",padding:"20px"}},Xt={key:2,style:{background:"#2a1517",border:"1px solid #5c2426",padding:"8px","border-radius":"4px"}},$t={style:{color:"#ff4d4f","font-size":"11px","font-weight":"500","margin-bottom":"4px"}},eo={style:{color:"#ff7875","font-size":"11px",margin:"0","white-space":"pre-wrap"}},to={key:3},oo={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},no={style:{display:"flex",gap:"8px","align-items":"center","margin-bottom":"4px"}},ro={key:1,style:{color:"var(--text-muted)","font-size":"10px","font-family":"monospace"}},ao={key:0,style:{background:"var(--bg-card-hover)",padding:"8px","border-radius":"4px","font-size":"11px","max-height":"360px",overflow:"auto",margin:"0","white-space":"pre-wrap","word-break":"break-all"}},lo={key:1,style:{"font-size":"11px",color:"var(--text-muted)","font-style":"italic"}},so={key:2,style:{"font-size":"11px",color:"var(--text-muted)","font-style":"italic"}};function io(r,a,t,e,i,p){const c=M("a-button"),w=M("a-statistic"),h=M("a-card"),k=M("a-col"),j=M("a-row"),V=M("a-spin"),A=M("a-badge"),n=M("a-input-search"),l=M("a-tag"),b=M("a-table"),m=M("a-radio-button"),S=M("a-radio-group"),N=M("a-textarea"),J=M("a-modal");return o(),d("div",null,[f("div",at,[f("div",null,[f("h2",lt,s(e.t("mcpTools.title")),1),f("p",st,s(e.t("mcpTools.subtitle")),1)]),g(c,{type:"primary",ghost:"",loading:e.loading,onClick:e.load},{icon:v(()=>[g(e.ReloadOutlined)]),default:v(()=>[U(" "+s(e.t("mcpTools.refresh")),1)]),_:1},8,["loading"])]),x(" Stats Row "),g(j,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:v(()=>[g(k,{xs:24,sm:8},{default:v(()=>[g(h,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:v(()=>[g(w,{title:e.t("mcpTools.stats.servers"),value:e.servers.length,"value-style":"color: #1677ff; font-size: 20px;"},{prefix:v(()=>[g(e.CloudServerOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),g(k,{xs:24,sm:8},{default:v(()=>[g(h,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:v(()=>[g(w,{title:e.t("mcpTools.stats.tools"),value:e.tools.length,"value-style":"color: #52c41a; font-size: 20px;"},{prefix:v(()=>[g(e.ToolOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),g(k,{xs:24,sm:8},{default:v(()=>[g(h,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:v(()=>[g(w,{title:e.t("mcpTools.stats.running"),value:e.t("mcpTools.stats.ready"),"value-style":"color: #52c41a; font-size: 20px;"},{prefix:v(()=>[g(e.CheckCircleOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),x(" Servers "),g(h,{title:e.t("mcpTools.servers.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:v(()=>[e.loading?(o(),d("div",it,[g(V)])):e.servers.length?(o(),d("div",ut,[(o(!0),d(I,null,D(e.servers,_=>(o(),R(h,{key:_.name,size:"small",style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{default:v(()=>[f("div",mt,[g(e.CloudServerOutlined,{style:{color:"#1677ff"}}),f("span",ft,s(_.name),1),g(A,{status:"success"})]),_.command?(o(),d("div",pt,s(_.command)+" "+s(_.args?.join(" ")),1)):x("v-if",!0),_.description?(o(),d("div",yt,s(_.description),1)):x("v-if",!0)]),_:2},1024))),128))])):(o(),d("div",ct,[U(s(e.t("mcpTools.servers.emptyHintPrefix"))+" ",1),f("code",dt,s(e.t("mcpTools.servers.emptyHintCommand")),1),U(" "+s(e.t("mcpTools.servers.emptyHintSuffix")),1)]))]),_:1},8,["title"]),x(" Tools "),g(h,{title:e.t("mcpTools.tools.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:v(()=>[g(n,{value:e.toolSearch,"onUpdate:value":a[0]||(a[0]=_=>e.toolSearch=_),placeholder:e.t("mcpTools.tools.searchPlaceholder"),"allow-clear":"",size:"small",style:{width:"200px"}},null,8,["value","placeholder"])]),default:v(()=>[e.loading?(o(),d("div",vt,[g(V)])):(o(),R(b,{key:1,columns:e.toolColumns,"data-source":e.filteredTools,pagination:{pageSize:15},size:"small"},{bodyCell:v(({column:_,record:L})=>[_.key==="name"?(o(),d("span",_t,s(L.name),1)):x("v-if",!0),_.key==="server"?(o(),R(l,{key:1,color:"blue",style:{"font-size":"10px"}},{default:v(()=>[U(s(L.server),1)]),_:2},1024)):x("v-if",!0),_.key==="action"?(o(),d(I,{key:2},[e.dataSource==="topic"?(o(),R(c,{key:0,size:"small",type:"link",onClick:W=>e.openRunModal(L)},{icon:v(()=>[g(e.PlayCircleOutlined)]),default:v(()=>[U(" "+s(e.t("mcpTools.tools.runAction")),1)]),_:1},8,["onClick"])):(o(),d("span",gt,s(e.t("mcpTools.tools.desktopOnly")),1))],64)):x("v-if",!0)]),emptyText:v(()=>[f("div",ht,s(e.t("mcpTools.tools.emptyText")),1)]),_:1},8,["columns","data-source"]))]),_:1},8,["title"]),x(" Resources (topic mode only — CLI fallback doesn't surface resources) "),e.dataSource==="topic"?(o(),R(h,{key:0,title:e.t("mcpTools.resources.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{extra:v(()=>[g(n,{value:e.resourceSearch,"onUpdate:value":a[1]||(a[1]=_=>e.resourceSearch=_),placeholder:e.t("mcpTools.resources.searchPlaceholder"),"allow-clear":"",size:"small",style:{width:"200px"}},null,8,["value","placeholder"])]),default:v(()=>[e.resourcesLoading?(o(),d("div",xt,[g(V)])):e.resources.length?(o(),R(b,{key:2,columns:e.resourceColumns,"data-source":e.filteredResources,pagination:{pageSize:15},size:"small"},{bodyCell:v(({column:_,record:L})=>[_.key==="uri"?(o(),d("span",kt,s(L.uri),1)):x("v-if",!0),_.key==="server"?(o(),R(l,{key:1,color:"blue",style:{"font-size":"10px"}},{default:v(()=>[U(s(L.server),1)]),_:2},1024)):x("v-if",!0),_.key==="mimeType"?(o(),d(I,{key:2},[L.mimeType?(o(),R(l,{key:0,style:{"font-size":"10px"}},{default:v(()=>[U(s(L.mimeType),1)]),_:2},1024)):(o(),d("span",wt,"—"))],64)):x("v-if",!0),_.key==="action"?(o(),R(c,{key:3,size:"small",type:"link",onClick:W=>e.openReadModal(L)},{icon:v(()=>[g(e.EyeOutlined)]),default:v(()=>[U(" "+s(e.t("mcpTools.resources.readAction")),1)]),_:1},8,["onClick"])):x("v-if",!0)]),emptyText:v(()=>[f("div",Tt,s(e.t("mcpTools.resources.emptyTable")),1)]),_:1},8,["columns","data-source"])):(o(),d("div",bt,s(e.t("mcpTools.resources.emptyHint")),1))]),_:1},8,["title"])):x("v-if",!0),g(J,{open:e.runModalOpen,title:e.runModalTitle,width:640,"confirm-loading":e.running,"ok-text":e.running?e.t("mcpTools.run.okRunning"):e.t("mcpTools.run.okIdle"),"cancel-text":e.t("mcpTools.run.cancel"),onOk:e.runSelectedTool,onCancel:e.closeRunModal},{default:v(()=>[e.selectedTool?(o(),d("div",zt,[f("div",null,[f("div",St,s(e.t("mcpTools.run.serverLabel")),1),f("div",Ct,[g(l,{color:"blue"},{default:v(()=>[U(s(e.selectedTool.server),1)]),_:1}),f("span",Ot,s(e.selectedTool.name),1)])]),e.selectedTool.description?(o(),d("div",At,[f("div",Rt,s(e.t("mcpTools.run.descriptionLabel")),1),f("div",Vt,s(e.selectedTool.description),1)])):x("v-if",!0),e.selectedTool.inputSchema?(o(),d("div",Mt,[f("div",jt,s(e.t("mcpTools.run.schemaLabel")),1),f("pre",Ut,s(e.formattedSchema),1)])):x("v-if",!0),f("div",null,[f("div",Lt,[f("span",Pt,s(e.t("mcpTools.run.paramsLabel")),1),g(S,{value:e.paramMode,"onUpdate:value":a[2]||(a[2]=_=>e.paramMode=_),size:"small","button-style":"solid"},{default:v(()=>[g(m,{value:"form",disabled:!e.hasFormSchema},{default:v(()=>[U(s(e.t("mcpTools.run.modeForm")),1)]),_:1},8,["disabled"]),g(m,{value:"json"},{default:v(()=>[U(s(e.t("mcpTools.run.modeJson")),1)]),_:1})]),_:1},8,["value"])]),e.paramMode==="form"?(o(),R(e.McpToolForm,{key:0,modelValue:e.formValues,"onUpdate:modelValue":a[3]||(a[3]=_=>e.formValues=_),schema:e.selectedTool.inputSchema,errors:e.formErrors},null,8,["modelValue","schema","errors"])):(o(),d(I,{key:1},[g(N,{value:e.paramsText,"onUpdate:value":a[4]||(a[4]=_=>e.paramsText=_),rows:6,placeholder:"{}",style:{"font-family":"monospace","font-size":"12px"}},null,8,["value"]),e.paramsParseError?(o(),d("div",Et,s(e.t("mcpTools.run.jsonParseFailed",{err:e.paramsParseError})),1)):x("v-if",!0)],64))]),e.runError?(o(),d("div",It,[f("div",Ft,s(e.t("mcpTools.run.errorTitle")),1),f("pre",Nt,s(e.runError),1)])):x("v-if",!0),e.runResult!==null?(o(),d("div",qt,[f("div",Bt,s(e.t("mcpTools.run.resultLabel")),1),f("pre",Jt,s(e.formattedResult),1)])):x("v-if",!0)])):x("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),g(J,{open:e.readModalOpen,title:e.readModalTitle,width:720,footer:null,onCancel:e.closeReadModal},{default:v(()=>[e.selectedResource?(o(),d("div",Wt,[f("div",null,[f("div",Kt,s(e.t("mcpTools.read.serverLabel")),1),f("div",Ht,[g(l,{color:"blue"},{default:v(()=>[U(s(e.selectedResource.server),1)]),_:1}),f("span",Yt,s(e.selectedResource.uri),1)])]),e.selectedResource.description?(o(),d("div",Dt,[f("div",Gt,s(e.t("mcpTools.read.descriptionLabel")),1),f("div",Qt,s(e.selectedResource.description),1)])):x("v-if",!0),e.reading?(o(),d("div",Zt,[g(V,{tip:e.t("mcpTools.read.spinnerTip")},null,8,["tip"])])):x("v-if",!0),e.readError?(o(),d("div",Xt,[f("div",$t,s(e.t("mcpTools.read.errorTitle")),1),f("pre",eo,s(e.readError),1)])):x("v-if",!0),e.readContents.length?(o(),d("div",to,[f("div",oo,s(e.t("mcpTools.read.contentsLabel",{count:e.readContents.length})),1),(o(!0),d(I,null,D(e.readContents,(_,L)=>(o(),d("div",{key:L,style:{"margin-bottom":"12px"}},[f("div",no,[_.mimeType?(o(),R(l,{key:0,size:"small",style:{"font-size":"10px"}},{default:v(()=>[U(s(_.mimeType),1)]),_:2},1024)):x("v-if",!0),_.uri&&_.uri!==e.selectedResource.uri?(o(),d("span",ro,s(_.uri),1)):x("v-if",!0)]),_.text?(o(),d("pre",ao,s(_.text),1)):_.blob?(o(),d("div",lo,s(e.t("mcpTools.read.binaryNote",{count:_.blob.length})),1)):(o(),d("div",so,s(e.t("mcpTools.read.emptyContent")),1))]))),128))])):x("v-if",!0)])):x("v-if",!0)]),_:1},8,["open","title"])])}const fo=he(rt,[["render",io],["__scopeId","data-v-0f358f52"],["__file","/tmp/cc-web-panel-oYLsUC/repo/packages/web-panel/src/views/McpTools.vue"]]);export{fo as default};
|
|
7
|
+
`);let z="unknown";for(const D of T){const C=D.trim();if(!C||C.startsWith("─"))continue;if(C.match(/^\[/)||C.match(/^Server:/i)){z=C.replace(/[\[\]]/g,"").replace(/^Server:\s*/i,"").trim();continue}const F=C.match(/^[●•]?\s*([a-z][a-z0-9_-]+)\s*[-–]\s*(.+)/i)||C.match(/^[●•]?\s*([a-z][a-z0-9_-]+)$/);F&&u.push({key:u.length,name:F[1],description:F[2]||"",server:z})}return u}pe(de);const fe={t,ws:e,mcp:i,loading:p,servers:c,tools:w,toolSearch:h,dataSource:k,filteredTools:j,toolColumns:R,resources:A,resourceSearch:n,resourcesLoading:l,resourcesLoaded:b,resourceColumns:m,filteredResources:S,loadResources:N,readModalOpen:J,selectedResource:_,reading:L,readContents:W,readError:$,readModalTitle:xe,openReadModal:be,closeReadModal:ke,runModalOpen:ee,selectedTool:P,paramMode:te,formValues:oe,formErrors:Q,paramsText:ne,running:Y,runResult:q,runError:Z,hasFormSchema:we,runModalTitle:Te,formattedSchema:ze,formattedResult:Se,paramsParseError:H,openRunModal:Ce,closeRunModal:Oe,runSelectedTool:Ae,loadFromTopic:ce,load:de,parseServers:ue,parseTools:me,ref:O,computed:E,onMounted:pe,get useI18n(){return ye},get ReloadOutlined(){return Ie},get CloudServerOutlined(){return Ee},get ToolOutlined(){return Pe},get CheckCircleOutlined(){return Le},get PlayCircleOutlined(){return Ue},get EyeOutlined(){return je},get useWsStore(){return re},get useMcp(){return ve},McpToolForm:nt,get extractFields(){return K},get defaultValues(){return ge},get validateValues(){return se}};return Object.defineProperty(fe,"__isScriptSetup",{enumerable:!1,value:!0}),fe}},at={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},lt={class:"page-title"},st={class:"page-sub"},it={key:0,style:{"text-align":"center",padding:"30px"}},ct={key:1,style:{"text-align":"center",padding:"30px",color:"var(--text-muted)"}},dt={style:{background:"var(--bg-card-hover)",padding:"2px 6px","border-radius":"3px"}},ut={key:2,class:"servers-grid"},mt={style:{display:"flex","align-items":"center",gap:"10px","margin-bottom":"6px"}},ft={style:{color:"#e0e0e0","font-weight":"500","font-family":"monospace"}},pt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},yt={key:1,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"4px"}},vt={key:0,style:{"text-align":"center",padding:"30px"}},_t={key:0,style:{color:"#91caff","font-family":"monospace","font-size":"12px"}},gt={key:1,style:{color:"var(--text-muted)","font-size":"11px"}},ht={style:{padding:"30px",color:"var(--text-muted)"}},xt={key:0,style:{"text-align":"center",padding:"30px"}},bt={key:1,style:{"text-align":"center",padding:"30px",color:"var(--text-muted)"}},kt={key:0,style:{color:"#87d068","font-family":"monospace","font-size":"11px","word-break":"break-all"}},wt={key:1,style:{color:"var(--text-muted)","font-size":"10px"}},Tt={style:{padding:"30px",color:"var(--text-muted)"}},zt={key:0,style:{display:"flex","flex-direction":"column",gap:"12px"}},St={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Ct={style:{"font-family":"monospace","font-size":"13px"}},Ot={style:{color:"#91caff"}},At={key:0},Vt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Rt={style:{"font-size":"12px"}},Mt={key:1},jt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Ut={style:{background:"var(--bg-card-hover)",padding:"8px","border-radius":"4px","font-size":"11px","max-height":"140px",overflow:"auto",margin:"0"}},Lt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"4px"}},Pt={style:{color:"var(--text-muted)","font-size":"11px"}},Et={key:0,style:{color:"#ff4d4f","font-size":"11px","margin-top":"4px"}},It={key:2,style:{background:"#2a1517",border:"1px solid #5c2426",padding:"8px","border-radius":"4px"}},Ft={style:{color:"#ff4d4f","font-size":"11px","font-weight":"500","margin-bottom":"4px"}},Nt={style:{color:"#ff7875","font-size":"11px",margin:"0","white-space":"pre-wrap"}},qt={key:3},Bt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Jt={style:{background:"var(--bg-card-hover)",padding:"8px","border-radius":"4px","font-size":"11px","max-height":"240px",overflow:"auto",margin:"0","white-space":"pre-wrap"}},Wt={key:0,style:{display:"flex","flex-direction":"column",gap:"12px"}},Kt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Ht={style:{"font-family":"monospace","font-size":"12px","word-break":"break-all"}},Dt={style:{color:"#87d068"}},Gt={key:0},Qt={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},Yt={style:{"font-size":"12px"}},Zt={key:1,style:{"text-align":"center",padding:"20px"}},Xt={key:2,style:{background:"#2a1517",border:"1px solid #5c2426",padding:"8px","border-radius":"4px"}},$t={style:{color:"#ff4d4f","font-size":"11px","font-weight":"500","margin-bottom":"4px"}},eo={style:{color:"#ff7875","font-size":"11px",margin:"0","white-space":"pre-wrap"}},to={key:3},oo={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},no={style:{display:"flex",gap:"8px","align-items":"center","margin-bottom":"4px"}},ro={key:1,style:{color:"var(--text-muted)","font-size":"10px","font-family":"monospace"}},ao={key:0,style:{background:"var(--bg-card-hover)",padding:"8px","border-radius":"4px","font-size":"11px","max-height":"360px",overflow:"auto",margin:"0","white-space":"pre-wrap","word-break":"break-all"}},lo={key:1,style:{"font-size":"11px",color:"var(--text-muted)","font-style":"italic"}},so={key:2,style:{"font-size":"11px",color:"var(--text-muted)","font-style":"italic"}};function io(r,a,t,e,i,p){const c=M("a-button"),w=M("a-statistic"),h=M("a-card"),k=M("a-col"),j=M("a-row"),R=M("a-spin"),A=M("a-badge"),n=M("a-input-search"),l=M("a-tag"),b=M("a-table"),m=M("a-radio-button"),S=M("a-radio-group"),N=M("a-textarea"),J=M("a-modal");return o(),d("div",null,[f("div",at,[f("div",null,[f("h2",lt,s(e.t("mcpTools.title")),1),f("p",st,s(e.t("mcpTools.subtitle")),1)]),g(c,{type:"primary",ghost:"",loading:e.loading,onClick:e.load},{icon:v(()=>[g(e.ReloadOutlined)]),default:v(()=>[U(" "+s(e.t("mcpTools.refresh")),1)]),_:1},8,["loading"])]),x(" Stats Row "),g(j,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:v(()=>[g(k,{xs:24,sm:8},{default:v(()=>[g(h,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:v(()=>[g(w,{title:e.t("mcpTools.stats.servers"),value:e.servers.length,"value-style":"color: #1677ff; font-size: 20px;"},{prefix:v(()=>[g(e.CloudServerOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),g(k,{xs:24,sm:8},{default:v(()=>[g(h,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:v(()=>[g(w,{title:e.t("mcpTools.stats.tools"),value:e.tools.length,"value-style":"color: #52c41a; font-size: 20px;"},{prefix:v(()=>[g(e.ToolOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),g(k,{xs:24,sm:8},{default:v(()=>[g(h,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:v(()=>[g(w,{title:e.t("mcpTools.stats.running"),value:e.t("mcpTools.stats.ready"),"value-style":"color: #52c41a; font-size: 20px;"},{prefix:v(()=>[g(e.CheckCircleOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),x(" Servers "),g(h,{title:e.t("mcpTools.servers.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:v(()=>[e.loading?(o(),d("div",it,[g(R)])):e.servers.length?(o(),d("div",ut,[(o(!0),d(I,null,G(e.servers,_=>(o(),V(h,{key:_.name,size:"small",style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{default:v(()=>[f("div",mt,[g(e.CloudServerOutlined,{style:{color:"#1677ff"}}),f("span",ft,s(_.name),1),g(A,{status:"success"})]),_.command?(o(),d("div",pt,s(_.command)+" "+s(_.args?.join(" ")),1)):x("v-if",!0),_.description?(o(),d("div",yt,s(_.description),1)):x("v-if",!0)]),_:2},1024))),128))])):(o(),d("div",ct,[U(s(e.t("mcpTools.servers.emptyHintPrefix"))+" ",1),f("code",dt,s(e.t("mcpTools.servers.emptyHintCommand")),1),U(" "+s(e.t("mcpTools.servers.emptyHintSuffix")),1)]))]),_:1},8,["title"]),x(" Tools "),g(h,{title:e.t("mcpTools.tools.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:v(()=>[g(n,{value:e.toolSearch,"onUpdate:value":a[0]||(a[0]=_=>e.toolSearch=_),placeholder:e.t("mcpTools.tools.searchPlaceholder"),"allow-clear":"",size:"small",style:{width:"200px"}},null,8,["value","placeholder"])]),default:v(()=>[e.loading?(o(),d("div",vt,[g(R)])):(o(),V(b,{key:1,columns:e.toolColumns,"data-source":e.filteredTools,pagination:{pageSize:15},size:"small"},{bodyCell:v(({column:_,record:L})=>[_.key==="name"?(o(),d("span",_t,s(L.name),1)):x("v-if",!0),_.key==="server"?(o(),V(l,{key:1,color:"blue",style:{"font-size":"10px"}},{default:v(()=>[U(s(L.server),1)]),_:2},1024)):x("v-if",!0),_.key==="action"?(o(),d(I,{key:2},[e.dataSource==="topic"?(o(),V(c,{key:0,size:"small",type:"link",onClick:W=>e.openRunModal(L)},{icon:v(()=>[g(e.PlayCircleOutlined)]),default:v(()=>[U(" "+s(e.t("mcpTools.tools.runAction")),1)]),_:1},8,["onClick"])):(o(),d("span",gt,s(e.t("mcpTools.tools.desktopOnly")),1))],64)):x("v-if",!0)]),emptyText:v(()=>[f("div",ht,s(e.t("mcpTools.tools.emptyText")),1)]),_:1},8,["columns","data-source"]))]),_:1},8,["title"]),x(" Resources (topic mode only — CLI fallback doesn't surface resources) "),e.dataSource==="topic"?(o(),V(h,{key:0,title:e.t("mcpTools.resources.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{extra:v(()=>[g(n,{value:e.resourceSearch,"onUpdate:value":a[1]||(a[1]=_=>e.resourceSearch=_),placeholder:e.t("mcpTools.resources.searchPlaceholder"),"allow-clear":"",size:"small",style:{width:"200px"}},null,8,["value","placeholder"])]),default:v(()=>[e.resourcesLoading?(o(),d("div",xt,[g(R)])):e.resources.length?(o(),V(b,{key:2,columns:e.resourceColumns,"data-source":e.filteredResources,pagination:{pageSize:15},size:"small"},{bodyCell:v(({column:_,record:L})=>[_.key==="uri"?(o(),d("span",kt,s(L.uri),1)):x("v-if",!0),_.key==="server"?(o(),V(l,{key:1,color:"blue",style:{"font-size":"10px"}},{default:v(()=>[U(s(L.server),1)]),_:2},1024)):x("v-if",!0),_.key==="mimeType"?(o(),d(I,{key:2},[L.mimeType?(o(),V(l,{key:0,style:{"font-size":"10px"}},{default:v(()=>[U(s(L.mimeType),1)]),_:2},1024)):(o(),d("span",wt,"—"))],64)):x("v-if",!0),_.key==="action"?(o(),V(c,{key:3,size:"small",type:"link",onClick:W=>e.openReadModal(L)},{icon:v(()=>[g(e.EyeOutlined)]),default:v(()=>[U(" "+s(e.t("mcpTools.resources.readAction")),1)]),_:1},8,["onClick"])):x("v-if",!0)]),emptyText:v(()=>[f("div",Tt,s(e.t("mcpTools.resources.emptyTable")),1)]),_:1},8,["columns","data-source"])):(o(),d("div",bt,s(e.t("mcpTools.resources.emptyHint")),1))]),_:1},8,["title"])):x("v-if",!0),g(J,{open:e.runModalOpen,title:e.runModalTitle,width:640,"confirm-loading":e.running,"ok-text":e.running?e.t("mcpTools.run.okRunning"):e.t("mcpTools.run.okIdle"),"cancel-text":e.t("mcpTools.run.cancel"),onOk:e.runSelectedTool,onCancel:e.closeRunModal},{default:v(()=>[e.selectedTool?(o(),d("div",zt,[f("div",null,[f("div",St,s(e.t("mcpTools.run.serverLabel")),1),f("div",Ct,[g(l,{color:"blue"},{default:v(()=>[U(s(e.selectedTool.server),1)]),_:1}),f("span",Ot,s(e.selectedTool.name),1)])]),e.selectedTool.description?(o(),d("div",At,[f("div",Vt,s(e.t("mcpTools.run.descriptionLabel")),1),f("div",Rt,s(e.selectedTool.description),1)])):x("v-if",!0),e.selectedTool.inputSchema?(o(),d("div",Mt,[f("div",jt,s(e.t("mcpTools.run.schemaLabel")),1),f("pre",Ut,s(e.formattedSchema),1)])):x("v-if",!0),f("div",null,[f("div",Lt,[f("span",Pt,s(e.t("mcpTools.run.paramsLabel")),1),g(S,{value:e.paramMode,"onUpdate:value":a[2]||(a[2]=_=>e.paramMode=_),size:"small","button-style":"solid"},{default:v(()=>[g(m,{value:"form",disabled:!e.hasFormSchema},{default:v(()=>[U(s(e.t("mcpTools.run.modeForm")),1)]),_:1},8,["disabled"]),g(m,{value:"json"},{default:v(()=>[U(s(e.t("mcpTools.run.modeJson")),1)]),_:1})]),_:1},8,["value"])]),e.paramMode==="form"?(o(),V(e.McpToolForm,{key:0,modelValue:e.formValues,"onUpdate:modelValue":a[3]||(a[3]=_=>e.formValues=_),schema:e.selectedTool.inputSchema,errors:e.formErrors},null,8,["modelValue","schema","errors"])):(o(),d(I,{key:1},[g(N,{value:e.paramsText,"onUpdate:value":a[4]||(a[4]=_=>e.paramsText=_),rows:6,placeholder:"{}",style:{"font-family":"monospace","font-size":"12px"}},null,8,["value"]),e.paramsParseError?(o(),d("div",Et,s(e.t("mcpTools.run.jsonParseFailed",{err:e.paramsParseError})),1)):x("v-if",!0)],64))]),e.runError?(o(),d("div",It,[f("div",Ft,s(e.t("mcpTools.run.errorTitle")),1),f("pre",Nt,s(e.runError),1)])):x("v-if",!0),e.runResult!==null?(o(),d("div",qt,[f("div",Bt,s(e.t("mcpTools.run.resultLabel")),1),f("pre",Jt,s(e.formattedResult),1)])):x("v-if",!0)])):x("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),g(J,{open:e.readModalOpen,title:e.readModalTitle,width:720,footer:null,onCancel:e.closeReadModal},{default:v(()=>[e.selectedResource?(o(),d("div",Wt,[f("div",null,[f("div",Kt,s(e.t("mcpTools.read.serverLabel")),1),f("div",Ht,[g(l,{color:"blue"},{default:v(()=>[U(s(e.selectedResource.server),1)]),_:1}),f("span",Dt,s(e.selectedResource.uri),1)])]),e.selectedResource.description?(o(),d("div",Gt,[f("div",Qt,s(e.t("mcpTools.read.descriptionLabel")),1),f("div",Yt,s(e.selectedResource.description),1)])):x("v-if",!0),e.reading?(o(),d("div",Zt,[g(R,{tip:e.t("mcpTools.read.spinnerTip")},null,8,["tip"])])):x("v-if",!0),e.readError?(o(),d("div",Xt,[f("div",$t,s(e.t("mcpTools.read.errorTitle")),1),f("pre",eo,s(e.readError),1)])):x("v-if",!0),e.readContents.length?(o(),d("div",to,[f("div",oo,s(e.t("mcpTools.read.contentsLabel",{count:e.readContents.length})),1),(o(!0),d(I,null,G(e.readContents,(_,L)=>(o(),d("div",{key:L,style:{"margin-bottom":"12px"}},[f("div",no,[_.mimeType?(o(),V(l,{key:0,size:"small",style:{"font-size":"10px"}},{default:v(()=>[U(s(_.mimeType),1)]),_:2},1024)):x("v-if",!0),_.uri&&_.uri!==e.selectedResource.uri?(o(),d("span",ro,s(_.uri),1)):x("v-if",!0)]),_.text?(o(),d("pre",ao,s(_.text),1)):_.blob?(o(),d("div",lo,s(e.t("mcpTools.read.binaryNote",{count:_.blob.length})),1)):(o(),d("div",so,s(e.t("mcpTools.read.emptyContent")),1))]))),128))])):x("v-if",!0)])):x("v-if",!0)]),_:1},8,["open","title"])])}const fo=he(rt,[["render",io],["__scopeId","data-v-0f358f52"],["__file","/tmp/cc-web-panel-PV9Dxg/repo/packages/web-panel/src/views/McpTools.vue"]]);export{fo as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{I as i,J as
|
|
2
|
-
`);for(const
|
|
1
|
+
import{I as i,J as b,U as c,R as s,c as t,K as o,V as R,o as j,b as q,r as d,P as w,Q as k,F as J,Z as K}from"./vendor-BvqAck49.js";import{_ as Z,b as D,u as H,d as O}from"./index-7ME2_dHQ.js";import{S as G,aA as X,a0 as Y,$,R as ee,as as te}from"./icons-DP3uiYxy.js";const oe={__name:"Memory",setup(A,{expose:n}){n();const{t:m}=D(),e=H(),B=d(!1),S=d(!1),_=d(!1),L=d(!1),f=d(!1),u=d({shortTerm:0,longTerm:0,core:0}),y=d([]),g=d("short-term"),v=d(""),p=d({content:"",importance:.5}),I=q(()=>({0:m("memory.modal.marks.low"),.5:m("memory.modal.marks.mid"),1:m("memory.modal.marks.high")}));function U(a){return{"short-term":"purple","long-term":"blue",core:"green"}[a]||"default"}function V(a){const l=`memory.layer.${a}`,h=m(l);return h===l?a:h}async function C(){B.value=!0;try{const{output:a}=await e.execute("hmemory stats",15e3);M(a)}catch(a){console.error("hmemory stats failed:",a)}finally{B.value=!1,await T()}}function M(a){const l=a.match(/short.?term[^\d]*(\d+)/i),h=a.match(/long.?term[^\d]*(\d+)/i),P=a.match(/core[^\d]*(\d+)/i);l&&(u.value.shortTerm=parseInt(l[1])),h&&(u.value.longTerm=parseInt(h[1])),P&&(u.value.core=parseInt(P[1]))}async function T(){S.value=!0;try{const a=g.value==="short-term"?"recent":g.value==="long-term"?"important":"core",{output:l}=await e.execute(`hmemory recall "${a}" --limit 20`,15e3);y.value=z(l)}catch{y.value=[]}finally{S.value=!1}}async function F(){if(!v.value.trim()){await T();return}S.value=!0;try{const{output:a}=await e.execute(`hmemory recall "${v.value}"`,15e3);y.value=z(a)}catch{y.value=[]}finally{S.value=!1}}function z(a){const l=[],h=a.split(`
|
|
2
|
+
`);for(const P of h){const x=P.trim();if(!x||x.startsWith("─")||x.startsWith("Recall"))continue;const Q=x.match(/^[-●•\d.]+\s+(.+)/);if(Q){const W=Q[1].trim();W.length>5&&l.push({id:l.length,content:W,layer:g.value,importance:"",time:""})}else x.length>10&&!x.includes(":")&&l.length<30&&l.push({id:l.length,content:x,layer:g.value,importance:"",time:""})}return l.slice(0,20)}async function r(){if(!p.value.content.trim()){O.warning(m("memory.messages.contentRequired"));return}L.value=!0;try{const a=`hmemory store "${p.value.content.replace(/"/g,'\\"')}" --importance ${p.value.importance}`,{output:l}=await e.execute(a,15e3);l.toLowerCase().includes("stored")||l.includes("✔")?(O.success(m("memory.messages.storeOk")),f.value=!1,p.value={content:"",importance:.5},await C()):(O.warning(l.slice(0,100)||m("memory.messages.storeDefault")),f.value=!1)}catch(a){O.error(m("memory.messages.storeFailed",{err:a.message}))}finally{L.value=!1}}async function E(){_.value=!0;try{await e.execute("hmemory consolidate",2e4),O.success(m("memory.messages.consolidateOk")),await C()}catch(a){O.error(m("memory.messages.consolidateFailed",{err:a.message}))}finally{_.value=!1}}j(C);const N={t:m,ws:e,loading:B,recalling:S,consolidating:_,storing:L,showStore:f,stats:u,memories:y,activeLayer:g,recallQuery:v,newMemory:p,importanceMarks:I,layerColor:U,layerLabel:V,loadStats:C,parseStats:M,recallByLayer:T,doRecall:F,parseMemories:z,storeMemory:r,consolidate:E,ref:d,computed:q,onMounted:j,get useI18n(){return D},get PlusOutlined(){return te},get ReloadOutlined(){return ee},get ThunderboltOutlined(){return $},get ClockCircleOutlined(){return Y},get StarOutlined(){return X},get SyncOutlined(){return G},get message(){return O},get useWsStore(){return H}};return Object.defineProperty(N,"__isScriptSetup",{enumerable:!1,value:!0}),N}},ae={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},re={class:"page-title"},ne={class:"page-sub"},le={style:{"margin-top":"4px",color:"var(--text-secondary)","font-size":"11px"}},se={style:{"margin-top":"4px",color:"var(--text-secondary)","font-size":"11px"}},ie={style:{"margin-top":"4px",color:"var(--text-secondary)","font-size":"11px"}},ce={style:{display:"flex","align-items":"center",gap:"12px"}},me={key:0,style:{"text-align":"center",padding:"30px"}},de={key:1,style:{"text-align":"center",padding:"30px",color:"var(--text-muted)"}},ue={key:2,class:"memory-list"},ye={style:{display:"flex","justify-content":"space-between","align-items":"flex-start","margin-bottom":"4px"}},_e={style:{display:"flex",gap:"8px","align-items":"center"}},fe={key:0,style:{color:"var(--text-secondary)","font-size":"11px"}},ge={style:{color:"var(--text-muted)","font-size":"11px"}},ve={style:{color:"#ccc","font-size":"13px","line-height":"1.6"}};function pe(A,n,m,e,B,S){const _=i("a-button"),L=i("a-space"),f=i("a-statistic"),u=i("a-card"),y=i("a-col"),g=i("a-row"),v=i("a-radio-button"),p=i("a-radio-group"),I=i("a-input-search"),U=i("a-spin"),V=i("a-tag"),C=i("a-textarea"),M=i("a-form-item"),T=i("a-slider"),F=i("a-form"),z=i("a-modal");return w(),b("div",null,[c("div",ae,[c("div",null,[c("h2",re,s(e.t("memory.title")),1),c("p",ne,s(e.t("memory.subtitle")),1)]),t(L,null,{default:o(()=>[t(_,{onClick:n[0]||(n[0]=r=>e.showStore=!0),type:"primary"},{icon:o(()=>[t(e.PlusOutlined)]),default:o(()=>[k(" "+s(e.t("memory.storeButton")),1)]),_:1}),t(_,{ghost:"",loading:e.loading,onClick:e.loadStats},{icon:o(()=>[t(e.ReloadOutlined)]),default:o(()=>[k(" "+s(e.t("memory.refresh")),1)]),_:1},8,["loading"])]),_:1})]),R(" Stats Row "),t(g,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:o(()=>[t(y,{xs:24,sm:8},{default:o(()=>[t(u,{style:{background:"rgba(114,46,209,.1)","border-color":"rgba(114,46,209,.35)",cursor:"pointer"},hoverable:"",onClick:n[1]||(n[1]=r=>e.activeLayer="short-term")},{default:o(()=>[t(f,{title:e.t("memory.stats.shortTerm"),value:e.stats.shortTerm||0,"value-style":"color: #c084fc; font-size: 20px;"},{prefix:o(()=>[t(e.ThunderboltOutlined)]),_:1},8,["title","value"]),c("div",le,s(e.t("memory.stats.shortTermHint")),1)]),_:1})]),_:1}),t(y,{xs:24,sm:8},{default:o(()=>[t(u,{style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.3)",cursor:"pointer"},hoverable:"",onClick:n[2]||(n[2]=r=>e.activeLayer="long-term")},{default:o(()=>[t(f,{title:e.t("memory.stats.longTerm"),value:e.stats.longTerm||0,"value-style":"color: #91caff; font-size: 20px;"},{prefix:o(()=>[t(e.ClockCircleOutlined)]),_:1},8,["title","value"]),c("div",se,s(e.t("memory.stats.longTermHint")),1)]),_:1})]),_:1}),t(y,{xs:24,sm:8},{default:o(()=>[t(u,{style:{background:"rgba(41,162,112,.08)","border-color":"rgba(41,162,112,.3)",cursor:"pointer"},hoverable:"",onClick:n[3]||(n[3]=r=>e.activeLayer="core")},{default:o(()=>[t(f,{title:e.t("memory.stats.core"),value:e.stats.core||0,"value-style":"color: #69db7c; font-size: 20px;"},{prefix:o(()=>[t(e.StarOutlined)]),_:1},8,["title","value"]),c("div",ie,s(e.t("memory.stats.coreHint")),1)]),_:1})]),_:1})]),_:1}),R(" Layer Tabs + Recall "),t(u,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{title:o(()=>[c("div",ce,[c("span",null,s(e.t("memory.card.title")),1),t(p,{value:e.activeLayer,"onUpdate:value":n[4]||(n[4]=r=>e.activeLayer=r),"button-style":"solid",size:"small",onChange:e.recallByLayer},{default:o(()=>[t(v,{value:"short-term"},{default:o(()=>[k(s(e.t("memory.card.tabs.short")),1)]),_:1}),t(v,{value:"long-term"},{default:o(()=>[k(s(e.t("memory.card.tabs.long")),1)]),_:1}),t(v,{value:"core"},{default:o(()=>[k(s(e.t("memory.card.tabs.core")),1)]),_:1})]),_:1},8,["value"])])]),extra:o(()=>[t(I,{value:e.recallQuery,"onUpdate:value":n[5]||(n[5]=r=>e.recallQuery=r),placeholder:e.t("memory.card.searchPlaceholder"),"allow-clear":"",size:"small",style:{width:"220px"},loading:e.recalling,onSearch:e.doRecall},null,8,["value","placeholder","loading"])]),default:o(()=>[e.recalling?(w(),b("div",me,[t(U)])):e.memories.length?(w(),b("div",ue,[(w(!0),b(J,null,K(e.memories,r=>(w(),b("div",{key:r.id,class:"memory-item"},[c("div",ye,[c("div",_e,[t(V,{color:e.layerColor(r.layer||e.activeLayer),style:{"font-size":"10px"}},{default:o(()=>[k(s(e.layerLabel(r.layer||e.activeLayer)),1)]),_:2},1032,["color"]),r.importance?(w(),b("span",fe,s(e.t("memory.card.importanceLabel",{value:r.importance})),1)):R("v-if",!0)]),c("span",ge,s(r.time),1)]),c("div",ve,s(r.content),1)]))),128))])):(w(),b("div",de,s(e.t("memory.card.emptyText")),1))]),_:1}),R(" Consolidate Button "),t(_,{loading:e.consolidating,onClick:e.consolidate,style:{background:"var(--bg-card-hover)","border-color":"var(--text-muted)",width:"100%"}},{icon:o(()=>[t(e.SyncOutlined)]),default:o(()=>[k(" "+s(e.t("memory.consolidateButton")),1)]),_:1},8,["loading"]),R(" Store Memory Modal "),t(z,{open:e.showStore,"onUpdate:open":n[8]||(n[8]=r=>e.showStore=r),title:e.t("memory.modal.title"),"confirm-loading":e.storing,onOk:e.storeMemory},{default:o(()=>[t(F,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:o(()=>[t(M,{label:e.t("memory.modal.contentLabel"),required:""},{default:o(()=>[t(C,{value:e.newMemory.content,"onUpdate:value":n[6]||(n[6]=r=>e.newMemory.content=r),rows:4,placeholder:e.t("memory.modal.contentPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(M,{label:e.t("memory.modal.importanceLabel")},{default:o(()=>[t(T,{value:e.newMemory.importance,"onUpdate:value":n[7]||(n[7]=r=>e.newMemory.importance=r),min:0,max:1,step:.1,marks:e.importanceMarks},null,8,["value","marks"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}const we=Z(oe,[["render",pe],["__scopeId","data-v-5658552f"],["__file","/tmp/cc-web-panel-PV9Dxg/repo/packages/web-panel/src/views/Memory.vue"]]);export{we as default};
|