chainlesschain 0.157.8 → 0.157.9
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/.build-hash +1 -1
- package/src/assets/web-panel/assets/{AIOps-Dmur24hV.js → AIOps-C4XQxptM.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-BiXQ5MCX.js → ActionButton-CvKbykKA.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-BrBdBLPi.js → Analytics-DFMAWKUR.js} +2 -2
- package/src/assets/web-panel/assets/AppLayout-BkNdtTbn.js +1 -0
- package/src/assets/web-panel/assets/AppLayout-CKMl4NLf.css +1 -0
- package/src/assets/web-panel/assets/{Audit-DLYnWfX_.js → Audit-Bw7KSJD_.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-CKHLFZZS.js → Backup-D46qSgzQ.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-B7lryLAY.js → BaseInput-CvAa9Hm_.js} +1 -1
- package/src/assets/web-panel/assets/Chat-3Kj2JQP4.js +2 -0
- package/src/assets/web-panel/assets/{Checkbox-DAqCmQtS.js → Checkbox-YsCNWg9S.js} +1 -1
- package/src/assets/web-panel/assets/Codegen-AVAcL7NA.css +1 -0
- package/src/assets/web-panel/assets/Codegen-DDiVk21N.js +1 -0
- package/src/assets/web-panel/assets/{Col-BxNojt4A.js → Col-Dpb7Eik4.js} +1 -1
- package/src/assets/web-panel/assets/{Community-BG7vSQg7.js → Community-Bglv8oIv.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-Bl_FTVcP.js → Compact-DC8UsEAe.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-CL6jUiTf.js → Compliance-DzVghx7L.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-Q37C8zUh.js → Cowork-pgKzBNDo.js} +4 -4
- package/src/assets/web-panel/assets/{Cron-Kq3eJC0L.js → Cron-I81HiCa1.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-CvI5bEH8.js → Crosschain-48CdkgQf.js} +1 -1
- package/src/assets/web-panel/assets/{DID-BD9PovRf.js → DID-CVYxjLQn.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-BXSj5-OS.js → Dashboard-sqj42zKx.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-BcEYFA4h.js → Dropdown-DBfZJHBI.js} +1 -1
- package/src/assets/web-panel/assets/Federation-BT-pF1wN.js +1 -0
- package/src/assets/web-panel/assets/Federation-BftELHDw.css +1 -0
- package/src/assets/web-panel/assets/{FormItemContext-C_8M0L9X.js → FormItemContext-B-sn9E_W.js} +1 -1
- package/src/assets/web-panel/assets/{Git-DW9KmRrN.js → Git-DTh2i-Qk.js} +2 -2
- package/src/assets/web-panel/assets/{Governance--0gVd3YR.js → Governance-D788Lws6.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-CSuaikJO.js → Inference-CnFa6Se9.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-Bz8-Uh6r.js → KnowledgeGraph-DHaMxawn.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-BMTqVPem.js → Logs-B39LUZs9.js} +2 -2
- package/src/assets/web-panel/assets/{Marketplace-CTZqO_RV.js → Marketplace-BdOCF2RA.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-IN5l2BCN.js → McpTools-DbwkdBUE.js} +2 -2
- package/src/assets/web-panel/assets/{Memory-DEJ96vkh.js → Memory-Vl_lYCs2.js} +2 -2
- package/src/assets/web-panel/assets/{NLProgramming-BMftRM4D.js → NLProgramming-CgD2H0Pc.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-DAP1s6Bg.js → Notes-BvC5_V2H.js} +2 -2
- package/src/assets/web-panel/assets/{Organization-CutzdziK.js → Organization-Cxhhw4aD.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-CFLJpWAb.js → Overflow-L_28D41_.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-H7hLODDc.js → P2P-BflX74Hm.js} +2 -2
- package/src/assets/web-panel/assets/{Permissions-B7UejC3D.js → Permissions-ByLhEAbz.js} +3 -3
- package/src/assets/web-panel/assets/Pipeline-CnZJNdgt.js +1 -0
- package/src/assets/web-panel/assets/Privacy-BJIajCGG.js +1 -0
- package/src/assets/web-panel/assets/{ProjectSettings-BiKBzbRF.js → ProjectSettings-N0r_mtec.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-asWgm0Iz.js → Projects-DLvUzeIB.js} +2 -2
- package/src/assets/web-panel/assets/{Providers-C2eO_XrC.js → Providers-B2A35VhD.js} +2 -2
- package/src/assets/web-panel/assets/{Recommend-CIZjeClx.js → Recommend-DYb61WNp.js} +1 -1
- package/src/assets/web-panel/assets/Reputation-C9BfnI0z.js +1 -0
- package/src/assets/web-panel/assets/{Row-BBRGnkyd.js → Row-CpPHVi7H.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-B4jpCYCI.js → RssFeed-CbqJDErh.js} +3 -3
- package/src/assets/web-panel/assets/Search-BTk9rglb.css +1 -0
- package/src/assets/web-panel/assets/Search-C0gd765-.js +1 -0
- package/src/assets/web-panel/assets/{Security-D2BQD7tk.js → Security-DsYWAhpE.js} +4 -4
- package/src/assets/web-panel/assets/{Services-VasZTmqN.js → Services-7Blny0Jc.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-1joyz4wO.js → Skeleton-TzxE-JJt.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-BkTmE8SJ.js → Skills-DfaRaffm.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-DTbGerEL.js → Sla-mftEtvGn.js} +1 -1
- package/src/assets/web-panel/assets/{Tasks-DI3oKTDz.js → Tasks-Db9TRjE7.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-C9Z_82IH.js → Templates-DgonVRQJ.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-kLu9x3Ty.js → Tenant-BB-LLJMZ.js} +1 -1
- package/src/assets/web-panel/assets/Tokens-DHOkHNur.js +1 -0
- package/src/assets/web-panel/assets/Tokens-KvJRHQcl.css +1 -0
- package/src/assets/web-panel/assets/{Trigger-BIXZjkDZ.js → Trigger-BV4JPD3z.js} +1 -1
- package/src/assets/web-panel/assets/Trust-BLI308Ik.css +1 -0
- package/src/assets/web-panel/assets/Trust-BpC4gDis.js +1 -0
- package/src/assets/web-panel/assets/{VideoEditing-nIRTUjK_.js → VideoEditing-CeDFfKrq.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-bO-fXxBx.js → Wallet-CcNCVaor.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-uNwYx1Yn.js → WebAuthn-BbIPA6Ca.js} +4 -4
- package/src/assets/web-panel/assets/{WorkflowEditor-Bw6cIw_h.js → WorkflowEditor-DxkitXpf.js} +1 -1
- package/src/assets/web-panel/assets/{colors-WgDc41S9.js → colors-2MPUdPu2.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-BI2RK_Ub.js → compact-item-B4vcKR0x.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-gy9ZhS49.js → createContext-Div8Cl0F.js} +1 -1
- package/src/assets/web-panel/assets/{hasIn-BeuofWqK.js → hasIn-9c9xldOR.js} +1 -1
- package/src/assets/web-panel/assets/icons-ukMaZ3tx.js +57 -0
- package/src/assets/web-panel/assets/{index-B_Jn0gUS.js → index--tOLU2ID.js} +1 -1
- package/src/assets/web-panel/assets/{index-BqUqxSm3.js → index-3KbT-bG7.js} +1 -1
- package/src/assets/web-panel/assets/index-B4hcllQg.js +12 -0
- package/src/assets/web-panel/assets/{index-CFjz2AoU.js → index-B58J4NxK.js} +1 -1
- package/src/assets/web-panel/assets/{index-D3LHutKn.js → index-B65KFSc3.js} +1 -1
- package/src/assets/web-panel/assets/{index-bpC7BiFY.js → index-BCfVA9mJ.js} +2 -2
- package/src/assets/web-panel/assets/{index-DLcTmwiN.js → index-BbqCdQXU.js} +3 -3
- package/src/assets/web-panel/assets/{index-BeI4fOXN.js → index-BcnQrVVZ.js} +1 -1
- package/src/assets/web-panel/assets/{index-CCe5JJYI.js → index-BfoYep3e.js} +1 -1
- package/src/assets/web-panel/assets/{index-CBfv-ndK.js → index-BjGOthNv.js} +1 -1
- package/src/assets/web-panel/assets/{index-ChQfosO1.js → index-BntG0RJO.js} +1 -1
- package/src/assets/web-panel/assets/{index-B1KhJnQM.js → index-BuVNDnn8.js} +1 -1
- package/src/assets/web-panel/assets/index-BzBaZFuT.js +1 -0
- package/src/assets/web-panel/assets/{index-CwzHos3n.js → index-C-CTCrAH.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cwuee4M2.js → index-C1GXp5YD.js} +1 -1
- package/src/assets/web-panel/assets/index-CDoxJ9Cl.js +1 -0
- package/src/assets/web-panel/assets/{index-BhwkejpN.js → index-CIE6ht2b.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dxy2NQqS.js → index-CIWKlZ1X.js} +1 -1
- package/src/assets/web-panel/assets/{index-BIlQFerH.js → index-COJ-mQYg.js} +1 -1
- package/src/assets/web-panel/assets/{index-CndKqpaA.js → index-COdKVelL.js} +1 -1
- package/src/assets/web-panel/assets/{index-t8Iy1rHD.js → index-CVYrm1az.js} +1 -1
- package/src/assets/web-panel/assets/{index-Ct1YvTCX.js → index-Ca3iTiXs.js} +2 -2
- package/src/assets/web-panel/assets/{index-BhSfMAk_.js → index-CtM3tjRj.js} +1 -1
- package/src/assets/web-panel/assets/{index-DhwwIcoT.js → index-D--EKCHy.js} +1 -1
- package/src/assets/web-panel/assets/{index-pGLDMYoo.js → index-D-0g6tCK.js} +1 -1
- package/src/assets/web-panel/assets/{index-Q7v4BZgp.js → index-D0GALIQZ.js} +3 -3
- package/src/assets/web-panel/assets/{index-BVg8Wf40.js → index-D1JeOKve.js} +1 -1
- package/src/assets/web-panel/assets/index-DIe3dY84.js +1 -0
- package/src/assets/web-panel/assets/{index-vwTt5gIV.js → index-DJAPu9VF.js} +1 -1
- package/src/assets/web-panel/assets/{index-t5BUMwJ1.js → index-DdHPswKn.js} +1 -1
- package/src/assets/web-panel/assets/index-DgWftysw.js +1 -0
- package/src/assets/web-panel/assets/{index-CBI2Y4Kj.js → index-Dk3ZySO2.js} +2 -2
- package/src/assets/web-panel/assets/{index-D_bHyAnC.js → index-DogHNcyC.js} +1 -1
- package/src/assets/web-panel/assets/{index-IXyQceyp.js → index-IzAqu_OK.js} +2 -2
- package/src/assets/web-panel/assets/{index-BSrnzqkD.js → index-OhUZFfxQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-CUV4Xqwc.js → index-ZW72ov7W.js} +1 -1
- package/src/assets/web-panel/assets/index-ZZ_4A9um.js +36 -0
- package/src/assets/web-panel/assets/{index--V8HSAh9.js → index-dV8k_pMc.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-C1zn_AKT.js → initDefaultProps--L8bzddm.js} +1 -1
- package/src/assets/web-panel/assets/{motion-BflWvLDD.js → motion-BR7NF0vx.js} +1 -1
- package/src/assets/web-panel/assets/{move-TfXJb-sS.js → move-BpyQMRtF.js} +1 -1
- package/src/assets/web-panel/assets/{omit-COjrlUIA.js → omit-RkKN6uqw.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-1WCywewt.js → pickAttrs-Bk8_mKGY.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-y75Pew0G.js → placementArrow-CBAaXBxj.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-BDt6Mlnb.js → responsiveObserve-BzrPInK7.js} +1 -1
- package/src/assets/web-panel/assets/{slide-B1oHu6JW.js → slide-CXFBsLyp.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-CO9QQaYQ.js → statusUtils-6TeOuUzQ.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-C2ONfKU2.js → styleChecker-CQt4HHRm.js} +1 -1
- package/src/assets/web-panel/assets/{transition-atE2sWdv.js → transition-CGYDOK3N.js} +1 -1
- package/src/assets/web-panel/assets/{useConfigInject-DIKG5Y4I.js → useConfigInject-BKqJUQaF.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-C0OopxrG.js → useFlexGapSupport--RuYYIc6.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-Cryb4eNl.js → vnode-I9keNa_U.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-zuDCIwwE.js → zoom-BNV3xYvt.js} +1 -1
- package/src/assets/web-panel/index.html +2 -2
- package/src/assets/web-panel/assets/AppLayout-DCrLKryi.css +0 -1
- package/src/assets/web-panel/assets/AppLayout-DGosvMBr.js +0 -1
- package/src/assets/web-panel/assets/Chat-Ga0oUawB.js +0 -2
- package/src/assets/web-panel/assets/Pipeline-DhmIDzq5.js +0 -1
- package/src/assets/web-panel/assets/Privacy-D98lbFiD.js +0 -1
- package/src/assets/web-panel/assets/Reputation-Dq21I6NZ.js +0 -1
- package/src/assets/web-panel/assets/icons-E3MGhN6s.js +0 -57
- package/src/assets/web-panel/assets/index-B4FsQ2CI.js +0 -1
- package/src/assets/web-panel/assets/index-CK4CCFyw.js +0 -1
- package/src/assets/web-panel/assets/index-CapUO117.js +0 -12
- package/src/assets/web-panel/assets/index-CsESExuO.js +0 -1
- package/src/assets/web-panel/assets/index-DPaLf3-g.js +0 -36
- package/src/assets/web-panel/assets/index-TpCAHpWv.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{u as Ie}from"./ws-Bv7YH0VB.js";import{_ as Oe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{a as u}from"./index-
|
|
1
|
+
import{u as Ie}from"./ws-Bv7YH0VB.js";import{_ as Oe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{a as u}from"./index-BbqCdQXU.js";import{Y as le,ac as Te,ap as ze,Q as oe,o as Le,L as ne}from"./icons-ukMaZ3tx.js";import{l as $e,F as y,D as g,c as a,x as l,r,q as s,v as i,J as c,u as k,m as I,I as m,G as h,H as j,L as se}from"./vendor-BVetwVfk.js";import"./index-ZZ_4A9um.js";import"./useConfigInject-BKqJUQaF.js";import"./transition-CGYDOK3N.js";import"./Keyframes-C7fCrnlS.js";import"./Portal-CHsntPCQ.js";import"./index-U4Zd5IK6.js";const De={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Pe={key:0,style:{"text-align":"center",padding:"60px"}},Ne=["title"],We={key:1,style:{color:"var(--text-primary)"}},Re={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},je={key:4,style:{color:"var(--text-secondary)","font-size":"12px"}},Ke={key:0,style:{"text-align":"center",padding:"60px"}},Me={style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},qe={style:{color:"var(--text-secondary)","font-size":"12px"}},Be={style:{"margin-top":"16px"}},Ve={key:0,style:{"text-align":"center",padding:"60px"}},Fe={style:{display:"flex","align-items":"center",gap:"16px","margin-bottom":"16px"}},Je={key:0,style:{"margin-top":"16px"}},Ee={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)"}},Ye={key:0,style:{"margin-top":"16px"}},Ge={style:{background:"var(--bg-base)",padding:"16px","border-radius":"6px",border:"1px solid var(--border-color)"}},He={__name:"WebAuthn",setup(Qe){const x=Ie(),O=r("webauthn"),K=r(!1);async function re(){K.value=!0;try{O.value==="webauthn"?await P():O.value==="sso"?await E():O.value==="2fa"&&await ee()}finally{K.value=!1}}function ie(t){t==="sso"&&!V.value&&E(),t==="2fa"&&!G.value&&ee()}function T(t){try{return JSON.parse(t)}catch{return null}}function ue(t){return t?t.length<=16?t:t.slice(0,8)+"..."+t.slice(-8):"-"}const M=r(!1),q=r(!1),L=r([]),$=r(!1),D=r(""),de=[{title:"ID",key:"id",dataIndex:"id",width:"180px"},{title:"名称",key:"name",dataIndex:"name",width:"160px"},{title:"类型",key:"type",dataIndex:"type",width:"120px"},{title:"创建时间",key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:"最后使用",key:"lastUsed",dataIndex:"lastUsed",width:"180px"},{title:"操作",key:"actions",width:"100px",fixed:"right"}];async function P(){M.value=!0;try{const{output:t}=await x.execute("webauthn list --json",15e3),e=T(t);e&&Array.isArray(e)?L.value=e.map((o,f)=>({key:o.id||f,id:o.id||"-",name:o.name||o.displayName||"-",type:o.type||"public-key",createdAt:o.createdAt||o.created||"-",lastUsed:o.lastUsed||o.lastAuthentication||"-"})):e&&e.credentials?L.value=e.credentials.map((o,f)=>({key:o.id||f,id:o.id||"-",name:o.name||o.displayName||"-",type:o.type||"public-key",createdAt:o.createdAt||o.created||"-",lastUsed:o.lastUsed||o.lastAuthentication||"-"})):L.value=ce(t)}catch(t){u.error("加载 WebAuthn 凭证失败: "+t.message)}finally{M.value=!1}}function ce(t){const e=[],o=t.split(`
|
|
2
2
|
`);for(const f of o){const b=f.trim();if(!b||b.startsWith("─")||b.startsWith("No "))continue;const d=b.split(/\s*[|│]\s*/);d.length>=2&&e.push({key:e.length,id:d[0]||"-",name:d[1]||"-",type:d[2]||"public-key",createdAt:d[3]||"-",lastUsed:d[4]||"-"})}return e}async function pe(){const t=D.value.trim();if(!t){u.warning("请输入凭证名称");return}q.value=!0;try{const e=t.replace(/"/g,'\\"'),{output:o}=await x.execute(`webauthn register --name "${e}" --json`,3e4);o.includes("error")||o.includes("失败")?u.error("注册失败: "+o.slice(0,120)):(u.success("WebAuthn 凭证已注册"),$.value=!1,D.value="",await P())}catch(e){u.error("注册失败: "+e.message)}finally{q.value=!1}}async function ve(t){try{const{output:e}=await x.execute(`webauthn delete "${t.id}"`,15e3);e.includes("error")||e.includes("失败")?u.error("删除失败: "+e.slice(0,120)):(u.success("凭证已删除"),await P())}catch(e){u.error("删除失败: "+e.message)}}const B=r(!1),V=r(!1),F=r(!1),N=r(!1),p=r({provider:"",clientId:"",redirectUrl:"",enabled:!1}),v=r({provider:void 0,clientId:"",clientSecret:"",issuerUrl:""}),J=r([]);async function E(){B.value=!0;try{const{output:t}=await x.execute("sso status --json",15e3),e=T(t);if(e)p.value={provider:e.provider||"",clientId:e.clientId||e.client_id||"",redirectUrl:e.redirectUrl||e.redirect_url||e.callbackUrl||"",enabled:e.enabled||e.active||!1};else{const o=t.split(`
|
|
3
|
-
`);for(const f of o){const b=f.trim().match(/^(.+?)\s*[:=:]\s*(.+)$/);if(b){const d=b[1].toLowerCase(),C=b[2].trim();d.includes("provider")?p.value.provider=C:d.includes("client")&&d.includes("id")?p.value.clientId=C:d.includes("redirect")||d.includes("callback")?p.value.redirectUrl=C:(d.includes("status")||d.includes("enabled"))&&(p.value.enabled=/true|enabled|active|已启用/i.test(C))}}}J.value=[{label:"提供商",value:p.value.provider||"未配置",color:p.value.provider?"#1677ff":"#999"},{label:"状态",value:p.value.enabled?"已启用":"未启用",color:p.value.enabled?"#52c41a":"#faad14"}],V.value=!0}catch{p.value={provider:"",clientId:"",redirectUrl:"",enabled:!1},J.value=[{label:"提供商",value:"未配置",color:"#999"},{label:"状态",value:"未启用",color:"#faad14"}],V.value=!0}finally{B.value=!1}}async function fe(){if(!v.value.provider){u.warning("请选择 SSO 提供商");return}if(!v.value.clientId.trim()){u.warning("请输入 Client ID");return}F.value=!0;try{const t=[`config set sso.provider ${v.value.provider}`,`config set sso.clientId ${v.value.clientId.trim()}`];v.value.clientSecret.trim()&&t.push(`config set sso.clientSecret ${v.value.clientSecret.trim()}`),v.value.issuerUrl.trim()&&t.push(`config set sso.issuerUrl ${v.value.issuerUrl.trim()}`);for(const e of t)await x.execute(e,1e4);u.success("SSO 配置已保存"),N.value=!1,await E()}catch(t){u.error("保存失败: "+t.message)}finally{F.value=!1}}const
|
|
4
|
-
OTP Auth URL: ${e.otpAuthUrl||e.uri||""}`:A.value=t,w.value=!0,u.success("TOTP 已启用")}}catch(t){u.error("启用失败: "+t.message)}finally{U.value=!1}}async function me(){U.value=!0,A.value="";try{const{output:t}=await x.execute("auth 2fa disable",15e3);t.includes("error")||t.includes("失败")?u.error("禁用失败: "+t.slice(0,120)):(w.value=!1,u.success("双因素认证已禁用"))}catch(t){u.error("禁用失败: "+t.message)}finally{U.value=!1}}async function be(){
|
|
5
|
-
`).map(f=>f.trim()).filter(f=>f&&/^[A-Za-z0-9-]{6,}$/.test(f));S.value=o.length>0?o:[t.trim()||"无法生成恢复码"]}S.value.length>0&&S.value[0]!=="无法生成恢复码"&&u.success("恢复码已生成")}catch(t){u.error("生成恢复码失败: "+t.message)}finally{
|
|
3
|
+
`);for(const f of o){const b=f.trim().match(/^(.+?)\s*[:=:]\s*(.+)$/);if(b){const d=b[1].toLowerCase(),C=b[2].trim();d.includes("provider")?p.value.provider=C:d.includes("client")&&d.includes("id")?p.value.clientId=C:d.includes("redirect")||d.includes("callback")?p.value.redirectUrl=C:(d.includes("status")||d.includes("enabled"))&&(p.value.enabled=/true|enabled|active|已启用/i.test(C))}}}J.value=[{label:"提供商",value:p.value.provider||"未配置",color:p.value.provider?"#1677ff":"#999"},{label:"状态",value:p.value.enabled?"已启用":"未启用",color:p.value.enabled?"#52c41a":"#faad14"}],V.value=!0}catch{p.value={provider:"",clientId:"",redirectUrl:"",enabled:!1},J.value=[{label:"提供商",value:"未配置",color:"#999"},{label:"状态",value:"未启用",color:"#faad14"}],V.value=!0}finally{B.value=!1}}async function fe(){if(!v.value.provider){u.warning("请选择 SSO 提供商");return}if(!v.value.clientId.trim()){u.warning("请输入 Client ID");return}F.value=!0;try{const t=[`config set sso.provider ${v.value.provider}`,`config set sso.clientId ${v.value.clientId.trim()}`];v.value.clientSecret.trim()&&t.push(`config set sso.clientSecret ${v.value.clientSecret.trim()}`),v.value.issuerUrl.trim()&&t.push(`config set sso.issuerUrl ${v.value.issuerUrl.trim()}`);for(const e of t)await x.execute(e,1e4);u.success("SSO 配置已保存"),N.value=!1,await E()}catch(t){u.error("保存失败: "+t.message)}finally{F.value=!1}}const Y=r(!1),G=r(!1),w=r(!1),U=r(!1),A=r(""),H=r(!1),S=r([]);async function ee(){Y.value=!0;try{const{output:t}=await x.execute("auth 2fa status --json",15e3),e=T(t);e?w.value=e.enabled||e.active||!1:w.value=/enabled|已启用|active/i.test(t),G.value=!0}catch{w.value=!1,G.value=!0}finally{Y.value=!1}}async function ye(){U.value=!0,A.value="";try{const{output:t}=await x.execute("auth 2fa enable --type totp --json",2e4);if(t.includes("error")||t.includes("失败"))u.error("启用失败: "+t.slice(0,120));else{const e=T(t);e&&e.secret?A.value=`TOTP Secret: ${e.secret}
|
|
4
|
+
OTP Auth URL: ${e.otpAuthUrl||e.uri||""}`:A.value=t,w.value=!0,u.success("TOTP 已启用")}}catch(t){u.error("启用失败: "+t.message)}finally{U.value=!1}}async function me(){U.value=!0,A.value="";try{const{output:t}=await x.execute("auth 2fa disable",15e3);t.includes("error")||t.includes("失败")?u.error("禁用失败: "+t.slice(0,120)):(w.value=!1,u.success("双因素认证已禁用"))}catch(t){u.error("禁用失败: "+t.message)}finally{U.value=!1}}async function be(){H.value=!0,S.value=[];try{const{output:t}=await x.execute("auth 2fa recovery-codes --json",15e3),e=T(t);if(e&&Array.isArray(e.codes))S.value=e.codes;else if(e&&Array.isArray(e))S.value=e;else{const o=t.split(`
|
|
5
|
+
`).map(f=>f.trim()).filter(f=>f&&/^[A-Za-z0-9-]{6,}$/.test(f));S.value=o.length>0?o:[t.trim()||"无法生成恢复码"]}S.value.length>0&&S.value[0]!=="无法生成恢复码"&&u.success("恢复码已生成")}catch(t){u.error("生成恢复码失败: "+t.message)}finally{H.value=!1}}return $e(()=>{P()}),(t,e)=>{const o=s("a-button"),f=s("a-space"),b=s("a-spin"),d=s("a-tag"),C=s("a-popconfirm"),ge=s("a-empty"),_e=s("a-table"),Q=s("a-input"),z=s("a-form-item"),te=s("a-form"),ae=s("a-modal"),Z=s("a-tab-pane"),xe=s("a-statistic"),W=s("a-card"),ke=s("a-col"),we=s("a-row"),R=s("a-descriptions-item"),Se=s("a-descriptions"),X=s("a-select-option"),he=s("a-select"),Ce=s("a-input-password"),Ue=s("a-alert"),Ae=s("a-tabs");return i(),y("div",null,[g("div",De,[e[11]||(e[11]=g("div",null,[g("h2",{class:"page-title"},"认证管理"),g("p",{class:"page-sub"},"WebAuthn / SSO / 双因素认证")],-1)),a(o,{type:"primary",ghost:"",loading:K.value,onClick:re},{icon:l(()=>[a(k(le))]),default:l(()=>[e[10]||(e[10]=c(" 刷新 ",-1))]),_:1},8,["loading"])]),a(Ae,{activeKey:O.value,"onUpdate:activeKey":e[9]||(e[9]=n=>O.value=n),type:"card",onChange:ie},{default:l(()=>[a(Z,{key:"webauthn"},{tab:l(()=>[a(k(oe)),e[12]||(e[12]=c(" WebAuthn ",-1))]),default:l(()=>[a(f,{style:{"margin-bottom":"16px"}},{default:l(()=>[a(o,{type:"primary",onClick:e[0]||(e[0]=n=>$.value=!0)},{icon:l(()=>[a(k(Te))]),default:l(()=>[e[13]||(e[13]=c(" 注册新凭证 ",-1))]),_:1})]),_:1}),M.value?(i(),y("div",Pe,[a(b,{size:"large"})])):(i(),I(_e,{key:1,columns:de,"data-source":L.value,pagination:{pageSize:20,showTotal:n=>`共 ${n} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"auth-row"},{bodyCell:l(({column:n,record:_})=>[n.key==="id"?(i(),y("span",{key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"},title:_.id},m(ue(_.id)),9,Ne)):h("",!0),n.key==="name"?(i(),y("span",We,m(_.name),1)):h("",!0),n.key==="type"?(i(),I(d,{key:2,color:"blue"},{default:l(()=>[c(m(_.type||"public-key"),1)]),_:2},1024)):h("",!0),n.key==="createdAt"?(i(),y("span",Re,m(_.createdAt||"-"),1)):h("",!0),n.key==="lastUsed"?(i(),y("span",je,m(_.lastUsed||"-"),1)):h("",!0),n.key==="actions"?(i(),I(C,{key:5,title:"确定要删除此凭证吗?","ok-text":"确定","cancel-text":"取消",onConfirm:Ze=>ve(_)},{default:l(()=>[a(o,{type:"link",danger:"",size:"small"},{icon:l(()=>[a(k(ze))]),default:l(()=>[e[14]||(e[14]=c(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])):h("",!0)]),emptyText:l(()=>[a(ge,{description:"暂无 WebAuthn 凭证,点击「注册新凭证」添加"})]),_:1},8,["data-source","pagination"])),a(ae,{open:$.value,"onUpdate:open":e[2]||(e[2]=n=>$.value=n),title:"注册 WebAuthn 凭证","confirm-loading":q.value,onOk:pe,"ok-text":"注册","cancel-text":"取消"},{default:l(()=>[a(te,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:l(()=>[a(z,{label:"凭证名称",required:""},{default:l(()=>[a(Q,{value:D.value,"onUpdate:value":e[1]||(e[1]=n=>D.value=n),placeholder:"例如:YubiKey-5, TouchID"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirm-loading"])]),_:1}),a(Z,{key:"sso"},{tab:l(()=>[a(k(Le)),e[15]||(e[15]=c(" SSO 配置 ",-1))]),default:l(()=>[B.value?(i(),y("div",Ke,[a(b,{size:"large"})])):(i(),y(j,{key:1},[a(we,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:l(()=>[(i(!0),y(j,null,se(J.value,n=>(i(),I(ke,{xs:12,sm:6,key:n.label},{default:l(()=>[a(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:l(()=>[a(xe,{title:n.label,value:n.value,"value-style":{color:n.color,fontSize:"20px"}},null,8,["title","value","value-style"])]),_:2},1024)]),_:2},1024))),128))]),_:1}),a(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},title:"当前 SSO 配置"},{default:l(()=>[a(Se,{column:{xs:1,sm:2},bordered:"",size:"small",style:{background:"var(--bg-card)"}},{default:l(()=>[a(R,{label:"提供商"},{default:l(()=>[a(d,{color:p.value.provider?"blue":"default"},{default:l(()=>[c(m(p.value.provider||"未配置"),1)]),_:1},8,["color"])]),_:1}),a(R,{label:"Client ID"},{default:l(()=>[g("span",Me,m(p.value.clientId||"-"),1)]),_:1}),a(R,{label:"Redirect URL"},{default:l(()=>[g("span",qe,m(p.value.redirectUrl||"-"),1)]),_:1}),a(R,{label:"状态"},{default:l(()=>[a(d,{color:p.value.enabled?"green":"default"},{default:l(()=>[c(m(p.value.enabled?"已启用":"未启用"),1)]),_:1},8,["color"])]),_:1})]),_:1}),g("div",Be,[a(o,{type:"primary",onClick:e[3]||(e[3]=n=>N.value=!0)},{icon:l(()=>[a(k(oe))]),default:l(()=>[e[16]||(e[16]=c(" 配置 SSO ",-1))]),_:1})])]),_:1})],64)),a(ae,{open:N.value,"onUpdate:open":e[8]||(e[8]=n=>N.value=n),title:"配置 SSO","confirm-loading":F.value,onOk:fe,"ok-text":"保存","cancel-text":"取消",width:"520px"},{default:l(()=>[a(te,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:l(()=>[a(z,{label:"提供商",required:""},{default:l(()=>[a(he,{value:v.value.provider,"onUpdate:value":e[4]||(e[4]=n=>v.value.provider=n),placeholder:"选择 SSO 提供商"},{default:l(()=>[a(X,{value:"OIDC"},{default:l(()=>[...e[17]||(e[17]=[c("OIDC",-1)])]),_:1}),a(X,{value:"SAML"},{default:l(()=>[...e[18]||(e[18]=[c("SAML",-1)])]),_:1}),a(X,{value:"LDAP"},{default:l(()=>[...e[19]||(e[19]=[c("LDAP",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),a(z,{label:"Client ID",required:""},{default:l(()=>[a(Q,{value:v.value.clientId,"onUpdate:value":e[5]||(e[5]=n=>v.value.clientId=n),placeholder:"输入 Client ID"},null,8,["value"])]),_:1}),a(z,{label:"Client Secret"},{default:l(()=>[a(Ce,{value:v.value.clientSecret,"onUpdate:value":e[6]||(e[6]=n=>v.value.clientSecret=n),placeholder:"输入 Client Secret"},null,8,["value"])]),_:1}),a(z,{label:"Issuer URL"},{default:l(()=>[a(Q,{value:v.value.issuerUrl,"onUpdate:value":e[7]||(e[7]=n=>v.value.issuerUrl=n),placeholder:"https://sso.example.com"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirm-loading"])]),_:1}),a(Z,{key:"2fa"},{tab:l(()=>[a(k(ne)),e[20]||(e[20]=c(" 双因素认证 ",-1))]),default:l(()=>[Y.value?(i(),y("div",Ve,[a(b,{size:"large"})])):(i(),y(j,{key:1},[a(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},title:"TOTP 双因素认证"},{default:l(()=>[g("div",Fe,[e[21]||(e[21]=g("span",{style:{color:"var(--text-primary)","font-size":"14px"}},"状态:",-1)),a(d,{color:w.value?"green":"default",style:{"font-size":"13px"}},{default:l(()=>[c(m(w.value?"已启用":"未启用"),1)]),_:1},8,["color"])]),a(f,null,{default:l(()=>[w.value?(i(),I(C,{key:1,title:"确定要禁用双因素认证吗?这会降低账户安全性。","ok-text":"确定禁用","cancel-text":"取消",onConfirm:me},{default:l(()=>[a(o,{danger:"",loading:U.value},{default:l(()=>[...e[23]||(e[23]=[c(" 禁用 ",-1)])]),_:1},8,["loading"])]),_:1})):(i(),I(o,{key:0,type:"primary",loading:U.value,onClick:ye},{icon:l(()=>[a(k(ne))]),default:l(()=>[e[22]||(e[22]=c(" 启用 TOTP ",-1))]),_:1},8,["loading"]))]),_:1}),A.value?(i(),y("div",Je,[g("pre",Ee,m(A.value),1)])):h("",!0)]),_:1}),a(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},title:"恢复码"},{default:l(()=>[e[25]||(e[25]=g("p",{style:{color:"var(--text-secondary)","margin-bottom":"12px"}}," 恢复码可在丢失 TOTP 设备时用于登录。请妥善保管。 ",-1)),a(o,{loading:H.value,onClick:be},{icon:l(()=>[a(k(le))]),default:l(()=>[e[24]||(e[24]=c(" 生成恢复码 ",-1))]),_:1},8,["loading"]),S.value.length>0?(i(),y("div",Ye,[a(Ue,{type:"warning","show-icon":"",style:{"margin-bottom":"12px"},message:"请立即保存这些恢复码,关闭后将无法再次查看。"}),g("div",Ge,[(i(!0),y(j,null,se(S.value,(n,_)=>(i(),y("div",{key:_,style:{"font-family":"monospace","font-size":"14px",color:"#e0e0e0",padding:"4px 0","letter-spacing":"2px"}},m(_+1)+". "+m(n),1))),128))])])):h("",!0)]),_:1})],64))]),_:1})]),_:1},8,["activeKey"])])}}},dt=Oe(He,[["__scopeId","data-v-a4bec262"]]);export{dt as default};
|
package/src/assets/web-panel/assets/{WorkflowEditor-Bw6cIw_h.js → WorkflowEditor-DxkitXpf.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{k as T,r as b,l as
|
|
1
|
+
import{k as T,r as b,l as Y,F as v,D as _,c as s,x as o,q as p,v as c,J as m,u as h,m as j,E as K,I as y,P as Q,H as V,L as D,G as N,j as X}from"./vendor-BVetwVfk.js";import{u as Z}from"./ws-Bv7YH0VB.js";import{_ as ee}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{ac as te,Y as ae}from"./icons-ukMaZ3tx.js";import{a as C}from"./index-BbqCdQXU.js";import"./index-ZZ_4A9um.js";import"./useConfigInject-BKqJUQaF.js";import"./transition-CGYDOK3N.js";import"./Keyframes-C7fCrnlS.js";import"./Portal-CHsntPCQ.js";import"./index-U4Zd5IK6.js";const se=T("workflow",()=>{const f=Z(),l=b([]),t=b(null),x=b([]),w=b("idle"),R=b(!1),z=b(null);async function J(){R.value=!0,z.value=null;try{await f.waitConnected();const e=await f.sendRaw({type:"workflow-list"});return l.value=Array.isArray(e.workflows)?e.workflows:[],l.value}catch(e){throw z.value=e.message,e}finally{R.value=!1}}async function W(e){await f.waitConnected();const n=await f.sendRaw({type:"workflow-get",id:e});return t.value=n.workflow||null,t.value}async function A(e){await f.waitConnected();const n=await f.sendRaw({type:"workflow-save",workflow:e});if(n.saved){const u=l.value.findIndex(r=>r.id===e.id);u>=0?l.value.splice(u,1,e):l.value.push(e)}return n}async function B(e){await f.waitConnected();const n=await f.sendRaw({type:"workflow-remove",id:e});return n.removed&&(l.value=l.value.filter(u=>u.id!==e)),n}async function q(e,{onEvent:n}={}){await f.waitConnected(),x.value=[],w.value="running";const u=f.onMessage(r=>{!r||typeof r.type!="string"||r.type.startsWith("workflow:")&&(x.value.push(r),n&&n(r),r.type==="workflow:done"&&(w.value=r.status||"completed"))});try{return await f.sendRaw({type:"workflow-run",id:e},12e4)}catch(r){throw w.value="failed",z.value=r.message,r}finally{u()}}function M(e){const n=[];if(!e||typeof e!="object")return{valid:!1,errors:["workflow must be an object"]};if(e.id||n.push("id required"),e.name||n.push("name required"),!Array.isArray(e.steps)||e.steps.length===0)n.push("steps required");else{let g=function(i){$.set(i,E);for(const O of r.get(i)||[]){if(!r.has(O)){n.push(`unknown dependency: ${O}`);continue}const I=$.get(O);if(I===E){n.push(`cycle via ${i} -> ${O}`);return}I===L&&g(O)}$.set(i,S)};const u=new Set;for(const i of e.steps)i.id||n.push("step.id required"),u.has(i.id)&&n.push(`duplicate step id: ${i.id}`),u.add(i.id);const r=new Map;for(const i of e.steps)r.set(i.id,i.dependsOn||[]);const L=0,E=1,S=2,$=new Map([...r.keys()].map(i=>[i,L]));for(const i of r.keys())$.get(i)===L&&g(i)}return{valid:n.length===0,errors:n}}function d(e){return JSON.stringify(e,null,2)}return{workflows:l,current:t,runEvents:x,runStatus:w,loading:R,error:z,list:J,get:W,save:A,remove:B,run:q,validateLocal:M,exportJson:d}}),ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},oe={style:{flex:"1"}},le={style:{"font-weight":"500"}},re={style:{color:"#888","font-size":"12px"}},ie={style:{color:"#888","font-size":"12px"}},ue={key:0,style:{"margin-top":"12px",color:"#d32f2f"}},de={style:{color:"#1976d2"}},ce={key:0},pe={key:1},fe={key:2,style:{color:"#555"}},ve={__name:"WorkflowEditor",setup(f){const l=se(),t=b(null),x=b(!1),w=X(()=>t.value?l.validateLocal(t.value):null);Y(()=>l.list().catch(()=>{}));function R(){t.value={id:"",name:"",description:"",steps:[{id:"step1",message:"",dependsOn:[]}]}}async function z(d){try{const e=await l.get(d);e&&(t.value=JSON.parse(JSON.stringify(e)),t.value.steps||(t.value.steps=[]))}catch(e){C.error(`加载失败: ${e.message}`)}}function J(){t.value.steps||(t.value.steps=[]),t.value.steps.push({id:`step${t.value.steps.length+1}`,message:"",dependsOn:[]})}function W(d){t.value.steps.splice(d,1)}async function A(){const d=l.validateLocal(t.value);if(!d.valid){C.error(d.errors[0]);return}try{await l.save(t.value),C.success("保存成功")}catch(e){C.error(`保存失败: ${e.message}`)}}async function B(d){try{await l.remove(d),t.value?.id===d&&(t.value=null),C.success("已删除")}catch(e){C.error(`删除失败: ${e.message}`)}}async function q(){x.value=!0;try{await l.run(t.value.id),C.success(`运行完成:${l.runStatus}`)}catch(d){C.error(`运行失败: ${d.message}`)}finally{x.value=!1}}function M(){const d=l.exportJson(t.value),e=new Blob([d],{type:"application/json"}),n=URL.createObjectURL(e),u=document.createElement("a");u.href=n,u.download=`${t.value.id||"workflow"}.json`,u.click(),URL.revokeObjectURL(n)}return(d,e)=>{const n=p("a-button"),u=p("a-space"),r=p("a-empty"),L=p("a-list-item"),E=p("a-list"),S=p("a-card"),$=p("a-col"),g=p("a-input"),i=p("a-form-item"),O=p("a-divider"),I=p("a-select"),F=p("a-input-group"),G=p("a-textarea"),H=p("a-form"),P=p("a-row");return c(),v("div",null,[_("div",ne,[e[6]||(e[6]=_("div",null,[_("h2",{class:"page-title"},"工作流编辑器"),_("p",{class:"page-sub"},"创建、编辑、运行 Cowork 工作流(N1 — 初版:表单编辑,画布视图规划中)")],-1)),s(u,null,{default:o(()=>[s(n,{onClick:R,type:"primary"},{icon:o(()=>[s(h(te))]),default:o(()=>[e[4]||(e[4]=m(" 新建 ",-1))]),_:1}),s(n,{ghost:"",loading:h(l).loading,onClick:e[0]||(e[0]=a=>h(l).list())},{icon:o(()=>[s(h(ae))]),default:o(()=>[e[5]||(e[5]=m(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),s(P,{gutter:16},{default:o(()=>[s($,{span:8},{default:o(()=>[s(S,{title:"工作流列表",size:"small"},{default:o(()=>[h(l).workflows.length?(c(),j(E,{key:1,"data-source":h(l).workflows,size:"small"},{renderItem:o(({item:a})=>[s(L,{class:K({active:t.value?.id===a.id}),style:{cursor:"pointer"},onClick:U=>z(a.id)},{default:o(()=>[_("div",oe,[_("div",le,y(a.name||a.id),1),_("div",re,y((a.steps||[]).length)+" 步骤 ",1)]),s(n,{size:"small",danger:"",type:"text",onClick:Q(U=>B(a.id),["stop"])},{default:o(()=>[...e[7]||(e[7]=[m("删除",-1)])]),_:1},8,["onClick"])]),_:2},1032,["class","onClick"])]),_:1},8,["data-source"])):(c(),j(r,{key:0,description:"暂无工作流"}))]),_:1})]),_:1}),s($,{span:16},{default:o(()=>[t.value?(c(),j(S,{key:0,size:"small"},{title:o(()=>[m(" 编辑: "+y(t.value.name||t.value.id),1)]),extra:o(()=>[s(u,null,{default:o(()=>[s(n,{size:"small",onClick:M},{default:o(()=>[...e[8]||(e[8]=[m("导出 JSON",-1)])]),_:1}),s(n,{size:"small",loading:x.value,onClick:q,disabled:!t.value.id},{default:o(()=>[...e[9]||(e[9]=[m(" 运行 ",-1)])]),_:1},8,["loading","disabled"]),s(n,{size:"small",type:"primary",onClick:A},{default:o(()=>[...e[10]||(e[10]=[m("保存",-1)])]),_:1})]),_:1})]),default:o(()=>[s(H,{layout:"vertical",model:t.value},{default:o(()=>[s(i,{label:"ID (唯一标识)"},{default:o(()=>[s(g,{value:t.value.id,"onUpdate:value":e[1]||(e[1]=a=>t.value.id=a),placeholder:"my-workflow"},null,8,["value"])]),_:1}),s(i,{label:"名称"},{default:o(()=>[s(g,{value:t.value.name,"onUpdate:value":e[2]||(e[2]=a=>t.value.name=a),placeholder:"我的工作流"},null,8,["value"])]),_:1}),s(i,{label:"描述"},{default:o(()=>[s(g,{value:t.value.description,"onUpdate:value":e[3]||(e[3]=a=>t.value.description=a),placeholder:"(可选)"},null,8,["value"])]),_:1}),s(O,null,{default:o(()=>[...e[11]||(e[11]=[m("步骤",-1)])]),_:1}),(c(!0),v(V,null,D(t.value.steps,(a,U)=>(c(),v("div",{key:U,class:"step-card"},[s(u,{style:{width:"100%","margin-bottom":"8px"},direction:"vertical"},{default:o(()=>[s(F,{compact:""},{default:o(()=>[s(g,{value:a.id,"onUpdate:value":k=>a.id=k,placeholder:"step-id",style:{width:"30%"}},null,8,["value","onUpdate:value"]),s(I,{value:a.dependsOn,"onUpdate:value":k=>a.dependsOn=k,mode:"tags",placeholder:"dependsOn",style:{width:"70%"}},null,8,["value","onUpdate:value"])]),_:2},1024),s(G,{value:a.message,"onUpdate:value":k=>a.message=k,rows:2,placeholder:"任务 prompt(支持 \\${step.<id>.summary} 占位)"},null,8,["value","onUpdate:value"]),s(g,{value:a.when,"onUpdate:value":k=>a.when=k,placeholder:"when 条件(可选,如 step.s1.status === 'completed')"},null,8,["value","onUpdate:value"]),s(u,null,{default:o(()=>[s(n,{size:"small",danger:"",onClick:k=>W(U)},{default:o(()=>[...e[12]||(e[12]=[m("删除",-1)])]),_:1},8,["onClick"]),_("span",ie," step "+y(U+1)+" / "+y(t.value.steps.length),1)]),_:2},1024)]),_:2},1024)]))),128)),s(n,{block:"",onClick:J},{default:o(()=>[...e[13]||(e[13]=[m("+ 添加步骤",-1)])]),_:1})]),_:1},8,["model"]),w.value&&!w.value.valid?(c(),v("div",ue,[(c(!0),v(V,null,D(w.value.errors,a=>(c(),v("div",{key:a},"• "+y(a),1))),128))])):N("",!0)]),_:1})):(c(),j(S,{key:1,size:"small"},{default:o(()=>[s(r,{description:"从左侧选择工作流或新建一个"})]),_:1})),h(l).runEvents.length?(c(),j(S,{key:2,size:"small",title:"运行日志",style:{"margin-top":"12px"}},{default:o(()=>[(c(!0),v(V,null,D(h(l).runEvents,(a,U)=>(c(),v("div",{key:U,style:{"font-family":"monospace","font-size":"12px","margin-bottom":"4px"}},[_("span",de,y(a.type),1),a.stepId?(c(),v("span",ce," ["+y(a.stepId)+"]",1)):N("",!0),a.status?(c(),v("span",pe," → "+y(a.status),1)):N("",!0),a.summary?(c(),v("span",fe," — "+y(a.summary),1)):N("",!0)]))),128))]),_:1})):N("",!0)]),_:1})]),_:1})])}}},Oe=ee(ve,[["__scopeId","data-v-0d6dcf38"]]);export{Oe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as t}from"./index-
|
|
1
|
+
import{_ as t}from"./index-ZZ_4A9um.js";const n=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"];function C(e,s){return n.reduce((o,r)=>{const u=e[`${r}-1`],l=e[`${r}-3`],i=e[`${r}-6`],a=e[`${r}-7`];return t(t({},o),s(r,{lightColor:u,lightBorderColor:l,darkColor:i,textColor:a}))},{})}const c=n.map(e=>`${e}-inverse`),g=["success","processing","error","default","warning"];function m(e){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[...c,...n].includes(e):n.includes(e)}function p(e){return g.includes(e)}export{n as P,p as a,C as g,m as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as r}from"./index-
|
|
1
|
+
import{_ as r}from"./index-ZZ_4A9um.js";function a(o,t,i){const{focusElCls:e,focus:n,borderElCls:s}=i,m=s?"> *":"",d=["hover",n?"focus":null,"active"].filter(Boolean).map(c=>`&:${c} ${m}`).join(",");return{[`&-item:not(${t}-last-item)`]:{marginInlineEnd:-o.lineWidth},"&-item":r(r({[d]:{zIndex:2}},e?{[`&${e}`]:{zIndex:2}}:{}),{[`&[disabled] ${m}`]:{zIndex:0}})}}function $(o,t,i){const{borderElCls:e}=i,n=e?`> ${e}`:"";return{[`&-item:not(${t}-first-item):not(${t}-last-item) ${n}`]:{borderRadius:0},[`&-item:not(${t}-last-item)${t}-first-item`]:{[`& ${n}, &${o}-sm ${n}, &${o}-lg ${n}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${t}-first-item)${t}-last-item`]:{[`& ${n}, &${o}-sm ${n}, &${o}-lg ${n}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function l(o){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:i}=o,e=`${i}-compact`;return{[e]:r(r({},a(o,e,t)),$(i,e,t))}}export{l as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as s}from"./index-
|
|
1
|
+
import{_ as s}from"./index-ZZ_4A9um.js";import{i as c,f as a,a as i,p as u}from"./vendor-BVetwVfk.js";function x(o){const t=Symbol("contextKey");return{useProvide:(r,n)=>{const e=i({});return u(t,e),a(()=>{s(e,r,n||{})}),e},useInject:()=>c(t,o)||{}}}export{x as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as O,M as y,a as v,i as T}from"./Trigger-
|
|
1
|
+
import{e as O,M as y,a as v,i as T}from"./Trigger-BV4JPD3z.js";import{a as s,S as f,l as x,d as w,m as C}from"./_getTag-CWA3v-Ds.js";import{i as c}from"./isSymbol-CsP9Ob42.js";function _(n,r){for(var e=-1,i=n==null?0:n.length,t=Array(i);++e<i;)t[e]=r(n[e],e,n);return t}var p=f?f.prototype:void 0,d=p?p.toString:void 0;function S(n){if(typeof n=="string")return n;if(s(n))return _(n,S)+"";if(c(n))return d?d.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function I(n){return n}function E(n,r,e){switch(e.length){case 0:return n.call(r);case 1:return n.call(r,e[0]);case 2:return n.call(r,e[0],e[1]);case 3:return n.call(r,e[0],e[1],e[2])}return n.apply(r,e)}var M=800,A=16,N=Date.now;function R(n){var r=0,e=0;return function(){var i=N(),t=A-(i-e);if(e=i,t>0){if(++r>=M)return arguments[0]}else r=0;return n.apply(void 0,arguments)}}function z(n){return function(){return n}}var l=(function(){try{var n=x(Object,"defineProperty");return n({},"",{}),n}catch{}})(),$=l?function(n,r){return l(n,"toString",{configurable:!0,enumerable:!1,value:z(r),writable:!0})}:I,F=R($);function H(n,r,e){r=="__proto__"&&l?l(n,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):n[r]=e}var V=Object.prototype,D=V.hasOwnProperty;function un(n,r,e){var i=n[r];(!(D.call(n,r)&&O(i,e))||e===void 0&&!(r in n))&&H(n,r,e)}var g=Math.max;function K(n,r,e){return r=g(r===void 0?n.length-1:r,0),function(){for(var i=arguments,t=-1,a=g(i.length-r,0),u=Array(a);++t<a;)u[t]=i[r+t];t=-1;for(var o=Array(r+1);++t<r;)o[t]=i[t];return o[r]=e(u),E(n,this,o)}}var U=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/;function Z(n,r){if(s(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||c(n)?!0:X.test(n)||!U.test(n)||r!=null&&n in Object(r)}var q="Expected a function";function h(n,r){if(typeof n!="function"||r!=null&&typeof r!="function")throw new TypeError(q);var e=function(){var i=arguments,t=r?r.apply(this,i):i[0],a=e.cache;if(a.has(t))return a.get(t);var u=n.apply(this,i);return e.cache=a.set(t,u)||a,u};return e.cache=new(h.Cache||y),e}h.Cache=y;var G=500;function L(n){var r=h(n,function(i){return e.size===G&&e.clear(),i}),e=r.cache;return r}var B=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,J=/\\(\\)?/g,Q=L(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(B,function(e,i,t,a){r.push(t?a.replace(J,"$1"):i||e)}),r});function W(n){return n==null?"":S(n)}function P(n,r){return s(n)?n:Z(n,r)?[n]:Q(W(n))}function b(n){if(typeof n=="string"||c(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function on(n,r){r=P(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[b(r[e++])];return e&&e==i?n:void 0}var m=f?f.isConcatSpreadable:void 0;function Y(n){return s(n)||w(n)||!!(m&&n&&n[m])}function k(n,r,e,i,t){var a=-1,u=n.length;for(e||(e=Y),t||(t=[]);++a<u;){var o=n[a];e(o)?v(t,o):t[t.length]=o}return t}function j(n){var r=n==null?0:n.length;return r?k(n):[]}function sn(n){return F(K(n,void 0,j),n+"")}function nn(n,r){return n!=null&&r in Object(n)}function rn(n,r,e){r=P(r,n);for(var i=-1,t=r.length,a=!1;++i<t;){var u=b(r[i]);if(!(a=n!=null&&e(n,u)))break;n=n[u]}return a||++i!=t?a:(t=n==null?0:n.length,!!t&&C(t)&&T(u,t)&&(s(n)||w(n)))}function fn(n,r){return n!=null&&rn(n,r,nn)}export{un as a,on as b,P as c,H as d,Z as e,sn as f,_ as g,fn as h,I as i,K as o,F as s,b as t};
|