@abtnode/blocklet-services 1.17.7-beta-20251225-073259-cb6ecf68 → 1.17.7-beta-20251229-085620-84f09930
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 +16 -4
- package/api/libs/auth/adapters/apple.js +1 -1
- package/api/libs/auth/adapters/auth0.js +1 -1
- package/api/libs/auth/adapters/github.js +1 -1
- package/api/libs/auth/adapters/google.js +1 -1
- package/api/middlewares/serve-static-engine.js +179 -0
- package/api/routes/env.js +3 -4
- package/api/routes/oauth/client.js +7 -5
- package/api/services/notification/queue.js +2 -2
- package/api/socket/channel/component.js +19 -13
- package/api/socket/util.js +6 -1
- package/dist/assets/{AdapterDayjs-BUbxoXbD.js → AdapterDayjs-DYIVeXBV.js} +1 -1
- package/dist/assets/{Google-Cwpw9PRe.js → Google-D9N2NN29.js} +1 -1
- package/dist/assets/{access-control-DwlD3_cw.js → access-control-UTVMJtLa.js} +1 -1
- package/dist/assets/{add-component-core-BITgGwN0.js → add-component-core-Cu9Tohbt.js} +31 -31
- package/dist/assets/add-resource-CqOi5S87.js +1 -0
- package/dist/assets/{addon-C2qdiHVb.js → addon-DSFDYYiP.js} +1 -1
- package/dist/assets/{advanced-BosetBVE.js → advanced-CkJs81iC.js} +1 -1
- package/dist/assets/{aigne-DbMeOdg9.js → aigne-Dt8mwR8G.js} +1 -1
- package/dist/assets/api-FQQlzPOP.js +1 -0
- package/dist/assets/{appearance-DhUAX-xn.js → appearance-Bs9dCa2z.js} +1 -1
- package/dist/assets/ar-B4BSOV5G.js +7 -0
- package/dist/assets/{audit-logs-BHPPGieH.js → audit-logs-Bk0Y0aey.js} +3 -3
- package/dist/assets/{authorize-Dfo70g1t.js → authorize-C6B5tUkA.js} +1 -1
- package/dist/assets/{base-chart-Cs8rd9f2.js → base-chart-ChBZtUEG.js} +1 -1
- package/dist/assets/{base32-CXgP3JJ5.js → base32-BccrNIeO.js} +1 -1
- package/dist/assets/{bind-account-Drs3IDFN.js → bind-account-CLV9q3E3.js} +1 -1
- package/dist/assets/branding-BGRUKKNR.js +1 -0
- package/dist/assets/{branding-ByK6n-fM.js → branding-Cwk5a8ly.js} +1 -1
- package/dist/assets/{branding-BhvacExo.js → branding-JmTDNoIq.js} +1 -1
- package/dist/assets/{bundle-avatar-DVOaAXid.js → bundle-avatar-CLRiyhwo.js} +1 -1
- package/dist/assets/{button-D6RwAFss.js → button-Bfs8GG-V.js} +1 -1
- package/dist/assets/{click-to-copy-B2HIKJMV.js → click-to-copy-fgcvdv-u.js} +1 -1
- package/dist/assets/cloneDeep-C2rlAYcK.js +1 -0
- package/dist/assets/{complete-Djtuko3J.js → complete-Bb_Zgfxn.js} +2 -2
- package/dist/assets/{component-UsgyDUkb.js → component-BEiiKeGh.js} +2 -2
- package/dist/assets/{config-DuS3gx_m.js → config-CAUPVWd8.js} +2 -2
- package/dist/assets/{config-CUYR0yDP.js → config-Crd4mTZS.js} +2 -2
- package/dist/assets/{config-Co1ZhGgP.js → config-DEeSuJty.js} +1 -1
- package/dist/assets/{config-navigation-DjF2jJY9.js → config-navigation-DcFoMJlj.js} +7 -7
- package/dist/assets/{config-space-zEV0JkDF.js → config-space-DVE2CBUC.js} +1 -1
- package/dist/assets/{confirm-DTx9f3Ke.js → confirm-BSaTCzrs.js} +1 -1
- package/dist/assets/{connect-nknm0LHt.js → connect-B0W5gXFT.js} +1 -1
- package/dist/assets/connect-ChbbAHB_.js +5 -0
- package/dist/assets/{connect-to-eBtGI4_9.js → connect-to-D7rrqt6m.js} +1 -1
- package/dist/assets/{create-passport-svg-BQhmIwWD.js → create-passport-svg-BJX-WFnl.js} +1 -1
- package/dist/assets/{createClass-dudiLlP7.js → createClass-CH1sG4Vj.js} +1 -1
- package/dist/assets/dashboard-DDFp-UB6.js +103 -0
- package/dist/assets/de-EFAP4yzZ.js +7 -0
- package/dist/assets/{delete-confirm-HiRqbh9-.js → delete-confirm-BzmT7bQV.js} +1 -1
- package/dist/assets/{did-address-DqhneWXa.js → did-address-cHTriZHu.js} +1 -1
- package/dist/assets/{domain-Xaa2OTQZ.js → domain-CLaCd92M.js} +1 -1
- package/dist/assets/{domain-action-card-BzceZepB.js → domain-action-card-ClVrHE96.js} +2 -2
- package/dist/assets/domains-C5X5bi_z.js +1 -0
- package/dist/assets/edit-rounded-CnMn6J-D.js +1 -0
- package/dist/assets/{email-CaObtYNf.js → email-DddZUTON.js} +2 -2
- package/dist/assets/engine-CvmlyswD.js +1 -0
- package/dist/assets/es-BqFCfGn2.js +9 -0
- package/dist/assets/{exchange-passport-BA6t_lld.js → exchange-passport-CKEOdyU9.js} +1 -1
- package/dist/assets/{form-DNo4HCRt.js → form-poId1OU3.js} +1 -1
- package/dist/assets/{form-text-input-BjQKx89L.js → form-text-input-DwerOWgK.js} +1 -1
- package/dist/assets/fr-CksqMtzK.js +7 -0
- package/dist/assets/{fuel-Cr5W3cGy.js → fuel-Bly8lXId.js} +1 -1
- package/dist/assets/{gen-access-key-Bw62ox39.js → gen-access-key-5kekGzt_.js} +1 -1
- package/dist/assets/{gen-simple-access-key-QTWh5kxW.js → gen-simple-access-key-l4SGe3J5.js} +1 -1
- package/dist/assets/get-safe-url-D7ti-zln.js +1 -0
- package/dist/assets/hi-Bztwk-sg.js +5 -0
- package/dist/assets/{hi-DNSN9klG.js → hi-Cra5bbq9.js} +1 -1
- package/dist/assets/{home-iaPbLBtv.js → home-yA5fXQmP.js} +1 -1
- package/dist/assets/id-C5p-l7lp.js +7 -0
- package/dist/assets/{iframe-C8myLb4U.js → iframe-XKq6kg_r.js} +1 -1
- package/dist/assets/{index-CaQnmN3Y.js → index--Zp6K5Sp.js} +1 -1
- package/dist/assets/{index-C4nyPKIr.js → index-5haA_ZtH.js} +1 -1
- package/dist/assets/{index-9h1okNKA.js → index-9N4EluXF.js} +6 -6
- package/dist/assets/{index-D3g5TOJl.js → index-B0wPyjk9.js} +2 -2
- package/dist/assets/{index-SCaAOhtj.js → index-B1-cYl7K.js} +2 -2
- package/dist/assets/{index-DHvO7Oyu.js → index-BBwTMTLp.js} +1 -1
- package/dist/assets/{index-SACCniHf.js → index-BOWGgkTH.js} +4 -4
- package/dist/assets/{index-B7jV3her.js → index-BT901ij8.js} +1 -1
- package/dist/assets/index-BjqoIwBE.js +281 -0
- package/dist/assets/index-BotTPbWD.js +1 -0
- package/dist/assets/{index-C2HNVEZ0.js → index-Bt8QUMaz.js} +1 -1
- package/dist/assets/index-CGOBEhzW.js +1039 -0
- package/dist/assets/{index-BzU09Azd.js → index-CKhKxswY.js} +2 -2
- package/dist/assets/{index-CtJhxyJT.js → index-CQqn5TFD.js} +18 -18
- package/dist/assets/{index-DeG3Ee92.js → index-CSwcQdlI.js} +1 -1
- package/dist/assets/index-Ce9omzTp.js +1 -0
- package/dist/assets/{index-CzvNhDIJ.js → index-ChQX9ze3.js} +2 -2
- package/dist/assets/{index-BP_Fl0Mu.js → index-CiKhg0ut.js} +1 -1
- package/dist/assets/{index-BleAAm7x.js → index-Cu8TdzKM.js} +1 -1
- package/dist/assets/{index-YLno1Cst.js → index-CuC130U2.js} +3 -3
- package/dist/assets/{index-1azOxnKy.js → index-CvVZvUh7.js} +1 -1
- package/dist/assets/{index-CnWFrsC2.js → index-CzlJLWz5.js} +4 -4
- package/dist/assets/{index-B5vc0eG5.js → index-D1SIrheh.js} +1 -1
- package/dist/assets/{index-Dk6ZABgc.js → index-D95ZNJ3d.js} +1 -1
- package/dist/assets/{index-Dnd0o2ng.js → index-DA8b2Fwx.js} +3 -3
- package/dist/assets/{index-B8sa2W5r.js → index-DGd0GDc4.js} +6 -6
- package/dist/assets/{index-CHuKoofS.js → index-HU-v7OeI.js} +1 -1
- package/dist/assets/{index-Bxd7kK_i.js → index-_haoumSc.js} +1 -1
- package/dist/assets/{index-DURonUPJ.js → index-pm6H84lU.js} +1 -1
- package/dist/assets/index-tgy1TTjM.js +81 -0
- package/dist/assets/{index-seQ_ufVM.js → index-v9hCHxKp.js} +1 -1
- package/dist/assets/{invitation-DwMnPB2W.js → invitation-OInDimvS.js} +2 -2
- package/dist/assets/{invitations-mhxsPoWR.js → invitations-BFTtG6X1.js} +1 -1
- package/dist/assets/{invite-DpZe41tL.js → invite-sUgPlE4Z.js} +1 -1
- package/dist/assets/{isURL-CASPeQFe.js → isURL-CJrtALFi.js} +1 -1
- package/dist/assets/{issue-passport-ClIYXZHr.js → issue-passport-D779MB0S.js} +1 -1
- package/dist/assets/{item-B3LlwO_A.js → item-D0S77pRh.js} +1 -1
- package/dist/assets/ja-2cGMwCig.js +9 -0
- package/dist/assets/ko-DDVloIXx.js +9 -0
- package/dist/assets/{landing-page-Cv6belCa.js → landing-page-BoqVRFrg.js} +1 -1
- package/dist/assets/{layout-DkW-u1GX.js → layout-BumaOQ7l.js} +1 -1
- package/dist/assets/{list-CBP3Lj7-.js → list-Bcp4RDC0.js} +1 -1
- package/dist/assets/{list-Dqz9X41o.js → list-C0ACtiK5.js} +1 -1
- package/dist/assets/localization-DAkSbh2g.js +1 -0
- package/dist/assets/{log-Ch1_gOOt.js → log-CpIPOvLt.js} +1 -1
- package/dist/assets/logger-DUjWrC8_.js +1 -0
- package/dist/assets/{login-_zzURN5A.js → login-cMKzStm-.js} +1 -1
- package/dist/assets/{login-oauth-callback-BiIj9E0o.js → login-oauth-callback-I8wjhibA.js} +1 -1
- package/dist/assets/{logo-uploader-BmnoHisE.js → logo-uploader-CeXSNxdi.js} +1 -1
- package/dist/assets/{lost-passport-DYnJRD_t.js → lost-passport-VCPPPILz.js} +2 -2
- package/dist/assets/{cloneDeep-BbaR0xRl.js → omit-spWLSLbo.js} +1 -1
- package/dist/assets/{open-window-Btzsgc7g.js → open-window-DY3mWojp.js} +1 -1
- package/dist/assets/{over-due-invoice-payment-BFDFMUwK.js → over-due-invoice-payment-C9HTfbWA.js} +1 -1
- package/dist/assets/overview-Bv3cq2I0.js +116 -0
- package/dist/assets/passport-DMm48qRk.js +1 -0
- package/dist/assets/{passport-item-Dx140DTL.js → passport-item-DD8VG51j.js} +1 -1
- package/dist/assets/{permission-HtrJm1h2.js → permission-B3ddwA-4.js} +1 -1
- package/dist/assets/{preferences-Dri2a4fE.js → preferences-CmMbfbTw.js} +1 -1
- package/dist/assets/profile-embed-DAY5ZrDb.js +1 -0
- package/dist/assets/{pt-BPAfyek8.js → pt-BB0AKqMq.js} +1 -1
- package/dist/assets/pt-FIIPCfqU.js +5 -0
- package/dist/assets/{publish-resource-CruXcF2L.js → publish-resource-DJRigGuM.js} +1 -1
- package/dist/assets/{react-beautiful-dnd.esm-89LKdt03.js → react-beautiful-dnd.esm-Bn87vJFI.js} +1 -1
- package/dist/assets/ru-BjRgz8OF.js +5 -0
- package/dist/assets/{ru-CVlekA3F.js → ru-CnPeybtU.js} +1 -1
- package/dist/assets/{runtime-Ck_rDqm2.js → runtime-gljMK2qS.js} +1 -1
- package/dist/assets/{sanitize-DyRfEGVu.js → sanitize-yVk8VEIO.js} +1 -1
- package/dist/assets/sdk-Be-u0PfZ.js +1 -0
- package/dist/assets/security-b4k0fa20.js +22 -0
- package/dist/assets/{session-Cm8j8XeZ.js → session-vM0SwFQZ.js} +1 -1
- package/dist/assets/{setup-COruOAew.js → setup-BPnqbGIk.js} +1 -1
- package/dist/assets/simple-select-6nihrL7w.js +1 -0
- package/dist/assets/{spaces-BuZf3GoQ.js → spaces-ypzuCaPe.js} +1 -1
- package/dist/assets/{start-D_yHRXzR.js → start-CgUu2djm.js} +1 -1
- package/dist/assets/{starting-progress-DahUM5Xo.js → starting-progress-B15yvlvv.js} +1 -1
- package/dist/assets/{status-DVjLoqLm.js → status-Cy7fzuR3.js} +1 -1
- package/dist/assets/{step-actions-DkehnzsP.js → step-actions-D3sZvhKo.js} +1 -1
- package/dist/assets/{studio-D4hiQNwZ.js → studio-D9ZxOiyo.js} +1 -1
- package/dist/assets/{switch-CO2el_yA.js → switch-CjDalLJU.js} +1 -1
- package/dist/assets/{switch-control-Bw0oiZZh.js → switch-control-CioN_5qg.js} +1 -1
- package/dist/assets/{table-tips-C-6Sm2ed.js → table-tips-DEqFBQFt.js} +1 -1
- package/dist/assets/{team-DNuHMrzV.js → team-DHhtcW5C.js} +1 -1
- package/dist/assets/th-DKiwQ6t6.js +5 -0
- package/dist/assets/{traffic-B0WH67Yr.js → traffic-DDO0-htp.js} +1 -1
- package/dist/assets/{transfer-BpjPR3S_.js → transfer-CEk3StHa.js} +1 -1
- package/dist/assets/{unsubscribe-CzgQXfYP.js → unsubscribe-DZF4NKei.js} +1 -1
- package/dist/assets/{use-app-logo-CZWb8lrs.js → use-app-logo-DSdF3M62.js} +1 -1
- package/dist/assets/{use-window-close-DDL8fcOm.js → use-window-close-va-vKf7G.js} +1 -1
- package/dist/assets/{useAsync-VEqKX7rF.js → useAsync-DVl73fmG.js} +1 -1
- package/dist/assets/{useAsync-xXSiXzwr.js → useAsync-Dotoxibi.js} +1 -1
- package/dist/assets/{useAsyncRetry--1T7wYe2.js → useAsyncRetry-r8dEPb-x.js} +1 -1
- package/dist/assets/{useLocalStorage-BV1BIwfo.js → useLocalStorage-A7dcJ6ce.js} +1 -1
- package/dist/assets/{user-center-DndqALOV.js → user-center-C2hlh2we.js} +1 -1
- package/dist/assets/{user-follower-Bzb2ZR_9.js → user-follower-BmcrANUM.js} +1 -1
- package/dist/assets/{util-DIVJQVg1.js → util-C_d0oDd4.js} +1 -1
- package/dist/assets/{util-CVjlaHo_.js → util-D9UZY2ZN.js} +1 -1
- package/dist/assets/{vendor-arcblock-CPCSE54a.js → vendor-arcblock-Dr30TSIK.js} +1 -1
- package/dist/assets/{vendor-hooks-cYMUGE4V.js → vendor-hooks-qxhUUbW5.js} +1 -1
- package/dist/assets/vendor-utils-CxWN1dT3.js +213 -0
- package/dist/assets/{vendor-ux-DfSgTRg5.js → vendor-ux-7TwTLXf8.js} +19 -19
- package/dist/assets/vi-C4aNShnq.js +5 -0
- package/dist/assets/{wait-connect-Be1Dmt0P.js → wait-connect-B2sGoXaJ.js} +1 -1
- package/dist/assets/{wizard-components-D3PqSMGt.js → wizard-components-BRsabxoD.js} +2 -2
- package/dist/assets/{wizard-BhUdbQos.js → wizard-qaZ9pS3q.js} +1 -1
- package/dist/assets/wrap-locale-DGVkhpYh.js +1 -0
- package/dist/assets/zh-Cb0McG4r.js +10 -0
- package/dist/assets/{zh-B_cpka88.js → zh-D1XHANJI.js} +1 -1
- package/dist/assets/zh-tw-PfYv9beR.js +9 -0
- package/dist/index.html +1 -1
- package/package.json +49 -49
- package/dist/assets/add-resource-ENVSA34x.js +0 -1
- package/dist/assets/api-C_w0YD2j.js +0 -1
- package/dist/assets/ar-BBr9bsOg.js +0 -7
- package/dist/assets/branding-B-5oLD-k.js +0 -1
- package/dist/assets/connect-BX2QwOaU.js +0 -5
- package/dist/assets/dashboard-DbjH3qe4.js +0 -103
- package/dist/assets/de-CDBOH3k5.js +0 -7
- package/dist/assets/domains-D_GcYdME.js +0 -1
- package/dist/assets/engine-BzngvK61.js +0 -1
- package/dist/assets/es-BJ8CsIZi.js +0 -9
- package/dist/assets/fr-DSXQFpNy.js +0 -7
- package/dist/assets/get-safe-url-CqAaHb9L.js +0 -1
- package/dist/assets/hi-DLsQ4VdX.js +0 -5
- package/dist/assets/id-AzAQyOHL.js +0 -7
- package/dist/assets/index-BHa1_Bjz.js +0 -1039
- package/dist/assets/index-BNeXCm1B.js +0 -1
- package/dist/assets/index-Df4GSKx6.js +0 -1
- package/dist/assets/index-DoVbUHDU.js +0 -55
- package/dist/assets/index-pAjb_WaG.js +0 -281
- package/dist/assets/ja-C3ccbBe-.js +0 -9
- package/dist/assets/keyboard-arrow-down-rounded-8U0_i9QO.js +0 -1
- package/dist/assets/ko-9Vbo8tR2.js +0 -9
- package/dist/assets/localization-gLf4FT3Q.js +0 -1
- package/dist/assets/logger-CWnnO-wn.js +0 -1
- package/dist/assets/omit-BgmLPtMY.js +0 -1
- package/dist/assets/overview-Bf86Sw9l.js +0 -116
- package/dist/assets/passport-D6ZhqZ1F.js +0 -1
- package/dist/assets/profile-embed-BpG6-Rqz.js +0 -1
- package/dist/assets/pt-iqygmSLa.js +0 -5
- package/dist/assets/ru-BkfMvpq6.js +0 -5
- package/dist/assets/sdk-C3wBexZ2.js +0 -1
- package/dist/assets/security-Duf_ZEVi.js +0 -22
- package/dist/assets/simple-select-DbXWLzPn.js +0 -1
- package/dist/assets/th-D-pgFsDa.js +0 -5
- package/dist/assets/vendor-utils-drLlzTVq.js +0 -213
- package/dist/assets/vi-BuffIn3I.js +0 -5
- package/dist/assets/wrap-locale-DtcRIeKF.js +0 -1
- package/dist/assets/zh-CSl2KD_S.js +0 -10
- package/dist/assets/zh-tw-BiloxWNq.js +0 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{e as bt,r as K,f as je,p as J}from"./vendor-react-CTtPmzVP.js";import{D as Ct,j as c,bZ as Et,ak as W,z as jt,M as St,U as gr,I as qe,a6 as ge,by as Pt,aj as kt,F as Bt,cH as Qr,W as q,at as lr,n as At,Q as ur,ar as ce,T as ue,am as me,c_ as It,b4 as be,bI as Xr,c$ as et,cU as Ot,A as mr,cT as Dt,a3 as Tt,d0 as Rt,d1 as zt,cF as Lt,bb as Ft}from"./vendor-mui-core-DnR6WYuU.js";import{q as Nt,g as yr,b as de,t as qt,a as Ce}from"./vendor-hooks-
|
|
1
|
+
import{e as bt,r as K,f as je,p as J}from"./vendor-react-CTtPmzVP.js";import{D as Ct,j as c,bZ as Et,ak as W,z as jt,M as St,U as gr,I as qe,a6 as ge,by as Pt,aj as kt,F as Bt,cH as Qr,W as q,at as lr,n as At,Q as ur,ar as ce,T as ue,am as me,c_ as It,b4 as be,bI as Xr,c$ as et,cU as Ot,A as mr,cT as Dt,a3 as Tt,d0 as Rt,d1 as zt,cF as Lt,bb as Ft}from"./vendor-mui-core-DnR6WYuU.js";import{q as Nt,g as yr,b as de,t as qt,a as Ce}from"./vendor-hooks-qxhUUbW5.js";import{i as Ht}from"./isURL-CJrtALFi.js";import{h as Mt,bj as rt,bk as Ut,bl as Kt,n as $t,bm as Wt,aT as ye,z as He,H as ae}from"./vendor-ux-7TwTLXf8.js";import{bU as tt,bD as Vt,bV as Gt,bW as Yt,c as dr,ba as Zt,bb as xr,Z as Jt,Y as Qt,aD as Xt,aB as _r,q as en}from"./index-CGOBEhzW.js";import{S as _e}from"./section-jXB9AxBb.js";import{R as rn}from"./required-BQln5OcV.js";import{F as tn}from"./form-wrapper-PT5ZzMQy.js";import{I as nn,F as Ee}from"./form-text-input-DwerOWgK.js";import{u as sn,c as on,w as an}from"./wait-connect-B2sGoXaJ.js";import{B as wr,b as nt,C as le,D as st,J as it,n as fr}from"./vendor-utils-CxWN1dT3.js";import{r as Ue}from"./index-_tncRnTu.js";import{f as he}from"./index-DBs9Ljax.js";var cn=null;const ln=Object.freeze(Object.defineProperty({__proto__:null,default:cn},Symbol.toStringTag,{value:"Module"})),Ke=bt(ln),un=Qr`
|
|
2
2
|
0%, 100% {
|
|
3
3
|
transform: scale(1) translateX(0);
|
|
4
4
|
}
|
|
@@ -32,7 +32,7 @@ import{e as bt,r as K,f as je,p as J}from"./vendor-react-CTtPmzVP.js";import{D a
|
|
|
32
32
|
to {
|
|
33
33
|
transform: rotate(360deg);
|
|
34
34
|
}
|
|
35
|
-
`,d=K.useMemo(()=>!h?.enableCredit,[h]),a=K.useMemo(()=>Number(h?.creditBalance?.balance)<=0&&Number(h?.creditBalance?.pendingCredit)>0,[h]);if(!h&&!s)return null;const{creditBalance:t,profileLink:m="",paymentLink:w=""}=h||{};return c.jsx($e,{children:s?c.jsxs(W,{sx:{display:"flex",flexDirection:"column",justifyContent:"space-between",alignItems:"flex-start",gap:2,height:"100%"},children:[c.jsxs(W,{sx:{width:"100%",display:"flex",flexDirection:"column",gap:1},children:[c.jsx(ce,{variant:"rounded",sx:{width:"80%",height:20}}),c.jsx(ce,{variant:"rounded",sx:{width:"50%",height:20}})]}),c.jsxs(W,{sx:{width:"100%",display:"flex",justifyContent:"space-between",gap:1},children:[c.jsx(ce,{variant:"rounded",sx:{width:"100%",height:20}}),c.jsx(ce,{variant:"rounded",sx:{width:"100%",height:20}})]})]}):c.jsxs(W,{sx:{display:"flex",flexDirection:"column",justifyContent:"space-between",alignItems:"flex-start",height:"100%",width:"100%"},children:[c.jsxs(W,{sx:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[c.jsx(ue,{variant:"body1",children:"AIGNE Hub Credits"}),c.jsxs(ue,{variant:"h2",sx:{color:!d&&a?"error.main":"text.primary"},children:[c.jsx("span",{children:d?v("setting.aigne.infinite"):a?`- ${Jr(t?.pendingCredit)}`:Jr(t.balance)}),d?null:c.jsx(me,{title:v("common.refresh"),children:c.jsx(It,{sx:{fontSize:14,ml:1,cursor:"pointer",animation:C?`${g} 1s linear infinite`:"none"},onClick:l})})]})]}),d?null:c.jsxs(W,{sx:{width:"100%",display:"flex",gap:1},children:[c.jsx(cr,{fullWidth:!0,variant:"outlined",disabled:p,onClick:()=>{w&&window.open(w,"_blank")},startIcon:c.jsx(He,{style:{fontSize:16},icon:"tabler:credit-card"}),children:v("setting.aigne.addCredits")}),c.jsx(cr,{fullWidth:!0,disabled:p,onClick:()=>{m&&window.open(it(m,{appDid:window.blocklet.appPid}),"_blank")},variant:"outlined",startIcon:c.jsx(He,{style:{fontSize:16},icon:"hugeicons:transaction"}),children:v("setting.aigne.transaction")})]})]})})}ft.propTypes={loading:q.bool,credit:q.object,connecting:q.bool,onRefresh:q.func,refreshing:q.bool};function pt({url:s,apiKey:h,switchUser:p=fr,connecting:l=!1}){const{t:C}=K.useContext(ye),[v,g]=K.useState(!1),{data:d,loading:a,error:t,refresh:m}=Nt(()=>ui({baseUrl:s,accessKey:h}),{ready:!!(s&&h),refreshDeps:[s,h],onSuccess:()=>{g(!1)},onError:()=>{g(!1)}}),w=K.useCallback(()=>{a||v||(g(!0),m())},[m,a,v]);return t?null:c.jsxs(W,{children:[c.jsx(ue,{variant:"h5",sx:{fontSize:18,mb:2},children:C("setting.aigne.account")}),c.jsxs(be,{container:!0,className:"config-container",spacing:2,sx:{width:"100%"},children:[c.jsx(be,{size:{xs:12,md:6},children:c.jsx(dt,{loading:a&&!v,user:d?.user,switchUser:p,connecting:l,url:s})}),c.jsx(be,{size:{xs:12,md:6},children:c.jsx(ft,{refreshing:v,loading:a&&!v,credit:d,connecting:l,onRefresh:w})})]})]})}pt.propTypes={url:q.string.isRequired,apiKey:q.string.isRequired,connecting:q.bool,switchUser:q.func};function ht({url:s,providerName:h,disconnect:p=fr,disabled:l=!1,loading:C=!1,validationResult:v=""}){const{t:g}=K.useContext(ye),d=K.useMemo(()=>v&&v!=="success",[v]);return c.jsx($e,{minHeight:80,height:"none",children:c.jsxs(W,{sx:{width:"100%",height:"100%",display:"flex",justifyContent:"flex-start",alignItems:"center",gap:2},children:[d?c.jsx(me,{title:v,children:c.jsx(Xr,{sx:{fontSize:24,color:"error.main",cursor:"pointer",flexShrink:0}})}):c.jsx(et,{sx:{fontSize:24,color:"success.main",cursor:"pointer",flexShrink:0}}),c.jsxs(W,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1,flex:1,flexWrap:"wrap"},children:[c.jsxs(W,{children:[c.jsx(ue,{variant:"h5",sx:{fontSize:18},children:d?g("setting.aigne.testFailed"):g("setting.aigne.connected",{provider:h})}),c.jsxs(ue,{variant:"body1",sx:{color:"text.secondary",fontSize:14},children:[g("setting.aigne.baseUrl",{provider:h}),": ",s]})]}),c.jsx(ur,{variant:"outlined",color:"error",startIcon:C?c.jsx(ge,{size:16,sx:{mr:1}}):c.jsx(Ot,{}),onClick:p,disabled:l||C,sx:{lineHeight:1.5},children:g("setting.aigne.disconnect")})]})]})})}ht.propTypes={url:q.string.isRequired,providerName:q.string.isRequired,disabled:q.bool,disconnect:q.func,loading:q.bool,validationResult:q.string};function ve({desc:s,docLink:h=null,provider:p="",orientation:l="vertical"}){const{t:C}=K.useContext(ye);return c.jsxs(ue,{variant:"body2",sx:{lineHeight:1.6,color:"text.secondary",fontSize:12,...l==="vertical"&&{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},title:s,children:[s,h&&c.jsx(me,{title:c.jsxs(c.Fragment,{children:[C("setting.aigne.desc.docLink"),h&&c.jsxs(c.Fragment,{children:[":"," ",c.jsx(Ft,{href:h,target:"_blank",rel:"noopener noreferrer",sx:{ml:.5},children:p||"documentation"})]})]}),arrow:!0,children:c.jsx(Lt,{fontSize:"small",sx:{ml:.25,fontSize:14,cursor:"pointer",verticalAlign:"middle"}})})]})}const ar={provider:"",model:"",url:"",key:"",accessKeyId:"",testConnection:""};ve.propTypes={desc:q.string.isRequired,docLink:q.string,provider:q.string,orientation:q.oneOf(["vertical","horizontal"])};function vt({orientation:s="vertical",hideDivider:h=!1,source:p="dashboard",forceValidate:l=!1},C){const[v,g]=K.useState(!1),[d,a]=K.useState(!1),[t,m]=K.useState(!1),[w,x]=K.useState(!1),{t:i}=K.useContext(ye),k=Jt(),{api:j}=k,{did:y,blocklet:O,actions:n}=Qt(),[r,f]=K.useState(!1),_=yr({...ar}),A=yr({loading:!1,success:!1}),{confirmApi:T,confirmHolder:L}=Xt(),N=K.useMemo(()=>`connect-aigne-${y}`,[y]),u=ci(k),b=sn({messageType:"connect-aigne-message",onOpen:()=>g(!0),onClose:()=>g(!1)}),B=K.useMemo(()=>v||d||t||A.loading,[v,d,t,A.loading]),S=de(I=>u.find($=>$.provider===I)),z=de(I=>S(I)?.models||[]);qt(()=>{N&&on(N)});const F=de(I=>{if(I)return I;const $=u[0]?.provider;return z($)[0]?.name||"auto"}),U=de(()=>{Object.keys(ar).forEach(I=>{_[I]=ar[I]})}),G=Ce(()=>{const{aigne:I={}}=O?.settings||{};return I},[O]),Y=Ce(()=>{const I={...G},$=I?.provider||u[0]?.provider,Z=S($),ie=we($),vr=Ne($);return{...I,url:_r.getOriginUrl(I?.url||ie&&Z?.baseURL||""),provider:$,model:F(I?.model),key:or(I?.key,y),accessKeyId:vr?or(I?.accessKeyId,y):I?.accessKeyId,secretAccessKey:vr?or(I?.secretAccessKey,y):I?.secretAccessKey}},[O,S,F]),[R,Q]=K.useState(Y);K.useEffect(()=>{Q(Y)},[Y]);const P=K.useMemo(()=>R?.url&&R?.key&&R?.provider==="aigneHub",[R]),E=Ce(()=>S(R.provider)?.name||R.provider,[R,S]),e=K.useMemo(()=>ai(R),[R]),o=Ce(()=>S(R.provider)?.documentation||"",[R,S]),D=async()=>{try{g(!0);const I=new Set(["running","error"]),$=O.children.filter(Z=>I.has(Z.status)||I.has(Z.greenStatus)).map(Z=>Z.meta.did);await j.restartBlocklet({input:{did:y,componentDids:$}}),n.refreshBlocklet()}catch(I){console.error("error",I),ae.error(he(I))}finally{g(!1)}},H=(I=!0)=>{if(p!=="setup")return new Promise($=>{T.open({title:i("setting.aigne.restart.title"),content:I?i("setting.aigne.restart.connectedContent",{provider:E}):i("setting.aigne.restart.notConnectedContent",{provider:E}),confirmButtonText:i("setting.aigne.restart.confirm"),cancelButtonText:i("setting.aigne.restart.cancel"),onConfirm(Z){Z(),D(),$(!0)},onCancel(){$(!1)}})})},V=de(()=>new Promise(I=>{T.open({title:i("setting.aigne.revokeUrlAuthTitle",{url:i("setting.aigne.baseUrl",{provider:E})}),content:i("setting.aigne.revokeUrlAuth",{url:i("setting.aigne.baseUrl",{provider:E})}),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),onConfirm($){$(),I(!0)},onCancel(){I(!1)}})})),M=async(I,$)=>{const Z={};if(Q({...R,[I]:$}),I==="provider"){const ie=z($);ie.length>0&&(Z.model=ie[0].name),Z.key=""}return P&&I==="url"&&$!==R.url&&(await V()?(Z.key="",Z.validationResult=""):Z.url=R.url),setTimeout(()=>{Q({...R,[I]:$,...Z})},100),f(!0),!0},X=K.useMemo(()=>R.provider,[R.provider]),ee=de(I=>Ht(I)?"":i("setting.aigne.invalidUrl",{provider:E})),re=(I=[])=>{const $=e.filter(ie=>!I.includes(ie));if($.length)return $.forEach(ie=>{_[ie]="required"}),!$.includes("url")&&we(R.provider)&&(_.url=ee(R.url)),!1;const Z=we(R.provider)&&ee(R.url);return Z?(_.url=Z,!1):!0},xe=async()=>{try{m(!0),await j.disconnectToAigne({input:{did:y,url:R.url,key:R.key}}),f(!1),ae.success(i("setting.aigne.disconnectSuccess")),setTimeout(()=>{H(!1)},300)}catch(I){console.error("disconnect error:",I),ae.error(he(I)||i("setting.aigne.disconnectFailed"))}finally{m(!1)}},te=()=>{T.open({title:i("setting.aigne.disconnect"),content:i("setting.aigne.disconnectConfirm"),confirmButtonText:i("setting.aigne.disconnect"),cancelButtonText:i("common.cancel"),onConfirm(I){I(),xe()}})},ne=async()=>{if(!re())return;U();const I={...R,model:"auto",key:ir(R.key,y)};Ne(I.provider)?(I.key="",R.accessKeyId&&(I.accessKeyId=ir(R.accessKeyId,y)),R.secretAccessKey&&(I.secretAccessKey=ir(R.secretAccessKey,y))):(I.accessKeyId="",I.secretAccessKey="");const $=await j.updateBlockletSettings({input:{did:y,aigne:I}});return n.refreshBlocklet(),$},gt=async()=>{try{if(!r&&!l)return;g(!0);const I=await ne();return I?(f(!1),ae.success(i("oauth.saveSuccess")),I):void 0}catch(I){throw console.error("error",I),ae.error(he(I)||i("setting.aigne.failed")),I}finally{g(!1)}},pr=async(I=!1)=>{_.testConnection="";try{if(A.loading=!0,!I&&(await ne())?.code!=="ok")return;await j.verifyAigneConnection({input:{did:y}}),ae.success(i("setting.aigne.testSuccess",{provider:E})),A.success=!0}catch($){throw console.error("error",$),_.testConnection=$.message,ae.error(i("setting.aigne.testFailed")),$}finally{A.loading=!1,n.refreshBlocklet()}},mt=async()=>{try{await an(j,{did:y,refresh:n.refreshBlocklet,t:i,providerName:E,timerKey:N,values:{...G}}).catch(I=>{throw console.error("waitGetConnectedAigne error",I),ae.error(he(I)),I}).then(()=>pr(!0).catch(I=>{throw console.error("onVerifyConnection error",I),I})),H(!0)}catch(I){console.error("error",I)}finally{f(!1)}},hr=()=>{re(["key"])&&(U(),b(async(I,$)=>{try{a(!0);const Z=await j.connectToAigne({input:{did:y,baseUrl:_r.getOriginUrl(R.url||new URL(window.location.origin).origin),provider:R.provider,model:"auto"}});if(!Z?.url){ae.error("failed to connect to endpoint"),a(!1),g(!1);return}$(Z.url),await mt(),a(!1)}catch(Z){const ie=he(Z);ae.error(ie),a(!1)}}))};K.useImperativeHandle(C,()=>({onSubmit:gt,loading:v||d||t})),z(X);const yt=X==="aigneHub",xt=()=>{x(!w)},_t=I=>{I.preventDefault()},wt=K.useMemo(()=>_.url==="required"?i("common.requiredErrorText",{name:i("setting.aigne.baseUrl",{provider:E})}):_.url?_.url:_.key==="required"?i("setting.aigne.apiKeyNotAuthorized",{provider:E}):"",[_.url,_.key,i,E]);return c.jsxs(fi,{source:p,children:[c.jsx(ue,{variant:"h5",sx:{fontSize:18},children:i("setting.aigne.authorizeAigneHub",{name:E})}),P&&R.validationResult?c.jsx(ht,{url:R.url,providerName:E,disconnect:te,validationResult:R.validationResult,disabled:B,loading:t}):c.jsx($e,{height:"none",minHeight:"none",children:c.jsxs(W,{sx:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:2},children:[c.jsx(_e,{orientation:s,title:i("setting.aigne.baseUrl",{provider:E}),required:we(R.provider),desc:c.jsx(ve,{desc:i("setting.aigne.desc.baseUrl",{example:"https://hub.aigne.io"})}),children:c.jsx(Ee,{disabled:B,initialValue:R.url||"",directEditing:!0,onSubmit:I=>{M("url",I)},autoFocus:!1,errorTips:wt,InputProps:P?{endAdornment:c.jsx(mr,{position:"end",children:A.loading||d?c.jsx(ge,{size:16}):c.jsxs(c.Fragment,{children:[R.validationResult==="success"?c.jsx(me,{title:i("setting.aigne.testSuccess",{provider:E}),children:c.jsx(et,{sx:{fontSize:16,color:"success.main",cursor:"pointer"}})}):null,R.validationResult&&R.validationResult!=="success"?c.jsx(me,{title:R.validationResult,children:c.jsx(Xr,{sx:{fontSize:16,color:"error.main",cursor:"pointer"}})}):null,R.validationResult?null:c.jsx(qe,{"aria-label":"test connection",onClick:pr,edge:"end",children:A.loading?c.jsx(ge,{size:16}):c.jsx(me,{title:i("setting.aigne.testConnection",{provider:E}),children:c.jsx(He,{style:{fontSize:16},icon:"tabler:location-check"})})})]})})}:{}})}),c.jsx(ur,{variant:"contained",onClick:hr,startIcon:d?c.jsx(ge,{size:16,sx:{mr:1}}):c.jsx(Dt,{}),disabled:B||!R.url,sx:{flexShrink:0},children:i("setting.aigne.authorizeAigneHub",{name:"AIGNE Hub"})})]})}),c.jsxs(be,{container:!0,className:"config-container",spacing:2,sx:{display:"none"},children:[c.jsx(be,{size:{xs:12,md:4},children:c.jsx(_e,{orientation:s,title:i("setting.aigne.modelAdapter"),required:!0,desc:c.jsx(ve,{desc:i("setting.aigne.desc.modelAdapter")}),children:c.jsx(ot,{disabled:B,options:u,config:{multiple:!1,labelField:"name",valueField:"provider"},initialValue:R.provider,directEditing:!0,searchable:!1,helperText:_.provider==="required"?i("common.requiredErrorText",{name:i("setting.aigne.modelAdapter")}):_.provider,onChange:I=>M("provider",I)})})}),null,yt?null:c.jsx(c.Fragment,{children:Ne(R.provider)?c.jsxs(c.Fragment,{children:[c.jsx(_e,{orientation:s,title:"Access Key ID",required:!0,desc:c.jsx(ve,{desc:i("setting.aigne.desc.accessKeyId"),docLink:o,provider:E}),children:c.jsx(Ee,{disabled:B,initialValue:R.accessKeyId||"",type:w?"text":"password",onChange:I=>M("accessKeyId",I),directEditing:!0,autoFocus:!1})}),!h&&c.jsx(W,{className:"config-form",component:Tt,sx:{my:3}}),c.jsx(_e,{orientation:s,title:"Secret Access Key",required:!0,desc:c.jsx(ve,{desc:i("setting.aigne.desc.secretAccessKey"),docLink:o,provider:E}),children:c.jsx(Ee,{disabled:B,initialValue:R.secretAccessKey||"",type:w?"text":"password",onChange:I=>M("secretAccessKey",I),directEditing:!0,autoFocus:!1})})]}):c.jsx(_e,{orientation:s,title:"API Key",required:!0,desc:c.jsx(ve,{desc:i("setting.aigne.desc.key",{provider:E}),docLink:o,provider:E}),children:c.jsx(Ee,{disabled:B,initialValue:R.key||"",type:w?"text":"password",onChange:I=>M("key",I),directEditing:!0,autoFocus:!1,InputProps:{endAdornment:c.jsx(mr,{position:"end",children:c.jsx(qe,{"aria-label":"toggle password visibility",onClick:xt,onMouseDown:_t,edge:"end",children:w?c.jsx(zt,{}):c.jsx(Rt,{})})})}})})})]}),P&&R.validationResult==="success"?c.jsx(pt,{switchUser:hr,url:R.url||"",apiKey:R.key||"",connecting:d||t}):null,p!=="setup"&&c.jsxs(ue,{sx:{fontSize:12,color:"text.secondary",mt:3,fontStyle:"italic"},children:["* ",i("setting.aigne.description",{name:en.getDisplayName(O,!0)})]}),L]})}vt.propTypes={orientation:q.oneOf(["vertical","horizontal"]),hideDivider:q.bool,source:q.oneOf(["dashboard","setup"]),forceValidate:q.bool};const fi=lr.div`
|
|
35
|
+
`,d=K.useMemo(()=>!h?.enableCredit,[h]),a=K.useMemo(()=>Number(h?.creditBalance?.balance)<=0&&Number(h?.creditBalance?.pendingCredit)>0,[h]);if(!h&&!s)return null;const{creditBalance:t,profileLink:m="",paymentLink:w=""}=h||{};return c.jsx($e,{children:s?c.jsxs(W,{sx:{display:"flex",flexDirection:"column",justifyContent:"space-between",alignItems:"flex-start",gap:2,height:"100%"},children:[c.jsxs(W,{sx:{width:"100%",display:"flex",flexDirection:"column",gap:1},children:[c.jsx(ce,{variant:"rounded",sx:{width:"80%",height:20}}),c.jsx(ce,{variant:"rounded",sx:{width:"50%",height:20}})]}),c.jsxs(W,{sx:{width:"100%",display:"flex",justifyContent:"space-between",gap:1},children:[c.jsx(ce,{variant:"rounded",sx:{width:"100%",height:20}}),c.jsx(ce,{variant:"rounded",sx:{width:"100%",height:20}})]})]}):c.jsxs(W,{sx:{display:"flex",flexDirection:"column",justifyContent:"space-between",alignItems:"flex-start",height:"100%",width:"100%"},children:[c.jsxs(W,{sx:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[c.jsx(ue,{variant:"body1",children:"AIGNE Hub Credits"}),c.jsxs(ue,{variant:"h2",sx:{color:!d&&a?"error.main":"text.primary"},children:[c.jsx("span",{children:d?v("setting.aigne.infinite"):a?`- ${Jr(t?.pendingCredit)}`:Jr(t.balance)}),d?null:c.jsx(me,{title:v("common.refresh"),children:c.jsx(It,{sx:{fontSize:14,ml:1,cursor:"pointer",animation:C?`${g} 1s linear infinite`:"none"},onClick:l})})]})]}),d?null:c.jsxs(W,{sx:{width:"100%",display:"flex",gap:1},children:[c.jsx(cr,{fullWidth:!0,variant:"outlined",disabled:p,onClick:()=>{w&&window.open(w,"_blank")},startIcon:c.jsx(He,{style:{fontSize:16},icon:"tabler:credit-card"}),children:v("setting.aigne.addCredits")}),c.jsx(cr,{fullWidth:!0,disabled:p,onClick:()=>{m&&window.open(it(m,{appDid:window.blocklet.appPid}),"_blank")},variant:"outlined",startIcon:c.jsx(He,{style:{fontSize:16},icon:"hugeicons:transaction"}),children:v("setting.aigne.transaction")})]})]})})}ft.propTypes={loading:q.bool,credit:q.object,connecting:q.bool,onRefresh:q.func,refreshing:q.bool};function pt({url:s,apiKey:h,switchUser:p=fr,connecting:l=!1}){const{t:C}=K.useContext(ye),[v,g]=K.useState(!1),{data:d,loading:a,error:t,refresh:m}=Nt(()=>ui({baseUrl:s,accessKey:h}),{ready:!!(s&&h),refreshDeps:[s,h],onSuccess:()=>{g(!1)},onError:()=>{g(!1)}}),w=K.useCallback(()=>{a||v||(g(!0),m())},[m,a,v]);return t?null:c.jsxs(W,{children:[c.jsx(ue,{variant:"h5",sx:{fontSize:18,mb:2},children:C("setting.aigne.account")}),c.jsxs(be,{container:!0,className:"config-container",spacing:2,sx:{width:"100%"},children:[c.jsx(be,{size:{xs:12,md:6},children:c.jsx(dt,{loading:a&&!v,user:d?.user,switchUser:p,connecting:l,url:s})}),c.jsx(be,{size:{xs:12,md:6},children:c.jsx(ft,{refreshing:v,loading:a&&!v,credit:d,connecting:l,onRefresh:w})})]})]})}pt.propTypes={url:q.string.isRequired,apiKey:q.string.isRequired,connecting:q.bool,switchUser:q.func};function ht({url:s,providerName:h,disconnect:p=fr,disabled:l=!1,loading:C=!1,validationResult:v=""}){const{t:g}=K.useContext(ye),d=K.useMemo(()=>v&&v!=="success",[v]);return c.jsx($e,{minHeight:80,height:"none",children:c.jsxs(W,{sx:{width:"100%",height:"100%",display:"flex",justifyContent:"flex-start",alignItems:"center",gap:2},children:[d?c.jsx(me,{title:v,children:c.jsx(Xr,{sx:{fontSize:24,color:"error.main",cursor:"pointer",flexShrink:0}})}):c.jsx(et,{sx:{fontSize:24,color:"success.main",cursor:"pointer",flexShrink:0}}),c.jsxs(W,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1,flex:1,flexWrap:"wrap"},children:[c.jsxs(W,{children:[c.jsx(ue,{variant:"h5",sx:{fontSize:18},children:d?g("setting.aigne.testFailed"):g("setting.aigne.connected",{provider:h})}),c.jsxs(ue,{variant:"body1",sx:{color:"text.secondary",fontSize:14},children:[g("setting.aigne.baseUrl",{provider:h}),": ",s]})]}),c.jsx(ur,{variant:"outlined",color:"error",startIcon:C?c.jsx(ge,{size:16,sx:{mr:1}}):c.jsx(Ot,{}),onClick:p,disabled:l||C,sx:{lineHeight:1.5},children:g("setting.aigne.disconnect")})]})]})})}ht.propTypes={url:q.string.isRequired,providerName:q.string.isRequired,disabled:q.bool,disconnect:q.func,loading:q.bool,validationResult:q.string};function ve({desc:s,docLink:h=null,provider:p="",orientation:l="vertical"}){const{t:C}=K.useContext(ye);return c.jsxs(ue,{variant:"body2",sx:{lineHeight:1.6,color:"text.secondary",fontSize:12,...l==="vertical"&&{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},title:s,children:[s,h&&c.jsx(me,{title:c.jsxs(c.Fragment,{children:[C("setting.aigne.desc.docLink"),h&&c.jsxs(c.Fragment,{children:[":"," ",c.jsx(Ft,{href:h,target:"_blank",rel:"noopener noreferrer",sx:{ml:.5},children:p||"documentation"})]})]}),arrow:!0,children:c.jsx(Lt,{fontSize:"small",sx:{ml:.25,fontSize:14,cursor:"pointer",verticalAlign:"middle"}})})]})}const ar={provider:"",model:"",url:"",key:"",accessKeyId:"",testConnection:""};ve.propTypes={desc:q.string.isRequired,docLink:q.string,provider:q.string,orientation:q.oneOf(["vertical","horizontal"])};function vt({orientation:s="vertical",hideDivider:h=!1,source:p="dashboard",forceValidate:l=!1},C){const[v,g]=K.useState(!1),[d,a]=K.useState(!1),[t,m]=K.useState(!1),[w,x]=K.useState(!1),{t:i}=K.useContext(ye),k=Jt(),{api:j}=k,{did:y,blocklet:O,actions:n}=Qt(),[r,f]=K.useState(!1),_=yr({...ar}),A=yr({loading:!1,success:!1}),{confirmApi:T,confirmHolder:L}=Xt(),N=K.useMemo(()=>`connect-aigne-${y}`,[y]),u=ci(k),b=sn({messageType:"connect-aigne-message",onOpen:()=>g(!0),onClose:()=>g(!1)}),B=K.useMemo(()=>v||d||t||A.loading,[v,d,t,A.loading]),S=de(I=>u.find($=>$.provider===I)),z=de(I=>S(I)?.models||[]);qt(()=>{N&&on(N)});const F=de(I=>{if(I)return I;const $=u[0]?.provider;return z($)[0]?.name||"auto"}),U=de(()=>{Object.keys(ar).forEach(I=>{_[I]=ar[I]})}),G=Ce(()=>{const{aigne:I={}}=O?.settings||{};return I},[O]),Y=Ce(()=>{const I={...G},$=I?.provider||u[0]?.provider,Z=S($),ie=we($),vr=Ne($);return{...I,url:_r.getOriginUrl(I?.url||ie&&Z?.baseURL||""),provider:$,model:F(I?.model),key:or(I?.key,y),accessKeyId:vr?or(I?.accessKeyId,y):I?.accessKeyId,secretAccessKey:vr?or(I?.secretAccessKey,y):I?.secretAccessKey}},[O,S,F]),[R,Q]=K.useState(Y);K.useEffect(()=>{Q(Y)},[Y]);const P=K.useMemo(()=>R?.url&&R?.key&&R?.provider==="aigneHub",[R]),E=Ce(()=>S(R.provider)?.name||R.provider,[R,S]),e=K.useMemo(()=>ai(R),[R]),o=Ce(()=>S(R.provider)?.documentation||"",[R,S]),D=async()=>{try{g(!0);const I=new Set(["running","error"]),$=O.children.filter(Z=>I.has(Z.status)||I.has(Z.greenStatus)).map(Z=>Z.meta.did);await j.restartBlocklet({input:{did:y,componentDids:$}}),n.refreshBlocklet()}catch(I){console.error("error",I),ae.error(he(I))}finally{g(!1)}},H=(I=!0)=>{if(p!=="setup")return new Promise($=>{T.open({title:i("setting.aigne.restart.title"),content:I?i("setting.aigne.restart.connectedContent",{provider:E}):i("setting.aigne.restart.notConnectedContent",{provider:E}),confirmButtonText:i("setting.aigne.restart.confirm"),cancelButtonText:i("setting.aigne.restart.cancel"),onConfirm(Z){Z(),D(),$(!0)},onCancel(){$(!1)}})})},V=de(()=>new Promise(I=>{T.open({title:i("setting.aigne.revokeUrlAuthTitle",{url:i("setting.aigne.baseUrl",{provider:E})}),content:i("setting.aigne.revokeUrlAuth",{url:i("setting.aigne.baseUrl",{provider:E})}),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),onConfirm($){$(),I(!0)},onCancel(){I(!1)}})})),M=async(I,$)=>{const Z={};if(Q({...R,[I]:$}),I==="provider"){const ie=z($);ie.length>0&&(Z.model=ie[0].name),Z.key=""}return P&&I==="url"&&$!==R.url&&(await V()?(Z.key="",Z.validationResult=""):Z.url=R.url),setTimeout(()=>{Q({...R,[I]:$,...Z})},100),f(!0),!0},X=K.useMemo(()=>R.provider,[R.provider]),ee=de(I=>Ht(I)?"":i("setting.aigne.invalidUrl",{provider:E})),re=(I=[])=>{const $=e.filter(ie=>!I.includes(ie));if($.length)return $.forEach(ie=>{_[ie]="required"}),!$.includes("url")&&we(R.provider)&&(_.url=ee(R.url)),!1;const Z=we(R.provider)&&ee(R.url);return Z?(_.url=Z,!1):!0},xe=async()=>{try{m(!0),await j.disconnectToAigne({input:{did:y,url:R.url,key:R.key}}),f(!1),ae.success(i("setting.aigne.disconnectSuccess")),setTimeout(()=>{H(!1)},300)}catch(I){console.error("disconnect error:",I),ae.error(he(I)||i("setting.aigne.disconnectFailed"))}finally{m(!1)}},te=()=>{T.open({title:i("setting.aigne.disconnect"),content:i("setting.aigne.disconnectConfirm"),confirmButtonText:i("setting.aigne.disconnect"),cancelButtonText:i("common.cancel"),onConfirm(I){I(),xe()}})},ne=async()=>{if(!re())return;U();const I={...R,model:"auto",key:ir(R.key,y)};Ne(I.provider)?(I.key="",R.accessKeyId&&(I.accessKeyId=ir(R.accessKeyId,y)),R.secretAccessKey&&(I.secretAccessKey=ir(R.secretAccessKey,y))):(I.accessKeyId="",I.secretAccessKey="");const $=await j.updateBlockletSettings({input:{did:y,aigne:I}});return n.refreshBlocklet(),$},gt=async()=>{try{if(!r&&!l)return;g(!0);const I=await ne();return I?(f(!1),ae.success(i("common.saveSuccess")),I):void 0}catch(I){throw console.error("error",I),ae.error(he(I)||i("setting.aigne.failed")),I}finally{g(!1)}},pr=async(I=!1)=>{_.testConnection="";try{if(A.loading=!0,!I&&(await ne())?.code!=="ok")return;await j.verifyAigneConnection({input:{did:y}}),ae.success(i("setting.aigne.testSuccess",{provider:E})),A.success=!0}catch($){throw console.error("error",$),_.testConnection=$.message,ae.error(i("setting.aigne.testFailed")),$}finally{A.loading=!1,n.refreshBlocklet()}},mt=async()=>{try{await an(j,{did:y,refresh:n.refreshBlocklet,t:i,providerName:E,timerKey:N,values:{...G}}).catch(I=>{throw console.error("waitGetConnectedAigne error",I),ae.error(he(I)),I}).then(()=>pr(!0).catch(I=>{throw console.error("onVerifyConnection error",I),I})),H(!0)}catch(I){console.error("error",I)}finally{f(!1)}},hr=()=>{re(["key"])&&(U(),b(async(I,$)=>{try{a(!0);const Z=await j.connectToAigne({input:{did:y,baseUrl:_r.getOriginUrl(R.url||new URL(window.location.origin).origin),provider:R.provider,model:"auto"}});if(!Z?.url){ae.error("failed to connect to endpoint"),a(!1),g(!1);return}$(Z.url),await mt(),a(!1)}catch(Z){const ie=he(Z);ae.error(ie),a(!1)}}))};K.useImperativeHandle(C,()=>({onSubmit:gt,loading:v||d||t})),z(X);const yt=X==="aigneHub",xt=()=>{x(!w)},_t=I=>{I.preventDefault()},wt=K.useMemo(()=>_.url==="required"?i("common.requiredErrorText",{name:i("setting.aigne.baseUrl",{provider:E})}):_.url?_.url:_.key==="required"?i("setting.aigne.apiKeyNotAuthorized",{provider:E}):"",[_.url,_.key,i,E]);return c.jsxs(fi,{source:p,children:[c.jsx(ue,{variant:"h5",sx:{fontSize:18},children:i("setting.aigne.authorizeAigneHub",{name:E})}),P&&R.validationResult?c.jsx(ht,{url:R.url,providerName:E,disconnect:te,validationResult:R.validationResult,disabled:B,loading:t}):c.jsx($e,{height:"none",minHeight:"none",children:c.jsxs(W,{sx:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:2},children:[c.jsx(_e,{orientation:s,title:i("setting.aigne.baseUrl",{provider:E}),required:we(R.provider),desc:c.jsx(ve,{desc:i("setting.aigne.desc.baseUrl",{example:"https://hub.aigne.io"})}),children:c.jsx(Ee,{disabled:B,initialValue:R.url||"",directEditing:!0,onSubmit:I=>{M("url",I)},autoFocus:!1,errorTips:wt,InputProps:P?{endAdornment:c.jsx(mr,{position:"end",children:A.loading||d?c.jsx(ge,{size:16}):c.jsxs(c.Fragment,{children:[R.validationResult==="success"?c.jsx(me,{title:i("setting.aigne.testSuccess",{provider:E}),children:c.jsx(et,{sx:{fontSize:16,color:"success.main",cursor:"pointer"}})}):null,R.validationResult&&R.validationResult!=="success"?c.jsx(me,{title:R.validationResult,children:c.jsx(Xr,{sx:{fontSize:16,color:"error.main",cursor:"pointer"}})}):null,R.validationResult?null:c.jsx(qe,{"aria-label":"test connection",onClick:pr,edge:"end",children:A.loading?c.jsx(ge,{size:16}):c.jsx(me,{title:i("setting.aigne.testConnection",{provider:E}),children:c.jsx(He,{style:{fontSize:16},icon:"tabler:location-check"})})})]})})}:{}})}),c.jsx(ur,{variant:"contained",onClick:hr,startIcon:d?c.jsx(ge,{size:16,sx:{mr:1}}):c.jsx(Dt,{}),disabled:B||!R.url,sx:{flexShrink:0},children:i("setting.aigne.authorizeAigneHub",{name:"AIGNE Hub"})})]})}),c.jsxs(be,{container:!0,className:"config-container",spacing:2,sx:{display:"none"},children:[c.jsx(be,{size:{xs:12,md:4},children:c.jsx(_e,{orientation:s,title:i("setting.aigne.modelAdapter"),required:!0,desc:c.jsx(ve,{desc:i("setting.aigne.desc.modelAdapter")}),children:c.jsx(ot,{disabled:B,options:u,config:{multiple:!1,labelField:"name",valueField:"provider"},initialValue:R.provider,directEditing:!0,searchable:!1,helperText:_.provider==="required"?i("common.requiredErrorText",{name:i("setting.aigne.modelAdapter")}):_.provider,onChange:I=>M("provider",I)})})}),null,yt?null:c.jsx(c.Fragment,{children:Ne(R.provider)?c.jsxs(c.Fragment,{children:[c.jsx(_e,{orientation:s,title:"Access Key ID",required:!0,desc:c.jsx(ve,{desc:i("setting.aigne.desc.accessKeyId"),docLink:o,provider:E}),children:c.jsx(Ee,{disabled:B,initialValue:R.accessKeyId||"",type:w?"text":"password",onChange:I=>M("accessKeyId",I),directEditing:!0,autoFocus:!1})}),!h&&c.jsx(W,{className:"config-form",component:Tt,sx:{my:3}}),c.jsx(_e,{orientation:s,title:"Secret Access Key",required:!0,desc:c.jsx(ve,{desc:i("setting.aigne.desc.secretAccessKey"),docLink:o,provider:E}),children:c.jsx(Ee,{disabled:B,initialValue:R.secretAccessKey||"",type:w?"text":"password",onChange:I=>M("secretAccessKey",I),directEditing:!0,autoFocus:!1})})]}):c.jsx(_e,{orientation:s,title:"API Key",required:!0,desc:c.jsx(ve,{desc:i("setting.aigne.desc.key",{provider:E}),docLink:o,provider:E}),children:c.jsx(Ee,{disabled:B,initialValue:R.key||"",type:w?"text":"password",onChange:I=>M("key",I),directEditing:!0,autoFocus:!1,InputProps:{endAdornment:c.jsx(mr,{position:"end",children:c.jsx(qe,{"aria-label":"toggle password visibility",onClick:xt,onMouseDown:_t,edge:"end",children:w?c.jsx(zt,{}):c.jsx(Rt,{})})})}})})})]}),P&&R.validationResult==="success"?c.jsx(pt,{switchUser:hr,url:R.url||"",apiKey:R.key||"",connecting:d||t}):null,p!=="setup"&&c.jsxs(ue,{sx:{fontSize:12,color:"text.secondary",mt:3,fontStyle:"italic"},children:["* ",i("setting.aigne.description",{name:en.getDisplayName(O,!0)})]}),L]})}vt.propTypes={orientation:q.oneOf(["vertical","horizontal"]),hideDivider:q.bool,source:q.oneOf(["dashboard","setup"]),forceValidate:q.bool};const fi=lr.div`
|
|
36
36
|
max-width: 920px;
|
|
37
37
|
display: flex;
|
|
38
38
|
flex-direction: column;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as r,at as w,W as f}from"./vendor-mui-core-DnR6WYuU.js";import{r as d}from"./vendor-react-CTtPmzVP.js";import{n as U,C as F,
|
|
1
|
+
import{j as r,at as w,W as f}from"./vendor-mui-core-DnR6WYuU.js";import{r as d}from"./vendor-react-CTtPmzVP.js";import{n as U,C as F,a3 as q,aj as G,A as H}from"./vendor-utils-CxWN1dT3.js";import{V,H as D}from"./vendor-ux-7TwTLXf8.js";import{S as M}from"./index-v9hCHxKp.js";import{a as Y}from"./page-header-CHAwrgX-.js";import{y as z,af as W,J as a,c as $,q as B}from"./index-CGOBEhzW.js";import{S as Q}from"./layout-BumaOQ7l.js";import{S as X}from"./step-actions-D3sZvhKo.js";import{S as J}from"./button-Bfs8GG-V.js";import"./vendor-hooks-qxhUUbW5.js";import"./lottie-web-4koyQiv_.js";import"./Google-D9N2NN29.js";import"./cloneDeep-C2rlAYcK.js";import"./create-passport-svg-BJX-WFnl.js";import"./vendor-arcblock-Dr30TSIK.js";import"./required-BQln5OcV.js";import"./form-wrapper-PT5ZzMQy.js";import"./logo-uploader-CeXSNxdi.js";import"./collapse-B7gUzFaX.js";import"./content-layout-DmSBGGVm.js";import"./use-mobile-D5clNlrm.js";function A({children:h=[],bottom:O,onBottomFix:m=U}){const i=d.useRef(null),l=d.useRef(null),E=d.useRef(null),c=d.useRef(null),[L,C]=d.useState(!1);return d.useEffect(()=>{let t;const u=()=>{t||(t=setTimeout(()=>{l.current&&(l.current.scrollHeight>i.current.clientHeight-E.current.clientHeight?(c.current!=="fix"&&(m("fix"),c.current="fix"),C(!0)):(c.current!=="scroll"&&(m("scroll"),c.current="scroll"),C(!1))),t=null},50))};let p;return window.ResizeObserver?p=new ResizeObserver(u):window.addEventListener("resize",u),p.observe(i.current),p.observe(l.current),()=>{p?p.disconnect():window.removeEventListener("resize",u),t&&clearTimeout(t)}},[m]),r.jsxs(Z,{ref:i,className:`${L?"scroll-mode":""}`,children:[r.jsx("div",{className:"compact-context",ref:l,children:h}),r.jsx("div",{className:"fix-container",ref:E,children:O})]})}const Z=w.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 100%;
|
|
@@ -29,4 +29,4 @@ import{j as r,at as w,W as f}from"./vendor-mui-core-DnR6WYuU.js";import{r as d}f
|
|
|
29
29
|
opacity: 1;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
`;A.propTypes={children:f.any,bottom:f.element.isRequired,onBottomFix:f.func};function ee({onNext:h=()=>{},onPrevious:O=()=>{},buttonText:m=""}){const{t:i}=V(),[l,E]=d.useState(!1),[c,L]=d.useState(null),{did:C,blocklet:t,actions:u}=z(),{prefix:p,getSessionInHeader:R}=W();let _=(t.configs||[]).filter(e=>!a.BLOCKLET_CONFIGURABLE_KEY[e.key]);const T=t.environments.find(e=>e.key==="BLOCKLET_PASSPORT_COLOR"),S=F($.WELLKNOWN_SERVICE_PATH_PREFIX,`/blocklet/logo?v=${t?.updatedAt}`),P=[{key:a.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_SQUARE,description:i("blocklet.config.logoSquare"),value:t.environments.find(e=>e.key==="BLOCKLET_APP_LOGO_SQUARE")?.value,componentType:"uploader",skipButtonDisabled:!0,solo:!0,componentProps:{url:S,height:120,width:120,type:"square",did:C,prefix:p,headers:R,onUploaded:u.refreshBlocklet}},{key:a.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_NAME,description:i("blocklet.config.name"),value:t.environments.find(e=>e.key==="BLOCKLET_APP_NAME").value},{key:a.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_DESCRIPTION,description:i("blocklet.config.description"),value:t.environments.find(e=>e.key==="BLOCKLET_APP_DESCRIPTION").value},{key:a.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR,description:i("blocklet.config.passportColor"),value:T?T.value:"auto",hidden:!0,componentType:"passport",componentProps:{blocklet:t}}],k=[];B.forEachChildSync(t,(e,{ancestors:o})=>{const n=o.slice(1).map(s=>s.meta.did);k.push((e.configs||[]).map(s=>({...s,childDid:n.concat(e.meta.did)})))}),t.meta.group===a.BlockletGroup.gateway&&(_=_.filter(e=>!e.secure&&e.shared));const K=q(G([..._,...k]),"key").filter(e=>!!e.key).sort((e,o)=>e.required&&!o.required?-1:o.required&&!e.required?1:0),N=B.getAppMissingConfigs(t).length,b=async e=>{const{childDid:o,...n}=c,s=[{...H(n,["key","value","description"]),value:e}];try{E(!0),await u.configBlocklet({configs:s,childDid:o})}catch(g){D.error(g.message)}finally{E(!1)}},v={},
|
|
32
|
+
`;A.propTypes={children:f.any,bottom:f.element.isRequired,onBottomFix:f.func};function ee({onNext:h=()=>{},onPrevious:O=()=>{},buttonText:m=""}){const{t:i}=V(),[l,E]=d.useState(!1),[c,L]=d.useState(null),{did:C,blocklet:t,actions:u}=z(),{prefix:p,getSessionInHeader:R}=W();let _=(t.configs||[]).filter(e=>!a.BLOCKLET_CONFIGURABLE_KEY[e.key]);const T=t.environments.find(e=>e.key==="BLOCKLET_PASSPORT_COLOR"),S=F($.WELLKNOWN_SERVICE_PATH_PREFIX,`/blocklet/logo?v=${t?.updatedAt}`),P=[{key:a.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_SQUARE,description:i("blocklet.config.logoSquare"),value:t.environments.find(e=>e.key==="BLOCKLET_APP_LOGO_SQUARE")?.value,componentType:"uploader",skipButtonDisabled:!0,solo:!0,componentProps:{url:S,height:120,width:120,type:"square",did:C,prefix:p,headers:R,onUploaded:u.refreshBlocklet}},{key:a.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_NAME,description:i("blocklet.config.name"),value:t.environments.find(e=>e.key==="BLOCKLET_APP_NAME").value},{key:a.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_DESCRIPTION,description:i("blocklet.config.description"),value:t.environments.find(e=>e.key==="BLOCKLET_APP_DESCRIPTION").value},{key:a.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR,description:i("blocklet.config.passportColor"),value:T?T.value:"auto",hidden:!0,componentType:"passport",componentProps:{blocklet:t}}],k=[];B.forEachChildSync(t,(e,{ancestors:o})=>{const n=o.slice(1).map(s=>s.meta.did);k.push((e.configs||[]).map(s=>({...s,childDid:n.concat(e.meta.did)})))}),t.meta.group===a.BlockletGroup.gateway&&(_=_.filter(e=>!e.secure&&e.shared));const K=q(G([..._,...k]),"key").filter(e=>!!e.key).sort((e,o)=>e.required&&!o.required?-1:o.required&&!e.required?1:0),N=B.getAppMissingConfigs(t).length,b=async e=>{const{childDid:o,...n}=c,s=[{...H(n,["key","value","description"]),value:e}];try{E(!0),await u.configBlocklet({configs:s,childDid:o})}catch(g){D.error(g.message)}finally{E(!1)}},v={},j=[...P,...K].reduce((e,o)=>{const{value:n,...s}=o;v[o.key]=n;const g=n?n.match(a.BLOCKLET_AUTOMATIC_ENV_VALUE_REGEX):null;if(g!==null||n===a.BLOCKLET_AUTOMATIC_ENV_VALUE){let y=e.find(x=>x.componentType==="collapse");return y||(y={key:"BLOCKLET_CONFIG_COLLAPSE",description:i("blocklet.config.advanced"),componentType:"collapse",children:[]}),g!==null&&(s.hidden=!0),y.children.push({...s}),[...e.filter(x=>x.componentType!=="collapse"),y]}return e.push({...s}),e},[]).map(e=>{if(e.componentType==="collapse"){const o=e.children.every(n=>n.hidden===!0);return{...e,hidden:o}}return e}),I=()=>{O()};return r.jsxs(Q,{children:[r.jsx("div",{className:"header",style:{marginBottom:16},children:r.jsx(Y,{title:i("setup.config.title"),subTitle:i("setup.config.subTitle"),onClickBack:I})}),r.jsx("div",{className:"container-main",children:r.jsx("div",{className:"container-inner",children:r.jsx(A,{bottom:r.jsx(X,{mt:8,disabled:l||c,blocklet:t,onStartNow:()=>h("complete"),children:r.jsx(J,{variant:"contained",disabled:l||N||c,onClick:()=>{u.refreshFuel({showError:!1}),h()},children:m||i("setup.next")})}),children:r.jsx(M,{style:{margin:"0 auto 20px"},loading:l,schema:j,defaultValue:v,onChange:(e,{action:o,currentItem:n})=>{o==="edit"?L(n):["cancel","confirm"].includes(o)&&L(null),o==="confirm"&&b(e[n.key])}})})})})]})}ee.propTypes={buttonText:f.string,onNext:f.func,onPrevious:f.func};export{ee as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ds as e,dt as c,du as t,dv as o}from"./vendor-mui-core-DnR6WYuU.js";import{c as n}from"./index-
|
|
1
|
+
import{ds as e,dt as c,du as t,dv as o}from"./vendor-mui-core-DnR6WYuU.js";import{c as n}from"./index-CGOBEhzW.js";const a=[{value:n.WHO_CAN_ACCESS.ALL,icon:e,title:{zh:"面向所有人",en:"Open to Everyone"},description:{zh:"任何人都可以访问应用而不需要身份验证。",en:"Anyone can access this blocklet without authenticating."}},{value:n.WHO_CAN_ACCESS.INVITED,icon:c,title:{zh:"仅限受邀",en:"Invite-Only Access"},description:{zh:"仅限受邀用户可访问应用。",en:"Only invited members can access."}},{value:n.WHO_CAN_ACCESS.ADMIN,icon:t,title:{zh:"仅限拥有者 & 管理员",en:"Owner & Admin Access."},description:{zh:"仅限拥有者或管理员访问应用。",en:"Only the owner or an admin can access it."}},{value:n.WHO_CAN_ACCESS.OWNER,icon:o,title:{zh:"仅限拥有者",en:"Owner-Only Access"},description:{zh:"仅限拥有者访问应用。",en:"Only the blocklet owner can access it."}}];export{a as A};
|