@abtnode/blocklet-services 1.16.52-beta-20250922-225859-f34775fa → 1.16.52-beta-20250924-135333-541024a8
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/api/index.js +1 -1
- package/api/middlewares/launcher-login.js +104 -89
- package/api/routes/user.js +31 -0
- package/dist/assets/{access-control-CUncF5eX.js → access-control-MtITiDMT.js} +1 -1
- package/dist/assets/{add-component-core-DTRxHh-8.js → add-component-core-DT871JXs.js} +1 -1
- package/dist/assets/{add-resource-YxBtdKAz.js → add-resource-BnQPv53-.js} +1 -1
- package/dist/assets/{addon-C-cTa3hU.js → addon-CAvqw8mm.js} +1 -1
- package/dist/assets/{advanced-Bc2FwW94.js → advanced-BeEKQmus.js} +1 -1
- package/dist/assets/{aigne-BmhUzMaB.js → aigne-DepLc7CZ.js} +1 -1
- package/dist/assets/{appearance-KZ98aKpU.js → appearance-CQM-3LPu.js} +1 -1
- package/dist/assets/{arrow-down.svg-DNHk5QBL.js → arrow-down.svg-VIKI4IBd.js} +1 -1
- package/dist/assets/{audit-logs-CToENzIH.js → audit-logs-B4nW0HQW.js} +1 -1
- package/dist/assets/{authorize-Cr07b2RV.js → authorize-DtR2q4pL.js} +1 -1
- package/dist/assets/{base32-9HlsUoU3.js → base32-dGIGRTeZ.js} +1 -1
- package/dist/assets/{bind-account-DGyijOaV.js → bind-account-DKu95GI-.js} +1 -1
- package/dist/assets/{branding-Bop5aLE8.js → branding-BxI7VSjI.js} +1 -1
- package/dist/assets/{branding-EXYczJqB.js → branding-DI8S4rKX.js} +1 -1
- package/dist/assets/{branding-rX1QvJVq.js → branding-DIltHBq0.js} +2 -2
- package/dist/assets/{bundle-avatar-BhNvlq8g.js → bundle-avatar-BvwlMY-v.js} +1 -1
- package/dist/assets/{complete-CE-9uScC.js → complete-BiA0H-F-.js} +1 -1
- package/dist/assets/{component-BGn03l-s.js → component-CcDcQA4R.js} +3 -3
- package/dist/assets/{config-CLkKQ7r7.js → config-7aDpCy1J.js} +1 -1
- package/dist/assets/{config-CiMC747A.js → config-BDmrqxia.js} +1 -1
- package/dist/assets/{config-Ce7mmKUy.js → config-CegNHv38.js} +1 -1
- package/dist/assets/{config-navigation-C_bXC3i-.js → config-navigation-DeVpCAhC.js} +3 -3
- package/dist/assets/{config-space-B1RlBsPr.js → config-space-D3NLSAOS.js} +1 -1
- package/dist/assets/{confirm-DUjUXcfn.js → confirm-BbY8YGyk.js} +1 -1
- package/dist/assets/{connect-DWVzC8Cs.js → connect-3UzkXBvk.js} +1 -1
- package/dist/assets/{connect-Cd4wFjvm.js → connect-NiZcQvBT.js} +1 -1
- package/dist/assets/{connect-to-DgA22hrU.js → connect-to-QQ3T-HpF.js} +1 -1
- package/dist/assets/{dashboard-q_CEWNOG.js → dashboard-C_xJDuQY.js} +3 -3
- package/dist/assets/{delete-confirm-BIF7Oky1.js → delete-confirm-ZcwDcAcQ.js} +1 -1
- package/dist/assets/{domain-action-card-BfXWszwh.js → domain-action-card-t81ZH6IT.js} +1 -1
- package/dist/assets/{domain-DXf6J0eN.js → domain-oUFlaLKy.js} +1 -1
- package/dist/assets/{domains-CbRUCl8I.js → domains-CMbykSQm.js} +1 -1
- package/dist/assets/{email-C99N-_0O.js → email-BfBsaQZc.js} +1 -1
- package/dist/assets/engine-BNoG81bE.js +1 -0
- package/dist/assets/{exchange-passport-iJ_WwErZ.js → exchange-passport-DHCCHO-N.js} +1 -1
- package/dist/assets/{form-B28GN43f.js → form-Csfi6zyX.js} +1 -1
- package/dist/assets/{fuel-BTDuZSSj.js → fuel-CUlDLjak.js} +1 -1
- package/dist/assets/{gen-access-key-naR-6zBu.js → gen-access-key-C3uuo9SI.js} +1 -1
- package/dist/assets/{gen-simple-access-key-C7ybjshX.js → gen-simple-access-key-CX90y0zh.js} +1 -1
- package/dist/assets/{get-safe-url-PVZ8sNva.js → get-safe-url-DKg8JLr1.js} +1 -1
- package/dist/assets/{hdkey-CcHIRiJU.js → hdkey-BgsbeAhG.js} +1 -1
- package/dist/assets/{home-BQG60l8o.js → home-BwyzLr74.js} +1 -1
- package/dist/assets/{iframe-sRTCxuKq.js → iframe-SCM7rlz3.js} +1 -1
- package/dist/assets/{index-D5Esor4q.js → index-BJbNz5vx.js} +4 -4
- package/dist/assets/{index-DANBSlDF.js → index-BPJUfDZY.js} +1 -1
- package/dist/assets/{index-BqyC8rPJ.js → index-BUiG3mKw.js} +1 -1
- package/dist/assets/{index-CKFVrVhW.js → index-BWAu1pEw.js} +1 -1
- package/dist/assets/{index-DL5x17V7.js → index-BwMsFaIR.js} +1 -1
- package/dist/assets/{index-CtG4EPx1.js → index-CB__aq5L.js} +1 -1
- package/dist/assets/{index-DIfIqZRw.js → index-CJWwSLdB.js} +3 -3
- package/dist/assets/{index-mK8LnyWX.js → index-CKOznUni.js} +1 -1
- package/dist/assets/{index-DbV_otyH.js → index-CKpQd8db.js} +4 -4
- package/dist/assets/{index-VDwida7T.js → index-CfHItWba.js} +1 -1
- package/dist/assets/{index-D_tcdsnn.js → index-Cn5TXl_L.js} +1 -1
- package/dist/assets/{index-BHu1ffJP.js → index-D-puzkw-.js} +1 -1
- package/dist/assets/{index-DhLCZYhn.js → index-D7zqBJdA.js} +1 -1
- package/dist/assets/{index-P7sOU3FB.js → index-DH4W6unN.js} +1 -1
- package/dist/assets/{index-BVZj6aBL.js → index-DS-40ZVK.js} +1 -1
- package/dist/assets/{index-BXOWDqXU.js → index-DTU7_GN0.js} +1 -1
- package/dist/assets/{index-De78rJ-L.js → index-Qx6e57-u.js} +1 -1
- package/dist/assets/{index-BT7jxh7R.js → index-VARWquqH.js} +1 -1
- package/dist/assets/{index-DP4_T7ss.js → index-c7w7Lgaw.js} +1 -1
- package/dist/assets/{index-B2Y1qZ07.js → index-g5_ozUJZ.js} +1 -1
- package/dist/assets/{index-Co6fM09o.js → index-sQzZNoGx.js} +1 -1
- package/dist/assets/{index-DDpL_qpY.js → index-uH_9YgA0.js} +1 -1
- package/dist/assets/{index-I4fObt9S.js → index-v50gyNUL.js} +1 -1
- package/dist/assets/{invitation-xW_qcQrB.js → invitation-GzoS6QSS.js} +1 -1
- package/dist/assets/{invite-5NmeedgR.js → invite-DDdJj6co.js} +1 -1
- package/dist/assets/{isURL-DZGsNcmL.js → isURL-CCV0esLR.js} +1 -1
- package/dist/assets/{issue-passport-CUjAU9Y6.js → issue-passport-PUK3HiX7.js} +1 -1
- package/dist/assets/{item-B-p0IMj0.js → item-DAL9Dho-.js} +1 -1
- package/dist/assets/{landing-page-RSi1tJUt.js → landing-page-CL9L_8lE.js} +1 -1
- package/dist/assets/{layout-BTKpH5C3.js → layout-CWE2T-JY.js} +1 -1
- package/dist/assets/{list-DM_X_DbX.js → list-B1IF52f7.js} +1 -1
- package/dist/assets/{list-C9HtsKYw.js → list-DNkyeHs7.js} +3 -3
- package/dist/assets/{localization-B-_Xdumv.js → localization-DWmiu7jH.js} +1 -1
- package/dist/assets/{log-ByUaGQDD.js → log-CH5xMfwF.js} +1 -1
- package/dist/assets/{login-B1S8adpO.js → login-C0H7ScpD.js} +1 -1
- package/dist/assets/{login-oauth-callback-CK2OuZQv.js → login-oauth-callback-yy8oOs-S.js} +1 -1
- package/dist/assets/{logo-uploader-DijYekzI.js → logo-uploader-BbYoAyD-.js} +2 -2
- package/dist/assets/{lost-passport-wz0F5eGp.js → lost-passport-CnWY_gqA.js} +1 -1
- package/dist/assets/{open-window-PMr3_tpx.js → open-window-2gqXwgFW.js} +1 -1
- package/dist/assets/{over-due-invoice-payment-CgKEpOv9.js → over-due-invoice-payment-D2yclQzx.js} +1 -1
- package/dist/assets/{overview-BPXQ5NOz.js → overview-B4sE3XPK.js} +1 -1
- package/dist/assets/{passport-item-CtgFdOsh.js → passport-item-CK1Zj4rm.js} +1 -1
- package/dist/assets/{permission-DO4jN8xJ.js → permission-CSIyJtvw.js} +1 -1
- package/dist/assets/{preferences-FO1x_0r1.js → preferences-BBghzBy7.js} +1 -1
- package/dist/assets/{profile-embed-BKg9ZugM.js → profile-embed-B2uhPkoV.js} +1 -1
- package/dist/assets/{publish-resource-CtlORU2W.js → publish-resource-DhuBgzO7.js} +1 -1
- package/dist/assets/{runtime-B0pQvnF3.js → runtime-B3mVl8w2.js} +1 -1
- package/dist/assets/sdk-B4j47QQf.js +1 -0
- package/dist/assets/{security-CQehWrjL.js → security-g0CzShNx.js} +1 -1
- package/dist/assets/{session-DGB-yOme.js → session-m3orzHBa.js} +1 -1
- package/dist/assets/{setup-neejBzI5.js → setup-D_impIE6.js} +1 -1
- package/dist/assets/{spaces-CZJwyRzV.js → spaces-p4zKSeyp.js} +1 -1
- package/dist/assets/{start-OOD_HRyM.js → start-BD7Kr8U-.js} +1 -1
- package/dist/assets/{status-5pZO2qoE.js → status-D1-G3QED.js} +1 -1
- package/dist/assets/{step-actions-C_A-deel.js → step-actions-RYL0A520.js} +1 -1
- package/dist/assets/{studio-DkZBruFV.js → studio-Bp-XDrgR.js} +1 -1
- package/dist/assets/{team-CGGZIbfh.js → team-B-jk7E5_.js} +1 -1
- package/dist/assets/{traffic-Bt0n-c6_.js → traffic-CInL395-.js} +1 -1
- package/dist/assets/{transfer-KpJ1sGgq.js → transfer-Z_9W88aQ.js} +1 -1
- package/dist/assets/{unsubscribe-CF4vy-ZY.js → unsubscribe-B07Ogw5q.js} +1 -1
- package/dist/assets/{use-app-logo-DxlfjGOQ.js → use-app-logo-D_gO-Dio.js} +1 -1
- package/dist/assets/{user-center-C7a4TtFt.js → user-center-DzijYiyQ.js} +3 -3
- package/dist/assets/{user-follower-Cs8st3w5.js → user-follower-DWn8bXG-.js} +1 -1
- package/dist/assets/{user-sessions-DN1hzt8P.js → user-sessions-CuXtk29w.js} +1 -1
- package/dist/assets/{util-CnXmjN2T.js → util-BYg7Nb7Z.js} +1 -1
- package/dist/assets/{util-CYsTlK2W.js → util-Bravn321.js} +1 -1
- package/dist/assets/{wait-connect-DxmVFheW.js → wait-connect-CgBXxzyb.js} +1 -1
- package/dist/assets/{wizard-BvaUZfHg.js → wizard-BEs2v6uI.js} +1 -1
- package/dist/assets/{wizard-components-BoWnBOyn.js → wizard-components-5FNqoPRf.js} +2 -2
- package/dist/assets/{wrap-locale-DU2DJaEg.js → wrap-locale-B5OsZl6Q.js} +1 -1
- package/dist/assets/{zh-CVf8x4U0.js → zh-NsxeedJj.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/package.json +23 -23
- package/dist/assets/engine-Cc4hAHgQ.js +0 -1
- package/dist/assets/sdk-C9i2DDEJ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e,W as u,a6 as z,T as j,at as _e,D as We,cD as J,ao as V,cE as Ge,ak as h,b1 as G,a$ as Ke,s as fe,cF as be,cs as Fe,am as ge,co as Ye,M as F,aO as Y,bW as $e,aP as $,Q as qe,bh as He,aR as Qe,cG as Xe,cH as Je,cI as Ve,cJ as Ze,c1 as he}from"./vendor-mui-core-CmD-NPnl.js";import{k as ke,j as je,a as ue}from"./vendor-hooks-DLNZ8kxG.js";import{r as b,u as et}from"./vendor-react-Dvs43sk9.js";import{a8 as O,Z as L,ap as E,X as N,aM as tt,aN as st,aD as nt,c as I,v as ot}from"./index-
|
|
1
|
+
import{j as e,W as u,a6 as z,T as j,at as _e,D as We,cD as J,ao as V,cE as Ge,ak as h,b1 as G,a$ as Ke,s as fe,cF as be,cs as Fe,am as ge,co as Ye,M as F,aO as Y,bW as $e,aP as $,Q as qe,bh as He,aR as Qe,cG as Xe,cH as Je,cI as Ve,cJ as Ze,c1 as he}from"./vendor-mui-core-CmD-NPnl.js";import{k as ke,j as je,a as ue}from"./vendor-hooks-DLNZ8kxG.js";import{r as b,u as et}from"./vendor-react-Dvs43sk9.js";import{a8 as O,Z as L,ap as E,X as N,aM as tt,aN as st,aD as nt,c as I,v as ot}from"./index-BJbNz5vx.js";import{H as B,T as D,G as at,al as q,ac as rt,ad as it,D as le,L as ct}from"./vendor-ux-pYOhjQLA.js";import{u as lt}from"./use-mobile-D93Bk2Ru.js";import{a as H,d as Ce,a0 as dt,c as pt,D as we,C as me}from"./vendor-utils-DQK0pEML.js";import{o as Be}from"./vendor-arcblock-DEa0A9MF.js";import{b as ut,u as mt,D as xt,c as de,a as ft}from"./index-g5_ozUJZ.js";import"./index-Ck6n4b0a.js";import"./index-BojVbZw0.js";import"./api-sewNv0AE.js";import{u as De,C as gt,D as ht,a as St}from"./connect-to-QQ3T-HpF.js";import{b as yt,c as bt,d as kt,i as jt,e as xe,f as Ct,h as wt,j as Bt}from"./spaces-p4zKSeyp.js";import{f as Q}from"./index-DBs9Ljax.js";import{v as Dt}from"./index-DzI9kX_C.js";import{E as Et}from"./index-DO9UDa6G.js";import{x as Tt}from"./index-DRYJ0xIl.js";import{g as Se}from"./get-safe-url-DKg8JLr1.js";import{S as It}from"./switch-control-XooTt-i6.js";import{C as Rt,u as Pt}from"./config-space-D3NLSAOS.js";import{L as ye}from"./list-header-CoFZp82R.js";import"./lottie-web-4koyQiv_.js";import"./index-B06oP6vd.js";async function vt({blockletDid:t,nodeApi:n,spaceGateways:o}){let s=!1;const r=await Promise.all(o.map(async a=>{let{name:c}=a;const i=await yt(a.endpoint);return!H(i)&&i!==c&&(c=i,s=!0),{...a,name:c}}));return s&&await Promise.all(r.filter(a=>a.did).map(a=>n.updateBlockletSpaceGateway({input:{did:t,where:{did:a.did},spaceGateway:{...a}}}))),r}function At({refresh:t}={}){const{blocklet:n}=O(),o=n?.meta?.did,{api:s}=L();return ke(async()=>{if(!o)return[];const{spaceGateways:r}=await s.getBlockletSpaceGateways({input:{did:o}});return await vt({blockletDid:o,nodeApi:s,spaceGateways:r})??[]},{refreshDeps:[o,t],onError(r){r?.message?.includes("not logged")?console.warn(r):(console.error(r),B.error(Q(r)))}})}function Ee({deps:t,setLoading:n,backupDate:o}={deps:[],setLoading:()=>{},backupDate:new Date}){const{blocklet:s}=O(),[r,a]=b.useState([]),{api:c}=L(),[i,d]=b.useMemo(()=>o?[E(o).startOf("day").toISOString(),E(o).endOf("day").toISOString()]:[E().startOf("year").toISOString(),E().endOf("day").toISOString()],[o]),l=Ce(async()=>{try{if(n(!0),!s){a([]);return}const{backups:x}=await c.getBlockletBackups({input:{did:s.meta.did,startTime:i,endTime:d}});a(x??[])}catch(x){console.error(x),B.error(Q(x))}finally{n(!1)}},1e3);return je(async()=>{l()},[s?.meta?.did].concat(t)),{backups:r}}function zt({appDid:t}){const{backups:n}=Ee(),[o,s]=b.useState({message:"",progress:0,completed:!1}),r=L(),{ws:{useSubscription:a}}=r;return a(N.BlockletEvents.backupProgress,c=>{t===c?.appDid&&s(()=>({...c}))},[t]),b.useEffect(()=>{if(n?.length&&dt(n[0]?.status)){const[c]=n;s(()=>({message:c.message,progress:c.progress,completed:c.progress>=100}))}},[n]),o}function Ot({deps:t=[],setLoading:n=()=>{}}={}){const{blocklet:o}=O(),[s,r]=b.useState([]),{api:a}=L(),c=b.useCallback(Ce(async()=>{if(!a||!o?.meta?.did){r([]);return}try{n(!0);const i=E(),d=i.subtract(1,"year"),{summary:l}=await a.getBlockletBackupSummary({input:{did:o.meta.did,startTime:d.toISOString(),endTime:i.toISOString()}});r(Array.isArray(l)?l:[])}catch(i){console.error("Failed to fetch backup summary:",i),B.error(Q(i)),r([])}finally{n(!1)}},1e3),[]);return je(async()=>(await c(),()=>{c.cancel()}),[o?.meta?.did].concat(t)),{backupSummary:s}}const Te=b.createContext({}),{Provider:Lt,Consumer:bs}=Te;function Ie({children:t}){const{t:n}=D(),{api:o}=L(),{blocklet:s}=O(),[r,a]=b.useState(null),[c,i]=b.useState(!1),{data:d,loading:l,mutate:x}=At({refresh:c}),g=pt(d),m=zt({appDid:s?.appDid}),p=b.useMemo(()=>bt(s?.environments),[s?.environments]),[k,w]=b.useState(!1),[S,y]=b.useState(0),{backups:Z}=Ee({deps:[S,r],setLoading:w,backupDate:r}),[ee,te]=b.useState(0),{backupSummary:se}=Ot({deps:[ee]}),[_,M]=b.useState(d?.find(f=>f.endpoint===p)),T=s?.settings?.autoBackup,P=()=>{i(f=>!f)},ne=()=>{te(f=>f+1)},oe=()=>{y(f=>f+1)},K=async f=>{await o.updateAutoBackup({input:{did:s.meta.did,autoBackup:f}})},X=async()=>{await o.abortBlockletBackup({input:{appPid:s.meta.did}})},ae=async(f,A)=>{try{x(R=>{const v=[...R];return v.push({...f,loading:!0}),v}),await o.addBlockletSpaceGateway({input:{did:s.meta.did,spaceGateway:f}}),p!==A&&await o.configBlocklet({input:{did:[s.meta.did],configs:[{key:N.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_BACKUP_ENDPOINT,value:A}]}}),M(f),P(),B.success(n("storage.spaces.connectedWithName",{name:f?.name??"DID Spaces"}))}catch(R){throw console.error(R),x(v=>[...v].filter(W=>W.did!==f.did)),R}},re=async f=>{f&&(f.endpoint===p&&(await o.configBlocklet({input:{did:[s.meta.did],configs:[{key:N.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_BACKUP_ENDPOINT,value:""}]}}),T?.enabled&&await K({enabled:!1})),await o.deleteBlockletSpaceGateway({input:{did:s.meta.did,spaceGatewayDid:f?.did}}),x(A=>{const R=[...A];return R.splice(R.indexOf(f),1),R}),M(f),P())},ie=async f=>{await Promise.all([o.updateBlockletSpaceGateway({input:{did:s.meta.did,where:{did:f.did},spaceGateway:f}}),p!==f.endpoint&&o.configBlocklet({input:{did:[s.meta.did],configs:[{key:N.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_BACKUP_ENDPOINT,value:f.endpoint}]}})]),B.success(n("storage.spaces.connectedWithName",{name:f?.name??"DID Spaces"})),P()},C=f=>f?.endpoint===p;return e.jsx(Lt,{value:{spaceGateways:d||[],selectedSpaceGateway:_,addSpaceGateway:ae,deleteSpaceGateway:re,updateSpaceGateway:ie,refreshSpaceGateways:P,spaceGatewaysLoading:l,spaceGatewaysFirstLoading:g,spaceGatewayIsSelected:C,updateAutoBackup:K,abortBlockletBackup:X,backupEndpoint:p,backupProgress:m,backups:Z,backupSummary:se,refreshBackupSummary:ne,refreshBackups:oe,setBackupDate:a,backupsLoading:k,autoBackup:T},children:t})}Ie.propTypes={children:u.any.isRequired};function U(){return b.useContext(Te)}function Re({...t}){const{blocklet:n}=O(),{info:o}=L(),{t:s}=D(),r=De({blocklet:n}),a=tt(o),{spaceGateways:c,addSpaceGateway:i}=U(),d={checkFn:we.create({baseURL:me(window.location.origin,st())}).get,webWalletUrl:a,extraParams:{appPid:n.appPid,appDid:r.appDid,appName:r.appName,appDescription:r.appDescription,appUrl:r.appUrl,referrer:r.referrer,scopes:r.scopes,nodeDid:o.did}},l=async({endpoint:g,name:m,did:p})=>{const k=await kt(g);if(!await jt(k)){B.error(s("storage.spaces.gateway.add.invalidUrl"));return}if(c.some(y=>y.endpoint===g)){B.error(s("storage.spaces.gateway.add.duplicate",{name:m}));return}await i({name:m,did:p,url:k,endpoint:g},g)},x=async({spaceGateway:g})=>{try{await l(g)}catch(m){console.error(m),B.error(Q(m))}};return e.jsx(ut,{...t,connectScope:"app",options:d,onSuccess:x})}function Ut(){const{api:t}=L(),{blocklet:n}=O(),{data:o,loading:s}=ke(()=>t.getBlocklet({input:{did:n?.meta?.did,attachDiskInfo:!0,attachRuntimeInfo:!0}}),{ready:!!n?.meta?.did,refreshDeps:[n?.meta?.did]});return{blocklet:o?.blocklet??null,loading:s}}function Pe({...t}){const{t:n}=b.useContext(at),{blocklet:o,loading:s}=Ut();if(o?.diskInfo){const r=(i,d,l)=>e.jsxs(j,{children:[i," ",e.jsx("strong",{children:d?nt(d):"empty"})]}),a=o.environments.reduce((i,d)=>(i[d.key]=d.value,i),{}),c=[{key:"appDir",name:n("blocklet.diskInfo.appDir"),value:r(a.BLOCKLET_APP_DIR,o.diskInfo.app)},{key:"dataDir",name:n("blocklet.diskInfo.dataDir"),value:r(a.BLOCKLET_DATA_DIR,o.diskInfo.data)},{key:"logDir",name:n("blocklet.diskInfo.logDir"),value:r(a.BLOCKLET_LOG_DIR,o.diskInfo.log)},{key:"cacheDir",name:n("blocklet.diskInfo.cacheDir"),value:r(a.BLOCKLET_CACHE_DIR,o.diskInfo.cache)}];return e.jsx(Mt,{component:"div",...t,children:c.map(i=>e.jsx(Dt,{valueComponent:"div",nameWidth:120,name:i.name,children:i.value},i.key))})}return s?e.jsx(z,{}):e.jsx(j,{children:n("blocklet.diskInfo.empty")})}const Mt=_e(j)``;function ve(){const{t}=D(),{setBackupDate:n,backupSummary:o}=U(),s=mt({key:"lg"}),r=b.useRef(null),a=We(),c=b.useCallback(l=>{n(l)},[n]),i=b.useMemo(()=>{const l=E().add(1,"day"),x=l.subtract(1,"year"),g=new Map(o.map(p=>[p.date,{date:p.date,successCount:p.successCount,errorCount:p.errorCount}])),m=[];for(let p=x.clone();E(p).isBefore(l);p=p.add(1,"day")){const k=p.format("YYYY-MM-DD");m.push(g.get(k)||{date:k,successCount:0,errorCount:0})}return m},[o]),d=b.useMemo(()=>({grid:{containLabel:!0,right:10,top:30,bottom:12},tooltip:{formatter:k=>{const{date:w,successCount:S,errorCount:y}=i[k.dataIndex]||{date:k.data[0],successCount:0,errorCount:0};return[`<div>${t("common.time")}: ${w}</div>`,`<div>${t("common.succeeded")}: ${S}</div>`,`<div>${t("common.failed")}: ${y}</div>`].join(`
|
|
2
2
|
`)},backgroundColor:a.palette.background.paper,borderColor:a.palette.divider,textStyle:{color:a.palette.text.primary,fontSize:14},extraCssText:`box-shadow: ${a.shadows[2]}; border-radius: 4px;`,padding:[8,10]},visualMap:{show:!1,min:-12,max:12,pieces:[{min:Number.MIN_SAFE_INTEGER,max:-9,color:J[600]},{min:-9,max:-6,color:J[500]},{min:-6,max:-3,color:J[400]},{min:-3,max:-1,color:J[300]},{min:0,max:0,color:a.palette.grey[200]},{min:1,max:3,color:V[300]},{min:3,max:6,color:V[400]},{min:6,max:9,color:V[500]},{min:9,max:Number.MAX_SAFE_INTEGER,color:V[600]}],orient:"horizontal",left:"center",bottom:12,itemWidth:12,itemHeight:12,textStyle:{color:a.palette.text.secondary,fontSize:12}},calendar:{top:30,left:50,right:10,bottom:4,cellSize:[8,8],splitLine:{show:!1},itemStyle:{borderWidth:2,borderColor:a.palette.background.default,color:a.palette.background.default},dayLabel:{show:!0,firstDay:0,nameMap:["","Mon","","Wed","","Fri",""],position:"start",margin:4,fontSize:10,color:a.palette.text.primary,fontWeight:"400",width:20},monthLabel:{show:!0,nameMap:"cn",align:"left",color:a.palette.text.primary,fontWeight:"400",fontSize:12,position:"start",margin:4,width:30,padding:[0,2]},yearLabel:{show:!1},range:[E().subtract(11,"month").startOf("month").format("YYYY-MM-DD"),E().endOf("month").format("YYYY-MM-DD")],orient:"horizontal"},series:{type:"heatmap",coordinateSystem:"calendar",data:i.map(k=>[k.date,k.errorCount?-k.errorCount:k.successCount]),label:{show:!1},itemStyle:{borderWidth:2,borderColor:a.palette.background.default,borderRadius:4},emphasis:{itemStyle:{borderWidth:2,borderColor:Ge[200],color:"inherit"}}}}),[i,t,a]);return e.jsxs(e.Fragment,{children:[e.jsx(h,{ref:r,sx:{maxWidth:"1280px",border:"1px solid",borderColor:"divider",padding:"8px",overflowX:"auto"},children:e.jsx(h,{sx:{width:"1200px",height:"180px",position:"relative"},children:e.jsx(Et,{option:d,style:{height:"100%",width:"100%"},notMerge:!0,lazyUpdate:!1,opts:{renderer:"canvas"},onEvents:{click:l=>{l.componentType==="series"&&l.data&&c(l.data[0])}}})})}),e.jsx(h,{sx:{display:"flex",justifyContent:"flex-end",mt:1,mr:s?2:5,mb:2},children:e.jsxs(G,{direction:s?"column":"row",spacing:s?2:1,sx:{width:"100%",justifyContent:"flex-start",alignItems:s?"flex-start":"center"},children:[e.jsxs(G,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(h,{sx:{width:32,height:12,borderRadius:.5,background:"linear-gradient(90deg, #8B5000 0%, #A36200 33%, #C17700 66%, #E29000 100%)"}}),e.jsx(j,{variant:"body2",sx:{color:"text.secondary"},children:t("storage.spaces.backup.failed")})]}),e.jsxs(G,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(h,{sx:{width:32,height:12,borderRadius:.5,bgcolor:"grey.200",border:"1px solid",borderColor:"grey.200"}}),e.jsx(j,{variant:"body2",sx:{color:"text.secondary"},children:t("storage.spaces.backup.without")})]}),e.jsxs(G,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(h,{sx:{width:32,height:12,borderRadius:.5,background:"linear-gradient(90deg, #9be9a8 0%, #40c463 33%, #30a14e 66%, #216e39 100%)"}}),e.jsx(j,{variant:"body2",sx:{color:"text.secondary"},children:t("storage.spaces.backup.succeeded")})]})]})})]})}const Nt=fe(({className:t,...n})=>e.jsx(ge,{...n,classes:{popper:t}}))(()=>({".MuiTooltip-tooltip":{backgroundColor:"transparent",padding:0,margin:0,boxShadow:"none",maxWidth:"none"},".MuiTooltip-arrow":{color:"rgba(230, 235, 245, 1)"}}));function Ae({status:t,message:n="",createdAt:o}){const{t:s}=D(),r=t===I.BACKUPS.STATUS.PROGRESS&&E().diff(o,"hours")>=I.BACKUPS.TIMEOUT_HOURS,a=r&&s("common.timeoutError"),c=t===I.BACKUPS.STATUS.PROGRESS&&!r,i=t===I.BACKUPS.STATUS.SUCCEEDED&&!r;return c?e.jsxs(j,{sx:{display:"inline-flex",alignItems:"center",fontSize:"14px"},children:[e.jsx(z,{sx:{marginRight:"4px"},size:"12px"}),s("common.progress")]}):i?e.jsx(q,{type:"success",children:s("common.succeeded")}):e.jsxs(h,{sx:{display:"inline-flex",alignItems:"center"},children:[e.jsx(q,{type:"error",children:s("common.failed")}),e.jsx(ge,{style:{display:"flex",alignItems:"center",flexShrink:0},title:n||a,children:e.jsx(be,{children:e.jsx(Ye,{style:{width:"24px",height:"24px"},color:"error"})})})]})}Ae.propTypes={status:u.string.isRequired,message:u.string,createdAt:u.string.isRequired};function ze({metadata:t={}}){const{t:n}=D();if(H(t))return e.jsx(q,{type:"success",children:n("common.succeeded")});const o=t.count||0,s=t.size||0,r=Tt(s,{iec:!0}),a=e.jsxs(h,{sx:{p:1,borderRadius:1,boxShadow:2,color:"black",backgroundColor:"white"},children:[e.jsxs(j,{variant:"body2",children:[n("common.fileCount"),": ",o]}),e.jsxs(j,{variant:"body2",children:[n("common.fileSize"),": ",r]})]});return e.jsxs(h,{sx:{display:"inline-flex",alignItems:"center"},children:[e.jsx(q,{type:"success",children:n("common.succeeded")}),e.jsx(Nt,{title:a,style:{display:"flex",alignItems:"center",flexShrink:0},placement:"left",children:e.jsx(be,{children:e.jsx(Fe,{style:{width:"24px",height:"24px"},color:"primary"})})})]})}ze.propTypes={metadata:u.object};function Oe(){const{t,locale:n}=D(),{spaceGateways:o,backups:s,backupsLoading:r}=U(),a=b.useMemo(()=>[{label:"DID Space",name:"target",options:{customBodyRenderLite:i=>{const{targetUrl:d,targetName:l,status:x,createdAt:g}=s[i],m=x===I.BACKUPS.STATUS.PROGRESS&&E().diff(g,"hours")>=I.BACKUPS.TIMEOUT_HOURS,p=x===I.BACKUPS.STATUS.SUCCEEDED&&!m,k=l||o.find(w=>d?.includes(xe(w?.endpoint)))?.name||"Unknown DID Space";return p?e.jsx(Ke,{href:d,target:"_blank",sx:{fontSize:"16px"},children:k}):e.jsx(j,{variant:"body1",sx:{fontSize:"16px"},children:k})}}},{label:t("common.strategy"),name:"strategy",options:{customBodyRender:i=>{const d=t(i===0?"common.auto":"common.manual");return e.jsx(q,{children:d})}}},{label:t("common.startTime"),name:"createdAt",options:{customBodyRender:i=>E(i).format("YYYY-MM-DD HH:mm:ss")}},{label:t("common.endTime"),name:"updatedAt",options:{customBodyRender:i=>H(i)?"":E(i).format("YYYY-MM-DD HH:mm:ss")}},{label:t("common.status"),name:"status",options:{customBodyRenderLite:i=>{const d=s?.[i]??{},{status:l,message:x,createdAt:g,metadata:m}=d,p=l===I.BACKUPS.STATUS.PROGRESS&&E().diff(g,"hours")>=I.BACKUPS.TIMEOUT_HOURS,k=l===I.BACKUPS.STATUS.PROGRESS&&!p,w=l===I.BACKUPS.STATUS.SUCCEEDED&&!p;return k?e.jsxs(j,{sx:{display:"inline-flex",alignItems:"center",fontSize:"14px"},children:[e.jsx(z,{sx:{marginRight:"4px"},size:"12px"}),t("common.progress")]}):w?e.jsx(ze,{metadata:m}):e.jsx(Ae,{status:l,message:x,createdAt:g})}}}],[s,o,t]),c=b.useMemo(()=>!s?.length,[s]);return e.jsx(e.Fragment,{children:c?e.jsx(h,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100px",color:"#9397A1",marginTop:"16px",marginBottom:"24px"},children:t("storage.spaces.record.emptyData")}):e.jsx(rt,{title:"",loading:r,data:s,columns:a,emptyNode:t("storage.spaces.record.emptyData",n),options:{download:!1,filter:!1,print:!1,search:!1,viewColumns:!1}})})}function _t(){const{t}=D();return e.jsxs(h,{children:[e.jsxs(h,{sx:{display:"flex",gap:3,flexDirection:{xs:"column",md:"row"}},children:[e.jsxs(h,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",alignContent:"center",minWidth:240},children:[e.jsx(xt,{style:{cursor:"pointer",width:"150px",height:"100%",maxHeight:160}}),e.jsx(j,{sx:{my:2,textAlign:"center",color:"text.secondary"},children:t("storage.spaces.connect.provider")}),e.jsx(Re,{})]}),e.jsxs(h,{sx:{flexGrow:1,minWidth:0},children:[e.jsx(h,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:e.jsx(j,{sx:{fontSize:"1.2rem",fontWeight:"bold"},children:t("storage.spaces.backup.records")})}),e.jsx(ve,{})]})]}),e.jsx(Oe,{sx:{marginTop:"24px"}}),e.jsx(j,{sx:{fontSize:"1.2rem",fontWeight:"bold",mb:2,mt:2},children:t("common.dataStorage")}),e.jsx(Pe,{})]})}function Le({spaceGateway:t,onConfirm:n=()=>{},onCancel:o=()=>{}}){const{t:s}=D(),[r,a]=b.useState(!1),[c,i]=b.useState(!1),d=(g,m)=>{g?.preventDefault(),g?.stopPropagation(),a(m)},l=async g=>{try{g?.stopPropagation(),i(!0),await n?.(t),a(!1)}catch(m){console.error(m),B.error(`${s("storage.space.gateway.delete.failed")}: ${Q(m)}`)}finally{a(!1),i(!1)}},x=g=>{d(g,!1),o?.(g)};return e.jsxs(e.Fragment,{children:[e.jsxs(F,{color:"red",onClick:g=>d(g,!0),children:[e.jsx(Y,{style:{minWidth:24,color:"red"},children:e.jsx($e,{fontSize:"small"})}),e.jsx($,{style:{color:"red"},children:s("common.disconnect")})]}),e.jsx(it,{title:s("storage.spaces.gateway.delete.title"),open:r,confirmButton:{text:s("common.confirm"),props:{size:"small",variant:"contained",color:"error",loading:c}},cancelButton:{text:s("common.cancel"),props:{size:"small",variant:"outlined",disabled:c}},onConfirm:l,onCancel:x,children:e.jsx(j,{sx:{wordWrap:"break-word"},children:s("storage.spaces.gateway.delete.descForBackup",{name:`${t?.name}`})})})]})}Le.propTypes={spaceGateway:u.shape({name:u.string.isRequired,url:u.string.isRequired,protected:u.bool}).isRequired,onConfirm:u.func,onCancel:u.func};function Ue({spaceGateway:t,selected:n,onDelete:o=()=>{},onConnect:s=()=>{},enableSwitchToSpace:r=!0,backupInProgress:a=!1,...c}){const{abortBlockletBackup:i}=U(),[d,l]=b.useState(null),{t:x}=D(),[g,m]=b.useState(!1),p=(S,y)=>{S.stopPropagation(),S.preventDefault(),l(y&&S.currentTarget)},k=async S=>{try{m(!0),p(S,!1),await s(t)}catch(y){console.error(y),B.error(y.message)}finally{m(!1)}},w=async S=>{try{m(!0),p(S,!1),await i()}catch(y){console.error(y),B.error(y.message)}finally{m(!1)}};return e.jsxs(e.Fragment,{children:[g||t?.loading?e.jsx(z,{sx:{ml:1},size:"24px"}):e.jsx(qe,{"aria-label":"more","aria-controls":"actions-menu","aria-haspopup":"true","data-cy":"trigger-blocklet-actions",variant:"outlined",size:"small",onClick:S=>p(S,!0),...c,children:e.jsx(He,{})}),e.jsxs(Qe,{id:"simple-menu",anchorEl:d,keepMounted:!0,open:!!d,onClose:S=>p(S,!1),children:[e.jsxs(F,{onClick:S=>{p(S,!1),window.open(Se(t.endpoint?Ct(t.endpoint):t.url,{allowDomains:null}))},children:[e.jsx(Y,{style:{minWidth:24},children:e.jsx(Xe,{fontSize:"small"})}),e.jsx($,{children:x("common.open")})]}),e.jsxs(F,{onClick:S=>{p(S,!1),window.open(Se(wt(t.endpoint),{allowDomains:null}))},children:[e.jsx(Y,{style:{minWidth:24},children:e.jsx(Je,{fontSize:"small"})}),e.jsx($,{children:x("storage.spaces.strategy.viewBackupFiles")})]}),!n&&r&&e.jsxs(F,{onClick:k,children:[e.jsx(Y,{style:{minWidth:24},children:e.jsx(Ve,{fontSize:"small"})}),e.jsx($,{children:x("storage.spaces.connect.switchToSpace")})]}),a&&e.jsxs(F,{onClick:w,children:[e.jsx(Y,{style:{minWidth:24},children:e.jsx(Ze,{fontSize:"small"})}),e.jsx($,{children:x("storage.spaces.connect.abortBlockletBackup")})]}),!a&&e.jsx(Le,{spaceGateway:t,onConfirm:async()=>{l(null),await o?.(t)},onCancel:()=>l(null)})]})]})}Ue.propTypes={spaceGateway:u.shape({name:u.string.isRequired,url:u.string.isRequired,protected:u.bool,endpoint:u.string.isRequired,loading:u.bool}).isRequired,selected:u.bool.isRequired,enableSwitchToSpace:u.bool,onDelete:u.func,onConnect:u.func,backupInProgress:u.bool};const Wt=fe(({className:t,...n})=>e.jsx(ge,{...n,classes:{popper:t}}))(()=>({".MuiTooltip-tooltip":{backgroundColor:"transparent",padding:0,margin:0,boxShadow:"none",maxWidth:"none"},".MuiTooltip-arrow":{color:"rgba(230, 235, 245, 1)"}}));function Me({spaceGateway:t,spaceStatus:n,selected:o,onConnected:s=()=>{},onDeleted:r=()=>{},onBackedUp:a=()=>{}}){const{t:c,locale:i}=D(),{blocklet:d}=O(),{api:l,info:{did:x}}=L(),{appDid:g,appName:m,appDescription:p,scopes:k,appUrl:w,referrer:S}=De({blocklet:d}),{backupProgress:y,updateSpaceGateway:Z,deleteSpaceGateway:ee,refreshBackupSummary:te,refreshBackups:se}=U(),[_,M]=b.useState(!1),[T,P]=b.useState({open:!1,action:"one-click-authorization",checkTimeout:1e3*300,messages:{title:c("storage.spaces.authorize.title",{appName:m},i),scan:c("storage.spaces.authorize.scan",{appName:m},i),confirm:"",success:e.jsx(j,{gutterBottom:!0,children:c("storage.spaces.authorize.success")})},onClose:()=>{P(C=>({...C,open:!1}))}}),ne=o&&!_&&n===de.DISCONNECTED,oe=o&&!_&&!t.loading&&n===de.CONNECTED,K=o&&_&&n===de.CONNECTED&&y?.progress>=0,X=async()=>{try{if(await Bt(t?.endpoint)){await l.configBlocklet({input:{did:[d.meta.did],configs:[{key:N.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_BACKUP_ENDPOINT,value:t.endpoint}]}}),B.success(c("storage.spaces.connect.switchToSpaceSucceeded",{name:t.name?`(${t.name})`:""})),s?.(null,t);return}}catch(C){console.error(C),s?.(C,t);return}P(C=>({...C,open:!0,prefix:me(t.url,"space/api/did"),baseUrl:new URL(t.url).origin,checkFn:we.create({baseURL:me(t.url,"space")}).get,extraParams:{appDid:g,appName:m,appDescription:p,scopes:k,appUrl:w,referrer:S,nodeDid:x,spaceDid:t.did}}))},ae=async(C,f)=>{const A=f(C.endpoint),R=xe(A),v=C.space?f(C.space):{};if(t.did&&R!==t.did){P(Ne=>({...Ne,open:!1}));const W=c("storage.spaces.gateway.switch.failedForMismatchSpace",{name:v?.name?v.name:""});B.error(W),s?.(new Error(W),t);return}const ce={...t,name:v.name??"DID Space",did:v.did??xe(A),endpoint:A};await Z(ce),P(W=>({...W,open:!1})),s?.(null,ce)},re=async()=>{try{if(_)return;M(!0),await l.backupBlocklet({input:{appDid:d.appDid,to:"spaces"}})}catch(C){console.error(C),B.error(C.message),a?.(C,t)}finally{M(!0)}},ie=async()=>{try{await ee(t),B.success(c("storage.spaces.gateway.delete.succeeded",{name:t.name?`(${t.name})`:""})),r?.(null,t)}catch(C){console.error(C),r?.(C,t)}};return b.useEffect(()=>{y?.completed?(o&&(y?.progress===100?(B.success(c("storage.spaces.backupSuccessfully")),a?.(null,t)):y.message&&a?.(new Error(y?.message),t),y.progress=0,y.message=""),M(!1),te(),se()):y.progress&&M(!0)},[y]),e.jsxs(e.Fragment,{children:[e.jsxs(h,{sx:{display:"flex",alignItems:"center",".action-btn":{borderRadius:1,marginLeft:1}},children:[oe&&e.jsx(le,{className:"action-btn",variant:"outlined",size:"small",onClick:re,children:c("storage.spaces.strategy.backupNow")}),ne&&e.jsx(le,{className:"action-btn",variant:"outlined",size:"small",onClick:X,children:c("storage.spaces.disconnected.reconnectNow")}),K&&e.jsx(Wt,{title:y?.message&&e.jsx(h,{sx:{p:1,borderRadius:1,boxShadow:2,color:"black",backgroundColor:"white"},children:e.jsx(j,{variant:"body2",children:y.message})}),children:e.jsxs(le,{className:"action-btn",variant:"outlined",size:"small",sx:{minWidth:70},children:[e.jsx(z,{variant:"determinate",value:y?.progress,size:14,sx:{mr:1}}),y?.progress,"%"]})}),e.jsx(ot,{forceConnected:!1,saveConnect:!1,prefix:T.prefix,open:T.open,popup:!0,action:T.action,baseUrl:T.baseUrl,checkFn:T.checkFn,onSuccess:ae,onClose:T.onClose,checkTimeout:T.checkTimeout,extraParams:T.extraParams,messages:T.messages,locale:i},"get-endpoint")]}),e.jsx(Ue,{sx:{minWidth:32,padding:"2px 4px",ml:1},spaceGateway:t,selected:o,onDelete:ie,onConnect:X,enableSwitchToSpace:y?.completed||H(y?.message),backupInProgress:K})]})}Me.propTypes={spaceGateway:u.shape({did:u.string.isRequired,name:u.string.isRequired,url:u.string.isRequired,endpoint:u.string.isRequired,protected:u.bool,loading:u.bool}).isRequired,spaceStatus:u.string.isRequired,selected:u.bool.isRequired,onConnected:u.func,onDeleted:u.func,onBackedUp:u.func};function Gt({...t}){const{t:n}=D();return e.jsxs(h,{...t,children:[e.jsx(h,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:e.jsx(j,{sx:{fontSize:"1.2rem",fontWeight:"bold"},children:n("storage.spaces.backup.records")})}),e.jsx(ve,{}),e.jsx(Oe,{})]})}function Kt({...t}){const{t:n}=D(),{autoBackup:o,updateAutoBackup:s}=U(),r=async()=>{try{const a=!o?.enabled;await s({enabled:a}),B.success(n(a?"storage.spaces.autoBackup.enabled":"storage.spaces.autoBackup.disabled"))}catch(a){B.error(a.message)}};return e.jsx(It,{checked:!!o?.enabled,onChange:r,name:"enableWelcomePage",labelProps:{label:e.jsx(j,{sx:{marginRight:"8px"},children:e.jsx("span",{children:n("storage.spaces.autoBackup.title")})})},style:{...t.style}})}function Ft(){const{t}=D(),{spaceGateways:n,spaceGatewaysLoading:o,spaceGatewayIsSelected:s}=U(),r=o&&!n?.length,a=({spaceGateway:c,spaceStatus:i,selected:d,refresh:l})=>e.jsx(Me,{spaceGateway:c,spaceStatus:i,selected:d,onConnected:()=>l(),onBackedUp:x=>x&&l()});return e.jsxs(h,{sx:{display:"flex",flexDirection:"column"},children:[e.jsxs(h,{sx:{display:"flex",flexDirection:{xs:"column",md:"row"},gap:{xs:1,md:2},justifyContent:{xs:"center",md:"flex-start"},alignItems:{xs:"flex-start",md:"center"}},children:[e.jsx(j,{sx:{fontSize:"1.2rem",fontWeight:"bold",flexGrow:1},children:t("storage.spaces.connected.title")}),e.jsx(Kt,{}),e.jsx(Re,{})]}),e.jsx(h,{sx:{mt:2},children:r?e.jsx(h,{sx:{display:"flex",justifyContent:"center"},children:e.jsx(z,{})}):e.jsx(he,{container:!0,spacing:2,children:e.jsx(e.Fragment,{children:n.map(c=>e.jsx(he,{size:{xs:12,md:6},children:e.jsx(ft,{endpoint:c.endpoint,selected:s(c),action:a},c.endpoint)},c.endpoint))})})}),e.jsx(Gt,{sx:{marginTop:"24px"}}),e.jsx(j,{sx:{fontSize:"1.2rem",fontWeight:"bold",mb:2},children:t("common.dataStorage")}),e.jsx(Pe,{})]})}function Yt(){const{spaceGatewaysFirstLoading:t,spaceGateways:n}=U();return t?e.jsx(Be,{relative:"parent",children:e.jsx(z,{})}):H(n)?e.jsx(_t,{}):e.jsx(Ft,{})}function $t(){return e.jsx(Ie,{children:e.jsx(Yt,{})})}function qt(){const{spaceGateway:t,settingStorageEndpoint:n,updateSpaceGateway:o,hasStorageEndpoint:s,loading:r,storageEndpoint:a}=Pt(),c=ue(()=>({display:"flex",alignItems:"center",justifyContent:"center",paddingTop:"16px"}));return r?e.jsx(Be,{relative:"parent",children:e.jsx(z,{})}):e.jsxs(h,{sx:{maxWidth:"md",position:"relative"},children:[s?e.jsx(gt,{spaceGateway:t,settingStorageEndpoint:n}):e.jsx(ht,{}),e.jsx(h,{sx:c,children:e.jsx(St,{onConnect:o,storageEndpoint:a})})]})}function Ht(){const{t}=D();return e.jsxs(Rt,{children:[e.jsxs(G,{spacing:1,sx:{marginBottom:2},children:[e.jsx(j,{sx:{fontSize:"1.2rem",fontWeight:"bold"},children:t("storage.appLevel.title")}),e.jsx(j,{sx:{color:"text.secondary"},children:t("storage.appLevel.description")})]}),e.jsx(qt,{})]})}function Qt({navOrientation:t="vertical",...n}){const{t:o,locale:s}=D(),{blocklet:r}=O(),a=lt({key:"md"}),[c,i]=et(),d=c.get("tab")||"backup",l=a?"horizontal":t,x=ue(()=>{const w=[{label:o("common.backup"),value:"backup"}],S=r?.capabilities?.didSpace;return(S===N.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED||S===N.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED_ON_SETUP)&&w.push({label:o("common.storage"),value:"storage"}),w},[s,l]),m=ue(()=>({backup:e.jsx($t,{}),storage:e.jsx(Ht,{})}))[d],p=w=>{i(S=>(w==="backup"?S.delete("tab"):S.set("tab",w),S))};if(x.length<=1)return e.jsx(pe,{children:m});const k=e.jsx(ct,{tabs:x,current:d,orientation:l,onChange:p,sx:[{borderRight:1,height:"100%",borderColor:"divider"},l==="horizontal"&&{borderRight:0}]});if(l==="vertical")return e.jsx(h,{...n,children:e.jsxs(G,{direction:{md:"column",lg:"row"},sx:{gap:2},children:[e.jsx(h,{sx:{flexShrink:0},children:e.jsx(ye,{left:k})}),e.jsx(h,{sx:{flexGrow:1,minWidth:0},children:e.jsx(pe,{sx:{mt:1},children:m})})]})});if(l==="horizontal")return e.jsxs(h,{...n,children:[e.jsx(ye,{left:k}),e.jsx(pe,{sx:{mt:2},children:m})]})}Qt.propTypes={navOrientation:u.oneOf(["vertical","horizontal"])};const pe=fe(h)`
|
|
3
3
|
position: relative;
|
|
4
4
|
min-height: 66vh;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/lottie-react.esm-M5fKy3fg.js","assets/vendor-react-Dvs43sk9.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{j as B,ak as z,T as pe,z as gt,y as ht,bb as dt,M as Ct,Q as Me,at as ce,ar as lt,ch as xt,dp as Et,dq as Rt,I as yt,dr as mt,D as bt,c1 as le,aj as wt,a6 as vt}from"./vendor-mui-core-CmD-NPnl.js";import{r as oe,p as Ve,g as It}from"./vendor-react-Dvs43sk9.js";import{w as St,g as Ze,u as Lt,j as Bt,e as Tt,k as _t}from"./vendor-hooks-DLNZ8kxG.js";import{a8 as Ht,R as Ot,_ as he,ax as ct}from"./vendor-ux-pYOhjQLA.js";import{ac as Nt}from"./vendor-utils-DQK0pEML.js";import{mediaKitApi as Qt}from"./index-DIfIqZRw.js";import{r as De}from"./index-BPy8_fa2.js";import"./lottie-web-4koyQiv_.js";import"./index-D5Esor4q.js";import"./vendor-arcblock-DEa0A9MF.js";import"./index-DRYJ0xIl.js";const ft=oe.createContext({}),pt=()=>oe.useContext(ft);function qt({children:h,restrictions:f,i18n:w,theme:R}){const[x,b]=St({loading:!1}),n=t=>b(a=>({...a,loading:t})),e=oe.useMemo(()=>({...x,onLoading:n,restrictions:f,i18n:w}),[x]);return B.jsx(Ht,{theme:R,children:B.jsx(ft.Provider,{value:e,children:h})})}const Wt="data:image/png;base64,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",Mt="/.well-known/service/static/assets/bedrock-yFRPpe__.png",Zt="/.well-known/service/static/assets/deepseek-C3x42pq3.png",Dt="/.well-known/service/static/assets/doubao-yPqHSkLx.png",Gt="/.well-known/service/static/assets/gemini-DffKpc81.png",jt="/.well-known/service/static/assets/google-DT1VSJ0m.png",Vt="/.well-known/service/static/assets/ideogram-REIjy0Er.png",kt="/.well-known/service/static/assets/ollama-C7MZn2d_.png",Ft="/.well-known/service/static/assets/openai-DlpqJdrb.png",Yt="data:image/png;base64,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",Pt="/.well-known/service/static/assets/poe-B588TgZu.png",Ut="data:image/png;base64,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",ge={anthropic:Wt,bedrock:Mt,deepseek:Zt,doubao:Dt,gemini:Gt,google:jt,ideogram:Vt,ollama:kt,openai:Ft,openrouter:Yt,poe:Pt,xai:Ut},ke={width:16,height:16,borderRadius:"2px",objectFit:"contain",backgroundColor:"transparent"};function Kt({onSubmit:h,models:f}){const{loading:w,i18n:R}=pt(),x=Ze({model:"",prompt:"",number:1}),b=()=>{const t=JSON.parse(JSON.stringify(x));Object.values(x).every(E=>!!E)&&h(t)},{run:n}=Lt(b,{wait:500}),e=oe.useMemo(()=>{const t=JSON.parse(JSON.stringify(x));return Object.values(t).some(a=>!a)},[JSON.stringify(x)]);return B.jsxs(zt,{onSubmit:t=>t.preventDefault(),children:[B.jsxs(z,{sx:{flex:1,height:"100%",overflow:"hidden",flexDirection:"column",display:"flex",mt:2,gap:2},children:[B.jsxs(z,{sx:{mx:2,display:"flex",flexDirection:"column",gap:1},children:[B.jsx(pe,{gutterBottom:!0,className:"title label",sx:{color:"text.primary"},children:R("aiImagePrompt")}),B.jsx(gt,{sx:{width:1},size:"small",type:"text",required:!0,placeholder:R("aiImagePromptTip"),multiline:!0,minRows:5,maxRows:6,value:x.prompt??"",onChange:t=>{t.stopPropagation(),x.prompt=t.target.value},slotProps:{htmlInput:{maxLength:1e3}}})]}),B.jsxs(z,{sx:{px:2,display:"flex",flexDirection:"column",gap:1},children:[B.jsx(pe,{gutterBottom:!0,className:"title label",sx:{color:"text.primary"},children:`${R("aiImageModel")}`}),B.jsx(ht,{fullWidth:!0,size:"small",children:B.jsx(dt,{sx:{width:1},value:x.model,onChange:t=>{x.number=1,x.model=t.target.value},MenuProps:{disablePortal:!0},renderValue:t=>{const a=f.find(i=>`${i.provider}/${i.model}`===t);return a?B.jsxs(z,{sx:{display:"flex",alignItems:"center",gap:1},children:[ge[a.provider]&&B.jsx(z,{component:"img",src:ge[a.provider],alt:a.provider,style:ke}),B.jsx(pe,{variant:"body2",children:a.model})]}):t},children:f.map(t=>B.jsx(Ct,{value:`${t.provider}/${t.model}`,children:B.jsxs(z,{sx:{display:"flex",alignItems:"center",gap:1,width:"100%"},children:[ge[t.provider]&&B.jsx(z,{component:"img",src:ge[t.provider],alt:t.provider,style:ke}),B.jsx(pe,{variant:"body2",sx:{flex:1},children:t.model})]})},`${t.provider}/${t.model}`))})})]})]}),B.jsx(Me,{sx:{m:2,transition:"all 0.3s"},className:"submit-ai",variant:"contained",onClick:n,disabled:w||e,children:R(w?"aiImageGenerating":"aiImageGenerate")},w?"loading-submit":"submit")]})}const zt=ce(z)`
|
|
2
|
+
import{j as B,ak as z,T as pe,z as gt,y as ht,bb as dt,M as Ct,Q as Me,at as ce,ar as lt,ch as xt,dp as Et,dq as Rt,I as yt,dr as mt,D as bt,c1 as le,aj as wt,a6 as vt}from"./vendor-mui-core-CmD-NPnl.js";import{r as oe,p as Ve,g as It}from"./vendor-react-Dvs43sk9.js";import{w as St,g as Ze,u as Lt,j as Bt,e as Tt,k as _t}from"./vendor-hooks-DLNZ8kxG.js";import{a8 as Ht,R as Ot,_ as he,ax as ct}from"./vendor-ux-pYOhjQLA.js";import{ac as Nt}from"./vendor-utils-DQK0pEML.js";import{mediaKitApi as Qt}from"./index-CJWwSLdB.js";import{r as De}from"./index-BPy8_fa2.js";import"./lottie-web-4koyQiv_.js";import"./index-BJbNz5vx.js";import"./vendor-arcblock-DEa0A9MF.js";import"./index-DRYJ0xIl.js";const ft=oe.createContext({}),pt=()=>oe.useContext(ft);function qt({children:h,restrictions:f,i18n:w,theme:R}){const[x,b]=St({loading:!1}),n=t=>b(a=>({...a,loading:t})),e=oe.useMemo(()=>({...x,onLoading:n,restrictions:f,i18n:w}),[x]);return B.jsx(Ht,{theme:R,children:B.jsx(ft.Provider,{value:e,children:h})})}const Wt="data:image/png;base64,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",Mt="/.well-known/service/static/assets/bedrock-yFRPpe__.png",Zt="/.well-known/service/static/assets/deepseek-C3x42pq3.png",Dt="/.well-known/service/static/assets/doubao-yPqHSkLx.png",Gt="/.well-known/service/static/assets/gemini-DffKpc81.png",jt="/.well-known/service/static/assets/google-DT1VSJ0m.png",Vt="/.well-known/service/static/assets/ideogram-REIjy0Er.png",kt="/.well-known/service/static/assets/ollama-C7MZn2d_.png",Ft="/.well-known/service/static/assets/openai-DlpqJdrb.png",Yt="data:image/png;base64,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",Pt="/.well-known/service/static/assets/poe-B588TgZu.png",Ut="data:image/png;base64,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",ge={anthropic:Wt,bedrock:Mt,deepseek:Zt,doubao:Dt,gemini:Gt,google:jt,ideogram:Vt,ollama:kt,openai:Ft,openrouter:Yt,poe:Pt,xai:Ut},ke={width:16,height:16,borderRadius:"2px",objectFit:"contain",backgroundColor:"transparent"};function Kt({onSubmit:h,models:f}){const{loading:w,i18n:R}=pt(),x=Ze({model:"",prompt:"",number:1}),b=()=>{const t=JSON.parse(JSON.stringify(x));Object.values(x).every(E=>!!E)&&h(t)},{run:n}=Lt(b,{wait:500}),e=oe.useMemo(()=>{const t=JSON.parse(JSON.stringify(x));return Object.values(t).some(a=>!a)},[JSON.stringify(x)]);return B.jsxs(zt,{onSubmit:t=>t.preventDefault(),children:[B.jsxs(z,{sx:{flex:1,height:"100%",overflow:"hidden",flexDirection:"column",display:"flex",mt:2,gap:2},children:[B.jsxs(z,{sx:{mx:2,display:"flex",flexDirection:"column",gap:1},children:[B.jsx(pe,{gutterBottom:!0,className:"title label",sx:{color:"text.primary"},children:R("aiImagePrompt")}),B.jsx(gt,{sx:{width:1},size:"small",type:"text",required:!0,placeholder:R("aiImagePromptTip"),multiline:!0,minRows:5,maxRows:6,value:x.prompt??"",onChange:t=>{t.stopPropagation(),x.prompt=t.target.value},slotProps:{htmlInput:{maxLength:1e3}}})]}),B.jsxs(z,{sx:{px:2,display:"flex",flexDirection:"column",gap:1},children:[B.jsx(pe,{gutterBottom:!0,className:"title label",sx:{color:"text.primary"},children:`${R("aiImageModel")}`}),B.jsx(ht,{fullWidth:!0,size:"small",children:B.jsx(dt,{sx:{width:1},value:x.model,onChange:t=>{x.number=1,x.model=t.target.value},MenuProps:{disablePortal:!0},renderValue:t=>{const a=f.find(i=>`${i.provider}/${i.model}`===t);return a?B.jsxs(z,{sx:{display:"flex",alignItems:"center",gap:1},children:[ge[a.provider]&&B.jsx(z,{component:"img",src:ge[a.provider],alt:a.provider,style:ke}),B.jsx(pe,{variant:"body2",children:a.model})]}):t},children:f.map(t=>B.jsx(Ct,{value:`${t.provider}/${t.model}`,children:B.jsxs(z,{sx:{display:"flex",alignItems:"center",gap:1,width:"100%"},children:[ge[t.provider]&&B.jsx(z,{component:"img",src:ge[t.provider],alt:t.provider,style:ke}),B.jsx(pe,{variant:"body2",sx:{flex:1},children:t.model})]})},`${t.provider}/${t.model}`))})})]})]}),B.jsx(Me,{sx:{m:2,transition:"all 0.3s"},className:"submit-ai",variant:"contained",onClick:n,disabled:w||e,children:R(w?"aiImageGenerating":"aiImageGenerate")},w?"loading-submit":"submit")]})}const zt=ce(z)`
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
5
5
|
height: 100%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t,at as r}from"./vendor-mui-core-CmD-NPnl.js";import{r as s}from"./vendor-react-Dvs43sk9.js";import{G as a}from"./vendor-ux-pYOhjQLA.js";import{t as n}from"./index-
|
|
1
|
+
import{j as t,at as r}from"./vendor-mui-core-CmD-NPnl.js";import{r as s}from"./vendor-react-Dvs43sk9.js";import{G as a}from"./vendor-ux-pYOhjQLA.js";import{t as n}from"./index-BJbNz5vx.js";import"./vendor-utils-DQK0pEML.js";import"./vendor-hooks-DLNZ8kxG.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-DEa0A9MF.js";function l(){const{t:o}=s.useContext(a);return t.jsx(i,{style:{paddingTop:"25vh"},children:t.jsx(n,{status:"404",description:o("noMatch.desc"),style:{backgroundColor:"transparent"}})})}const i=r.main``;export{l as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as p}from"./vendor-react-Dvs43sk9.js";import{j as a,y as b,W as t,z as y,M as E,ak as A}from"./vendor-mui-core-CmD-NPnl.js";import{a as j}from"./vendor-hooks-DLNZ8kxG.js";import{ap as r}from"./index-
|
|
1
|
+
import{r as p}from"./vendor-react-Dvs43sk9.js";import{j as a,y as b,W as t,z as y,M as E,ak as A}from"./vendor-mui-core-CmD-NPnl.js";import{a as j}from"./vendor-hooks-DLNZ8kxG.js";import{ap as r}from"./index-BJbNz5vx.js";import{T as C}from"./vendor-ux-pYOhjQLA.js";import{l as I}from"./arrow-down.svg-VIKI4IBd.js";import{L as O,D as H}from"./vendor-mui-x--K2rEM1j.js";import{A as R}from"./AdapterDayjs-Ch1GqpK7.js";function v({value:s=null,onChange:i,error:l=!1,helperText:c="",label:T="",timezone:e="",minDateTime:f=null}){const d=j(()=>{let n=r();return s&&(n=e?r(s).tz(e):r(s)),n},[s,e]),m=n=>{const h=e?r(n).tz(e):r(n);i(new Date(h.format("YYYY-MM-DD HH:mm:00")))};return a.jsx(O,{dateAdapter:R,children:a.jsx(b,{fullWidth:!0,error:l,children:a.jsx(H,{label:T,minDateTime:f,value:d,onChange:m,slotProps:{textField:{error:l,helperText:l?c:""}},format:"YYYY-MM-DD HH:mm"})})})}v.propTypes={value:t.oneOfType([t.string,t.instanceOf(Date)]),onChange:t.func.isRequired,error:t.bool,helperText:t.string,label:t.string,timezone:t.string,minDateTime:t.instanceOf(Date)};function U(s){return a.jsx(I,{...s,width:20,height:20})}const u={MINUTES_30:30*60*1e3,HOUR_1:60*60*1e3,HOURS_3:3*60*60*1e3,DAY_1:24*60*60*1e3,DAYS_7:7*24*60*60*1e3,DAYS_30:30*24*60*60*1e3};function $({placeholder:s="",value:i="",onChange:l,timezone:c="",showError:T=!0}){const{t:e}=C(),[f,d]=p.useState(i||""),[m,n]=p.useState(null),[h,Y]=p.useState(null),x=p.useMemo(()=>[{value:u.MINUTES_30,label:`30 ${e("common.minutes")}`},{value:u.HOUR_1,label:`1 ${e("common.hour")}`},{value:u.HOURS_3,label:`3 ${e("common.hours")}`},{value:u.DAY_1,label:`1 ${e("common.day")}`},{value:u.DAYS_7,label:`7 ${e("common.days")}`},{value:u.DAYS_30,label:`30 ${e("common.days")}`},{value:"custom",label:e("common.custom")}],[e]),_=o=>{if(d(o),o==="custom"){const D=c?r().tz(c):r(),S=D.add(1,"day").toDate();Y(D),n(S),l(S)}else l(new Date(Date.now()+o))},M=o=>{n(o),l(o)};p.useEffect(()=>{i&&(x.find(D=>r(D.value).isSame(i))||(d("custom"),n(i)))},[]);const g=j(()=>T?!!(!m||r(m).isBefore(r())):!1,[m,e]);return a.jsxs(a.Fragment,{children:[a.jsx(b,{fullWidth:!0,children:a.jsx(y,{select:!0,value:f,label:s||e("team.passport.passportExpireTime"),onChange:o=>_(o.target.value),variant:"outlined",slotProps:{select:{IconComponent:U}},children:x.map(o=>a.jsx(E,{value:o.value,children:o.label},o.value))})}),f==="custom"&&a.jsx(A,{children:a.jsx(v,{value:m,onChange:M,label:e("team.passport.customExpireTime"),timezone:c,error:!!g,helperText:g?e("team.passport.customExpireTimeIsInvalid"):void 0,minDateTime:h})})]})}$.propTypes={value:t.oneOfType([t.string,t.instanceOf(Date)]),onChange:t.func.isRequired,timezone:t.string,placeholder:t.string,showError:t.bool};export{$ as T};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{T as M,H as q,ab as N,N as Y,O as ve,ac as Ce,ai as Se}from"./vendor-ux-pYOhjQLA.js";import{o as Te,k as le,t as Ie}from"./vendor-hooks-DLNZ8kxG.js";import{r as E,a as ae}from"./vendor-react-Dvs43sk9.js";import{j as e,Y as Re,bB as We,$ as ze,ak as p,z as se,T as C,a6 as F,aX as te,R as De,Q as H,b6 as ne,am as A,bd as _,a5 as J,V as Z,S as G,b4 as Oe,U as L,I as B,ci as $e,bf as Ae,a7 as Pe,F as qe,W as t,b1 as R,a3 as ce,c1 as ee,cj as Le,aO as Me,aP as Be,ck as Fe,cl as He,cm as Ne,s as oe,aU as Ue,aj as _e,J as Ke,cn as Ve,aZ as Ye,cg as Je,ch as Qe,cf as Xe}from"./vendor-mui-core-CmD-NPnl.js";import{B as de,o as pe,l as ue}from"./index-DDpL_qpY.js";import{Z as K,c as xe,ap as Ze,a8 as Ge,b8 as Q}from"./index-D5Esor4q.js";import{u as V}from"./team-CGGZIbfh.js";import{u as et}from"./use-mobile-D93Bk2Ru.js";import{u as tt,C as X}from"./index.esm-JPZAjt0x.js";import{C as he,a as me,J as ot}from"./vendor-utils-DQK0pEML.js";import{C as st}from"./confirm-DUjUXcfn.js";import{A as nt}from"./actions-CL4xTGOh.js";import{T as ie}from"./table-tips-CgCabdgD.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-DEa0A9MF.js";import"./session-DGB-yOme.js";import"./isURL-DZGsNcmL.js";import"./use-app-logo-DxlfjGOQ.js";import"./index-DBs9Ljax.js";const it=i=>{const[u,c]=E.useState(null),[b,r]=E.useState(!0),[w,x]=E.useState(null),j=window.blocklet?.appUrl,l=E.useMemo(()=>{const g={};return u&&(u.sources.forEach(y=>{g[y.did]={source:y,events:[],count:0}}),u.events.forEach(y=>{g[y.source]&&(g[y.source].events.push(y),g[y.source].count+=1)})),g},[u]),f=async()=>{try{if(r(!0),!j)return;const y=await(await fetch(he(j,xe.WELLKNOWN_SERVICE_PATH_PREFIX,"/openevent.json"))).json();c(y),x(null)}catch(g){x(g instanceof Error?g:new Error(String(g)))}finally{r(!1)}};return E.useEffect(()=>{f()},[j]),{openEvent:u,setOpenEvent:c,eventsBySource:l,loading:b,error:w,loadData:f}};function ge({eventsBySource:i,selectedEvents:u,setSelectedEvents:c,error:b=null}){const{t:r}=M(),[w,x]=E.useState({}),j=E.useMemo(()=>{const n={};return Object.entries(i).forEach(([a,{events:m}])=>{const v=m.filter(S=>u[`${S.type}-${S.source}`]).length;n[a]=v}),n},[i,u]),l=E.useMemo(()=>Object.values(j).reduce((n,a)=>n+a,0),[j]),f=E.useMemo(()=>Object.values(i).reduce((n,{events:a})=>n+a.length,0),[i]),g=(n,a)=>{a.stopPropagation(),x({...w,[n]:!w[n]})},y=n=>{const a=`${n.type}-${n.source}`;c(m=>({...m,[a]:!m[a]}))},z=(n,a)=>{const m={};n.forEach(v=>{const S=`${v.type}-${v.source}`;m[S]=!a}),c(v=>({...v,...m}))},T=n=>{const a={};Object.values(i).forEach(({events:m})=>{m.forEach(v=>{const S=`${v.type}-${v.source}`;a[S]=n.target.checked})}),c(a)};return e.jsxs(p,{sx:{width:"100%"},children:[e.jsxs(p,{sx:{display:"flex",alignItems:"center",mb:1,mt:1},children:[e.jsx(ne,{control:e.jsx(J,{onChange:T,checked:l>0&&l===f}),label:e.jsxs(p,{sx:{display:"flex",alignItems:"center",cursor:"pointer"},children:[r("webhookEndpoint.selectAllEvents"),e.jsx(p,{sx:{display:"flex",alignItems:"center"},children:e.jsx(A,{title:r("webhookEndpoint.selectAllEventsTooltip"),placement:"right",children:e.jsx(_,{fontSize:"small",sx:{ml:.5,cursor:"help"}})})})]}),sx:{m:0}}),l>0&&e.jsx(C,{variant:"body2",color:"primary",sx:{ml:"auto"},children:r("webhookEndpoint.selectedEventsCount",{count:l})})]}),e.jsx(p,{sx:{maxHeight:"50vh",overflow:"auto"},children:e.jsx(Z,{disablePadding:!0,sx:{border:"1px solid",borderColor:"divider",borderRadius:"4px"},children:Object.entries(i).map(([n,{source:a,events:m,count:v}],S)=>{const D=j[n]>0,I=j[n]===m.length&&m.length>0,O=w[n];return e.jsxs(ae.Fragment,{children:[e.jsx(G,{sx:{borderBottom:({palette:o})=>S<Object.keys(i).length-1?`1px solid ${o.divider}`:"none",px:2,py:1.5,"&:hover":{bgcolor:"rgba(0, 0, 0, 0.02)"}},children:e.jsxs(p,{sx:{display:"flex",width:"100%",justifyContent:"space-between",alignItems:"center"},onClick:o=>{o.target.closest(".MuiFormControlLabel-root")||g(n,o)},children:[e.jsx(p,{sx:{display:"flex",alignItems:"center"},children:m.length>0&&e.jsx(ne,{control:e.jsx(J,{checked:I,indeterminate:D&&!I,onChange:o=>{o.stopPropagation(),z(m,I)}}),label:e.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[a.logo&&e.jsx(Oe,{src:a.logo,sx:{width:24,height:24}}),e.jsx(p,{children:a.title||n}),D&&e.jsx(L,{label:r("webhookEndpoint.selectedCount",{count:j[n]}),size:"small",sx:{mt:"2px",height:"20px",fontSize:"12px",bgcolor:o=>`${o.palette.primary.main}20`,color:"primary.main",fontWeight:500}})]}),sx:{m:0,"& .MuiFormControlLabel-label":{flex:1}}})}),e.jsxs(p,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(C,{variant:"body2",sx:{color:"text.secondary",mr:1},children:r("webhookEndpoint.eventsCount",{count:v})}),m.length>0&&e.jsx(B,{size:"small",edge:"end",children:O?e.jsx($e,{}):e.jsx(Ae,{})})]})]})}),m.length>0&&e.jsx(Pe,{in:O,timeout:"auto",unmountOnExit:!0,children:e.jsx(Z,{disablePadding:!0,sx:{pl:2,pr:2,py:1,bgcolor:"rgba(0, 0, 0, 0.01)"},children:m.map(o=>{const d=`${o.type}-${o.source}`,s=!!u[d];return e.jsx(G,{dense:!0,sx:{py:.75},onClick:()=>y(o),children:e.jsxs(p,{sx:{display:"flex",alignItems:"flex-start",width:"100%"},children:[e.jsx(J,{checked:s,sx:{mr:1}}),e.jsxs(p,{children:[e.jsx(C,{variant:"body1",sx:{cursor:"pointer",color:"text.primary"},children:o.type}),e.jsx(C,{variant:"caption",sx:{color:"text.secondary",display:"block",cursor:"pointer"},children:o.description})]})]})},d)})})})]},n)})})}),b&&e.jsx(qe,{error:!0,sx:{mt:1},children:b})]})}ge.propTypes={eventsBySource:t.objectOf(t.shape({source:t.shape({did:t.string.isRequired,title:t.string,description:t.string,version:t.string,logo:t.string}).isRequired,events:t.arrayOf(t.shape({type:t.string.isRequired,description:t.string.isRequired,source:t.string.isRequired})).isRequired,count:t.number.isRequired})).isRequired,selectedEvents:t.objectOf(t.bool).isRequired,setSelectedEvents:t.func.isRequired,error:t.string};function fe({id:i=null,url:u="",description:c="",enabledEvents:b=[],onSubmit:r,onClose:w=()=>{}}){const{t:x}=M(),[j,l]=E.useState({}),{teamDid:f}=V(),{api:g}=K(),{loading:y,error:z,eventsBySource:T}=it(),{control:n,handleSubmit:a,formState:{errors:m},reset:v,setValue:S,trigger:D}=tt({defaultValues:{url:"",description:""}});E.useEffect(()=>{const o=Object.values(j).some(d=>d);S("selectedEvents",o?"valid":""),D("selectedEvents")},[j,S,D]);const I=()=>{l({}),v(),w()},O=async o=>{const d=Object.keys(j).filter(h=>j[h]),s={url:o.url,description:o.description,enabledEvents:d.map(h=>{const[k,W]=h.split("-");return!k||!W?null:{type:k,source:W}}).filter(Boolean)};try{if(i){const h=await g.updateWebhookEndpoint({input:{teamDid:f,id:i,data:s}});q.success(`${x("webhookEndpoint.updateWebhook")} ${x("webhookEndpoint.success")}`),r(h)}else{const h=await g.createWebhookEndpoint({input:{teamDid:f,input:s}});q.success(`${x("webhookEndpoint.createWebhook")} ${x("webhookEndpoint.success")}`),r(h)}}catch(h){q.error(h?.message)}I()};return E.useEffect(()=>{v({url:u,description:c}),l(b.reduce((o,d)=>(o[`${d.type}-${d.source}`]=!0,o),{}))},[v,l,u,c,b]),e.jsx(Re,{open:!0,onClose:I,maxWidth:"lg",fullWidth:!0,sx:{"& .MuiDialog-paper":{minHeight:600}},children:e.jsxs("form",{onSubmit:a(O),children:[e.jsx(We,{children:x(i?"webhookEndpoint.editWebhookTitle":"webhookEndpoint.createWebhookTitle")}),e.jsx(ze,{children:e.jsxs(p,{sx:{display:"flex",flexDirection:"column",gap:2,mt:2},children:[e.jsx(X,{name:"url",control:n,rules:{required:x("webhookEndpoint.validation.urlRequired"),pattern:{value:/^(http|https):\/\/[^ "]+$/,message:x("webhookEndpoint.validation.urlInvalid")}},render:({field:o})=>e.jsx(se,{...o,label:x("webhookEndpoint.url.label"),fullWidth:!0,error:!!m.url,helperText:m.url?.message})}),e.jsx(X,{name:"description",control:n,rules:{required:x("webhookEndpoint.validation.descriptionRequired")},render:({field:o})=>e.jsx(se,{...o,label:x("webhookEndpoint.description.label"),fullWidth:!0,multiline:!0,minRows:2,maxRows:4,error:!!m.description,helperText:m.description?.message})}),e.jsx(X,{name:"selectedEvents",control:n,rules:{required:x("webhookEndpoint.validation.eventRequired")},render:({field:o})=>e.jsx("input",{type:"hidden",...o})}),!y&&T&&Object.keys(T).length>0&&e.jsx(ge,{eventsBySource:T,selectedEvents:j,setSelectedEvents:l,error:m.selectedEvents?.message}),!y&&(!T||Object.keys(T).length===0)&&e.jsx(C,{sx:{color:"text.secondary"},children:x("webhookEndpoint.noAvailableEvents")}),y&&e.jsx(p,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"500px",width:"100%"},children:e.jsx(F,{size:20})}),z&&e.jsx(te,{severity:"error",children:x("webhookEndpoint.loadingError",{message:z?.message})})]})}),e.jsxs(De,{sx:{p:"8px 24px 24px"},children:[e.jsx(H,{onClick:I,children:x("common.cancel")}),e.jsx(H,{type:"submit",variant:"contained",color:"primary",children:x(i?"webhookEndpoint.updateWebhook":"webhookEndpoint.saveWebhook")})]})]})})}fe.propTypes={onSubmit:t.func.isRequired,id:t.string,url:t.string,description:t.string,enabledEvents:t.arrayOf(t.shape({type:t.string.isRequired,source:t.string.isRequired})),onClose:t.func};function be(i){switch(i){case"enabled":return"success";case"disabled":default:return"default"}}const rt=(i="en")=>i==="tw"?"zh":i;function U(i,u="YYYY-MM-DD HH:mm:ss",c="en"){return i?Ze(i).locale(rt(c)).format(u):"-"}function lt(i){return typeof i=="number"?!1:me(i)}function at(i){return i>=200&&i<300}function $({value:i,label:u,tip:c="",divider:b=!1}){const r=lt(i);return e.jsxs(e.Fragment,{children:[e.jsxs(R,{direction:"column",alignItems:"flex-start",children:[e.jsxs(C,{component:"div",variant:"body1",mb:1,color:"text.primary",sx:{fontWeight:500},children:[u,!!c&&e.jsx(A,{title:c,children:e.jsx(_,{fontSize:"small"})})]}),e.jsx(C,{component:"div",variant:"body1",color:r?"text.disabled":"text.secondary",sx:{width:"100%",minHeight:"24px"},children:r?"-":i})]}),b&&e.jsx(ce,{orientation:"vertical",flexItem:!0})]})}$.propTypes={label:t.oneOfType([t.string,t.node]).isRequired,value:t.oneOfType([t.string,t.node]).isRequired,tip:t.oneOfType([t.string,t.node]),divider:t.bool};function je({title:i,children:u=null,mb:c=1.5,mt:b=1.5}){return e.jsxs(R,{className:"section-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center",flexWrap:"wrap",gap:1,mb:c,mt:b,pb:1},children:[e.jsx(C,{variant:"h3",sx:{fontSize:{xs:"18px",md:"1.09375rem"}},component:"div",children:i}),u]})}je.propTypes={title:t.oneOfType([t.string,t.node]).isRequired,children:t.node,mb:t.number,mt:t.number};const ct={width:24,height:24,body:'<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4m-4 4a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"/>'},dt=i=>{const u={};return i.forEach(c=>{const b=new Date(c.createdAt).toLocaleDateString();u[b]||(u[b]=[]),u[b]?.push(c)}),u};function ye({eventId:i="",webhookEndpointId:u="",event:c=null}){const{api:b,ws:{useSubscription:r}}=K(),{t:w}=M(),{teamDid:x}=V(),{blocklet:j}=Ge(),{data:l,loadMore:f,loadingMore:g,loading:y,mutate:z}=Te(s=>{const k=s?Math.ceil(s.list.length/15)+1:1;return b.getWebhookAttempts({input:{teamDid:x,input:{eventId:i,webhookId:u},paging:{page:k,pageSize:15}}})},{reloadDeps:[i,u]}),T=l?.list||[],[n,a]=E.useState(null),[m,v]=E.useState(!1),S=dt(T);if(E.useEffect(()=>{!n&&l?.list.length&&a(l.list[0])},[l?.list.length,n]),r(xe.EVENTS.WEBHOOK_ATTEMPT,s=>{z(h=>{if(h.list.find(W=>W.id===s.id)){const W=h.list.map(P=>P.id===s.id?{...P,...s}:P);return{...h,list:W}}return s.endpoint=h.list[0]?.endpoint,s.event=h.list[0]?.event,{...h,list:[s,...h.list]}})},[]),y)return e.jsx(F,{});const D=l&&l.list.length<l.paging.total,I=async()=>{n&&(v(!0),await b.retryWebhookAttempt({input:{teamDid:x,eventId:n.event.id,webhookId:u,attemptId:n.id}}).finally(()=>{setTimeout(()=>{v(!1)},1e3)}))},O=s=>{if(s.responseBody&&s.responseBody?.sessionId&&s.responseBody?.projectId&&s.responseBody?.agentId){const h=j?.site?.domainAliases[0]?.value,k=(j.children||[]).find(P=>P?.meta?.name==="ai-studio"),W=ot(he(`https://${h}`,k?.mountPoint||"","projects",s.responseBody.projectId,"logs/main"),{sessionId:s.responseBody.sessionId,agentId:s.responseBody.agentId});return e.jsx(B,{sx:{fontSize:20},onClick:()=>window.open(W,"_blank"),children:e.jsx(p,{component:N,icon:Q})})}return null},o=s=>s.status==="pending"?e.jsx(Fe,{color:"warning"}):at(s.responseStatus)?e.jsx(He,{color:"success"}):e.jsx(Ne,{color:"error"}),d=n?.triggeredFrom&&(l?.list||[]).find(s=>s.id===n.triggeredFrom);return e.jsxs(pt,{container:!0,spacing:{xs:0,md:1},sx:{height:1},children:[e.jsx(ee,{size:{xs:12,md:4},sx:{height:1},children:me(Object.keys(S))?e.jsx(C,{sx:{color:"text.secondary"},children:w("webhookEndpoint.waitingForEvents")}):e.jsxs(e.Fragment,{children:[e.jsx(Z,{sx:{maxHeight:"calc(100% - 40px)",py:0,overflowY:"auto"},children:Object.entries(S).map(([s,h])=>e.jsxs(ae.Fragment,{children:[e.jsx(Le,{sx:{p:0},children:s}),h.map(k=>e.jsxs(G,{sx:{cursor:"pointer",px:1},onClick:()=>a(k),selected:n&&n?.id===k?.id,secondaryAction:e.jsx(C,{sx:{color:"text.secondary"},children:U(k.createdAt,"HH:mm:ss")}),children:[e.jsx(Me,{sx:{minWidth:0,mr:1.5},children:o(k)}),e.jsx(Be,{primary:e.jsx(C,{sx:{color:"text.primary"},children:k.event.type})})]},k.id))]},s))}),D&&e.jsx(p,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:1},children:e.jsx(H,{variant:"text",type:"button",color:"inherit",onClick:f,disabled:g,sx:{color:s=>s.palette.text.disabled},children:w(g?"webhookEndpoint.loadingMore":"webhookEndpoint.loadMore")})})]})}),e.jsxs(ee,{size:{xs:12,md:8},sx:{height:1},children:[n&&e.jsxs(R,{direction:"column",spacing:2,sx:{height:1,overflow:"auto",pl:{xs:0,md:1},mt:{xs:2,md:0},borderLeft:{xs:"none"}},children:[e.jsxs(p,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(C,{variant:"h4",children:w(`common.${n.status}`)}),e.jsx(p,{children:O(n)})]}),e.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[d&&e.jsx(A,{placement:"left",title:e.jsxs(R,{onClick:()=>a(d),sx:{gap:1,cursor:"pointer",".did-address-text":{color:"common.white"}},children:[e.jsx(de,{showDid:!0,did:n.triggeredBy,cardType:ue.Detailed,infoType:pe.Minimal,sx:{border:0,padding:0,minWidth:0,".MuiTypography-root":{color:"common.white",fontWeight:400}}}),e.jsx(ce,{}),e.jsxs(p,{sx:{display:"flex",flexDirection:"column"},children:[e.jsx(C,{variant:"body2",sx:{color:"primary.main"},children:w("webhookEndpoint.triggeredFrom")}),e.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(C,{variant:"body2",children:n.id}),e.jsx(B,{onClick:()=>a(d),children:e.jsx(p,{component:N,icon:Q,sx:{fontSize:16,color:"common.white"}})})]})]})]}),slotProps:{tooltip:{sx:{maxWidth:400}}},children:e.jsx(B,{onClick:()=>a(d),children:e.jsx(p,{component:N,icon:Q,sx:{fontSize:16}})})}),e.jsxs(H,{variant:"outlined",color:"primary",size:"small",onClick:I,disabled:m,children:[e.jsx(p,{component:N,icon:ct,sx:{fontSize:16,animation:m?"spin 1s linear infinite":"none",mr:.5}}),w("notification.resend")]})]})]}),e.jsxs(p,{children:[e.jsxs(C,{variant:"h6",children:[w("webhookEndpoint.response")," (",n.responseStatus,")"]}),e.jsx(Y,{language:"json",children:JSON.stringify(n.responseBody,null,2)})]}),e.jsxs(p,{children:[e.jsx(R,{direction:"row",spacing:1,sx:{alignItems:"center"},children:e.jsx(C,{variant:"h6",children:w("webhookEndpoint.request")})}),e.jsx(Y,{language:"json",sx:{margin:0},children:JSON.stringify(n.event,null,2)})]})]}),l?.list.length===0&&c&&e.jsxs(p,{children:[e.jsx(R,{direction:"row",spacing:1,sx:{alignItems:"center"},children:e.jsx(C,{variant:"h6",children:w("webhookEndpoint.eventData")})}),e.jsx(Y,{language:"json",sx:{margin:0},children:JSON.stringify(c.data,null,2)})]})]})]})}ye.propTypes={eventId:t.string,webhookEndpointId:t.string,event:t.shape({type:t.string,data:t.object,request:t.object,requestInfo:t.object})};const pt=oe(ee)`
|
|
1
|
+
import{T as M,H as q,ab as N,N as Y,O as ve,ac as Ce,ai as Se}from"./vendor-ux-pYOhjQLA.js";import{o as Te,k as le,t as Ie}from"./vendor-hooks-DLNZ8kxG.js";import{r as E,a as ae}from"./vendor-react-Dvs43sk9.js";import{j as e,Y as Re,bB as We,$ as ze,ak as p,z as se,T as C,a6 as F,aX as te,R as De,Q as H,b6 as ne,am as A,bd as _,a5 as J,V as Z,S as G,b4 as Oe,U as L,I as B,ci as $e,bf as Ae,a7 as Pe,F as qe,W as t,b1 as R,a3 as ce,c1 as ee,cj as Le,aO as Me,aP as Be,ck as Fe,cl as He,cm as Ne,s as oe,aU as Ue,aj as _e,J as Ke,cn as Ve,aZ as Ye,cg as Je,ch as Qe,cf as Xe}from"./vendor-mui-core-CmD-NPnl.js";import{B as de,o as pe,l as ue}from"./index-uH_9YgA0.js";import{Z as K,c as xe,ap as Ze,a8 as Ge,b8 as Q}from"./index-BJbNz5vx.js";import{u as V}from"./team-B-jk7E5_.js";import{u as et}from"./use-mobile-D93Bk2Ru.js";import{u as tt,C as X}from"./index.esm-JPZAjt0x.js";import{C as he,a as me,J as ot}from"./vendor-utils-DQK0pEML.js";import{C as st}from"./confirm-BbY8YGyk.js";import{A as nt}from"./actions-CL4xTGOh.js";import{T as ie}from"./table-tips-CgCabdgD.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-DEa0A9MF.js";import"./session-m3orzHBa.js";import"./isURL-CCV0esLR.js";import"./use-app-logo-D_gO-Dio.js";import"./index-DBs9Ljax.js";const it=i=>{const[u,c]=E.useState(null),[b,r]=E.useState(!0),[w,x]=E.useState(null),j=window.blocklet?.appUrl,l=E.useMemo(()=>{const g={};return u&&(u.sources.forEach(y=>{g[y.did]={source:y,events:[],count:0}}),u.events.forEach(y=>{g[y.source]&&(g[y.source].events.push(y),g[y.source].count+=1)})),g},[u]),f=async()=>{try{if(r(!0),!j)return;const y=await(await fetch(he(j,xe.WELLKNOWN_SERVICE_PATH_PREFIX,"/openevent.json"))).json();c(y),x(null)}catch(g){x(g instanceof Error?g:new Error(String(g)))}finally{r(!1)}};return E.useEffect(()=>{f()},[j]),{openEvent:u,setOpenEvent:c,eventsBySource:l,loading:b,error:w,loadData:f}};function ge({eventsBySource:i,selectedEvents:u,setSelectedEvents:c,error:b=null}){const{t:r}=M(),[w,x]=E.useState({}),j=E.useMemo(()=>{const n={};return Object.entries(i).forEach(([a,{events:m}])=>{const v=m.filter(S=>u[`${S.type}-${S.source}`]).length;n[a]=v}),n},[i,u]),l=E.useMemo(()=>Object.values(j).reduce((n,a)=>n+a,0),[j]),f=E.useMemo(()=>Object.values(i).reduce((n,{events:a})=>n+a.length,0),[i]),g=(n,a)=>{a.stopPropagation(),x({...w,[n]:!w[n]})},y=n=>{const a=`${n.type}-${n.source}`;c(m=>({...m,[a]:!m[a]}))},z=(n,a)=>{const m={};n.forEach(v=>{const S=`${v.type}-${v.source}`;m[S]=!a}),c(v=>({...v,...m}))},T=n=>{const a={};Object.values(i).forEach(({events:m})=>{m.forEach(v=>{const S=`${v.type}-${v.source}`;a[S]=n.target.checked})}),c(a)};return e.jsxs(p,{sx:{width:"100%"},children:[e.jsxs(p,{sx:{display:"flex",alignItems:"center",mb:1,mt:1},children:[e.jsx(ne,{control:e.jsx(J,{onChange:T,checked:l>0&&l===f}),label:e.jsxs(p,{sx:{display:"flex",alignItems:"center",cursor:"pointer"},children:[r("webhookEndpoint.selectAllEvents"),e.jsx(p,{sx:{display:"flex",alignItems:"center"},children:e.jsx(A,{title:r("webhookEndpoint.selectAllEventsTooltip"),placement:"right",children:e.jsx(_,{fontSize:"small",sx:{ml:.5,cursor:"help"}})})})]}),sx:{m:0}}),l>0&&e.jsx(C,{variant:"body2",color:"primary",sx:{ml:"auto"},children:r("webhookEndpoint.selectedEventsCount",{count:l})})]}),e.jsx(p,{sx:{maxHeight:"50vh",overflow:"auto"},children:e.jsx(Z,{disablePadding:!0,sx:{border:"1px solid",borderColor:"divider",borderRadius:"4px"},children:Object.entries(i).map(([n,{source:a,events:m,count:v}],S)=>{const D=j[n]>0,I=j[n]===m.length&&m.length>0,O=w[n];return e.jsxs(ae.Fragment,{children:[e.jsx(G,{sx:{borderBottom:({palette:o})=>S<Object.keys(i).length-1?`1px solid ${o.divider}`:"none",px:2,py:1.5,"&:hover":{bgcolor:"rgba(0, 0, 0, 0.02)"}},children:e.jsxs(p,{sx:{display:"flex",width:"100%",justifyContent:"space-between",alignItems:"center"},onClick:o=>{o.target.closest(".MuiFormControlLabel-root")||g(n,o)},children:[e.jsx(p,{sx:{display:"flex",alignItems:"center"},children:m.length>0&&e.jsx(ne,{control:e.jsx(J,{checked:I,indeterminate:D&&!I,onChange:o=>{o.stopPropagation(),z(m,I)}}),label:e.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[a.logo&&e.jsx(Oe,{src:a.logo,sx:{width:24,height:24}}),e.jsx(p,{children:a.title||n}),D&&e.jsx(L,{label:r("webhookEndpoint.selectedCount",{count:j[n]}),size:"small",sx:{mt:"2px",height:"20px",fontSize:"12px",bgcolor:o=>`${o.palette.primary.main}20`,color:"primary.main",fontWeight:500}})]}),sx:{m:0,"& .MuiFormControlLabel-label":{flex:1}}})}),e.jsxs(p,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(C,{variant:"body2",sx:{color:"text.secondary",mr:1},children:r("webhookEndpoint.eventsCount",{count:v})}),m.length>0&&e.jsx(B,{size:"small",edge:"end",children:O?e.jsx($e,{}):e.jsx(Ae,{})})]})]})}),m.length>0&&e.jsx(Pe,{in:O,timeout:"auto",unmountOnExit:!0,children:e.jsx(Z,{disablePadding:!0,sx:{pl:2,pr:2,py:1,bgcolor:"rgba(0, 0, 0, 0.01)"},children:m.map(o=>{const d=`${o.type}-${o.source}`,s=!!u[d];return e.jsx(G,{dense:!0,sx:{py:.75},onClick:()=>y(o),children:e.jsxs(p,{sx:{display:"flex",alignItems:"flex-start",width:"100%"},children:[e.jsx(J,{checked:s,sx:{mr:1}}),e.jsxs(p,{children:[e.jsx(C,{variant:"body1",sx:{cursor:"pointer",color:"text.primary"},children:o.type}),e.jsx(C,{variant:"caption",sx:{color:"text.secondary",display:"block",cursor:"pointer"},children:o.description})]})]})},d)})})})]},n)})})}),b&&e.jsx(qe,{error:!0,sx:{mt:1},children:b})]})}ge.propTypes={eventsBySource:t.objectOf(t.shape({source:t.shape({did:t.string.isRequired,title:t.string,description:t.string,version:t.string,logo:t.string}).isRequired,events:t.arrayOf(t.shape({type:t.string.isRequired,description:t.string.isRequired,source:t.string.isRequired})).isRequired,count:t.number.isRequired})).isRequired,selectedEvents:t.objectOf(t.bool).isRequired,setSelectedEvents:t.func.isRequired,error:t.string};function fe({id:i=null,url:u="",description:c="",enabledEvents:b=[],onSubmit:r,onClose:w=()=>{}}){const{t:x}=M(),[j,l]=E.useState({}),{teamDid:f}=V(),{api:g}=K(),{loading:y,error:z,eventsBySource:T}=it(),{control:n,handleSubmit:a,formState:{errors:m},reset:v,setValue:S,trigger:D}=tt({defaultValues:{url:"",description:""}});E.useEffect(()=>{const o=Object.values(j).some(d=>d);S("selectedEvents",o?"valid":""),D("selectedEvents")},[j,S,D]);const I=()=>{l({}),v(),w()},O=async o=>{const d=Object.keys(j).filter(h=>j[h]),s={url:o.url,description:o.description,enabledEvents:d.map(h=>{const[k,W]=h.split("-");return!k||!W?null:{type:k,source:W}}).filter(Boolean)};try{if(i){const h=await g.updateWebhookEndpoint({input:{teamDid:f,id:i,data:s}});q.success(`${x("webhookEndpoint.updateWebhook")} ${x("webhookEndpoint.success")}`),r(h)}else{const h=await g.createWebhookEndpoint({input:{teamDid:f,input:s}});q.success(`${x("webhookEndpoint.createWebhook")} ${x("webhookEndpoint.success")}`),r(h)}}catch(h){q.error(h?.message)}I()};return E.useEffect(()=>{v({url:u,description:c}),l(b.reduce((o,d)=>(o[`${d.type}-${d.source}`]=!0,o),{}))},[v,l,u,c,b]),e.jsx(Re,{open:!0,onClose:I,maxWidth:"lg",fullWidth:!0,sx:{"& .MuiDialog-paper":{minHeight:600}},children:e.jsxs("form",{onSubmit:a(O),children:[e.jsx(We,{children:x(i?"webhookEndpoint.editWebhookTitle":"webhookEndpoint.createWebhookTitle")}),e.jsx(ze,{children:e.jsxs(p,{sx:{display:"flex",flexDirection:"column",gap:2,mt:2},children:[e.jsx(X,{name:"url",control:n,rules:{required:x("webhookEndpoint.validation.urlRequired"),pattern:{value:/^(http|https):\/\/[^ "]+$/,message:x("webhookEndpoint.validation.urlInvalid")}},render:({field:o})=>e.jsx(se,{...o,label:x("webhookEndpoint.url.label"),fullWidth:!0,error:!!m.url,helperText:m.url?.message})}),e.jsx(X,{name:"description",control:n,rules:{required:x("webhookEndpoint.validation.descriptionRequired")},render:({field:o})=>e.jsx(se,{...o,label:x("webhookEndpoint.description.label"),fullWidth:!0,multiline:!0,minRows:2,maxRows:4,error:!!m.description,helperText:m.description?.message})}),e.jsx(X,{name:"selectedEvents",control:n,rules:{required:x("webhookEndpoint.validation.eventRequired")},render:({field:o})=>e.jsx("input",{type:"hidden",...o})}),!y&&T&&Object.keys(T).length>0&&e.jsx(ge,{eventsBySource:T,selectedEvents:j,setSelectedEvents:l,error:m.selectedEvents?.message}),!y&&(!T||Object.keys(T).length===0)&&e.jsx(C,{sx:{color:"text.secondary"},children:x("webhookEndpoint.noAvailableEvents")}),y&&e.jsx(p,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"500px",width:"100%"},children:e.jsx(F,{size:20})}),z&&e.jsx(te,{severity:"error",children:x("webhookEndpoint.loadingError",{message:z?.message})})]})}),e.jsxs(De,{sx:{p:"8px 24px 24px"},children:[e.jsx(H,{onClick:I,children:x("common.cancel")}),e.jsx(H,{type:"submit",variant:"contained",color:"primary",children:x(i?"webhookEndpoint.updateWebhook":"webhookEndpoint.saveWebhook")})]})]})})}fe.propTypes={onSubmit:t.func.isRequired,id:t.string,url:t.string,description:t.string,enabledEvents:t.arrayOf(t.shape({type:t.string.isRequired,source:t.string.isRequired})),onClose:t.func};function be(i){switch(i){case"enabled":return"success";case"disabled":default:return"default"}}const rt=(i="en")=>i==="tw"?"zh":i;function U(i,u="YYYY-MM-DD HH:mm:ss",c="en"){return i?Ze(i).locale(rt(c)).format(u):"-"}function lt(i){return typeof i=="number"?!1:me(i)}function at(i){return i>=200&&i<300}function $({value:i,label:u,tip:c="",divider:b=!1}){const r=lt(i);return e.jsxs(e.Fragment,{children:[e.jsxs(R,{direction:"column",alignItems:"flex-start",children:[e.jsxs(C,{component:"div",variant:"body1",mb:1,color:"text.primary",sx:{fontWeight:500},children:[u,!!c&&e.jsx(A,{title:c,children:e.jsx(_,{fontSize:"small"})})]}),e.jsx(C,{component:"div",variant:"body1",color:r?"text.disabled":"text.secondary",sx:{width:"100%",minHeight:"24px"},children:r?"-":i})]}),b&&e.jsx(ce,{orientation:"vertical",flexItem:!0})]})}$.propTypes={label:t.oneOfType([t.string,t.node]).isRequired,value:t.oneOfType([t.string,t.node]).isRequired,tip:t.oneOfType([t.string,t.node]),divider:t.bool};function je({title:i,children:u=null,mb:c=1.5,mt:b=1.5}){return e.jsxs(R,{className:"section-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center",flexWrap:"wrap",gap:1,mb:c,mt:b,pb:1},children:[e.jsx(C,{variant:"h3",sx:{fontSize:{xs:"18px",md:"1.09375rem"}},component:"div",children:i}),u]})}je.propTypes={title:t.oneOfType([t.string,t.node]).isRequired,children:t.node,mb:t.number,mt:t.number};const ct={width:24,height:24,body:'<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4m-4 4a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"/>'},dt=i=>{const u={};return i.forEach(c=>{const b=new Date(c.createdAt).toLocaleDateString();u[b]||(u[b]=[]),u[b]?.push(c)}),u};function ye({eventId:i="",webhookEndpointId:u="",event:c=null}){const{api:b,ws:{useSubscription:r}}=K(),{t:w}=M(),{teamDid:x}=V(),{blocklet:j}=Ge(),{data:l,loadMore:f,loadingMore:g,loading:y,mutate:z}=Te(s=>{const k=s?Math.ceil(s.list.length/15)+1:1;return b.getWebhookAttempts({input:{teamDid:x,input:{eventId:i,webhookId:u},paging:{page:k,pageSize:15}}})},{reloadDeps:[i,u]}),T=l?.list||[],[n,a]=E.useState(null),[m,v]=E.useState(!1),S=dt(T);if(E.useEffect(()=>{!n&&l?.list.length&&a(l.list[0])},[l?.list.length,n]),r(xe.EVENTS.WEBHOOK_ATTEMPT,s=>{z(h=>{if(h.list.find(W=>W.id===s.id)){const W=h.list.map(P=>P.id===s.id?{...P,...s}:P);return{...h,list:W}}return s.endpoint=h.list[0]?.endpoint,s.event=h.list[0]?.event,{...h,list:[s,...h.list]}})},[]),y)return e.jsx(F,{});const D=l&&l.list.length<l.paging.total,I=async()=>{n&&(v(!0),await b.retryWebhookAttempt({input:{teamDid:x,eventId:n.event.id,webhookId:u,attemptId:n.id}}).finally(()=>{setTimeout(()=>{v(!1)},1e3)}))},O=s=>{if(s.responseBody&&s.responseBody?.sessionId&&s.responseBody?.projectId&&s.responseBody?.agentId){const h=j?.site?.domainAliases[0]?.value,k=(j.children||[]).find(P=>P?.meta?.name==="ai-studio"),W=ot(he(`https://${h}`,k?.mountPoint||"","projects",s.responseBody.projectId,"logs/main"),{sessionId:s.responseBody.sessionId,agentId:s.responseBody.agentId});return e.jsx(B,{sx:{fontSize:20},onClick:()=>window.open(W,"_blank"),children:e.jsx(p,{component:N,icon:Q})})}return null},o=s=>s.status==="pending"?e.jsx(Fe,{color:"warning"}):at(s.responseStatus)?e.jsx(He,{color:"success"}):e.jsx(Ne,{color:"error"}),d=n?.triggeredFrom&&(l?.list||[]).find(s=>s.id===n.triggeredFrom);return e.jsxs(pt,{container:!0,spacing:{xs:0,md:1},sx:{height:1},children:[e.jsx(ee,{size:{xs:12,md:4},sx:{height:1},children:me(Object.keys(S))?e.jsx(C,{sx:{color:"text.secondary"},children:w("webhookEndpoint.waitingForEvents")}):e.jsxs(e.Fragment,{children:[e.jsx(Z,{sx:{maxHeight:"calc(100% - 40px)",py:0,overflowY:"auto"},children:Object.entries(S).map(([s,h])=>e.jsxs(ae.Fragment,{children:[e.jsx(Le,{sx:{p:0},children:s}),h.map(k=>e.jsxs(G,{sx:{cursor:"pointer",px:1},onClick:()=>a(k),selected:n&&n?.id===k?.id,secondaryAction:e.jsx(C,{sx:{color:"text.secondary"},children:U(k.createdAt,"HH:mm:ss")}),children:[e.jsx(Me,{sx:{minWidth:0,mr:1.5},children:o(k)}),e.jsx(Be,{primary:e.jsx(C,{sx:{color:"text.primary"},children:k.event.type})})]},k.id))]},s))}),D&&e.jsx(p,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:1},children:e.jsx(H,{variant:"text",type:"button",color:"inherit",onClick:f,disabled:g,sx:{color:s=>s.palette.text.disabled},children:w(g?"webhookEndpoint.loadingMore":"webhookEndpoint.loadMore")})})]})}),e.jsxs(ee,{size:{xs:12,md:8},sx:{height:1},children:[n&&e.jsxs(R,{direction:"column",spacing:2,sx:{height:1,overflow:"auto",pl:{xs:0,md:1},mt:{xs:2,md:0},borderLeft:{xs:"none"}},children:[e.jsxs(p,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(C,{variant:"h4",children:w(`common.${n.status}`)}),e.jsx(p,{children:O(n)})]}),e.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[d&&e.jsx(A,{placement:"left",title:e.jsxs(R,{onClick:()=>a(d),sx:{gap:1,cursor:"pointer",".did-address-text":{color:"common.white"}},children:[e.jsx(de,{showDid:!0,did:n.triggeredBy,cardType:ue.Detailed,infoType:pe.Minimal,sx:{border:0,padding:0,minWidth:0,".MuiTypography-root":{color:"common.white",fontWeight:400}}}),e.jsx(ce,{}),e.jsxs(p,{sx:{display:"flex",flexDirection:"column"},children:[e.jsx(C,{variant:"body2",sx:{color:"primary.main"},children:w("webhookEndpoint.triggeredFrom")}),e.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(C,{variant:"body2",children:n.id}),e.jsx(B,{onClick:()=>a(d),children:e.jsx(p,{component:N,icon:Q,sx:{fontSize:16,color:"common.white"}})})]})]})]}),slotProps:{tooltip:{sx:{maxWidth:400}}},children:e.jsx(B,{onClick:()=>a(d),children:e.jsx(p,{component:N,icon:Q,sx:{fontSize:16}})})}),e.jsxs(H,{variant:"outlined",color:"primary",size:"small",onClick:I,disabled:m,children:[e.jsx(p,{component:N,icon:ct,sx:{fontSize:16,animation:m?"spin 1s linear infinite":"none",mr:.5}}),w("notification.resend")]})]})]}),e.jsxs(p,{children:[e.jsxs(C,{variant:"h6",children:[w("webhookEndpoint.response")," (",n.responseStatus,")"]}),e.jsx(Y,{language:"json",children:JSON.stringify(n.responseBody,null,2)})]}),e.jsxs(p,{children:[e.jsx(R,{direction:"row",spacing:1,sx:{alignItems:"center"},children:e.jsx(C,{variant:"h6",children:w("webhookEndpoint.request")})}),e.jsx(Y,{language:"json",sx:{margin:0},children:JSON.stringify(n.event,null,2)})]})]}),l?.list.length===0&&c&&e.jsxs(p,{children:[e.jsx(R,{direction:"row",spacing:1,sx:{alignItems:"center"},children:e.jsx(C,{variant:"h6",children:w("webhookEndpoint.eventData")})}),e.jsx(Y,{language:"json",sx:{margin:0},children:JSON.stringify(c.data,null,2)})]})]})]})}ye.propTypes={eventId:t.string,webhookEndpointId:t.string,event:t.shape({type:t.string,data:t.object,request:t.object,requestInfo:t.object})};const pt=oe(ee)`
|
|
2
2
|
@keyframes spin {
|
|
3
3
|
to {
|
|
4
4
|
transform: rotate(360deg);
|