decocms 4.152.0 → 4.152.2
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/dist/client/assets/{AlertCircle-DlCaG2T2.js → AlertCircle-CJIb11xM.js} +1 -1
- package/dist/client/assets/{AreaChart-DqPkzX2A.js → AreaChart-BD-p9vcZ.js} +1 -1
- package/dist/client/assets/{ArrowUp-CS9o0THc.js → ArrowUp-C4eq2Obn.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-v7OrIvWG.js → ArrowUpRight-DY5OrDCo.js} +1 -1
- package/dist/client/assets/{Check-CIsM3N9I.js → Check-CzuAentr.js} +1 -1
- package/dist/client/assets/{CheckCircle-DUtMXKgF.js → CheckCircle-L1MZeMEC.js} +1 -1
- package/dist/client/assets/{ChevronDown-C-___fQ6.js → ChevronDown-CClFlSxz.js} +1 -1
- package/dist/client/assets/{ChevronRight-DwdLrQ8h.js → ChevronRight-uevwIauT.js} +1 -1
- package/dist/client/assets/{ChevronUp-CWE23P83.js → ChevronUp-BMENMqPe.js} +1 -1
- package/dist/client/assets/{Copy01-D1uFAWpq.js → Copy01-DKc_cNPS.js} +1 -1
- package/dist/client/assets/{CpuChip01-BrmMIXqJ.js → CpuChip01-CQZHTBv_.js} +1 -1
- package/dist/client/assets/{DotsVertical-DM8TYJWO.js → DotsVertical-DNiWmGQW.js} +1 -1
- package/dist/client/assets/{Eye-DYRbk_FK.js → Eye-CLJlIW72.js} +1 -1
- package/dist/client/assets/{FilterLines-DOdX_JJm.js → FilterLines-_KV74m1j.js} +1 -1
- package/dist/client/assets/{HardDrive-BTalyxAK.js → HardDrive-D3MsBwdM.js} +1 -1
- package/dist/client/assets/{Key01-D5ImL6HD.js → Key01-Ph8ozLZ_.js} +1 -1
- package/dist/client/assets/{LayoutLeft-BRPm5cm9.js → LayoutLeft-BLprwKtV.js} +1 -1
- package/dist/client/assets/{LinkExternal01-CSMYCtGE.js → LinkExternal01-Bmn2On3L.js} +1 -1
- package/dist/client/assets/{LogOut01-Bzr_aJnU.js → LogOut01-DtXlL9FN.js} +1 -1
- package/dist/client/assets/{Monitor01-Bqyb5D0X.js → Monitor01-Cq5ooC-g.js} +1 -1
- package/dist/client/assets/{Palette-DQXxO_Zw.js → Palette-DfxMP9C1.js} +1 -1
- package/dist/client/assets/{Play-ze0mQyFJ.js → Play-D9njRjDI.js} +1 -1
- package/dist/client/assets/{Plus-D-2nfsl2.js → Plus-DLbtYGri.js} +1 -1
- package/dist/client/assets/{SearchLg-DoVlHmIZ.js → SearchLg-DctVlVQz.js} +1 -1
- package/dist/client/assets/{SearchMd-Cm36E9Xo.js → SearchMd-EJtaQP9g.js} +1 -1
- package/dist/client/assets/{Settings02-pppnjkb2.js → Settings02-D2Od6hIu.js} +1 -1
- package/dist/client/assets/{Shield01-CGf643gW.js → Shield01-CfDR602-.js} +1 -1
- package/dist/client/assets/{Star01-Cl0j6KMs.js → Star01-vKIuVNvK.js} +1 -1
- package/dist/client/assets/{Stars01-L5uKPL3F.js → Stars01-3Jc0GjIj.js} +1 -1
- package/dist/client/assets/{Stars02-BqBDz0Ci.js → Stars02-pjrDL108.js} +1 -1
- package/dist/client/assets/{Sun-CX-gvZMN.js → Sun-D70XMNg2.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-BDFmNRGc.js → SwitchHorizontal01-DqL7dpQo.js} +1 -1
- package/dist/client/assets/{Tool01-CVSPNErZ.js → Tool01-BqM3fhvU.js} +1 -1
- package/dist/client/assets/{Tool02-D1EiJbi2.js → Tool02-CdAHKhSP.js} +1 -1
- package/dist/client/assets/{Trash01-dKHzJjw_.js → Trash01-CQlBG8ML.js} +1 -1
- package/dist/client/assets/{TrendUp01-DGX8zY19.js → TrendUp01-BOoR0Suf.js} +1 -1
- package/dist/client/assets/{Upload01-C2e3NiFr.js → Upload01-bMCburYR.js} +1 -1
- package/dist/client/assets/{User01-BQ3iXws6.js → User01-Bk3KF8L-.js} +1 -1
- package/dist/client/assets/{Users01-CMnNEEb2.js → Users01-DrmBjw74.js} +1 -1
- package/dist/client/assets/{Users03-CdjtU4Tu.js → Users03-DjFIwR1e.js} +1 -1
- package/dist/client/assets/{X-IkzSoxJZ.js → X-F_AtITBB.js} +1 -1
- package/dist/client/assets/{XCircle-DkYunYi_.js → XCircle-BmPLYPUm.js} +1 -1
- package/dist/client/assets/{XClose-DXpsTMs9.js → XClose-pCZ95Skb.js} +1 -1
- package/dist/client/assets/{Zap-Dvt93UNJ.js → Zap-DSrBTwKT.js} +1 -1
- package/dist/client/assets/{ZapSquare-DQ0xpq8l.js → ZapSquare-lUH8oMSf.js} +1 -1
- package/dist/client/assets/{access-gate-x5aFiScT.js → access-gate-DnmOgDmX.js} +1 -1
- package/dist/client/assets/{add-section-modal-xgG70607.js → add-section-modal-DH8DHbpw.js} +1 -1
- package/dist/client/assets/{agent-icon-CY36Uhxb.js → agent-icon-B0dE0gXI.js} +1 -1
- package/dist/client/assets/{agents-list-C49t-K67.js → agents-list-D5y8SDcU.js} +1 -1
- package/dist/client/assets/{ai-providers-f7wEHVe_.js → ai-providers-y4LX99HP.js} +1 -1
- package/dist/client/assets/{alert-Buk_sohJ.js → alert-GrGBKekR.js} +1 -1
- package/dist/client/assets/{alert-dialog-CR5y0zme.js → alert-dialog-BbzswsKi.js} +1 -1
- package/dist/client/assets/{app-editor-CwDGnLP-.js → app-editor-BeBEbbez.js} +1 -1
- package/dist/client/assets/{auth-qMzVCZcI.js → auth-Cci4GApT.js} +1 -1
- package/dist/client/assets/{auth-catchall-x85RXoUg.js → auth-catchall-BdrP-mFN.js} +1 -1
- package/dist/client/assets/{auth-entry-eetDpLSr.js → auth-entry-CQsBGjxN.js} +1 -1
- package/dist/client/assets/{auth-split-layout-B3Ejbd6b.js → auth-split-layout-BviFip9f.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-C-tYYm7S.js → authenticate-and-persist-oauth-Cv27aboH.js} +1 -1
- package/dist/client/assets/{automation-list-row-D5CaUfAA.js → automation-list-row-DwHzmOHN.js} +1 -1
- package/dist/client/assets/{automation-runs-DbQCqJW4.js → automation-runs-D5uEU05P.js} +33 -33
- package/dist/client/assets/{automations-Uue9bXuj.js → automations-ED2Iy6Vm.js} +1 -1
- package/dist/client/assets/{avatar-BzJdZL1L.js → avatar-PyzDD5US.js} +1 -1
- package/dist/client/assets/{badge-BSgglY64.js → badge-Dnjs2Zbd.js} +1 -1
- package/dist/client/assets/{block-document-D42G7ejo.js → block-document-B-nAZW78.js} +1 -1
- package/dist/client/assets/{brand-context-B8InFJfI.js → brand-context-BnOeGriO.js} +1 -1
- package/dist/client/assets/{buckets-0uGu5ogF.js → buckets-XrX7DKSR.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-BkAiBU9W.js → bulk-category-panel-1TxRLred.js} +1 -1
- package/dist/client/assets/{calendar-DE7fDuJg.js → calendar-Bja0SUOs.js} +1 -1
- package/dist/client/assets/{capability-load-error-LqMRKo65.js → capability-load-error-Do7SvLQW.js} +1 -1
- package/dist/client/assets/{card-DWXrV4Pl.js → card-y0dhwXnt.js} +1 -1
- package/dist/client/assets/{category-editor-CK8DGWRC.js → category-editor-Fvpm2WRu.js} +1 -1
- package/dist/client/assets/{chat-context-CbbUPv6l.js → chat-context-DMUQz7NG.js} +1 -1
- package/dist/client/assets/{checkbox-BOyJe47l.js → checkbox-D9vx5ZZj.js} +1 -1
- package/dist/client/assets/{cli-auth-success-BCM6u3yN.js → cli-auth-success-CjNjh__E.js} +1 -1
- package/dist/client/assets/{collection-detail-gJiKRXZN.js → collection-detail-DrlKWW5-.js} +1 -1
- package/dist/client/assets/{collection-display-button-B_eysfee.js → collection-display-button-V2qmjQut.js} +1 -1
- package/dist/client/assets/{collection-search-D195-22U.js → collection-search-CWxNjcsw.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-DoZQ7WDr.js → collection-table-wrapper-CuvAa6BD.js} +1 -1
- package/dist/client/assets/{collection-tabs-CrO66d2-.js → collection-tabs-HtRBcLFx.js} +1 -1
- package/dist/client/assets/{command-DFhU8yHR.js → command-BlXAhqWF.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-BauPlxSt.js → commerce-onboarding-COESBA1z.js} +1 -1
- package/dist/client/assets/{companions-core-CAREgBr0.js → companions-core-CXGQ7uVK.js} +1 -1
- package/dist/client/assets/{connect-8H6FjjTP.js → connect-cJhb2oBC.js} +1 -1
- package/dist/client/assets/{connection-Cj4wg0H6.js → connection-DWiaV8fW.js} +1 -1
- package/dist/client/assets/{connection-card-BtA6uSXr.js → connection-card-CUyV1k5o.js} +1 -1
- package/dist/client/assets/{connection-detail-j57w5vop.js → connection-detail-BbP_tQBk.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-ByAsc3G3.js → connection-form-helpers-Id5QIP0z.js} +1 -1
- package/dist/client/assets/{connections-DDUnokWq.js → connections-DmbhbZRK.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-YhOl2v8l.js → decopilot-sse-pool-D9LvrvYB.js} +1 -1
- package/dist/client/assets/{dialog-B5NfN9M1.js → dialog-umfUtb99.js} +1 -1
- package/dist/client/assets/{domain-settings-tookdN9j.js → domain-settings-i1hvYDBx.js} +1 -1
- package/dist/client/assets/{drawer-j0ch7j0L.js → drawer-BUnObxIU.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CN5zwO-3.js → dropdown-menu-CDi9V4K2.js} +1 -1
- package/dist/client/assets/{empty-state-f8YCweRE.js → empty-state-CRcUb-lZ.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Dc3I-W-E.js → extract-connection-data-B49JzpOp.js} +1 -1
- package/dist/client/assets/{file-explorer-HWC5uFx4.js → file-explorer-DBQSC69s.js} +1 -1
- package/dist/client/assets/{form-DFDiWlYB.js → form-C-C_sOUC.js} +1 -1
- package/dist/client/assets/{general-Ba4U6jaB.js → general-kNKSObvm.js} +1 -1
- package/dist/client/assets/{github-repo-picker-CWpjRmK8.js → github-repo-picker-D3BJLO5i.js} +1 -1
- package/dist/client/assets/{hooks-CTLlL1OK.js → hooks-BfI5-YVe.js} +1 -1
- package/dist/client/assets/{index-CrGHA7yK.js → index-83skOF3Q.js} +1 -1
- package/dist/client/assets/{index-BRWmxqP2.js → index-BQVRYyhb.js} +1 -1
- package/dist/client/assets/{index-C6RGPTNG.js → index-C2MB_KMl.js} +5 -5
- package/dist/client/assets/{index-DOYxEW5a.js → index-CsebWa9R.js} +1 -1
- package/dist/client/assets/{index-BoO8Z8oO.js → index-CviX7bgn.js} +3 -3
- package/dist/client/assets/{index-CamFpFAx.js → index-D47l1GkF.js} +1 -1
- package/dist/client/assets/{index-CJKOtO0r.js → index-DIkRR5xC.js} +1 -1
- package/dist/client/assets/{index-iVeH5-wN.js → index-DZHjNDS2.js} +1 -1
- package/dist/client/assets/{index-DIRC8mDc.js → index-D_PNbLDw.js} +1 -1
- package/dist/client/assets/{index-_CasUQJC.js → index-DdGqNgtg.js} +1 -1
- package/dist/client/assets/{index-redirect-EHKeC0l0.js → index-redirect-oERHx7o3.js} +1 -1
- package/dist/client/assets/{index-CiVBAAsQ.js → index-v4xr9fBY.js} +3 -3
- package/dist/client/assets/{input-H6sWIHpS.js → input-BhxRA_PT.js} +1 -1
- package/dist/client/assets/{integration-icon-BtJmNvY5.js → integration-icon-CNZB1ZgI.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-BCmAPkRt.js → invite-member-dialog-BBLo0xtd.js} +1 -1
- package/dist/client/assets/{label-CHQLbYGO.js → label-CV9ZjoNw.js} +1 -1
- package/dist/client/assets/{layout-DKWy-2PC.js → layout-oi6eozIR.js} +1 -1
- package/dist/client/assets/{login-D0sWtQpZ.js → login-7GSMSmDU.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CKBZT7IT.js → mcp-oauth-xeI046T8.js} +1 -1
- package/dist/client/assets/{members-DHmhp5FM.js → members-DvrhREZA.js} +1 -1
- package/dist/client/assets/{monaco-editor-B4yAe9B8.js → monaco-editor-Cv0goHEj.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-DgIXa7Sg.js → monitoring-stats-row-V8O2Ro-U.js} +1 -1
- package/dist/client/assets/{multi-select-BZd64gNU.js → multi-select-BKPa72QH.js} +1 -1
- package/dist/client/assets/{oauth-callback-CTtiWJwl.js → oauth-callback-Bz8lL0Wt.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Dp7Ct2Lm.js → oauth-callback-ai-provider-7zgbzy7R.js} +1 -1
- package/dist/client/assets/{onboarding-C7DMmr-s.js → onboarding-D76lSMle.js} +1 -1
- package/dist/client/assets/{org-layout-8aj9ooRM.js → org-layout-B24s61-1.js} +1 -1
- package/dist/client/assets/{organization-choice-d-fQ45ih.js → organization-choice-BCn2YoDb.js} +1 -1
- package/dist/client/assets/{orgs-D4JqNkuf.js → orgs-BskWfyij.js} +1 -1
- package/dist/client/assets/{page-seo-form-CYwkh_pc.js → page-seo-form-Ca7r-wrV.js} +1 -1
- package/dist/client/assets/{popover-Dk6rjl1O.js → popover-DWt5ICmR.js} +1 -1
- package/dist/client/assets/{post-editor-1vSqmmwx.js → post-editor-DhHYWFTw.js} +1 -1
- package/dist/client/assets/{primitives-BFwv4mUC.js → primitives-nDW7DL8Q.js} +1 -1
- package/dist/client/assets/{profile-B6fE3SHW.js → profile-CuVDlTkY.js} +1 -1
- package/dist/client/assets/project-app-view-C5Glu0kH.js +1 -0
- package/dist/client/assets/record-editor-C39caKgs.js +1 -0
- package/dist/client/assets/{redirect-editor-DPqLad3y.js → redirect-editor-BzlpeM6X.js} +1 -1
- package/dist/client/assets/registry-Dwo3t2BQ.js +2 -0
- package/dist/client/assets/{registry-layout-Czxlhhds.js → registry-layout-DOrq4Kg2.js} +1 -1
- package/dist/client/assets/{reports--L02Sqd-.js → reports-DeQEVTxM.js} +1 -1
- package/dist/client/assets/{require-capability-DUxd7qbc.js → require-capability-CY0pv6qC.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DwEQNdxU.js → required-auth-layout-B4hT2jJ6.js} +1 -1
- package/dist/client/assets/{reset-password-CwUu11oo.js → reset-password-DxzjmCNO.js} +1 -1
- package/dist/client/assets/{roles-BgZkDDAo.js → roles-HOif2C5d.js} +1 -1
- package/dist/client/assets/{search-input-DPijbAAA.js → search-input-jQMH80d1.js} +1 -1
- package/dist/client/assets/{secrets-zfNoGxYA.js → secrets-BeqgbfKp.js} +1 -1
- package/dist/client/assets/{sections-editor-GMncm2fH.js → sections-editor-DwJl9UQf.js} +1 -1
- package/dist/client/assets/{select-DjdFBSp_.js → select-c9MOlhi4.js} +1 -1
- package/dist/client/assets/{select-model-r2vBhlnR.js → select-model-3Y0RIjid.js} +1 -1
- package/dist/client/assets/{self-tool-result-DIWRUiRw.js → self-tool-result-CL0ggiz4.js} +1 -1
- package/dist/client/assets/{seo-editor-jSKx_iq8.js → seo-editor-BEkSG9db.js} +1 -1
- package/dist/client/assets/{settings-layout-Ca2nTHUD.js → settings-layout-D3n3N0n1.js} +1 -1
- package/dist/client/assets/{settings-section-kVDjsizK.js → settings-section-Ci41xvwW.js} +1 -1
- package/dist/client/assets/{shell-controls-CTff1B52.js → shell-controls-BqQDdQit.js} +1 -1
- package/dist/client/assets/{shell-layout-XFO4W20j.js → shell-layout-CikXXWSF.js} +1 -1
- package/dist/client/assets/{sidebar-CSH2zBvN.js → sidebar-Bn8O7Aoo.js} +1 -1
- package/dist/client/assets/{skeleton-DPHP14Zj.js → skeleton-V5kxsFXg.js} +1 -1
- package/dist/client/assets/{spinner-C0h3dTYl.js → spinner-B-_zF0cw.js} +1 -1
- package/dist/client/assets/{sso-BGTDYkeE.js → sso-Ba8XDhl4.js} +1 -1
- package/dist/client/assets/{store-03IpX4ia.js → store-BdL9SGT5.js} +1 -1
- package/dist/client/assets/store-registry-B-9PFWDk.js +2 -0
- package/dist/client/assets/{studio-tools-kASHiiN2.js → studio-tools-Xw-8BkV3.js} +1 -1
- package/dist/client/assets/{switch-LA478J51.js → switch-BArXYiGI.js} +1 -1
- package/dist/client/assets/{tab-id-BVNhEy2Q.js → tab-id-WKHool93.js} +1 -1
- package/dist/client/assets/{table-BLkGxmcg.js → table-YqpfKi5R.js} +1 -1
- package/dist/client/assets/{tabs-CsryjFS6.js → tabs-B3563EJu.js} +1 -1
- package/dist/client/assets/{textarea-DX-21FJR.js → textarea-DAdqvQK7.js} +1 -1
- package/dist/client/assets/{toggle-group-DJYJSmg_.js → toggle-group-DhYbfukY.js} +1 -1
- package/dist/client/assets/{toolbar-BhStBMVh.js → toolbar-9JOgV_wh.js} +1 -1
- package/dist/client/assets/{tooltip-CsmP_Sr0.js → tooltip-CzcvFJJ4.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CjRcGffY.js → use-ai-providers-B7l3jMjK.js} +1 -1
- package/dist/client/assets/{use-automations-DdH_FoUr.js → use-automations-k3FdbNQZ.js} +1 -1
- package/dist/client/assets/{use-autosave-DKYTctmK.js → use-autosave-D_BvxoLq.js} +1 -1
- package/dist/client/assets/{use-capability-DjG5uwRT.js → use-capability-C9ZzLeWc.js} +1 -1
- package/dist/client/assets/{use-clock-tick-BhRaBaLK.js → use-clock-tick-Bx9BIbXn.js} +1 -1
- package/dist/client/assets/{use-connection-Cot3yHSY.js → use-connection-Cx1i_8ZN.js} +1 -1
- package/dist/client/assets/{use-copy-C_NkLkxl.js → use-copy-B2wy-3nw.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-bdmJewGw.js → use-create-virtual-mcp-6kthF1rc.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-CH_uqUKC.js → use-debounced-autosave-031Q_-VG.js} +1 -1
- package/dist/client/assets/{use-debounced-value-QvUVgrQz.js → use-debounced-value-DExSEFbd.js} +1 -1
- package/dist/client/assets/{use-deco-credits-DRL1fiKV.js → use-deco-credits-DBj-t6Aa.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BuxLN4oK.js → use-decopilot-events-Bl5cSmBo.js} +1 -1
- package/dist/client/assets/{use-delete-connection-B0CNO3Bd.js → use-delete-connection-BDFlhFvE.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-Dm1hrCW0.js → use-deployment-admin-BWGeFN0z.js} +1 -1
- package/dist/client/assets/{use-file-configs-B1lYIgBZ.js → use-file-configs-CAVDuZCM.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-CpsrqDCA.js → use-infinite-scroll-KjXcCgnB.js} +1 -1
- package/dist/client/assets/{use-join-requests-BHv-0bGK.js → use-join-requests-B-ESBTqy.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-DPAk0BTW.js → use-mcp-auth-status-C8_KfxzO.js} +1 -1
- package/dist/client/assets/{use-mcp-client-DXu4w9At.js → use-mcp-client-DspygOPp.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BX5fdaeC.js → use-mcp-tools-MSs9nJ6T.js} +1 -1
- package/dist/client/assets/{use-members-D4qFDgCg.js → use-members-Dbnerenq.js} +1 -1
- package/dist/client/assets/{use-mobile-CCnrFiyb.js → use-mobile-C-mJw8PU.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-D_9xQDXo.js → use-navigate-to-agent-DSBbiXfY.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-zLEynq9a.js → use-org-auth-client-BLdLjrj3.js} +1 -1
- package/dist/client/assets/{use-org-sso-CSPJBiyu.js → use-org-sso-DTXoH044.js} +1 -1
- package/dist/client/assets/{use-organization-roles-DRUzDFy8.js → use-organization-roles-BaSsK7Wz.js} +1 -1
- package/dist/client/assets/{use-organization-settings-DN5XiPuO.js → use-organization-settings-CaerOcj2.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Bx28gDDV.js → use-registry-connections-UoehQZfC.js} +1 -1
- package/dist/client/assets/{use-secrets-ClH2oWfT.js → use-secrets-C1Rd8ciu.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DMqOv6Ps.js → use-status-sounds-DHwBY788.js} +1 -1
- package/dist/client/assets/{use-tags-BsEGYjFn.js → use-tags-CRNzH6FE.js} +1 -1
- package/dist/client/assets/{use-view-mode-CFufQZ23.js → use-view-mode-9o6KjSAa.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-BfLOjsr5.js → use-virtual-mcp-kUy0NdbH.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Dd4ko7id.js +1 -0
- package/dist/client/assets/{useQueries-BSZynmwC.js → useQueries-Bt-8udgX.js} +1 -1
- package/dist/client/assets/{useRouterState-DN8sBG8a.js → useRouterState-CzVdxDmf.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-OE3RI5rq.js +1 -0
- package/dist/client/assets/{users-CKHoawgP.js → users-Cp1_XbOZ.js} +1 -1
- package/dist/client/assets/{variant-calendar-CNWBn9af.js → variant-calendar-DUjKuaAn.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-BkLdASHE.js → view-mode-toggle-BR1L0_ap.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +2 -2
- package/dist/server/migrate.js +1 -1
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/project-app-view-R2hhCUxd.js +0 -1
- package/dist/client/assets/record-editor-BHbotb4c.js +0 -1
- package/dist/client/assets/registry-CNQroCTc.js +0 -2
- package/dist/client/assets/store-registry-27ZkVkJ-.js +0 -2
- package/dist/client/assets/useInfiniteQuery-BHh5ab1m.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Dm1ob-UL.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as B,D as ke,r as y,e as ae,p as $,j as t,m as j,B as pe,o as Be,n as $e,K as oe,c as ce,b as xe,S as Fe}from"./index-CiVBAAsQ.js";import{I as X}from"./input-H6sWIHpS.js";import{i as Ve}from"./use-is-desktop-app-BNujXJc_.js";import{S as Qe}from"./spinner-C0h3dTYl.js";import{r as ze,R as He}from"./retry-CErkP7V6.js";const _e={submitEmailPassword:({mode:r,email:e,password:c,name:f})=>r==="sign_up"?B.signUp.email({email:e,password:c,name:f||""}):B.signIn.email({email:e,password:c}),requestPasswordReset:({email:r,redirectTo:e})=>B.requestPasswordReset({email:r,redirectTo:e}),sendOtp:({email:r})=>B.emailOtp.sendVerificationOtp({email:r,type:"sign-in"}),submitOtp:({email:r,otp:e})=>B.signIn.emailOtp({email:r,otp:e}),socialSignIn:({provider:r,callbackURL:e})=>B.signIn.social({provider:r,callbackURL:e}),ssoSignIn:({providerId:r,callbackURL:e})=>B.signIn.sso({providerId:r,callbackURL:e}),onAuthenticated:r=>{window.location.href=r}},le="font-medium text-[#8CAA25] hover:underline disabled:opacity-50",Ke={signUpFailed:"Sign up failed",signInFailed:"Sign in failed",authenticationFailed:"Authentication failed",resetEmailFailed:"Failed to send reset email",otpSendFailed:"Failed to send code",invalidCode:"Invalid code",invalidEmail:"Invalid email address",invalidEmailOrPassword:"Invalid email or password. Please try again.",accountExists:"An account with this email already exists. Try signing in instead.",networkError:"Network error. Please check your connection and try again.",tooManyAttempts:"Too many attempts. Please wait a moment and try again.",invalidOrExpiredCode:"Invalid or expired code. Please try again.",genericError:"An error occurred. Please try again.",resetPasswordTitle:"Reset your password",verificationCodeTitle:"Enter verification code",welcomeTitle:"Welcome to deco",resetPasswordSubtitle:"We'll send you a reset link",codeSentTo:r=>`Code sent to ${r}`,defaultSubtitle:"Sign in or create a new account",resetEmailSent:"Check your email for a password reset link.",continueWith:r=>`Continue with ${r}`,divider:"or",emailLabel:"Email",emailPlaceholder:"Email address",sending:"Sending...",sendCode:"Send code",verificationCodeLabel:"Verification code",enterCodePlaceholder:"Enter code",verifying:"Verifying...",verify:"Verify",useDifferentEmail:"Use a different email",sendResetLink:"Send reset link",nameLabel:"Name",namePlaceholder:"Your name",passwordLabel:"Password",forgotPassword:"Forgot password?",creatingAccount:"Creating account...",signingIn:"Signing in...",continue:"Continue",backToSignIn:"Back to sign in",signInWithPassword:"Sign in with password instead",alreadyHaveAccount:"Already have an account? ",dontHaveAccount:"Don't have an account? ",signIn:"Sign in",signUp:"Sign up",signInWithEmailCode:"Sign in with email code"};function Ye({redirectUrl:r,callbackUrl:e="/",title:c,subtitle:f,brand:p,copy:m,variant:i="default",allowedSocialProviders:l,allowPassword:u=!0,onAuthEvent:I,actions:N}){const{emailAndPassword:A,resetPassword:v,emailOtp:E,socialProviders:h}=ke(),d={..._e,...N},g=s=>{try{I?.(s)}catch{}},P=i==="compact",Z=l?h.providers.filter(s=>l.includes(s.name)):h.providers,ee=h.enabled&&Z.length>0,me=A.enabled&&(u||!E.enabled&&!ee),x=h.enabled&&h.providers.length>0&&!ee&&!E.enabled&&!me?h.providers:Z,O=h.enabled&&x.length>0,F=A.enabled&&(u||!E.enabled&&!O),[b,M]=y.useState(""),[_,V]=y.useState(""),[a,S]=y.useState(""),[q,T]=y.useState(""),[L,ue]=y.useState(!1),[ge,Le]=y.useState(()=>E.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[k,Q]=y.useState(""),[be,ye]=y.useState(!1),[Oe,he]=y.useState(null),n={...Ke,...m},te=y.useId(),z=`${te}-email`,H=`${te}-email-error`,ve=`${te}-name`,we=`${te}-password`,Ee=`${te}-otp`,C=ge==="signUp",W=ge==="forgotPassword",R=ge==="emailOtp",se=ae({mutationFn:async({email:s,password:o,name:D})=>{try{const J=await d.submitEmailPassword({mode:C?"sign_up":"sign_in",email:s,password:o,name:D});if(J.error)throw new Error(J.error.message||(C?n.signUpFailed:n.signInFailed));return J}catch(J){throw J instanceof Error?J:new Error(n.authenticationFailed)}},onMutate:()=>{g({type:"started",method:"email_password",mode:C?"sign_up":"sign_in"})},onSuccess:()=>{g({type:"succeeded",method:"email_password",mode:C?"sign_up":"sign_in"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),d.onAuthenticated(r??e)},onError:s=>{g({type:"failed",method:"email_password",mode:C?"sign_up":"sign_in",stage:"authenticate",error:s instanceof Error?s.message:String(s)}),$(C?"user_signup_failed":"user_signin_failed",{error:s instanceof Error?s.message:String(s)})}}),ne=ae({mutationFn:async({email:s})=>{const o=await d.requestPasswordReset({email:s,redirectTo:"/reset-password"});if(o.error)throw new Error(o.error.message||n.resetEmailFailed);return o},onSuccess:()=>{$("password_reset_requested"),ye(!0)},onError:s=>{$("password_reset_request_failed",{error:s instanceof Error?s.message:String(s)})}}),K=ae({mutationFn:async({email:s})=>{const o=await d.sendOtp({email:s});if(o.error)throw new Error(o.error.message||n.otpSendFailed);return o},onMutate:()=>{g({type:"started",method:"email_otp"})},onSuccess:()=>{g({type:"otp_sent",method:"email_otp"}),$("email_otp_sent"),ue(!0)},onError:s=>{g({type:"failed",method:"email_otp",stage:"send_otp",error:s instanceof Error?s.message:String(s)}),$("email_otp_send_failed",{error:s instanceof Error?s.message:String(s)})}}),Y=ae({mutationFn:async({email:s,otp:o})=>{const D=await d.submitOtp({email:s,otp:o});if(D.error)throw new Error(D.error.message||n.invalidCode);return D},onMutate:()=>{g({type:"otp_submitted",method:"email_otp"})},onSuccess:()=>{g({type:"succeeded",method:"email_otp"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),d.onAuthenticated(r??e)},onError:s=>{g({type:"failed",method:"email_otp",stage:"verify_otp",error:s instanceof Error?s.message:String(s)}),$("email_otp_verify_failed",{error:s instanceof Error?s.message:String(s)})}}),ie=s=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s),fe=()=>{b.trim()&&!ie(b)&&Q(n.invalidEmail)},Te=s=>{if(s.preventDefault(),!ie(b)){Q(n.invalidEmail),g({type:"failed",method:"email_password",mode:C?"sign_up":"sign_in",stage:"validation",error:"invalid_email"});return}se.mutate({email:b,password:_,name:a})},Re=s=>{if(s.preventDefault(),!ie(b)){Q(n.invalidEmail);return}ne.mutate({email:b})},De=s=>{if(s.preventDefault(),!ie(b)){Q(n.invalidEmail),g({type:"failed",method:"email_otp",stage:"validation",error:"invalid_email"});return}K.mutate({email:b})},Me=s=>{s.preventDefault(),Y.mutate({email:b,otp:q})},G=s=>o=>{s(o.target.value),Se&&se.reset(),je&&ne.reset(),Ne&&(K.reset(),Y.reset()),s===M&&k&&Q("")},re=s=>{Le(s),S(""),T(""),ue(!1),Q(""),ye(!1),he(null),se.reset(),ne.reset(),K.reset(),Y.reset()},w=se.isPending||ne.isPending||K.isPending||Y.isPending,Se=se.error,je=ne.error,Ne=K.error||Y.error,U=C?b.trim()&&_.trim()&&a.trim():W?b.trim():R?L?q.trim():b.trim():b.trim()&&_.trim(),qe=s=>{if(!s)return null;const o=s.message.toLowerCase();return o.includes("unauthorized")||o.includes("401")?n.invalidEmailOrPassword:o.includes("already exists")||o.includes("409")?n.accountExists:o.includes("network")||o.includes("fetch")?n.networkError:o.includes("rate limit")||o.includes("429")?n.tooManyAttempts:o.includes("invalid")&&o.includes("otp")?n.invalidOrExpiredCode:s.message||n.genericError},Pe=Se||je||Ne||Oe,We=async s=>{g({type:"started",method:"social",provider:s}),he(null);try{const o=await d.socialSignIn({provider:s,callbackURL:r??e});if(o.error)throw new Error(o.error.message||n.authenticationFailed)}catch(o){const D=o instanceof Error?o.message:String(o);g({type:"failed",method:"social",provider:s,stage:"redirect",error:D}),$("social_signin_failed",{provider:s,error:D}),he(o instanceof Error?o:new Error(D))}},Ue=W?n.resetPasswordTitle:R&&L?n.verificationCodeTitle:c??n.welcomeTitle,Ae=W?n.resetPasswordSubtitle:R&&L?n.codeSentTo(b):f===void 0?n.defaultSubtitle:f;return t.jsxs("div",{className:j("grid w-full",P?"gap-5":"gap-10"),children:[p??t.jsxs("div",{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h1",{className:j("font-medium",P?"text-xl leading-7":"text-2xl leading-8"),children:Ue}),Ae&&t.jsx("p",{className:j("text-muted-foreground",P?"text-sm leading-5":"text-base leading-6"),children:Ae})]}),Pe&&t.jsx("div",{role:"alert",className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:qe(Pe)}),be&&t.jsx("div",{role:"status",className:"rounded-xl bg-success/10 p-3 text-sm text-success text-center",children:n.resetEmailSent}),!W&&!(R&&L)&&O&&t.jsx("div",{className:"grid gap-2",children:x.map(s=>t.jsxs("button",{type:"button",disabled:w,onClick:()=>{We(s.name)},className:j("flex w-full items-center justify-center gap-3 bg-background px-3 text-sm font-medium text-foreground card-shadow transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 dark:bg-input/30 dark:hover:bg-input/50",P?"h-11 rounded-lg":"h-12 rounded-xl"),children:[s.icon&&t.jsx("img",{src:s.icon,alt:"",className:j("h-5 w-5",s.name==="github"&&"dark:invert"),"aria-hidden":"true"}),n.continueWith(s.name.charAt(0).toUpperCase()+s.name.slice(1))]},s.name))}),!W&&!(R&&L)&&O&&(F||E.enabled)&&t.jsxs("div",{className:j("flex items-center gap-2.5",P?"my-0":"-my-4"),children:[t.jsx("div",{className:"h-px flex-1 bg-border"}),t.jsx("span",{className:j("text-muted-foreground",P?"text-sm":"text-base"),children:n.divider}),t.jsx("div",{className:"h-px flex-1 bg-border"})]}),R&&E.enabled&&t.jsx(t.Fragment,{children:L?t.jsxs("form",{onSubmit:Me,className:j("grid gap-2",P&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:Ee,className:j("text-sm font-medium text-foreground",P&&"sr-only"),children:n.verificationCodeLabel}),t.jsx(X,{id:Ee,type:"text",placeholder:n.enterCodePlaceholder,value:q,onChange:G(T),required:!0,disabled:w,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11 rounded-lg"})]}),t.jsx("button",{type:"submit",disabled:w||!U,className:j("flex items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:pointer-events-none disabled:opacity-50",P?"h-11 sm:w-auto":"h-12 w-full"),children:w?n.verifying:n.verify}),t.jsx("button",{type:"button",onClick:()=>{ue(!1),T(""),K.reset(),Y.reset()},disabled:w,className:j("mt-1 text-sm text-muted-foreground transition-colors hover:text-foreground",P&&"sm:col-span-2"),children:n.useDifferentEmail})]}):t.jsxs("form",{onSubmit:De,className:j("grid gap-2",P&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:z,className:j("text-sm font-medium text-foreground",P&&"sr-only"),children:n.emailLabel}),t.jsx(X,{id:z,type:"email",placeholder:n.emailPlaceholder,value:b,onChange:G(M),onBlur:fe,required:!0,disabled:w,autoComplete:"email","aria-invalid":!!k,"aria-describedby":k?H:void 0,className:"h-11 rounded-lg"}),k&&t.jsx("p",{id:H,role:"alert",className:"text-xs text-destructive",children:k})]}),t.jsx("button",{type:"submit",disabled:w||!U,className:j("flex items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:pointer-events-none disabled:opacity-50",P?"h-11 sm:w-auto":"h-12 w-full"),children:w?n.sending:n.sendCode})]})}),W&&F&&!be&&t.jsxs("form",{onSubmit:Re,className:"grid gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:z,className:"block text-sm font-medium text-foreground mb-2",children:n.emailLabel}),t.jsx(X,{id:z,type:"email",placeholder:"you@example.com",value:b,onChange:G(M),onBlur:fe,required:!0,disabled:w,autoComplete:"email","aria-invalid":!!k,"aria-describedby":k?H:void 0,className:"h-11 rounded-lg"}),k&&t.jsx("p",{id:H,role:"alert",className:"text-xs text-destructive mt-1.5",children:k})]}),t.jsx(pe,{type:"submit",disabled:w||!U,className:"w-full font-semibold",size:"xl",children:w?n.sending:n.sendResetLink})]}),!W&&!R&&F&&t.jsxs("form",{onSubmit:Te,className:"grid gap-5",children:[C&&t.jsxs("div",{children:[t.jsx("label",{htmlFor:ve,className:"block text-sm font-medium text-foreground mb-2",children:n.nameLabel}),t.jsx(X,{id:ve,type:"text",placeholder:n.namePlaceholder,value:a,onChange:G(S),required:!0,disabled:w,autoComplete:"name",className:"h-11 rounded-lg"})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:z,className:"block text-sm font-medium text-foreground mb-2",children:n.emailLabel}),t.jsx(X,{id:z,type:"email",placeholder:"you@example.com",value:b,onChange:G(M),onBlur:fe,required:!0,disabled:w,autoComplete:"email","aria-invalid":!!k,"aria-describedby":k?H:void 0,className:"h-11 rounded-lg"}),k&&t.jsx("p",{id:H,role:"alert",className:"text-xs text-destructive mt-1.5",children:k})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("label",{htmlFor:we,className:"block text-sm font-medium text-foreground",children:n.passwordLabel}),!C&&v.enabled&&t.jsx("button",{type:"button",onClick:()=>re("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:n.forgotPassword})]}),t.jsx(X,{id:we,type:"password",placeholder:"••••••••",value:_,onChange:G(V),required:!0,disabled:w,autoComplete:C?"new-password":"current-password",className:"h-11 rounded-lg"})]}),t.jsx("div",{className:j("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",U?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:t.jsx("div",{className:j("p-1",!U&&"pointer-events-none"),children:t.jsx(pe,{type:"submit",disabled:w||!U,className:j("w-full font-semibold"),size:"xl","aria-hidden":!U,children:w?C?n.creatingAccount:n.signingIn:n.continue})})})]}),t.jsx("div",{className:"text-sm text-muted-foreground",children:W?t.jsx("button",{type:"button",onClick:()=>re("signIn"),disabled:w,className:le,children:n.backToSignIn}):R&&F?t.jsx("button",{type:"button",onClick:()=>re("signIn"),disabled:w,className:le,children:n.signInWithPassword}):!R&&F?t.jsxs(t.Fragment,{children:[C?n.alreadyHaveAccount:n.dontHaveAccount,t.jsx("button",{type:"button",onClick:()=>re(C?"signIn":"signUp"),disabled:w,className:le,children:C?n.signIn:n.signUp}),E.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"mx-2",children:"·"}),t.jsx("button",{type:"button",onClick:()=>re("emailOtp"),disabled:w,className:le,children:n.signInWithEmailCode})]})]}):null})]})}async function de(){throw new Error("Tauri bridge is unavailable outside the desktop build")}function Ge(){const r=Be(),e=Ve(),c=$e({queryKey:oe.desktopAuthStatus(),queryFn:async()=>(await de()).fetchAuthStatus(),enabled:e,staleTime:3e4,refetchOnWindowFocus:!0}),[f,p]=y.useState(!1),[m,i]=y.useState(null),[l,u]=y.useState(!1),[I,N]=y.useState(null);y.useEffect(()=>{},[e,r]);async function A(){p(!0),i(null);try{const d=await de();await d.performAuthLogin();const g=await d.fetchAuthStatus();r.setQueryData(oe.desktopAuthStatus(),g)}catch(d){i(d instanceof Error?d.message:"Sign-in failed")}finally{p(!1)}}async function v(){p(!0);try{const d=await de();await d.performAuthLogout();const g=await d.fetchAuthStatus();r.setQueryData(oe.desktopAuthStatus(),g)}finally{p(!1)}}async function E(){u(!0),N(null);let d;try{d=await de()}catch(g){N(g instanceof Error?g.message:"Sign-in failed"),u(!1);return}try{await d.performAuthCompleteSession()}catch(g){N(g instanceof Error?g.message:"Sign-in failed")}finally{try{const g=await d.fetchAuthStatus();r.setQueryData(oe.desktopAuthStatus(),g)}finally{u(!1)}}}async function h(){await c.refetch()}return{status:c.data,isChecking:c.isLoading,isRetryingStatus:c.isFetching,isPending:f,loginError:m,login:A,logout:v,isCompletingSession:l,completeSessionError:I,completeSession:E,retryStatus:h}}function Je(r){return!(r.emailAndPassword.enabled||r.emailOtp.enabled||r.socialProviders.enabled)&&!r.sso.enabled&&r.magicLink.enabled}function Xe(){return ce.c(10),Ge(),null}function Ze(r){const e=ce.c(25),{onContinue:c,isPending:f,error:p}=r,m=xe();let i;e[0]!==m?(i=m("common.authEntry.browserOnlyTitle"),e[0]=m,e[1]=i):i=e[1];let l;e[2]!==i?(l=t.jsx("h1",{className:"text-lg font-medium text-foreground",children:i}),e[2]=i,e[3]=l):l=e[3];let u;e[4]!==m?(u=m("common.authEntry.browserOnlyDescription"),e[4]=m,e[5]=u):u=e[5];let I;e[6]!==u?(I=t.jsx("p",{className:"max-w-sm text-sm text-muted-foreground",children:u}),e[6]=u,e[7]=I):I=e[7];let N;e[8]!==l||e[9]!==I?(N=t.jsxs("div",{className:"flex flex-col gap-1",children:[l,I]}),e[8]=l,e[9]=I,e[10]=N):N=e[10];let A;e[11]!==c?(A=()=>{c()},e[11]=c,e[12]=A):A=e[12];let v;e[13]!==m?(v=m("common.authEntry.browserOnlyCta"),e[13]=m,e[14]=v):v=e[14];let E;e[15]!==f||e[16]!==A||e[17]!==v?(E=t.jsx(pe,{onClick:A,disabled:f,children:v}),e[15]=f,e[16]=A,e[17]=v,e[18]=E):E=e[18];let h;e[19]!==p?(h=p&&t.jsx("p",{className:"max-w-sm text-xs text-destructive",children:p}),e[19]=p,e[20]=h):h=e[20];let d;return e[21]!==N||e[22]!==E||e[23]!==h?(d=t.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[N,E,h]}),e[21]=N,e[22]=E,e[23]=h,e[24]=d):d=e[24],d}function Ce(r){const e=ce.c(8),{label:c,error:f}=r;let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(Qe,{size:"lg"}),e[0]=p):p=e[0];let m;e[1]!==c?(m=c&&t.jsx("p",{className:"text-sm text-muted-foreground",children:c}),e[1]=c,e[2]=m):m=e[2];let i;e[3]!==f?(i=f&&t.jsx("p",{className:"max-w-sm text-xs text-destructive",children:f}),e[3]=f,e[4]=i):i=e[4];let l;return e[5]!==m||e[6]!==i?(l=t.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[p,m,i]}),e[5]=m,e[6]=i,e[7]=l):l=e[7],l}class Ie{constructor(e){this.response=e}response}function et(r){return r.startsWith("/")&&!r.startsWith("//")?r:"/"}function tt({redirectTo:r,onAuthEvent:e}){const c=xe(),[f,p]=y.useState(null),m=y.useEffectEvent(i=>{try{e?.(i)}catch{}});return y.useEffect(()=>{let i=!1;return(async()=>{m({type:"started",method:"local"});try{let l;try{l=await ze(async()=>{const u=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"});if(u.status>=500)throw new Ie(u);return u},{maxAttempts:5,minTimeout:1e3,maxTimeout:1e4,multiplier:2,jitter:0})}catch(u){if(u instanceof He&&u.cause instanceof Ie)l=u.cause.response;else throw u}if(!l.ok){const u=await l.json().catch(()=>({}));throw new Error(u?.error||c("common.authEntry.autoLoginFailed"))}i||(m({type:"succeeded",method:"local"}),window.location.href=et(r))}catch(l){i||(m({type:"failed",method:"local",stage:"authenticate",error:l instanceof Error?l.message:String(l)}),p(l instanceof Error?l.message:c("common.authEntry.autoLoginFailed")))}})(),()=>{i=!0}},[r]),f?t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-destructive mb-2",children:c("common.authEntry.autoLoginFailedWithError",{error:f})}),t.jsx("p",{className:"text-muted-foreground text-sm",children:c("common.authEntry.tryRestartingServer")})]})}):t.jsx(Fe,{})}function st({callbackURL:r,providerId:e,ssoSignIn:c,onAuthEvent:f}){const p=y.useEffectEvent(i=>{try{f?.(i)}catch{}}),m=y.useEffectEvent(c);return y.useEffect(()=>{(async()=>{p({type:"started",method:"sso",provider:e});try{const i=await m({providerId:e,callbackURL:r});if(i.error)throw new Error(i.error.message||"SSO redirect failed")}catch(i){p({type:"failed",method:"sso",provider:e,stage:"redirect",error:i instanceof Error?i.message:String(i)})}})()},[e,r]),t.jsx(Fe,{})}function lt(r){const e=ce.c(45),{callbackUrl:c,redirectUrl:f,allowAutoLogin:p,title:m,subtitle:i,brand:l,copy:u,variant:I,allowedSocialProviders:N,allowPassword:A,onAuthEvent:v}=r,E=p===void 0?!0:p,h=xe(),{sso:d,emailAndPassword:g,magicLink:P,emailOtp:Z,socialProviders:ee,localMode:me}=ke(),x=Xe(),O=f||c,F=x?.actions;let b;e[0]!==F?(b={..._e,...F},e[0]=F,e[1]=b):b=e[1];const M=b;if(x?.isPending){let a;e[2]!==h?(a=h("common.authEntry.finishSignInInBrowser"),e[2]=h,e[3]=a):a=e[3];let S;return e[4]!==x.loginError||e[5]!==a?(S=t.jsx(Ce,{label:a,error:x.loginError}),e[4]=x.loginError,e[5]=a,e[6]=S):S=e[6],S}if(x?.isCompletingSession){let a;e[7]!==h?(a=h("common.authEntry.finishingSignIn"),e[7]=h,e[8]=a):a=e[8];let S;return e[9]!==x.completeSessionError||e[10]!==a?(S=t.jsx(Ce,{label:a,error:x.completeSessionError}),e[9]=x.completeSessionError,e[10]=a,e[11]=S):S=e[11],S}if(me&&E){let a;return e[12]!==v||e[13]!==O?(a=t.jsx(tt,{redirectTo:O,onAuthEvent:v}),e[12]=v,e[13]=O,e[14]=a):a=e[14],a}if(d.enabled){let a;return e[15]!==v||e[16]!==O||e[17]!==M.ssoSignIn||e[18]!==d.providerId?(a=t.jsx(st,{callbackURL:O,providerId:d.providerId,ssoSignIn:M.ssoSignIn,onAuthEvent:v}),e[15]=v,e[16]=O,e[17]=M.ssoSignIn,e[18]=d.providerId,e[19]=a):a=e[19],a}if(x&&Je({emailAndPassword:g,emailOtp:Z,socialProviders:ee,magicLink:P,sso:d})){let a;return e[20]!==x.isPending||e[21]!==x.login||e[22]!==x.loginError?(a=t.jsx(Ze,{onContinue:x.login,isPending:x.isPending,error:x.loginError}),e[20]=x.isPending,e[21]=x.login,e[22]=x.loginError,e[23]=a):a=e[23],a}if(g.enabled||P.enabled||Z.enabled||ee.enabled){const a=x?.loginError??x?.completeSessionError??null;let S;e[24]!==A||e[25]!==N||e[26]!==l||e[27]!==c||e[28]!==u||e[29]!==v||e[30]!==F||e[31]!==f||e[32]!==i||e[33]!==m||e[34]!==I?(S=t.jsx(Ye,{redirectUrl:f,callbackUrl:c,title:m,subtitle:i,brand:l,copy:u,variant:I,allowedSocialProviders:N,allowPassword:A,onAuthEvent:v,actions:F}),e[24]=A,e[25]=N,e[26]=l,e[27]=c,e[28]=u,e[29]=v,e[30]=F,e[31]=f,e[32]=i,e[33]=m,e[34]=I,e[35]=S):S=e[35];const q=S;if(!a)return q;let T;e[36]!==a?(T=t.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:a}),e[36]=a,e[37]=T):T=e[37];let L;return e[38]!==q||e[39]!==T?(L=t.jsxs("div",{className:"grid gap-4",children:[T,q]}),e[38]=q,e[39]=T,e[40]=L):L=e[40],L}let _;e[41]!==h?(_=h("common.authEntry.noLoginOptions"),e[41]=h,e[42]=_):_=e[42];let V;return e[43]!==_?(V=t.jsx("div",{children:_}),e[43]=_,e[44]=V):V=e[44],V}export{lt as A,Ge as u};
|
|
1
|
+
import{a as B,D as ke,r as y,e as ae,p as $,j as t,m as j,B as pe,o as Be,n as $e,K as oe,c as ce,b as xe,S as Fe}from"./index-v4xr9fBY.js";import{I as X}from"./input-BhxRA_PT.js";import{i as Ve}from"./use-is-desktop-app-BNujXJc_.js";import{S as Qe}from"./spinner-B-_zF0cw.js";import{r as ze,R as He}from"./retry-CErkP7V6.js";const _e={submitEmailPassword:({mode:r,email:e,password:c,name:f})=>r==="sign_up"?B.signUp.email({email:e,password:c,name:f||""}):B.signIn.email({email:e,password:c}),requestPasswordReset:({email:r,redirectTo:e})=>B.requestPasswordReset({email:r,redirectTo:e}),sendOtp:({email:r})=>B.emailOtp.sendVerificationOtp({email:r,type:"sign-in"}),submitOtp:({email:r,otp:e})=>B.signIn.emailOtp({email:r,otp:e}),socialSignIn:({provider:r,callbackURL:e})=>B.signIn.social({provider:r,callbackURL:e}),ssoSignIn:({providerId:r,callbackURL:e})=>B.signIn.sso({providerId:r,callbackURL:e}),onAuthenticated:r=>{window.location.href=r}},le="font-medium text-[#8CAA25] hover:underline disabled:opacity-50",Ke={signUpFailed:"Sign up failed",signInFailed:"Sign in failed",authenticationFailed:"Authentication failed",resetEmailFailed:"Failed to send reset email",otpSendFailed:"Failed to send code",invalidCode:"Invalid code",invalidEmail:"Invalid email address",invalidEmailOrPassword:"Invalid email or password. Please try again.",accountExists:"An account with this email already exists. Try signing in instead.",networkError:"Network error. Please check your connection and try again.",tooManyAttempts:"Too many attempts. Please wait a moment and try again.",invalidOrExpiredCode:"Invalid or expired code. Please try again.",genericError:"An error occurred. Please try again.",resetPasswordTitle:"Reset your password",verificationCodeTitle:"Enter verification code",welcomeTitle:"Welcome to deco",resetPasswordSubtitle:"We'll send you a reset link",codeSentTo:r=>`Code sent to ${r}`,defaultSubtitle:"Sign in or create a new account",resetEmailSent:"Check your email for a password reset link.",continueWith:r=>`Continue with ${r}`,divider:"or",emailLabel:"Email",emailPlaceholder:"Email address",sending:"Sending...",sendCode:"Send code",verificationCodeLabel:"Verification code",enterCodePlaceholder:"Enter code",verifying:"Verifying...",verify:"Verify",useDifferentEmail:"Use a different email",sendResetLink:"Send reset link",nameLabel:"Name",namePlaceholder:"Your name",passwordLabel:"Password",forgotPassword:"Forgot password?",creatingAccount:"Creating account...",signingIn:"Signing in...",continue:"Continue",backToSignIn:"Back to sign in",signInWithPassword:"Sign in with password instead",alreadyHaveAccount:"Already have an account? ",dontHaveAccount:"Don't have an account? ",signIn:"Sign in",signUp:"Sign up",signInWithEmailCode:"Sign in with email code"};function Ye({redirectUrl:r,callbackUrl:e="/",title:c,subtitle:f,brand:p,copy:m,variant:i="default",allowedSocialProviders:l,allowPassword:u=!0,onAuthEvent:I,actions:N}){const{emailAndPassword:A,resetPassword:v,emailOtp:E,socialProviders:h}=ke(),d={..._e,...N},g=s=>{try{I?.(s)}catch{}},P=i==="compact",Z=l?h.providers.filter(s=>l.includes(s.name)):h.providers,ee=h.enabled&&Z.length>0,me=A.enabled&&(u||!E.enabled&&!ee),x=h.enabled&&h.providers.length>0&&!ee&&!E.enabled&&!me?h.providers:Z,O=h.enabled&&x.length>0,F=A.enabled&&(u||!E.enabled&&!O),[b,M]=y.useState(""),[_,V]=y.useState(""),[a,S]=y.useState(""),[q,T]=y.useState(""),[L,ue]=y.useState(!1),[ge,Le]=y.useState(()=>E.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[k,Q]=y.useState(""),[be,ye]=y.useState(!1),[Oe,he]=y.useState(null),n={...Ke,...m},te=y.useId(),z=`${te}-email`,H=`${te}-email-error`,ve=`${te}-name`,we=`${te}-password`,Ee=`${te}-otp`,C=ge==="signUp",W=ge==="forgotPassword",R=ge==="emailOtp",se=ae({mutationFn:async({email:s,password:o,name:D})=>{try{const J=await d.submitEmailPassword({mode:C?"sign_up":"sign_in",email:s,password:o,name:D});if(J.error)throw new Error(J.error.message||(C?n.signUpFailed:n.signInFailed));return J}catch(J){throw J instanceof Error?J:new Error(n.authenticationFailed)}},onMutate:()=>{g({type:"started",method:"email_password",mode:C?"sign_up":"sign_in"})},onSuccess:()=>{g({type:"succeeded",method:"email_password",mode:C?"sign_up":"sign_in"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),d.onAuthenticated(r??e)},onError:s=>{g({type:"failed",method:"email_password",mode:C?"sign_up":"sign_in",stage:"authenticate",error:s instanceof Error?s.message:String(s)}),$(C?"user_signup_failed":"user_signin_failed",{error:s instanceof Error?s.message:String(s)})}}),ne=ae({mutationFn:async({email:s})=>{const o=await d.requestPasswordReset({email:s,redirectTo:"/reset-password"});if(o.error)throw new Error(o.error.message||n.resetEmailFailed);return o},onSuccess:()=>{$("password_reset_requested"),ye(!0)},onError:s=>{$("password_reset_request_failed",{error:s instanceof Error?s.message:String(s)})}}),K=ae({mutationFn:async({email:s})=>{const o=await d.sendOtp({email:s});if(o.error)throw new Error(o.error.message||n.otpSendFailed);return o},onMutate:()=>{g({type:"started",method:"email_otp"})},onSuccess:()=>{g({type:"otp_sent",method:"email_otp"}),$("email_otp_sent"),ue(!0)},onError:s=>{g({type:"failed",method:"email_otp",stage:"send_otp",error:s instanceof Error?s.message:String(s)}),$("email_otp_send_failed",{error:s instanceof Error?s.message:String(s)})}}),Y=ae({mutationFn:async({email:s,otp:o})=>{const D=await d.submitOtp({email:s,otp:o});if(D.error)throw new Error(D.error.message||n.invalidCode);return D},onMutate:()=>{g({type:"otp_submitted",method:"email_otp"})},onSuccess:()=>{g({type:"succeeded",method:"email_otp"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),d.onAuthenticated(r??e)},onError:s=>{g({type:"failed",method:"email_otp",stage:"verify_otp",error:s instanceof Error?s.message:String(s)}),$("email_otp_verify_failed",{error:s instanceof Error?s.message:String(s)})}}),ie=s=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s),fe=()=>{b.trim()&&!ie(b)&&Q(n.invalidEmail)},Te=s=>{if(s.preventDefault(),!ie(b)){Q(n.invalidEmail),g({type:"failed",method:"email_password",mode:C?"sign_up":"sign_in",stage:"validation",error:"invalid_email"});return}se.mutate({email:b,password:_,name:a})},Re=s=>{if(s.preventDefault(),!ie(b)){Q(n.invalidEmail);return}ne.mutate({email:b})},De=s=>{if(s.preventDefault(),!ie(b)){Q(n.invalidEmail),g({type:"failed",method:"email_otp",stage:"validation",error:"invalid_email"});return}K.mutate({email:b})},Me=s=>{s.preventDefault(),Y.mutate({email:b,otp:q})},G=s=>o=>{s(o.target.value),Se&&se.reset(),je&&ne.reset(),Ne&&(K.reset(),Y.reset()),s===M&&k&&Q("")},re=s=>{Le(s),S(""),T(""),ue(!1),Q(""),ye(!1),he(null),se.reset(),ne.reset(),K.reset(),Y.reset()},w=se.isPending||ne.isPending||K.isPending||Y.isPending,Se=se.error,je=ne.error,Ne=K.error||Y.error,U=C?b.trim()&&_.trim()&&a.trim():W?b.trim():R?L?q.trim():b.trim():b.trim()&&_.trim(),qe=s=>{if(!s)return null;const o=s.message.toLowerCase();return o.includes("unauthorized")||o.includes("401")?n.invalidEmailOrPassword:o.includes("already exists")||o.includes("409")?n.accountExists:o.includes("network")||o.includes("fetch")?n.networkError:o.includes("rate limit")||o.includes("429")?n.tooManyAttempts:o.includes("invalid")&&o.includes("otp")?n.invalidOrExpiredCode:s.message||n.genericError},Pe=Se||je||Ne||Oe,We=async s=>{g({type:"started",method:"social",provider:s}),he(null);try{const o=await d.socialSignIn({provider:s,callbackURL:r??e});if(o.error)throw new Error(o.error.message||n.authenticationFailed)}catch(o){const D=o instanceof Error?o.message:String(o);g({type:"failed",method:"social",provider:s,stage:"redirect",error:D}),$("social_signin_failed",{provider:s,error:D}),he(o instanceof Error?o:new Error(D))}},Ue=W?n.resetPasswordTitle:R&&L?n.verificationCodeTitle:c??n.welcomeTitle,Ae=W?n.resetPasswordSubtitle:R&&L?n.codeSentTo(b):f===void 0?n.defaultSubtitle:f;return t.jsxs("div",{className:j("grid w-full",P?"gap-5":"gap-10"),children:[p??t.jsxs("div",{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h1",{className:j("font-medium",P?"text-xl leading-7":"text-2xl leading-8"),children:Ue}),Ae&&t.jsx("p",{className:j("text-muted-foreground",P?"text-sm leading-5":"text-base leading-6"),children:Ae})]}),Pe&&t.jsx("div",{role:"alert",className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:qe(Pe)}),be&&t.jsx("div",{role:"status",className:"rounded-xl bg-success/10 p-3 text-sm text-success text-center",children:n.resetEmailSent}),!W&&!(R&&L)&&O&&t.jsx("div",{className:"grid gap-2",children:x.map(s=>t.jsxs("button",{type:"button",disabled:w,onClick:()=>{We(s.name)},className:j("flex w-full items-center justify-center gap-3 bg-background px-3 text-sm font-medium text-foreground card-shadow transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 dark:bg-input/30 dark:hover:bg-input/50",P?"h-11 rounded-lg":"h-12 rounded-xl"),children:[s.icon&&t.jsx("img",{src:s.icon,alt:"",className:j("h-5 w-5",s.name==="github"&&"dark:invert"),"aria-hidden":"true"}),n.continueWith(s.name.charAt(0).toUpperCase()+s.name.slice(1))]},s.name))}),!W&&!(R&&L)&&O&&(F||E.enabled)&&t.jsxs("div",{className:j("flex items-center gap-2.5",P?"my-0":"-my-4"),children:[t.jsx("div",{className:"h-px flex-1 bg-border"}),t.jsx("span",{className:j("text-muted-foreground",P?"text-sm":"text-base"),children:n.divider}),t.jsx("div",{className:"h-px flex-1 bg-border"})]}),R&&E.enabled&&t.jsx(t.Fragment,{children:L?t.jsxs("form",{onSubmit:Me,className:j("grid gap-2",P&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:Ee,className:j("text-sm font-medium text-foreground",P&&"sr-only"),children:n.verificationCodeLabel}),t.jsx(X,{id:Ee,type:"text",placeholder:n.enterCodePlaceholder,value:q,onChange:G(T),required:!0,disabled:w,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11 rounded-lg"})]}),t.jsx("button",{type:"submit",disabled:w||!U,className:j("flex items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:pointer-events-none disabled:opacity-50",P?"h-11 sm:w-auto":"h-12 w-full"),children:w?n.verifying:n.verify}),t.jsx("button",{type:"button",onClick:()=>{ue(!1),T(""),K.reset(),Y.reset()},disabled:w,className:j("mt-1 text-sm text-muted-foreground transition-colors hover:text-foreground",P&&"sm:col-span-2"),children:n.useDifferentEmail})]}):t.jsxs("form",{onSubmit:De,className:j("grid gap-2",P&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:z,className:j("text-sm font-medium text-foreground",P&&"sr-only"),children:n.emailLabel}),t.jsx(X,{id:z,type:"email",placeholder:n.emailPlaceholder,value:b,onChange:G(M),onBlur:fe,required:!0,disabled:w,autoComplete:"email","aria-invalid":!!k,"aria-describedby":k?H:void 0,className:"h-11 rounded-lg"}),k&&t.jsx("p",{id:H,role:"alert",className:"text-xs text-destructive",children:k})]}),t.jsx("button",{type:"submit",disabled:w||!U,className:j("flex items-center justify-center rounded-lg bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 disabled:pointer-events-none disabled:opacity-50",P?"h-11 sm:w-auto":"h-12 w-full"),children:w?n.sending:n.sendCode})]})}),W&&F&&!be&&t.jsxs("form",{onSubmit:Re,className:"grid gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:z,className:"block text-sm font-medium text-foreground mb-2",children:n.emailLabel}),t.jsx(X,{id:z,type:"email",placeholder:"you@example.com",value:b,onChange:G(M),onBlur:fe,required:!0,disabled:w,autoComplete:"email","aria-invalid":!!k,"aria-describedby":k?H:void 0,className:"h-11 rounded-lg"}),k&&t.jsx("p",{id:H,role:"alert",className:"text-xs text-destructive mt-1.5",children:k})]}),t.jsx(pe,{type:"submit",disabled:w||!U,className:"w-full font-semibold",size:"xl",children:w?n.sending:n.sendResetLink})]}),!W&&!R&&F&&t.jsxs("form",{onSubmit:Te,className:"grid gap-5",children:[C&&t.jsxs("div",{children:[t.jsx("label",{htmlFor:ve,className:"block text-sm font-medium text-foreground mb-2",children:n.nameLabel}),t.jsx(X,{id:ve,type:"text",placeholder:n.namePlaceholder,value:a,onChange:G(S),required:!0,disabled:w,autoComplete:"name",className:"h-11 rounded-lg"})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:z,className:"block text-sm font-medium text-foreground mb-2",children:n.emailLabel}),t.jsx(X,{id:z,type:"email",placeholder:"you@example.com",value:b,onChange:G(M),onBlur:fe,required:!0,disabled:w,autoComplete:"email","aria-invalid":!!k,"aria-describedby":k?H:void 0,className:"h-11 rounded-lg"}),k&&t.jsx("p",{id:H,role:"alert",className:"text-xs text-destructive mt-1.5",children:k})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("label",{htmlFor:we,className:"block text-sm font-medium text-foreground",children:n.passwordLabel}),!C&&v.enabled&&t.jsx("button",{type:"button",onClick:()=>re("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:n.forgotPassword})]}),t.jsx(X,{id:we,type:"password",placeholder:"••••••••",value:_,onChange:G(V),required:!0,disabled:w,autoComplete:C?"new-password":"current-password",className:"h-11 rounded-lg"})]}),t.jsx("div",{className:j("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",U?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:t.jsx("div",{className:j("p-1",!U&&"pointer-events-none"),children:t.jsx(pe,{type:"submit",disabled:w||!U,className:j("w-full font-semibold"),size:"xl","aria-hidden":!U,children:w?C?n.creatingAccount:n.signingIn:n.continue})})})]}),t.jsx("div",{className:"text-sm text-muted-foreground",children:W?t.jsx("button",{type:"button",onClick:()=>re("signIn"),disabled:w,className:le,children:n.backToSignIn}):R&&F?t.jsx("button",{type:"button",onClick:()=>re("signIn"),disabled:w,className:le,children:n.signInWithPassword}):!R&&F?t.jsxs(t.Fragment,{children:[C?n.alreadyHaveAccount:n.dontHaveAccount,t.jsx("button",{type:"button",onClick:()=>re(C?"signIn":"signUp"),disabled:w,className:le,children:C?n.signIn:n.signUp}),E.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"mx-2",children:"·"}),t.jsx("button",{type:"button",onClick:()=>re("emailOtp"),disabled:w,className:le,children:n.signInWithEmailCode})]})]}):null})]})}async function de(){throw new Error("Tauri bridge is unavailable outside the desktop build")}function Ge(){const r=Be(),e=Ve(),c=$e({queryKey:oe.desktopAuthStatus(),queryFn:async()=>(await de()).fetchAuthStatus(),enabled:e,staleTime:3e4,refetchOnWindowFocus:!0}),[f,p]=y.useState(!1),[m,i]=y.useState(null),[l,u]=y.useState(!1),[I,N]=y.useState(null);y.useEffect(()=>{},[e,r]);async function A(){p(!0),i(null);try{const d=await de();await d.performAuthLogin();const g=await d.fetchAuthStatus();r.setQueryData(oe.desktopAuthStatus(),g)}catch(d){i(d instanceof Error?d.message:"Sign-in failed")}finally{p(!1)}}async function v(){p(!0);try{const d=await de();await d.performAuthLogout();const g=await d.fetchAuthStatus();r.setQueryData(oe.desktopAuthStatus(),g)}finally{p(!1)}}async function E(){u(!0),N(null);let d;try{d=await de()}catch(g){N(g instanceof Error?g.message:"Sign-in failed"),u(!1);return}try{await d.performAuthCompleteSession()}catch(g){N(g instanceof Error?g.message:"Sign-in failed")}finally{try{const g=await d.fetchAuthStatus();r.setQueryData(oe.desktopAuthStatus(),g)}finally{u(!1)}}}async function h(){await c.refetch()}return{status:c.data,isChecking:c.isLoading,isRetryingStatus:c.isFetching,isPending:f,loginError:m,login:A,logout:v,isCompletingSession:l,completeSessionError:I,completeSession:E,retryStatus:h}}function Je(r){return!(r.emailAndPassword.enabled||r.emailOtp.enabled||r.socialProviders.enabled)&&!r.sso.enabled&&r.magicLink.enabled}function Xe(){return ce.c(10),Ge(),null}function Ze(r){const e=ce.c(25),{onContinue:c,isPending:f,error:p}=r,m=xe();let i;e[0]!==m?(i=m("common.authEntry.browserOnlyTitle"),e[0]=m,e[1]=i):i=e[1];let l;e[2]!==i?(l=t.jsx("h1",{className:"text-lg font-medium text-foreground",children:i}),e[2]=i,e[3]=l):l=e[3];let u;e[4]!==m?(u=m("common.authEntry.browserOnlyDescription"),e[4]=m,e[5]=u):u=e[5];let I;e[6]!==u?(I=t.jsx("p",{className:"max-w-sm text-sm text-muted-foreground",children:u}),e[6]=u,e[7]=I):I=e[7];let N;e[8]!==l||e[9]!==I?(N=t.jsxs("div",{className:"flex flex-col gap-1",children:[l,I]}),e[8]=l,e[9]=I,e[10]=N):N=e[10];let A;e[11]!==c?(A=()=>{c()},e[11]=c,e[12]=A):A=e[12];let v;e[13]!==m?(v=m("common.authEntry.browserOnlyCta"),e[13]=m,e[14]=v):v=e[14];let E;e[15]!==f||e[16]!==A||e[17]!==v?(E=t.jsx(pe,{onClick:A,disabled:f,children:v}),e[15]=f,e[16]=A,e[17]=v,e[18]=E):E=e[18];let h;e[19]!==p?(h=p&&t.jsx("p",{className:"max-w-sm text-xs text-destructive",children:p}),e[19]=p,e[20]=h):h=e[20];let d;return e[21]!==N||e[22]!==E||e[23]!==h?(d=t.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[N,E,h]}),e[21]=N,e[22]=E,e[23]=h,e[24]=d):d=e[24],d}function Ce(r){const e=ce.c(8),{label:c,error:f}=r;let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(Qe,{size:"lg"}),e[0]=p):p=e[0];let m;e[1]!==c?(m=c&&t.jsx("p",{className:"text-sm text-muted-foreground",children:c}),e[1]=c,e[2]=m):m=e[2];let i;e[3]!==f?(i=f&&t.jsx("p",{className:"max-w-sm text-xs text-destructive",children:f}),e[3]=f,e[4]=i):i=e[4];let l;return e[5]!==m||e[6]!==i?(l=t.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[p,m,i]}),e[5]=m,e[6]=i,e[7]=l):l=e[7],l}class Ie{constructor(e){this.response=e}response}function et(r){return r.startsWith("/")&&!r.startsWith("//")?r:"/"}function tt({redirectTo:r,onAuthEvent:e}){const c=xe(),[f,p]=y.useState(null),m=y.useEffectEvent(i=>{try{e?.(i)}catch{}});return y.useEffect(()=>{let i=!1;return(async()=>{m({type:"started",method:"local"});try{let l;try{l=await ze(async()=>{const u=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"});if(u.status>=500)throw new Ie(u);return u},{maxAttempts:5,minTimeout:1e3,maxTimeout:1e4,multiplier:2,jitter:0})}catch(u){if(u instanceof He&&u.cause instanceof Ie)l=u.cause.response;else throw u}if(!l.ok){const u=await l.json().catch(()=>({}));throw new Error(u?.error||c("common.authEntry.autoLoginFailed"))}i||(m({type:"succeeded",method:"local"}),window.location.href=et(r))}catch(l){i||(m({type:"failed",method:"local",stage:"authenticate",error:l instanceof Error?l.message:String(l)}),p(l instanceof Error?l.message:c("common.authEntry.autoLoginFailed")))}})(),()=>{i=!0}},[r]),f?t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-destructive mb-2",children:c("common.authEntry.autoLoginFailedWithError",{error:f})}),t.jsx("p",{className:"text-muted-foreground text-sm",children:c("common.authEntry.tryRestartingServer")})]})}):t.jsx(Fe,{})}function st({callbackURL:r,providerId:e,ssoSignIn:c,onAuthEvent:f}){const p=y.useEffectEvent(i=>{try{f?.(i)}catch{}}),m=y.useEffectEvent(c);return y.useEffect(()=>{(async()=>{p({type:"started",method:"sso",provider:e});try{const i=await m({providerId:e,callbackURL:r});if(i.error)throw new Error(i.error.message||"SSO redirect failed")}catch(i){p({type:"failed",method:"sso",provider:e,stage:"redirect",error:i instanceof Error?i.message:String(i)})}})()},[e,r]),t.jsx(Fe,{})}function lt(r){const e=ce.c(45),{callbackUrl:c,redirectUrl:f,allowAutoLogin:p,title:m,subtitle:i,brand:l,copy:u,variant:I,allowedSocialProviders:N,allowPassword:A,onAuthEvent:v}=r,E=p===void 0?!0:p,h=xe(),{sso:d,emailAndPassword:g,magicLink:P,emailOtp:Z,socialProviders:ee,localMode:me}=ke(),x=Xe(),O=f||c,F=x?.actions;let b;e[0]!==F?(b={..._e,...F},e[0]=F,e[1]=b):b=e[1];const M=b;if(x?.isPending){let a;e[2]!==h?(a=h("common.authEntry.finishSignInInBrowser"),e[2]=h,e[3]=a):a=e[3];let S;return e[4]!==x.loginError||e[5]!==a?(S=t.jsx(Ce,{label:a,error:x.loginError}),e[4]=x.loginError,e[5]=a,e[6]=S):S=e[6],S}if(x?.isCompletingSession){let a;e[7]!==h?(a=h("common.authEntry.finishingSignIn"),e[7]=h,e[8]=a):a=e[8];let S;return e[9]!==x.completeSessionError||e[10]!==a?(S=t.jsx(Ce,{label:a,error:x.completeSessionError}),e[9]=x.completeSessionError,e[10]=a,e[11]=S):S=e[11],S}if(me&&E){let a;return e[12]!==v||e[13]!==O?(a=t.jsx(tt,{redirectTo:O,onAuthEvent:v}),e[12]=v,e[13]=O,e[14]=a):a=e[14],a}if(d.enabled){let a;return e[15]!==v||e[16]!==O||e[17]!==M.ssoSignIn||e[18]!==d.providerId?(a=t.jsx(st,{callbackURL:O,providerId:d.providerId,ssoSignIn:M.ssoSignIn,onAuthEvent:v}),e[15]=v,e[16]=O,e[17]=M.ssoSignIn,e[18]=d.providerId,e[19]=a):a=e[19],a}if(x&&Je({emailAndPassword:g,emailOtp:Z,socialProviders:ee,magicLink:P,sso:d})){let a;return e[20]!==x.isPending||e[21]!==x.login||e[22]!==x.loginError?(a=t.jsx(Ze,{onContinue:x.login,isPending:x.isPending,error:x.loginError}),e[20]=x.isPending,e[21]=x.login,e[22]=x.loginError,e[23]=a):a=e[23],a}if(g.enabled||P.enabled||Z.enabled||ee.enabled){const a=x?.loginError??x?.completeSessionError??null;let S;e[24]!==A||e[25]!==N||e[26]!==l||e[27]!==c||e[28]!==u||e[29]!==v||e[30]!==F||e[31]!==f||e[32]!==i||e[33]!==m||e[34]!==I?(S=t.jsx(Ye,{redirectUrl:f,callbackUrl:c,title:m,subtitle:i,brand:l,copy:u,variant:I,allowedSocialProviders:N,allowPassword:A,onAuthEvent:v,actions:F}),e[24]=A,e[25]=N,e[26]=l,e[27]=c,e[28]=u,e[29]=v,e[30]=F,e[31]=f,e[32]=i,e[33]=m,e[34]=I,e[35]=S):S=e[35];const q=S;if(!a)return q;let T;e[36]!==a?(T=t.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:a}),e[36]=a,e[37]=T):T=e[37];let L;return e[38]!==q||e[39]!==T?(L=t.jsxs("div",{className:"grid gap-4",children:[T,q]}),e[38]=q,e[39]=T,e[40]=L):L=e[40],L}let _;e[41]!==h?(_=h("common.authEntry.noLoginOptions"),e[41]=h,e[42]=_):_=e[42];let V;return e[43]!==_?(V=t.jsx("div",{children:_}),e[43]=_,e[44]=V):V=e[44],V}export{lt as A,Ge as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as g,m as p,j as f}from"./index-
|
|
1
|
+
import{c as g,m as p,j as f}from"./index-v4xr9fBY.js";function w(b){const e=g.c(20),{children:m,visual:r,align:j}=b,d=(j===void 0?"center":j)==="fill",x=d?"min-h-[100dvh] md:min-h-screen":"min-h-screen";let l;e[0]!==x?(l=p("flex w-full",x),e[0]=x,e[1]=l):l=e[1];const h=d?"h-[100dvh] justify-start pt-4 pb-8 md:h-auto":"justify-center py-6";let t;e[2]!==h?(t=p("flex flex-1 flex-col items-center bg-sidebar px-6 md:justify-center md:px-10 md:py-10",h),e[2]=h,e[3]=t):t=e[3];const u=d&&"flex min-h-0 flex-1 flex-col md:block md:flex-none";let s;e[4]!==u?(s=p("w-full max-w-[440px]",u),e[4]=u,e[5]=s):s=e[5];let i;e[6]!==m||e[7]!==s?(i=f.jsx("div",{className:s,children:m}),e[6]=m,e[7]=s,e[8]=i):i=e[8];let n;e[9]!==t||e[10]!==i?(n=f.jsx("section",{className:t,children:i}),e[9]=t,e[10]=i,e[11]=n):n=e[11];let c;e[12]!==r?(c=r??f.jsx("img",{src:"/onboarding-placeholder.png",alt:"",className:"absolute inset-0 h-full w-full object-cover"}),e[12]=r,e[13]=c):c=e[13];let a;e[14]!==c?(a=f.jsx("aside",{className:"relative hidden flex-1 overflow-hidden bg-muted md:flex",children:c}),e[14]=c,e[15]=a):a=e[15];let o;return e[16]!==a||e[17]!==l||e[18]!==n?(o=f.jsxs("main",{className:l,children:[n,a]}),e[16]=a,e[17]=l,e[18]=n,e[19]=o):o=e[19],o}export{w as A};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./index-
|
|
1
|
+
import"./index-v4xr9fBY.js";import{i as u,a as p}from"./mcp-oauth-xeI046T8.js";async function k({connectionId:n,orgId:s,orgSlug:o,persistFallback:r}){const c=new URL(`/api/${o}/mcp/${n}`,window.location.origin),i=await u({url:c.href,token:null,orgId:s});if(!i.supportsOAuth||i.isAuthenticated)return{ran:!1,ok:!0,error:null};const{token:t,tokenInfo:e,error:a}=await p({connectionId:n,orgSlug:o,scope:"offline_access"});if(a||!t)return{ran:!0,ok:!1,error:a??"no token received"};if(e)try{(await fetch(`/api/${o}/connections/${n}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn,scope:e.scope,clientId:e.clientId,clientSecret:e.clientSecret,tokenEndpoint:e.tokenEndpoint})})).ok||await r(t)}catch{await r(t)}else await r(t);return{ran:!0,ok:!0,error:null}}export{k as a};
|
package/dist/client/assets/{automation-list-row-D5CaUfAA.js → automation-list-row-DwHzmOHN.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as G,b as J,r as U,m as W,j as t,B as X}from"./index-
|
|
1
|
+
import{c as G,b as J,r as U,m as W,j as t,B as X}from"./index-v4xr9fBY.js";import{c as Y,d as Z,b as ee,f as te,g as se,e as ie,a as ne,A as oe}from"./alert-dialog-BbzswsKi.js";import{D as ae,c as re,b as le,a as ce}from"./dropdown-menu-CDi9V4K2.js";import{s as me}from"./Stars02-pjrDL108.js";import{a as ue}from"./DotsVertical-DNiWmGQW.js";import{s as de}from"./Trash01-CQlBG8ML.js";import{i as fe}from"./Zap-DSrBTwKT.js";import{u as ge}from"./use-virtual-mcp-kUy0NdbH.js";import{A as xe}from"./agent-icon-B0dE0gXI.js";import{u as pe}from"./use-automations-k3FdbNQZ.js";function ke(c){const e=G.c(80),{automation:s,showAgent:a,onClick:n}=c,i=J(),{remove:o}=pe(),[l,O]=U.useState(!1),r=ge(a?s.virtual_mcp_id:void 0);let S;e[0]!==s.id||e[1]!==o?(S=()=>{o.mutate(s.id),O(!1)},e[0]=s.id,e[1]=o,e[2]=S):S=e[2];const I=S;let E;e[3]!==n?(E=m=>{m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),n())},e[3]=n,e[4]=E):E=e[4];const H=E,V=s.active&&s.trigger_count>0?"bg-success":"bg-muted-foreground/40";let u;e[5]!==V?(u=W("inline-block size-2 rounded-full shrink-0",V),e[5]=V,e[6]=u):u=e[6];const q=s.active&&s.trigger_count>0?"automations.automationListRow.ariaActive":s.active?"automations.automationListRow.ariaNoTriggers":"automations.automationListRow.ariaPaused";let d;e[7]!==i||e[8]!==q?(d=i(q),e[7]=i,e[8]=q,e[9]=d):d=e[9];let f;e[10]!==u||e[11]!==d?(f=t.jsx("span",{className:u,"aria-label":d}),e[10]=u,e[11]=d,e[12]=f):f=e[12];let g;e[13]!==r?.icon||e[14]!==r?.title||e[15]!==s.name||e[16]!==a?(g=a&&t.jsx(xe,{icon:r?.icon??null,name:r?.title??s.name,size:"xs",className:"shrink-0"}),e[13]=r?.icon,e[14]=r?.title,e[15]=s.name,e[16]=a,e[17]=g):g=e[17];let x;e[18]!==s.name?(x=t.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:s.name}),e[18]=s.name,e[19]=x):x=e[19];let p;e[20]!==r||e[21]!==a?(p=a&&r&&t.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["· ",r.title]}),e[20]=r,e[21]=a,e[22]=p):p=e[22];let h;e[23]!==p||e[24]!==x?(h=t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[x,p]}),e[23]=p,e[24]=x,e[25]=h):h=e[25];let j;e[26]!==s.nearest_next_run_at||e[27]!==s.trigger_count?(j=t.jsx(we,{triggerCount:s.trigger_count,nextRunAt:s.nearest_next_run_at}),e[26]=s.nearest_next_run_at,e[27]=s.trigger_count,e[28]=j):j=e[28];let w;e[29]!==h||e[30]!==j?(w=t.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[h,j]}),e[29]=h,e[30]=j,e[31]=w):w=e[31];let F;e[32]===Symbol.for("react.memo_cache_sentinel")?(F=t.jsx(ae,{asChild:!0,children:t.jsx(X,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 opacity-0 group-hover:opacity-100 data-[state=open]:opacity-100 transition-opacity",children:t.jsx(ue,{size:16})})}),e[32]=F):F=e[32];let $,B;e[33]===Symbol.for("react.memo_cache_sentinel")?($=m=>{m.stopPropagation(),O(!0)},B=t.jsx(de,{size:16}),e[33]=$,e[34]=B):($=e[33],B=e[34]);let v;e[35]!==i?(v=i("automations.automationListRow.delete"),e[35]=i,e[36]=v):v=e[36];let _;e[37]!==v?(_=t.jsx("div",{onClick:je,onKeyDown:he,role:"presentation",className:"shrink-0",children:t.jsxs(re,{children:[F,t.jsx(le,{align:"end",children:t.jsxs(ce,{variant:"destructive",onClick:$,children:[B,v]})})]})}),e[37]=v,e[38]=_):_=e[38];let b;e[39]!==H||e[40]!==n||e[41]!==w||e[42]!==_||e[43]!==f||e[44]!==g?(b=t.jsxs("div",{role:"button",tabIndex:0,onClick:n,onKeyDown:H,className:"group w-full flex items-center gap-3 px-4 py-3 border-b border-border text-left hover:bg-muted/50 transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[f,g,w,_]}),e[39]=H,e[40]=n,e[41]=w,e[42]=_,e[43]=f,e[44]=g,e[45]=b):b=e[45];let A;e[46]!==i?(A=i("automations.automationListRow.deleteTitle"),e[46]=i,e[47]=A):A=e[47];let D;e[48]!==A?(D=t.jsx(Y,{children:A}),e[48]=A,e[49]=D):D=e[49];let N;e[50]!==s.name||e[51]!==i?(N=i("automations.automationListRow.deleteDescription",{name:s.name}),e[50]=s.name,e[51]=i,e[52]=N):N=e[52];let R;e[53]!==N?(R=t.jsx(Z,{children:N}),e[53]=N,e[54]=R):R=e[54];let y;e[55]!==D||e[56]!==R?(y=t.jsxs(ee,{children:[D,R]}),e[55]=D,e[56]=R,e[57]=y):y=e[57];let C;e[58]!==i?(C=i("automations.automationListRow.cancel"),e[58]=i,e[59]=C):C=e[59];let L;e[60]!==C?(L=t.jsx(te,{children:C}),e[60]=C,e[61]=L):L=e[61];const Q=o.isPending;let k;e[62]!==i?(k=i("automations.automationListRow.deleteButton"),e[62]=i,e[63]=k):k=e[63];let P;e[64]!==I||e[65]!==o.isPending||e[66]!==k?(P=t.jsx(se,{onClick:I,disabled:Q,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:k}),e[64]=I,e[65]=o.isPending,e[66]=k,e[67]=P):P=e[67];let T;e[68]!==L||e[69]!==P?(T=t.jsxs(ie,{children:[L,P]}),e[68]=L,e[69]=P,e[70]=T):T=e[70];let z;e[71]!==y||e[72]!==T?(z=t.jsxs(ne,{children:[y,T]}),e[71]=y,e[72]=T,e[73]=z):z=e[73];let M;e[74]!==l||e[75]!==z?(M=t.jsx(oe,{open:l,onOpenChange:O,children:z}),e[74]=l,e[75]=z,e[76]=M):M=e[76];let K;return e[77]!==b||e[78]!==M?(K=t.jsxs(t.Fragment,{children:[b,M]}),e[77]=b,e[78]=M,e[79]=K):K=e[79],K}function he(c){return c.stopPropagation()}function je(c){return c.stopPropagation()}function we(c){const e=G.c(8),{triggerCount:s,nextRunAt:a}=c,n=J();if(s===0){let o;e[0]!==n?(o=n("automations.automationListRow.noTriggers"),e[0]=n,e[1]=o):o=e[1];let l;return e[2]!==o?(l=t.jsx("span",{className:"text-xs text-muted-foreground",children:o}),e[2]=o,e[3]=l):l=e[3],l}let i;return e[4]!==a||e[5]!==n||e[6]!==s?(i=t.jsx("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground min-w-0",children:a?t.jsxs(t.Fragment,{children:[t.jsx(me,{size:12,className:"shrink-0"}),t.jsx("span",{className:"truncate",children:n("automations.automationListRow.nextRun",{date:new Date(a).toLocaleString()})})]}):t.jsxs(t.Fragment,{children:[t.jsx(fe,{size:12,className:"shrink-0"}),t.jsx("span",{className:"truncate",children:n("automations.automationListRow.triggers",{count:s})})]})}),e[4]=a,e[5]=n,e[6]=s,e[7]=i):i=e[7],i}export{ke as A};
|