@abtnode/blocklet-services 1.17.7-beta-20251225-073259-cb6ecf68 → 1.17.7-beta-20251227-001958-ea2ba3f5
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 +11 -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/routes/oauth/client.js +7 -5
- package/dist/assets/{AdapterDayjs-BUbxoXbD.js → AdapterDayjs-D3q7r7VE.js} +1 -1
- package/dist/assets/{Google-Cwpw9PRe.js → Google-DPANLEPw.js} +1 -1
- package/dist/assets/{access-control-DwlD3_cw.js → access-control-DcZTha6L.js} +1 -1
- package/dist/assets/{add-component-core-BITgGwN0.js → add-component-core-DB6FFHib.js} +31 -31
- package/dist/assets/add-resource-C4N8BQ-X.js +1 -0
- package/dist/assets/{addon-C2qdiHVb.js → addon-eWPw19hG.js} +1 -1
- package/dist/assets/{advanced-BosetBVE.js → advanced-CLImONQQ.js} +1 -1
- package/dist/assets/{aigne-DbMeOdg9.js → aigne-CgZvweo2.js} +1 -1
- package/dist/assets/api-FQQlzPOP.js +1 -0
- package/dist/assets/{appearance-DhUAX-xn.js → appearance-CINIZkeA.js} +1 -1
- package/dist/assets/ar-B4BSOV5G.js +7 -0
- package/dist/assets/{audit-logs-BHPPGieH.js → audit-logs-C2v20KVT.js} +3 -3
- package/dist/assets/{authorize-Dfo70g1t.js → authorize-CXXh0DJa.js} +1 -1
- package/dist/assets/{base-chart-Cs8rd9f2.js → base-chart-ChBZtUEG.js} +1 -1
- package/dist/assets/{base32-CXgP3JJ5.js → base32-D1hrOfad.js} +1 -1
- package/dist/assets/{bind-account-Drs3IDFN.js → bind-account-wbTCO99T.js} +1 -1
- package/dist/assets/{branding-ByK6n-fM.js → branding-BRnchueB.js} +1 -1
- package/dist/assets/branding-CxsPzoRR.js +1 -0
- package/dist/assets/{branding-BhvacExo.js → branding-DwUe7Tp9.js} +1 -1
- package/dist/assets/{bundle-avatar-DVOaAXid.js → bundle-avatar-BcFO2tQG.js} +1 -1
- package/dist/assets/{button-D6RwAFss.js → button-DOFHdsTg.js} +1 -1
- package/dist/assets/{click-to-copy-B2HIKJMV.js → click-to-copy-Y_g1bzK1.js} +1 -1
- package/dist/assets/cloneDeep-C2rlAYcK.js +1 -0
- package/dist/assets/{complete-Djtuko3J.js → complete-BcxUAd9u.js} +2 -2
- package/dist/assets/{component-UsgyDUkb.js → component-Da5wpxLf.js} +2 -2
- package/dist/assets/{config-Co1ZhGgP.js → config-6Zu9T00w.js} +1 -1
- package/dist/assets/{config-DuS3gx_m.js → config-ZxMxtwH7.js} +2 -2
- package/dist/assets/{config-navigation-DjF2jJY9.js → config-navigation-DguNbGxu.js} +7 -7
- package/dist/assets/{config-space-zEV0JkDF.js → config-space-LrsWMRQl.js} +1 -1
- package/dist/assets/{config-CUYR0yDP.js → config-uq3j8VEP.js} +2 -2
- package/dist/assets/{confirm-DTx9f3Ke.js → confirm-CkoSEAQA.js} +1 -1
- package/dist/assets/{connect-nknm0LHt.js → connect-BdHrAN1y.js} +1 -1
- package/dist/assets/connect-Ycl_SRGH.js +5 -0
- package/dist/assets/{connect-to-eBtGI4_9.js → connect-to-Bimfzs2e.js} +1 -1
- package/dist/assets/{create-passport-svg-BQhmIwWD.js → create-passport-svg-DXpLsb6S.js} +1 -1
- package/dist/assets/{createClass-dudiLlP7.js → createClass-gaMAMqR5.js} +1 -1
- package/dist/assets/dashboard-ibhYAC79.js +103 -0
- package/dist/assets/de-CCwoF0w2.js +7 -0
- package/dist/assets/{delete-confirm-HiRqbh9-.js → delete-confirm-CRZxojEX.js} +1 -1
- package/dist/assets/{did-address-DqhneWXa.js → did-address-CQO2MAbB.js} +1 -1
- package/dist/assets/{domain-Xaa2OTQZ.js → domain-BLbfzvQo.js} +1 -1
- package/dist/assets/{domain-action-card-BzceZepB.js → domain-action-card-CI8HeDAo.js} +2 -2
- package/dist/assets/domains-Cys-hPxm.js +1 -0
- package/dist/assets/edit-rounded-CnMn6J-D.js +1 -0
- package/dist/assets/{email-CaObtYNf.js → email-DR9ulnxn.js} +2 -2
- package/dist/assets/engine-D3NlocNz.js +1 -0
- package/dist/assets/es-BqFCfGn2.js +9 -0
- package/dist/assets/{exchange-passport-BA6t_lld.js → exchange-passport-f77I2WSo.js} +1 -1
- package/dist/assets/{form-DNo4HCRt.js → form-BaeH4FDj.js} +1 -1
- package/dist/assets/{form-text-input-BjQKx89L.js → form-text-input-DlypNadC.js} +1 -1
- package/dist/assets/fr-CksqMtzK.js +7 -0
- package/dist/assets/{fuel-Cr5W3cGy.js → fuel-oYvuY39p.js} +1 -1
- package/dist/assets/{gen-access-key-Bw62ox39.js → gen-access-key-CAPft5rM.js} +1 -1
- package/dist/assets/{gen-simple-access-key-QTWh5kxW.js → gen-simple-access-key-BLp5Xl3s.js} +1 -1
- package/dist/assets/get-safe-url-D4mirsKD.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-Bk6IzsSO.js} +1 -1
- package/dist/assets/id-C5p-l7lp.js +7 -0
- package/dist/assets/{iframe-C8myLb4U.js → iframe-Bje7e1bW.js} +1 -1
- package/dist/assets/{index-CaQnmN3Y.js → index-3CTfzyey.js} +1 -1
- package/dist/assets/{index-BleAAm7x.js → index-B6l2pkPi.js} +1 -1
- package/dist/assets/index-BZxsCCR_.js +1039 -0
- package/dist/assets/{index-YLno1Cst.js → index-BbN6pA05.js} +3 -3
- package/dist/assets/index-Bpw2kPB0.js +1 -0
- package/dist/assets/{index-CHuKoofS.js → index-BqdvWprH.js} +1 -1
- package/dist/assets/{index-1azOxnKy.js → index-C3WB0h56.js} +1 -1
- package/dist/assets/{index-B8sa2W5r.js → index-CFLdsuFL.js} +6 -6
- package/dist/assets/{index-CnWFrsC2.js → index-CMxIK3x4.js} +4 -4
- package/dist/assets/index-CNEbBLep.js +281 -0
- package/dist/assets/{index-DURonUPJ.js → index-CNIPEY43.js} +1 -1
- package/dist/assets/index-CQ7mQ4Da.js +81 -0
- package/dist/assets/{index-DeG3Ee92.js → index-CS6lhRSS.js} +1 -1
- package/dist/assets/{index-DHvO7Oyu.js → index-CZLUW18F.js} +1 -1
- package/dist/assets/{index-BzU09Azd.js → index-CnCY99ka.js} +2 -2
- package/dist/assets/{index-Dnd0o2ng.js → index-CrBdQJWr.js} +3 -3
- package/dist/assets/{index-B7jV3her.js → index-CrRA4U7x.js} +1 -1
- package/dist/assets/{index-9h1okNKA.js → index-Cx3b_F1g.js} +6 -6
- package/dist/assets/{index-B5vc0eG5.js → index-D1SIrheh.js} +1 -1
- package/dist/assets/{index-seQ_ufVM.js → index-D5sBpp1t.js} +1 -1
- package/dist/assets/index-DDp16vgt.js +1 -0
- package/dist/assets/{index-SACCniHf.js → index-DO00WL8R.js} +4 -4
- package/dist/assets/{index-C2HNVEZ0.js → index-DSiSlyHN.js} +1 -1
- package/dist/assets/{index-SCaAOhtj.js → index-D_Nnn_Mn.js} +2 -2
- package/dist/assets/{index-D3g5TOJl.js → index-DpNE-CDv.js} +2 -2
- package/dist/assets/{index-C4nyPKIr.js → index-DufnOkPH.js} +1 -1
- package/dist/assets/{index-Bxd7kK_i.js → index-VFqVu6RK.js} +1 -1
- package/dist/assets/{index-Dk6ZABgc.js → index-faKDHmeo.js} +1 -1
- package/dist/assets/{index-CtJhxyJT.js → index-fpjO7dzv.js} +18 -18
- package/dist/assets/{index-BP_Fl0Mu.js → index-icvBZv9S.js} +1 -1
- package/dist/assets/{index-CzvNhDIJ.js → index-n0T59Exz.js} +2 -2
- package/dist/assets/{invitation-DwMnPB2W.js → invitation-1uvZN7Wz.js} +2 -2
- package/dist/assets/{invitations-mhxsPoWR.js → invitations-CVBjh7Sp.js} +1 -1
- package/dist/assets/{invite-DpZe41tL.js → invite-72ju6Nfe.js} +1 -1
- package/dist/assets/{isURL-CASPeQFe.js → isURL-4Bkt0jKV.js} +1 -1
- package/dist/assets/{issue-passport-ClIYXZHr.js → issue-passport-BXUkhSQf.js} +1 -1
- package/dist/assets/{item-B3LlwO_A.js → item-Sc9nk8VE.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-CNLD6T-R.js} +1 -1
- package/dist/assets/{layout-DkW-u1GX.js → layout-Rdrg1NRp.js} +1 -1
- package/dist/assets/{list-Dqz9X41o.js → list-Duwgi0aT.js} +1 -1
- package/dist/assets/{list-CBP3Lj7-.js → list-kBEbDlAy.js} +1 -1
- package/dist/assets/localization-5dQbij9B.js +1 -0
- package/dist/assets/{log-Ch1_gOOt.js → log-D0VXoWik.js} +1 -1
- package/dist/assets/logger-DwfAFTvh.js +1 -0
- package/dist/assets/{login-_zzURN5A.js → login-Bk3NsX2t.js} +1 -1
- package/dist/assets/{login-oauth-callback-BiIj9E0o.js → login-oauth-callback-B5t0W6BK.js} +1 -1
- package/dist/assets/{logo-uploader-BmnoHisE.js → logo-uploader-BksS6OGe.js} +1 -1
- package/dist/assets/{lost-passport-DYnJRD_t.js → lost-passport-N6CO05pB.js} +2 -2
- package/dist/assets/{cloneDeep-BbaR0xRl.js → omit-spWLSLbo.js} +1 -1
- package/dist/assets/{open-window-Btzsgc7g.js → open-window-BIeXBkgL.js} +1 -1
- package/dist/assets/{over-due-invoice-payment-BFDFMUwK.js → over-due-invoice-payment-UdTfL4Kl.js} +1 -1
- package/dist/assets/overview-C8MrvmEl.js +116 -0
- package/dist/assets/passport-VW2_vBcn.js +1 -0
- package/dist/assets/{passport-item-Dx140DTL.js → passport-item-DT01s3TO.js} +1 -1
- package/dist/assets/{permission-HtrJm1h2.js → permission-B2PLdaCS.js} +1 -1
- package/dist/assets/{preferences-Dri2a4fE.js → preferences-Bc7rQImd.js} +1 -1
- package/dist/assets/profile-embed-BcR4EOH0.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-0N_Yl_Te.js} +1 -1
- package/dist/assets/{react-beautiful-dnd.esm-89LKdt03.js → react-beautiful-dnd.esm-BS_uB_lS.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-CC4RYhOB.js} +1 -1
- package/dist/assets/{sanitize-DyRfEGVu.js → sanitize-yVk8VEIO.js} +1 -1
- package/dist/assets/sdk-ChA0AoUQ.js +1 -0
- package/dist/assets/security-BGS9ZBga.js +22 -0
- package/dist/assets/{session-Cm8j8XeZ.js → session-DwQKgNVz.js} +1 -1
- package/dist/assets/{setup-COruOAew.js → setup-CGmQpOuI.js} +1 -1
- package/dist/assets/simple-select-BCM4gn4x.js +1 -0
- package/dist/assets/{spaces-BuZf3GoQ.js → spaces-DBCz6tUn.js} +1 -1
- package/dist/assets/{start-D_yHRXzR.js → start-i9gTQsll.js} +1 -1
- package/dist/assets/{starting-progress-DahUM5Xo.js → starting-progress-DyH57pR8.js} +1 -1
- package/dist/assets/{status-DVjLoqLm.js → status-CXqGL2Pf.js} +1 -1
- package/dist/assets/{step-actions-DkehnzsP.js → step-actions-Bejkv1Kq.js} +1 -1
- package/dist/assets/{studio-D4hiQNwZ.js → studio-D4gvK_Pm.js} +1 -1
- package/dist/assets/{switch-CO2el_yA.js → switch-C6tfghh9.js} +1 -1
- package/dist/assets/{switch-control-Bw0oiZZh.js → switch-control-BHBY0I2i.js} +1 -1
- package/dist/assets/{table-tips-C-6Sm2ed.js → table-tips-NRTE9Y9o.js} +1 -1
- package/dist/assets/{team-DNuHMrzV.js → team-DJUogroZ.js} +1 -1
- package/dist/assets/th-DKiwQ6t6.js +5 -0
- package/dist/assets/{traffic-B0WH67Yr.js → traffic-BkhPaqCl.js} +1 -1
- package/dist/assets/{transfer-BpjPR3S_.js → transfer-BphBkT_z.js} +1 -1
- package/dist/assets/{unsubscribe-CzgQXfYP.js → unsubscribe-BZMHEcjj.js} +1 -1
- package/dist/assets/{use-app-logo-CZWb8lrs.js → use-app-logo-DbYok-1h.js} +1 -1
- package/dist/assets/{use-window-close-DDL8fcOm.js → use-window-close-GjpWo-Lk.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-DzhcQ3lj.js} +1 -1
- package/dist/assets/{user-center-DndqALOV.js → user-center-DRowS1VB.js} +1 -1
- package/dist/assets/{user-follower-Bzb2ZR_9.js → user-follower-DNh4vPB0.js} +1 -1
- package/dist/assets/{util-DIVJQVg1.js → util-BYnhSg2W.js} +1 -1
- package/dist/assets/{util-CVjlaHo_.js → util-DWbXfz_X.js} +1 -1
- package/dist/assets/{vendor-arcblock-CPCSE54a.js → vendor-arcblock-CIBaEWEy.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-DTEmWsko.js} +19 -19
- package/dist/assets/vi-C4aNShnq.js +5 -0
- package/dist/assets/{wait-connect-Be1Dmt0P.js → wait-connect-CBmpE7OF.js} +1 -1
- package/dist/assets/{wizard-components-D3PqSMGt.js → wizard-components-Brz3KBMW.js} +2 -2
- package/dist/assets/{wizard-BhUdbQos.js → wizard-yWYIVNGQ.js} +1 -1
- package/dist/assets/wrap-locale-BUa8dcqX.js +1 -0
- package/dist/assets/zh-Cb0McG4r.js +10 -0
- package/dist/assets/{zh-B_cpka88.js → zh-sNz1KN0x.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-4Bkt0jKV.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-DTEmWsko.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-BZxsCCR_.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-DlypNadC.js";import{u as sn,c as on,w as an}from"./wait-connect-CBmpE7OF.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;
|