decocms 4.125.2 → 4.125.4
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-DHfPbwmm.js → AlertCircle-CcEccjyR.js} +1 -1
- package/dist/client/assets/{AreaChart-D-FRclvq.js → AreaChart-AgjZ5gZj.js} +1 -1
- package/dist/client/assets/{ArrowRight-aoYnUAfi.js → ArrowRight-CIvdZA4z.js} +1 -1
- package/dist/client/assets/{ArrowUp-gaHL-JMD.js → ArrowUp-Cl5ZoO5X.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-owfb6ER7.js → ArrowUpRight-CtNQ3e4k.js} +1 -1
- package/dist/client/assets/{Check-DIcuBCVN.js → Check-Dtxj2LqI.js} +1 -1
- package/dist/client/assets/{CheckCircle-C9FuklSy.js → CheckCircle-RrNMKG8e.js} +1 -1
- package/dist/client/assets/{ChevronDown-B9FSangp.js → ChevronDown-CmbEX7TO.js} +1 -1
- package/dist/client/assets/{ChevronRight-BZGq8ec4.js → ChevronRight-BMPkTrZg.js} +1 -1
- package/dist/client/assets/{ChevronUp-C8KS626_.js → ChevronUp-CbMsRw8r.js} +1 -1
- package/dist/client/assets/{Copy01-DscCSlQa.js → Copy01-CrbYaizo.js} +1 -1
- package/dist/client/assets/{DotsVertical-BrcjQf49.js → DotsVertical-BQlOCrVd.js} +1 -1
- package/dist/client/assets/{Eye-BfHBDYah.js → Eye-B54Urelq.js} +1 -1
- package/dist/client/assets/{FilterLines-CaezqqN6.js → FilterLines-Bg2EesIE.js} +1 -1
- package/dist/client/assets/{Globe01-B_-PRcJN.js → Globe01-DvpP_9Tj.js} +1 -1
- package/dist/client/assets/{Globe04-CnBEu-Tb.js → Globe04-BJXriPmE.js} +1 -1
- package/dist/client/assets/{HardDrive-D0rrQptf.js → HardDrive-BiaaVSII.js} +1 -1
- package/dist/client/assets/{Image01-BWs5Cl8W.js → Image01-CVurc-7j.js} +1 -1
- package/dist/client/assets/{Key01-meMXc90d.js → Key01-C6WNLK1y.js} +1 -1
- package/dist/client/assets/{LayoutLeft-d5DgJxpL.js → LayoutLeft-DBc5szPh.js} +1 -1
- package/dist/client/assets/{LinkExternal01-BWDB74Bl.js → LinkExternal01-DA5fHkBq.js} +1 -1
- package/dist/client/assets/{LogOut01-DsLUwoTk.js → LogOut01-CPDbdSAa.js} +1 -1
- package/dist/client/assets/{Monitor01-DdFs1Uqi.js → Monitor01-RFFbf_lJ.js} +1 -1
- package/dist/client/assets/{Package-DgWT9bDS.js → Package-ZpdKTTLo.js} +1 -1
- package/dist/client/assets/{Palette-DwuPeqfy.js → Palette-DgBARN1y.js} +1 -1
- package/dist/client/assets/{Play-C3OJLofP.js → Play-STtp48-H.js} +1 -1
- package/dist/client/assets/{Plus-BMGy0gLt.js → Plus-CFFRbGy1.js} +1 -1
- package/dist/client/assets/{SearchLg-Bvo_jSOD.js → SearchLg-C_yYdqOW.js} +1 -1
- package/dist/client/assets/{SearchMd-CwtuvWh8.js → SearchMd-M7FYAA0P.js} +1 -1
- package/dist/client/assets/{Settings02-B005Jn4G.js → Settings02-CNodVcr-.js} +1 -1
- package/dist/client/assets/{Shield01-BktOn7OY.js → Shield01-IbJbQ5vJ.js} +1 -1
- package/dist/client/assets/{Star01-COD8B803.js → Star01-CwcXpv8C.js} +1 -1
- package/dist/client/assets/{Stars01-DS-jsjsg.js → Stars01-BbfWZsBh.js} +1 -1
- package/dist/client/assets/{Stars02-Wk4f773E.js → Stars02-Bv_7kG37.js} +1 -1
- package/dist/client/assets/{Sun-DMi1PxWR.js → Sun-DBKNAp0W.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-CQgBK8Zs.js → SwitchHorizontal01-TR00bSqI.js} +1 -1
- package/dist/client/assets/{Tool01-CMGcVT4l.js → Tool01-CMii7oS-.js} +1 -1
- package/dist/client/assets/{Tool02-Bg6EYrJZ.js → Tool02-DeuPSlN9.js} +1 -1
- package/dist/client/assets/{Trash01-DmDxDqMT.js → Trash01-C2hx9ILk.js} +1 -1
- package/dist/client/assets/{TrendUp01-cVD_6pKi.js → TrendUp01-DQtnnEXy.js} +1 -1
- package/dist/client/assets/{Upload01-B7Wisg2m.js → Upload01-U7-rI-ck.js} +1 -1
- package/dist/client/assets/{User01-CrrDrMtl.js → User01-BLKyUfT3.js} +1 -1
- package/dist/client/assets/{Users01-B8Zwqemn.js → Users01-C7iZpwSr.js} +1 -1
- package/dist/client/assets/{Users03-CHFYRzMp.js → Users03-C6dcgEIV.js} +1 -1
- package/dist/client/assets/{X-kbNEvIkE.js → X-Dhe81Wdu.js} +1 -1
- package/dist/client/assets/{XCircle-Bau-QYHG.js → XCircle-DSQd18dF.js} +1 -1
- package/dist/client/assets/{XClose-CiEZ9Mmp.js → XClose-Gc4IGtK8.js} +1 -1
- package/dist/client/assets/{Zap-COQSXbiz.js → Zap-C3MztcL3.js} +1 -1
- package/dist/client/assets/{ZapSquare-CWc873Is.js → ZapSquare-TENV_B5W.js} +1 -1
- package/dist/client/assets/{ZoomOut-BzQ5KRW5.js → ZoomOut-B0AzMjEL.js} +1 -1
- package/dist/client/assets/{access-gate-BvtsfB8K.js → access-gate-Xa3X5DkS.js} +1 -1
- package/dist/client/assets/{add-section-modal-CjPlnHD2.js → add-section-modal-DkdlGTuU.js} +1 -1
- package/dist/client/assets/{agent-icon-Bu8L0YTs.js → agent-icon-YL1kb16c.js} +1 -1
- package/dist/client/assets/{agents-list-CcBRMCSX.js → agents-list-HxHsxCYR.js} +1 -1
- package/dist/client/assets/{ai-providers-Be8br1vH.js → ai-providers-B_yK3yU2.js} +1 -1
- package/dist/client/assets/{alert-HFyMw3-6.js → alert-Bl2sP6Du.js} +1 -1
- package/dist/client/assets/{alert-dialog-CBCn_UdL.js → alert-dialog-CxVEix6v.js} +1 -1
- package/dist/client/assets/{app-editor-B1reldMi.js → app-editor-DbCGGmtw.js} +1 -1
- package/dist/client/assets/{auth-Bprl3x_3.js → auth-C_-JQU23.js} +1 -1
- package/dist/client/assets/{auth-catchall-Cy7UrKhy.js → auth-catchall-DSTgood7.js} +1 -1
- package/dist/client/assets/{auth-entry-CNLeBO8A.js → auth-entry-BLFpDUaC.js} +1 -1
- package/dist/client/assets/{auth-split-layout-DRCdjhs2.js → auth-split-layout-Bfu3olQQ.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-CRUUJSOy.js → authenticate-and-persist-oauth-DhuBe7ww.js} +1 -1
- package/dist/client/assets/{automation-list-row-Cr4wP_05.js → automation-list-row-zneRke1f.js} +1 -1
- package/dist/client/assets/{automation-runs-Cbng2BoT.js → automation-runs-Bho-sJ6z.js} +1 -1
- package/dist/client/assets/{automations-GVbUrn5l.js → automations-3Z7_Rkoa.js} +1 -1
- package/dist/client/assets/{autosend-DzUEXq6j.js → autosend-thPIzBxM.js} +1 -1
- package/dist/client/assets/{avatar-Dei6fpXi.js → avatar-BO5Wc4n9.js} +1 -1
- package/dist/client/assets/{badge-Cmfr9I7J.js → badge-DazAmAwT.js} +1 -1
- package/dist/client/assets/{block-document-DIN2deJy.js → block-document-BQvvwKKu.js} +1 -1
- package/dist/client/assets/{brand-context-h5RiCjnq.js → brand-context-DzBl90-7.js} +1 -1
- package/dist/client/assets/{buckets-Dp3vPQTS.js → buckets-at0x4cUN.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-B1Gi9wUq.js → bulk-category-panel-CGUgYVmB.js} +1 -1
- package/dist/client/assets/{calendar-DHty8QJT.js → calendar-Y3PksDYj.js} +1 -1
- package/dist/client/assets/{capability-load-error-CXxQs63z.js → capability-load-error-Dq-Oox-R.js} +1 -1
- package/dist/client/assets/{card-CaGEmByP.js → card-H6G2Nfkp.js} +1 -1
- package/dist/client/assets/{category-editor-s0kMzuKL.js → category-editor-CrQf1odc.js} +1 -1
- package/dist/client/assets/{chat-context-DRXtbNYB.js → chat-context-iX4Jxrz0.js} +1 -1
- package/dist/client/assets/{checkbox-DgJA_ceb.js → checkbox-gnfMT4MD.js} +1 -1
- package/dist/client/assets/{cli-auth-success-SqN0HJI8.js → cli-auth-success-Cy3hxziI.js} +1 -1
- package/dist/client/assets/{collection-detail-DjW1_lm1.js → collection-detail-CVhNfEsm.js} +1 -1
- package/dist/client/assets/{collection-display-button-WGf1YkR8.js → collection-display-button-CDLftXPf.js} +1 -1
- package/dist/client/assets/{collection-search-v6k7-ns_.js → collection-search--Swyfisl.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-jxnyW-o6.js → collection-table-wrapper-I_C9IggN.js} +1 -1
- package/dist/client/assets/{collection-tabs-BOJ9WXu0.js → collection-tabs-DSfR42wG.js} +1 -1
- package/dist/client/assets/{command-Dh8_6SVl.js → command-DAultwG_.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-CSi5e0YX.js → commerce-onboarding-UB8LycDN.js} +1 -1
- package/dist/client/assets/{companions-core-BSh9cT1E.js → companions-core-DdICjmDQ.js} +1 -1
- package/dist/client/assets/{connect-ClEEolrx.js → connect-7IqT1Cpx.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-C0flGaQ_.js → connect-desktop-dialog-B9RKlJWt.js} +1 -1
- package/dist/client/assets/{connection-CauRFt6W.js → connection-Ht_jMY9L.js} +1 -1
- package/dist/client/assets/{connection-card-CeYmR-Cx.js → connection-card-Cls8iolX.js} +1 -1
- package/dist/client/assets/{connection-detail-_7qtrH4B.js → connection-detail-DR_dYVlj.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-7iwRsPVv.js → connection-form-helpers-Db84FxyM.js} +1 -1
- package/dist/client/assets/{connections-ZhIMcHMb.js → connections-Z-Uo5Otf.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-DaQqKB35.js → decopilot-sse-pool-B-5wI-Pj.js} +1 -1
- package/dist/client/assets/{dialog-G4ZiTvNx.js → dialog-DbscGgzF.js} +1 -1
- package/dist/client/assets/{domain-settings-CweuNubx.js → domain-settings-BnXSBVAJ.js} +1 -1
- package/dist/client/assets/{drawer-B75YbbdI.js → drawer-CgYedQxa.js} +1 -1
- package/dist/client/assets/{dropdown-menu-Ds67TSY4.js → dropdown-menu-CeCH8mHs.js} +1 -1
- package/dist/client/assets/{empty-state-Bta4YdzD.js → empty-state-DAsFsCjC.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DgxJXS5w.js → extract-connection-data-Cl4dh9xd.js} +1 -1
- package/dist/client/assets/{file-explorer-B6MpksVl.js → file-explorer-CiRzlp-h.js} +1 -1
- package/dist/client/assets/{file-type-icon-BBhjyJbf.js → file-type-icon-B8g6dwx7.js} +1 -1
- package/dist/client/assets/{files-BIEklIkn.js → files-CnjpT0R-.js} +1 -1
- package/dist/client/assets/{form-I0GnjsKQ.js → form-lIcpVZFF.js} +1 -1
- package/dist/client/assets/{general-5tGulC2H.js → general-vSTi4cVP.js} +1 -1
- package/dist/client/assets/{github-repo-picker-C_zm2Ku6.js → github-repo-picker-BVbTQpq7.js} +1 -1
- package/dist/client/assets/{hooks-eTDNg0DR.js → hooks-_8e3OS-G.js} +1 -1
- package/dist/client/assets/{index-4RDnlua4.js → index-BEXD6JvL.js} +3 -3
- package/dist/client/assets/{index-BymC5LN8.js → index-Br5AUhF4.js} +1 -1
- package/dist/client/assets/{index-BN2uaF1T.js → index-CI-X-coD.js} +1 -1
- package/dist/client/assets/{index-GeOcC1AM.js → index-CM26Hgr_.js} +1 -1
- package/dist/client/assets/{index-Dhdk7EaJ.js → index-D4ObZSJy.js} +1 -1
- package/dist/client/assets/{index-BA_hCyLd.js → index-D91ZWx7L.js} +1 -1
- package/dist/client/assets/{index-DK_1_-so.js → index-DT5-MRJP.js} +1 -1
- package/dist/client/assets/index-Da4BCXs_.js +492 -0
- package/dist/client/assets/{index-DNyFrsaH.js → index-Dc3KWP0e.js} +1 -1
- package/dist/client/assets/{index-X6AHLbER.js → index-FSK7xtRq.js} +1 -1
- package/dist/client/assets/{index-D_e-AGWz.js → index-Wzf1qPRS.js} +1 -1
- package/dist/client/assets/{index-BuUlXZv1.js → index-gmik0o6w.js} +3 -3
- package/dist/client/assets/{index-redirect-BdqCP6LK.js → index-redirect-M_9QM-r9.js} +1 -1
- package/dist/client/assets/{index-D8aJMO1V.js → index-vLuRCk4y.js} +1 -1
- package/dist/client/assets/{input-DLUPJjpz.js → input-DXLjV8Um.js} +1 -1
- package/dist/client/assets/{integration-icon-DPwYpZT7.js → integration-icon-CJcVQIei.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-DWZsYH7X.js → invite-member-dialog-u3fd21RJ.js} +1 -1
- package/dist/client/assets/{label-DUcYIAKY.js → label-CGDy7d8-.js} +1 -1
- package/dist/client/assets/{layout-B8T6EBXg.js → layout-DcyzuCIZ.js} +1 -1
- package/dist/client/assets/{login-DcZyKofL.js → login-CiW0YOXS.js} +1 -1
- package/dist/client/assets/{mcp-oauth-Dci8cSOd.js → mcp-oauth-Duli9hv5.js} +1 -1
- package/dist/client/assets/{members-BbTqeuTo.js → members-SQPRtGL7.js} +1 -1
- package/dist/client/assets/{monaco-editor-dTalnsYm.js → monaco-editor-BPPf6Luv.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-C1tE-n8d.js → monitoring-stats-row-8yQYcsLQ.js} +1 -1
- package/dist/client/assets/{multi-select-Cfgtgcax.js → multi-select-DEwOPq6i.js} +1 -1
- package/dist/client/assets/{oauth-callback-CdS7aTBF.js → oauth-callback-ButMd6DX.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CVxXEEWb.js → oauth-callback-ai-provider-DMZsKWRb.js} +1 -1
- package/dist/client/assets/{onboarding-6atU8fxu.js → onboarding-Pumdn1JU.js} +1 -1
- package/dist/client/assets/{org-install-BgWInxM1.js → org-install-CKF4FJd8.js} +1 -1
- package/dist/client/assets/{org-layout-CPBhzMru.js → org-layout-DvGPuBEh.js} +1 -1
- package/dist/client/assets/{organization-choice-BSaRjkdA.js → organization-choice-HvVcf-TI.js} +1 -1
- package/dist/client/assets/{orgs-DGzKd1EY.js → orgs-CvAcVFcq.js} +1 -1
- package/dist/client/assets/{page-seo-form-C-18bHzi.js → page-seo-form-DsKqt7Mm.js} +1 -1
- package/dist/client/assets/page-seo-sheet-BqaIHzT5.js +1 -0
- package/dist/client/assets/{popover-CgLqhHGP.js → popover-CTKO_kAN.js} +1 -1
- package/dist/client/assets/{post-editor-BaU667xO.js → post-editor-KlaAUuAS.js} +1 -1
- package/dist/client/assets/{primitives-CXNB8gAp.js → primitives-DsAtm5DL.js} +1 -1
- package/dist/client/assets/{profile-CtYiW70i.js → profile-02e5od0Q.js} +1 -1
- package/dist/client/assets/project-app-view-DggJEflp.js +1 -0
- package/dist/client/assets/record-editor-C2akOqoh.js +1 -0
- package/dist/client/assets/{redirect-editor-fK_i-XfS.js → redirect-editor-CsPzi8vr.js} +1 -1
- package/dist/client/assets/registry-CycJdV8D.js +2 -0
- package/dist/client/assets/{registry-layout-CzJnSkGi.js → registry-layout-CyFCUeE2.js} +1 -1
- package/dist/client/assets/{reports-BLso3NNn.js → reports-BsiX4_A6.js} +1 -1
- package/dist/client/assets/{require-capability-DJUF6EfI.js → require-capability-BZBVRkKd.js} +1 -1
- package/dist/client/assets/{required-auth-layout-CY6VIKkl.js → required-auth-layout-DD8XtcaG.js} +1 -1
- package/dist/client/assets/{reset-password-DDDOBPpI.js → reset-password-DTbRcUEl.js} +1 -1
- package/dist/client/assets/{roles-DiP4REKC.js → roles-DWH92L6e.js} +1 -1
- package/dist/client/assets/{search-input-DOMBq2Er.js → search-input-DZJIbmEn.js} +1 -1
- package/dist/client/assets/{secrets-DPYYlx9C.js → secrets-iSLNts2L.js} +1 -1
- package/dist/client/assets/sections-editor-Ds-TbaCj.js +2 -0
- package/dist/client/assets/{select-BCZLKjJN.js → select-CLa8-PWY.js} +1 -1
- package/dist/client/assets/{select-model-CFjdb8F4.js → select-model-DAC8p6XP.js} +1 -1
- package/dist/client/assets/{self-tool-result-DeCekO3f.js → self-tool-result-CoHAZ64x.js} +1 -1
- package/dist/client/assets/{seo-editor-C_DByLik.js → seo-editor-CzofNAOf.js} +1 -1
- package/dist/client/assets/{settings-layout-qfgj2V21.js → settings-layout-qfCiQQJZ.js} +1 -1
- package/dist/client/assets/{settings-section-CWj3_FdW.js → settings-section-NxvA_-hs.js} +1 -1
- package/dist/client/assets/{shell-controls-sgm1Ghqr.js → shell-controls-th4EsEqc.js} +1 -1
- package/dist/client/assets/{shell-layout-A4Klwqzt.js → shell-layout-D1tmT8P_.js} +1 -1
- package/dist/client/assets/{sidebar-BZQNMiqx.js → sidebar-D5TYZm99.js} +1 -1
- package/dist/client/assets/{skeleton-CXG2AFFX.js → skeleton-Cgx6QdQo.js} +1 -1
- package/dist/client/assets/{sso-tXM51xor.js → sso-elKwCqJL.js} +1 -1
- package/dist/client/assets/{store-D6KLtEh2.js → store-C9qtasId.js} +1 -1
- package/dist/client/assets/store-registry-qKWBJ2vv.js +2 -0
- package/dist/client/assets/{studio-tools-BanQp4TZ.js → studio-tools-DyoqIWNE.js} +1 -1
- package/dist/client/assets/{switch-DHbzmpde.js → switch-fvndlG7e.js} +1 -1
- package/dist/client/assets/{table-wjz_t519.js → table-DRnpojDN.js} +1 -1
- package/dist/client/assets/{tabs-BrQ8T12Z.js → tabs-xY2VRpIZ.js} +1 -1
- package/dist/client/assets/{textarea-yNbPp_V1.js → textarea-gc-qoQMu.js} +1 -1
- package/dist/client/assets/{toggle-group-BLBd1Na5.js → toggle-group-Bno-nFB9.js} +1 -1
- package/dist/client/assets/{toolbar-Cge5lcNV.js → toolbar-Bke6Fzcp.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-CWELZhBo.js → toolbar-icon-button-Et9eR2aL.js} +1 -1
- package/dist/client/assets/{tooltip-B8bYd-9r.js → tooltip-KLVUr9oF.js} +1 -1
- package/dist/client/assets/{use-ai-providers-S5QPPawK.js → use-ai-providers-CqOtTqY0.js} +1 -1
- package/dist/client/assets/{use-api-keys-Cl5n0LhD.js → use-api-keys-D4BBtvYl.js} +1 -1
- package/dist/client/assets/{use-automations-Du6nHRym.js → use-automations-CdTtxiWz.js} +1 -1
- package/dist/client/assets/{use-autosave-BDYAiYhJ.js → use-autosave-CFeMUg5v.js} +1 -1
- package/dist/client/assets/{use-capability-BiwL5b_x.js → use-capability-BmQ3xCyH.js} +1 -1
- package/dist/client/assets/{use-clock-tick-7IVs3KNJ.js → use-clock-tick-BfRCrtO9.js} +1 -1
- package/dist/client/assets/{use-connection-I-DnXuJH.js → use-connection-dGy3F3wj.js} +1 -1
- package/dist/client/assets/{use-copy-DTsOKQvO.js → use-copy-BrN5lHME.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-dWUtRtkr.js → use-create-virtual-mcp-DrGosIDu.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-BMOZjMIM.js → use-debounced-autosave-ChsIDO4V.js} +1 -1
- package/dist/client/assets/{use-debounced-value-DZJqrsuG.js → use-debounced-value-ChB_kdik.js} +1 -1
- package/dist/client/assets/{use-deco-credits-UyEP8mkX.js → use-deco-credits-IXGN3Pz9.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BNKUFs1m.js → use-decopilot-events-KHFtAPDT.js} +1 -1
- package/dist/client/assets/{use-delete-connection-CLvEM5JF.js → use-delete-connection-x1F-j9n0.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-D40uSnVH.js → use-deployment-admin-B4nkRKp4.js} +1 -1
- package/dist/client/assets/{use-file-configs-Da4n5Wk_.js → use-file-configs-BV5YdGD9.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-CjI765bv.js → use-infinite-scroll-IFVHS84q.js} +1 -1
- package/dist/client/assets/{use-join-requests-_EoYHc02.js → use-join-requests-BA1q1NSK.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-Cprl0lqq.js → use-mcp-auth-status-Ck13L_Ss.js} +1 -1
- package/dist/client/assets/{use-mcp-client-Dggs_wtL.js → use-mcp-client-GDLFUrdz.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BZb2_KlI.js → use-mcp-tools-Cg6-dfhh.js} +1 -1
- package/dist/client/assets/{use-members-DTLixo_2.js → use-members-Cc4x2yPK.js} +1 -1
- package/dist/client/assets/{use-mobile-D_MHSYLt.js → use-mobile-Cug5-uN5.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-D8r2um29.js → use-navigate-to-agent-BnAEkEIp.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-D8JQ0qMm.js → use-org-auth-client-sPgvD3p2.js} +1 -1
- package/dist/client/assets/{use-org-sso-BsOWFttQ.js → use-org-sso-lyDWnw-r.js} +1 -1
- package/dist/client/assets/{use-organization-roles-BsjAqShS.js → use-organization-roles-D3oaZ9VC.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Cfo4apco.js → use-organization-settings-BImkcQCH.js} +1 -1
- package/dist/client/assets/{use-registry-app-Ccw5Zgoa.js → use-registry-app-C2Ie4sAT.js} +1 -1
- package/dist/client/assets/{use-registry-connections-DL4Qbjni.js → use-registry-connections-CVB4if3f.js} +1 -1
- package/dist/client/assets/{use-secrets-CGKvz62m.js → use-secrets-Du9rEkxB.js} +1 -1
- package/dist/client/assets/{use-status-sounds-CAtTty8v.js → use-status-sounds-BFAveT77.js} +1 -1
- package/dist/client/assets/{use-view-mode-Butv57c-.js → use-view-mode-D_85DX2w.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-DcKgvXvy.js → use-virtual-mcp-BdH1VOY_.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-CEXGRrO5.js +1 -0
- package/dist/client/assets/{useQueries-CCY8hrOc.js → useQueries-BW-x5W-N.js} +1 -1
- package/dist/client/assets/{useRouterState-BmgvsVqw.js → useRouterState-CFmvF0_D.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-WzpGimQB.js +1 -0
- package/dist/client/assets/{users-BrpQL4K3.js → users-Bur9O3Nn.js} +1 -1
- package/dist/client/assets/{variant-calendar-DqtEssYW.js → variant-calendar-DkkuOf3a.js} +1 -1
- package/dist/client/assets/view-mode-toggle-CK_9GHTo.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +440 -441
- package/dist/server/migrate.js +5 -5
- package/dist/server/server.js +253 -253
- package/package.json +1 -1
- package/dist/client/assets/index-9mX7itVS.js +0 -492
- package/dist/client/assets/page-seo-sheet-Cq6MSxcj.js +0 -1
- package/dist/client/assets/project-app-view-B-ZNnyXW.js +0 -1
- package/dist/client/assets/record-editor-CyFKknlv.js +0 -1
- package/dist/client/assets/registry-vH1Mc4gB.js +0 -2
- package/dist/client/assets/sections-editor-CK1krdST.js +0 -2
- package/dist/client/assets/store-registry-DEiSeyxl.js +0 -2
- package/dist/client/assets/useInfiniteQuery-BkEklLkA.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-D1lf4BBq.js +0 -1
- package/dist/client/assets/view-mode-toggle-BRNVwU1R.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1038,19 +1038,19 @@ var Tu=Object.defineProperty;var cu=(t)=>t;function ru(t,n){this[t]=cu.bind(null
|
|
|
1038
1038
|
create index idx_org_billing_benefits_pending
|
|
1039
1039
|
on organization_billing (updated_at)
|
|
1040
1040
|
where benefits_reference_id is not null
|
|
1041
|
-
`.execute(t)}async function Ty(t){await Ii`drop index if exists idx_org_billing_benefits_pending`.execute(t)}var cy={"001-initial-schema":Ct,"002-organization-settings":Nt,"003-connection-schema-align":wt,"004-remove-models-binding":ft,"005-connection-configuration":pt,"006-add-views-to-settings":Et,"007-monitoring-logs":Kt,"008-event-bus":zt,"009-drop-audit-logs":Pt,"010-gateways":ht,"011-gateway-icon":Ut,"012-gateway-tool-selection-mode":st,"013-monitoring-user-agent-gateway":kt,"014-gateway-resources-prompts":Dt,"015-monitoring-properties":jt,"016-downstream-token-client-info":Jt,"017-downstream-token-remove-userid":Lt,"018-drop-gateway-tool-selection-strategy":Rt,"019-remove-gateway-is-default":Wt,"020-enabled-plugins":$t,"021-threads":Xt,"022-rename-gateway-to-virtual-mcp":Qt,"023-optimize-thread-indexes":At,"024-consolidate-virtual-mcp":Zt,"025-add-monitoring-virtual-mcp-id":Ft,"026-restrict-child-connection-delete":Mt,"027-update-management-mcp-url":Yt,"028-update-management-mcp-to-self":St,"029-add-updated-by-to-connections":Ot,"030-member-tags":It,"031-add-dependency-mode":Gt,"032-projects":gt,"033-thread-status":vt,"034-monitoring-dashboards":Vt,"035-project-connections":qt,"036-update-registry-url":lt,"037-ai-provider-keys":dt,"038-oauth-pkce-states":bt,"039-automations":tn,"040-replace-next-run-at-with-last-run-at":nn,"041-ai-provider-keys-unique-constraint":en,"042-rename-mesh-mcp-to-cms-mcp":un,"043-rename-cms-mcp-to-deco-cms":an,"044-drop-connections-tools-column":_n,"045-thread-context-start-message":on,"046-remove-object-storage-plugin":xn,"047-add-next-run-at":yn,"048-merge-projects-agents":cn,"049-remove-org-admin-projects":rn,"050-durable-agent-runs":Cn,"051-org-sso":wn,"052-thread-agent-ids":fn,"053-registry-config":pn,"054-connection-slug":Kn,"055-spaces":zn,"056-automation-project-scope":Pn,"057-thread-virtual-mcp-id":hn,"058-trigger-callback-tokens":Un,"059-kv":sn,"060-member-index":kn,"061-downstream-token-connection-index":Dn,"062-private-registry":jn,"063-event-subscriptions-enabled-boolean":Jn,"064-brand-context":Ln,"065-organization-domains":Rn,"066-brand-context-structured":Wn,"067-threads-metadata":$n,"068-threads-branch":Xn,"069-sandbox-runner-state":Qn,"070-model-categories":An,"071-default-home-agents":Zn,"072-ai-provider-key-preset-id":Fn,"073-backfill-basic-usage-roles":Mn,"074-sandbox-runner-state-handle-nonunique":Hn,"075-thread-inflight-async-jobs":Yn,"076-automations-drop-agent-json":Bn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":In,"079-strip-legacy-freestyle-vm-map-entries":Gn,"080-async-research-jobs":gn,"081-async-research-jobs-result-content":vn,"082-secrets":Vn,"083-thread-run-locally":qn,"084-drop-host-sandbox-rows":ln,"085-rename-runner-kind":dn,"086-thread-pins-and-vm-map-rekey":bn,"087-fix-vm-map-rekey":te,"088-purge-cli-activate-keys":ne,"089-rename-remote-user-to-desktop":ee,"090-automation-webhook-triggers":ie,"091-organization-domains-allow-multi":ue,"092-sandbox-naming-uniformization":ae,"093-backfill-global-search-basic-usage":_e,"094-org-file-configs":me,"095-remove-automation-tool-call-kind":xe,"096-org-file-configs-public-url-base":ye,"097-drop-local-docker-sandbox-state":ce,"098-thread-message-parts":re,"099-run-fence":Ce,"100-link-transport":Ne,"101-cancel-requested-at":we,"102-observational-agent":fe,"103-revert-observational-agent":pe,"104-agent-sandbox-provider-kind":Ke,"105-org-fs":ze,"106-automation-tools":Pe,"107-org-fs-public-org":he,"108-automation-max-agent-steps":Ue,"109-thread-message-parts-per-message-seq":se,"110-backfill-ghs-token-expiry":ke,"111-org-fs-thread-id":De,"112-org-file-configs-credential-type":je,"113-thread-failure-reason":Je,"114-run-acked-seq":Le,"115-thread-projected-seq":Re,"116-org-sites":We,"117-org-file-configs-site-slug":$e,"118-organization-domains-multi-verify":Xe,"119-organization-join-requests":Qe,"120-org-fs-read-public":Ae,"121-org-fs-share-password":Ze,"122-split-web-research-tier":He,"123-connection-credential-vault":Ye,"124-drop-thread-projected-seq":Be,"125-github-child-single-parent":Se,"126-task-board":Ie,"127-task-board-due-date":Ge,"128-reports-only":ge,"129-task-board-assigned-by":ve,"130-task-board-thread-id":Ve,"131-task-board-thread-link-cascade":qe,"132-task-board-item-prs":le,"133-dedupe-duplicate-members":de,"134-drop-task-board-enabled":be,"135-task-board-item-fk-cascade":ti,"136-task-board-import-idempotency":ni,"137-agent-sandbox-runner-state":ei,"138-agent-sandbox-sessions":ii,"139-organization-billing":ui,"140-seat-change-log":ai,"141-benefits-sync-pending":_i,"142-stripe-event-watermark":oi,"143-armed-report-url":mi,"144-benefits-pending-index":xi},yi=cy;import{getMigrations as Gy}from"better-auth/db";import{sso as gy}from"@better-auth/sso";import{organization as vy}from"@decocms/better-auth/plugins";import{admin as Vy,apiKey as qy,jwt as ly,magicLink as dy,mcp as by,openAPI as tT}from"better-auth/plugins";import{emailOTP as nT}from"better-auth/plugins/email-otp";import{Kysely as My,PostgresDialect as eu}from"kysely";import{Pool as iu}from"pg";import{homedir as ry}from"os";var Cy=new Set(["all","worker","api"]);function Ny(t){let n=(t??"").trim();return Cy.has(n)?n:"all"}var wy=new Set(["production","development","test"]);function fy(t){let n=(t??"").trim();return wy.has(n)?n:"development"}function J(t){return t==="true"||t==="1"}function py(t){if(t===void 0||t==="")return;return J(t)}function I(t,n,e){if(n===void 0||n==="")return e;let a=Number(n);if(!Number.isSafeInteger(a)||a<=0)throw Error(`${t} must be a positive integer`);return a}function Ey(t,n){if(n===void 0||n==="")return;let e=Number(n);if(!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);return e}function Ky(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Gi(t){if(!t)return null;try{let e=new URL(t).hostname.replace(/^\[|\]$/g,"");if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}var zy=new Set(["agent-sandbox","user-desktop"]);function Py(t){let n=(t??"").trim(),e=n.length>0?n:"user-desktop";if(e==="cluster")return"agent-sandbox";if(!zy.has(e))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return e}function gi(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${ry()}/deco`,a=t.localMode,u=t.nodeEnv||fy(n.NODE_ENV),_=n.NATS_URL||"nats://localhost:4222",m=py(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:u,port:I("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:J(n.DATABASE_PG_SSL),databasePoolMax:I("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:n.STUDIO_JWT_SECRET??n.MESH_JWT_SECRET,localMode:a,disableRateLimit:J(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Ey("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:I("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:J(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,seatAllowanceCents:I("STUDIO_SEAT_ALLOWANCE_CENTS",n.STUDIO_SEAT_ALLOWANCE_CENTS,500),stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeSeatPriceId:n.STRIPE_SEAT_PRICE_ID,topupFeePercent:I("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15),enableDecoImport:J(n.ENABLE_DECO_IMPORT),billingEnforced:J(n.STUDIO_BILLING_ENFORCED),mcpCacheEnabled:Ky(n.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:J(n.DISABLE_ORGFS_MOUNTS),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:n.S3_FORCE_PATH_STYLE===void 0||n.S3_FORCE_PATH_STYLE===""||n.S3_FORCE_PATH_STYLE==="true"||n.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:Ny(n.STUDIO_DISPATCH_ROLE??n.MESH_DISPATCH_ROLE),sandboxProviderKind:Py(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:n.REPORTS_INTERNAL_API_URL??n.COMMERCE_DISCOVERY_INTERNAL_API_URL,reportsInternalApiKey:n.REPORTS_INTERNAL_API_KEY??n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:Gi(n.DATABASE_URL),externalNatsUrl:Gi(_),skipMigrations:t.skipMigrations}}var xt=null;function Q(){if(!xt)hy();return xt}function hy(){if(xt)return;let t={...process.env},n=gi({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);xt=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as Jy,metrics as Ly,propagation as yC,ROOT_CONTEXT as TC,SpanStatusCode as cC,trace as Ry}from"@opentelemetry/api";import{logs as Wy,SeverityNumber as Ti}from"@opentelemetry/api-logs";import{OTLPLogExporter as NC}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as $y}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as pC}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as KC}from"@opentelemetry/instrumentation-runtime-node";import{context as ur,propagation as ar,SpanKind as _r,SpanStatusCode as or}from"@opentelemetry/api";var xr=globalThis.fetch;import{ExportResultCode as zr}from"@opentelemetry/core";import{ExportResultCode as yt}from"@opentelemetry/core";import{mkdir as Uy,rename as sy,writeFile as ky}from"fs/promises";import{join as Tt}from"path";class ct{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:yt.FAILED});for(let n of t){let e=JSON.stringify(n),a=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:a,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:yt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:yt.FAILED}});return Promise.resolve({code:yt.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let u of t){let _=n.get(u.partition);if(!_)_=[],n.set(u.partition,_);_.push(u.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([u,_])=>this.writeNDJSON(_,u).then(()=>u))),a=e.find((u)=>u.status==="rejected");if(a){let u=new Set;for(let m of e)if(m.status==="fulfilled")u.add(m.value);let _=t.filter((m)=>!u.has(m.partition));this.bufferItems=_.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw a.reason}}async writeNDJSON(t,n){let e=new Date,a=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],u=n?Tt(this.basePath,n,...a):Tt(this.basePath,...a);if(!this.knownDirs.has(u))await Uy(u,{recursive:!0,mode:448}),this.knownDirs.add(u);let _=`${crypto.randomUUID()}.ndjson`,m=Tt(u,`.${_}.tmp`),o=Tt(u,_),x=t.join(`
|
|
1041
|
+
`.execute(t)}async function Ty(t){await Ii`drop index if exists idx_org_billing_benefits_pending`.execute(t)}var cy={"001-initial-schema":Ct,"002-organization-settings":Nt,"003-connection-schema-align":wt,"004-remove-models-binding":ft,"005-connection-configuration":pt,"006-add-views-to-settings":Et,"007-monitoring-logs":Kt,"008-event-bus":zt,"009-drop-audit-logs":Pt,"010-gateways":ht,"011-gateway-icon":Ut,"012-gateway-tool-selection-mode":st,"013-monitoring-user-agent-gateway":kt,"014-gateway-resources-prompts":Dt,"015-monitoring-properties":jt,"016-downstream-token-client-info":Jt,"017-downstream-token-remove-userid":Lt,"018-drop-gateway-tool-selection-strategy":Rt,"019-remove-gateway-is-default":Wt,"020-enabled-plugins":$t,"021-threads":Xt,"022-rename-gateway-to-virtual-mcp":Qt,"023-optimize-thread-indexes":At,"024-consolidate-virtual-mcp":Zt,"025-add-monitoring-virtual-mcp-id":Ft,"026-restrict-child-connection-delete":Mt,"027-update-management-mcp-url":Yt,"028-update-management-mcp-to-self":St,"029-add-updated-by-to-connections":Ot,"030-member-tags":It,"031-add-dependency-mode":Gt,"032-projects":gt,"033-thread-status":vt,"034-monitoring-dashboards":Vt,"035-project-connections":qt,"036-update-registry-url":lt,"037-ai-provider-keys":dt,"038-oauth-pkce-states":bt,"039-automations":tn,"040-replace-next-run-at-with-last-run-at":nn,"041-ai-provider-keys-unique-constraint":en,"042-rename-mesh-mcp-to-cms-mcp":un,"043-rename-cms-mcp-to-deco-cms":an,"044-drop-connections-tools-column":_n,"045-thread-context-start-message":on,"046-remove-object-storage-plugin":xn,"047-add-next-run-at":yn,"048-merge-projects-agents":cn,"049-remove-org-admin-projects":rn,"050-durable-agent-runs":Cn,"051-org-sso":wn,"052-thread-agent-ids":fn,"053-registry-config":pn,"054-connection-slug":Kn,"055-spaces":zn,"056-automation-project-scope":Pn,"057-thread-virtual-mcp-id":hn,"058-trigger-callback-tokens":Un,"059-kv":sn,"060-member-index":kn,"061-downstream-token-connection-index":Dn,"062-private-registry":jn,"063-event-subscriptions-enabled-boolean":Jn,"064-brand-context":Ln,"065-organization-domains":Rn,"066-brand-context-structured":Wn,"067-threads-metadata":$n,"068-threads-branch":Xn,"069-sandbox-runner-state":Qn,"070-model-categories":An,"071-default-home-agents":Zn,"072-ai-provider-key-preset-id":Fn,"073-backfill-basic-usage-roles":Mn,"074-sandbox-runner-state-handle-nonunique":Hn,"075-thread-inflight-async-jobs":Yn,"076-automations-drop-agent-json":Bn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":In,"079-strip-legacy-freestyle-vm-map-entries":Gn,"080-async-research-jobs":gn,"081-async-research-jobs-result-content":vn,"082-secrets":Vn,"083-thread-run-locally":qn,"084-drop-host-sandbox-rows":ln,"085-rename-runner-kind":dn,"086-thread-pins-and-vm-map-rekey":bn,"087-fix-vm-map-rekey":te,"088-purge-cli-activate-keys":ne,"089-rename-remote-user-to-desktop":ee,"090-automation-webhook-triggers":ie,"091-organization-domains-allow-multi":ue,"092-sandbox-naming-uniformization":ae,"093-backfill-global-search-basic-usage":_e,"094-org-file-configs":me,"095-remove-automation-tool-call-kind":xe,"096-org-file-configs-public-url-base":ye,"097-drop-local-docker-sandbox-state":ce,"098-thread-message-parts":re,"099-run-fence":Ce,"100-link-transport":Ne,"101-cancel-requested-at":we,"102-observational-agent":fe,"103-revert-observational-agent":pe,"104-agent-sandbox-provider-kind":Ke,"105-org-fs":ze,"106-automation-tools":Pe,"107-org-fs-public-org":he,"108-automation-max-agent-steps":Ue,"109-thread-message-parts-per-message-seq":se,"110-backfill-ghs-token-expiry":ke,"111-org-fs-thread-id":De,"112-org-file-configs-credential-type":je,"113-thread-failure-reason":Je,"114-run-acked-seq":Le,"115-thread-projected-seq":Re,"116-org-sites":We,"117-org-file-configs-site-slug":$e,"118-organization-domains-multi-verify":Xe,"119-organization-join-requests":Qe,"120-org-fs-read-public":Ae,"121-org-fs-share-password":Ze,"122-split-web-research-tier":He,"123-connection-credential-vault":Ye,"124-drop-thread-projected-seq":Be,"125-github-child-single-parent":Se,"126-task-board":Ie,"127-task-board-due-date":Ge,"128-reports-only":ge,"129-task-board-assigned-by":ve,"130-task-board-thread-id":Ve,"131-task-board-thread-link-cascade":qe,"132-task-board-item-prs":le,"133-dedupe-duplicate-members":de,"134-drop-task-board-enabled":be,"135-task-board-item-fk-cascade":ti,"136-task-board-import-idempotency":ni,"137-agent-sandbox-runner-state":ei,"138-agent-sandbox-sessions":ii,"139-organization-billing":ui,"140-seat-change-log":ai,"141-benefits-sync-pending":_i,"142-stripe-event-watermark":oi,"143-armed-report-url":mi,"144-benefits-pending-index":xi},yi=cy;import{getMigrations as gy}from"better-auth/db";import{sso as vy}from"@better-auth/sso";import{organization as Vy}from"@decocms/better-auth/plugins";import{admin as qy,apiKey as ly,jwt as dy,magicLink as by,mcp as tT,openAPI as nT}from"better-auth/plugins";import{emailOTP as eT}from"better-auth/plugins/email-otp";import{Kysely as Hy,PostgresDialect as eu}from"kysely";import{Pool as iu}from"pg";import{homedir as ry}from"os";var Cy=new Set(["all","worker","api"]);function Ny(t){let n=(t??"").trim();return Cy.has(n)?n:"all"}var wy=new Set(["production","development","test"]);function fy(t){let n=(t??"").trim();return wy.has(n)?n:"development"}function J(t){return t==="true"||t==="1"}function py(t){if(t===void 0||t==="")return;return J(t)}function I(t,n,e){if(n===void 0||n==="")return e;let a=Number(n);if(!Number.isSafeInteger(a)||a<=0)throw Error(`${t} must be a positive integer`);return a}function Ey(t,n){if(n===void 0||n==="")return;let e=Number(n);if(!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);return e}function Ky(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Gi(t){if(!t)return null;try{let e=new URL(t).hostname.replace(/^\[|\]$/g,"");if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}function zy(t){return t===void 0||t===""||t==="true"||t==="1"}var Py=new Set(["agent-sandbox","user-desktop"]);function hy(t){let n=(t??"").trim(),e=n.length>0?n:"user-desktop";if(e==="cluster")return"agent-sandbox";if(!Py.has(e))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return e}function gi(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${ry()}/deco`,a=t.localMode,u=t.nodeEnv||fy(n.NODE_ENV),_=n.NATS_URL||"nats://localhost:4222",m=py(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:u,port:I("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:J(n.DATABASE_PG_SSL),databasePoolMax:I("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:n.STUDIO_JWT_SECRET??n.MESH_JWT_SECRET,localMode:a,disableRateLimit:J(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Ey("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:I("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:J(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,seatAllowanceCents:I("STUDIO_SEAT_ALLOWANCE_CENTS",n.STUDIO_SEAT_ALLOWANCE_CENTS,500),stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeSeatPriceId:n.STRIPE_SEAT_PRICE_ID,topupFeePercent:I("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15),enableDecoImport:J(n.ENABLE_DECO_IMPORT),billingEnforced:J(n.STUDIO_BILLING_ENFORCED),mcpCacheEnabled:Ky(n.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:J(n.DISABLE_ORGFS_MOUNTS),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:zy(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:Ny(n.STUDIO_DISPATCH_ROLE??n.MESH_DISPATCH_ROLE),sandboxProviderKind:hy(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:n.REPORTS_INTERNAL_API_URL??n.COMMERCE_DISCOVERY_INTERNAL_API_URL,reportsInternalApiKey:n.REPORTS_INTERNAL_API_KEY??n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:Gi(n.DATABASE_URL),externalNatsUrl:Gi(_),skipMigrations:t.skipMigrations}}var xt=null;function Q(){if(!xt)Uy();return xt}function Uy(){if(xt)return;let t={...process.env},n=gi({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);xt=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as Ly,metrics as Ry,propagation as TC,ROOT_CONTEXT as cC,SpanStatusCode as rC,trace as Wy}from"@opentelemetry/api";import{logs as $y,SeverityNumber as Ti}from"@opentelemetry/api-logs";import{OTLPLogExporter as wC}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Xy}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as EC}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as zC}from"@opentelemetry/instrumentation-runtime-node";import{context as ar,propagation as _r,SpanKind as or,SpanStatusCode as mr}from"@opentelemetry/api";var yr=globalThis.fetch;import{ExportResultCode as Pr}from"@opentelemetry/core";import{ExportResultCode as yt}from"@opentelemetry/core";import{mkdir as sy,rename as ky,writeFile as Dy}from"fs/promises";import{join as Tt}from"path";class ct{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:yt.FAILED});for(let n of t){let e=JSON.stringify(n),a=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:a,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:yt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:yt.FAILED}});return Promise.resolve({code:yt.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let u of t){let _=n.get(u.partition);if(!_)_=[],n.set(u.partition,_);_.push(u.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([u,_])=>this.writeNDJSON(_,u).then(()=>u))),a=e.find((u)=>u.status==="rejected");if(a){let u=new Set;for(let m of e)if(m.status==="fulfilled")u.add(m.value);let _=t.filter((m)=>!u.has(m.partition));this.bufferItems=_.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw a.reason}}async writeNDJSON(t,n){let e=new Date,a=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],u=n?Tt(this.basePath,n,...a):Tt(this.basePath,...a);if(!this.knownDirs.has(u))await sy(u,{recursive:!0,mode:448}),this.knownDirs.add(u);let _=`${crypto.randomUUID()}.ndjson`,m=Tt(u,`.${_}.tmp`),o=Tt(u,_),x=t.join(`
|
|
1042
1042
|
`)+`
|
|
1043
|
-
`;await
|
|
1043
|
+
`;await Dy(m,x,{mode:384}),await ky(m,o)}}import{ExportResultCode as Dr}from"@opentelemetry/core";import{AggregationTemporality as Jr,DataPointType as Lr}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Ar}from"@opentelemetry/core";var Hr=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as LC,LoggerProvider as RC}from"@opentelemetry/sdk-logs";import{detectResources as $C,envDetector as XC,hostDetector as QC,osDetector as AC,processDetector as ZC,resourceFromAttributes as FC}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as HC}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Sr}from"@opentelemetry/api-logs";import{NodeSDK as SC}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as IC,SamplingDecision as A}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as vr}from"@opentelemetry/api";var Qy="__d",Ay=Ly("Current request"),Zy=1;var Vi=(t)=>{let e=new URL(t.url).searchParams.get(Qy);if(e==="")return crypto.randomUUID();if(!e)e=t.headers.get("x-trace-debug-id");return e};class qi{inner;constructor(t){this.inner=t}shouldSample(t,n,e,a,u,_){let m=t.getValue(Ay);if(!m){if(this.inner)return this.inner.shouldSample(t,n,e,a,u,_);return{decision:A.RECORD_AND_SAMPLED}}let o=Vi(m);if(o)return{decision:A.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":o}};if(this.inner){let x=this.inner.shouldSample(t,n,e,a,u,_);if(x.decision===A.RECORD_AND_SAMPLED){let y=crypto.randomUUID();x.attributes={...x.attributes??{},"trace.debug.id":y}}return x}return{decision:A.NOT_RECORD}}toString(){return"DebugSampler"}}class li{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:A.RECORD_AND_SAMPLED};return{decision:A.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var gC=new Xy({preventServerStart:!0}),vC=new qi(new li(Zy));var vi=Wy.getTracer("studio","1.0.0"),G=Ry.getMeter("studio","1.0.0"),Fy=$y.getLogger("studio","1.0.0"),ci=(t,n,e)=>{let a={},u=e,_=e[e.length-1];if(_!==null&&typeof _==="object"&&!Array.isArray(_)&&!(_ instanceof Error)&&Object.getPrototypeOf(_)===Object.prototype)a=_,u=e.slice(0,-1);let m=u.map((o)=>{if(o instanceof Error)return`${o.name}: ${o.message}`;if(typeof o==="object")try{return JSON.stringify(o)}catch{return"[Object]"}return String(o)}).join(" ");Fy.emit({severityNumber:t,severityText:n,body:m,attributes:{"log.source":"console",...a}})},ri={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{ci(Ti.ERROR,"ERROR",t),ri.error(...t)};console.warn=(...t)=>{ci(Ti.WARN,"WARN",t),ri.warn(...t)};console.debug=(...t)=>{ci(Ti.DEBUG,"DEBUG",t),ri.debug(...t)};var Ci,di=0,Ni=500;function My(){if(Ci)return;let t=performance.now()+Ni;Ci=setInterval(()=>{let n=performance.now();di=Math.max(0,n-t),t=n+Ni},Ni),Ci.unref?.()}function bi(){return My(),di}var Yy=()=>G.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),tu=()=>G.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),nu=400,By=100,Sy=(t)=>(n)=>{let e={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>nu){let a=bi(),u=a>nu/2;console.error(u?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(a),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:rt()}})}if(Yy().record(n.queryDurationMillis,e),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function Oy(t){let n=t.connect.bind(t);return t.connect=(e)=>{if(typeof e==="function")return n(e);let a=performance.now(),u=rt(),_=t.idleCount===0&&t.totalCount>=u,m=t.idleCount;return n().then((o)=>{let x=performance.now()-a;if(tu().record(x,{"db.pool.outcome":_?"contended":"available"}),x>By)if(_)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:x,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:u});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:x,idleAtStart:m,total:t.totalCount,max:u});return o},(o)=>{throw tu().record(performance.now()-a,{"db.pool.outcome":"error"}),o})},t}var uu={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function au(){try{return Q().databasePgSsl}catch{return!1}}function rt(){try{return Q().databasePoolMax}catch{return 10}}function Iy(t){let n=Oy(new iu({connectionString:t,max:rt(),ssl:au(),...uu})),e=new eu({pool:n});return{type:"postgres",db:new Hy({dialect:e,log:Sy(n)}),pool:n}}function v(){return Q().databaseUrl}function _u(t){let n=t||v();return new eu({pool:new iu({connectionString:n,max:rt(),ssl:au(),...uu})})}function Gy(t){let n=t||v();return Iy(n)}async function ou(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===g)g=null}var g=null;function wi(){if(!g)g=Gy(v());return g}async function mu(t){let e={database:_u(t||v()),plugins:[Vy({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),qy(),ly(),dy(),nT(),tT({loginPage:"/login"}),vy(),by({sendMagicLink:async()=>{}}),eT({sendVerificationOTP:async()=>{}})]},{toBeAdded:a,toBeCreated:u,runMigrations:_}=await gy(e);if(!a.length&&!u.length)return"up to date";return await _(),`${u.length+a.length} table(s) migrated`}async function yu(t,n){return(await Z`
|
|
1044
1044
|
SELECT table_name FROM information_schema.tables
|
|
1045
1045
|
WHERE table_schema='public' AND table_name=${n}
|
|
1046
|
-
`.execute(t)).rows.length>0}async function
|
|
1046
|
+
`.execute(t)).rows.length>0}async function iT(t){if(await yu(t,"plugin_migrations"))return;await Z`
|
|
1047
1047
|
CREATE TABLE plugin_migrations (
|
|
1048
1048
|
plugin_id TEXT NOT NULL,
|
|
1049
1049
|
name TEXT NOT NULL,
|
|
1050
1050
|
timestamp TEXT NOT NULL,
|
|
1051
1051
|
PRIMARY KEY (plugin_id, name)
|
|
1052
1052
|
)
|
|
1053
|
-
`.execute(t)}async function
|
|
1053
|
+
`.execute(t)}async function uT(t){if(!await yu(t,"kysely_migration"))return;let n=await Z`
|
|
1054
1054
|
SELECT name, timestamp FROM kysely_migration
|
|
1055
1055
|
WHERE name LIKE '%/%'
|
|
1056
1056
|
`.execute(t);if(n.rows.length===0)return;for(let{name:e,timestamp:a}of n.rows){let u=e;if(e.includes("~plugins/"))u=e.substring(e.indexOf("~plugins/")+9);let _=u.indexOf("/");if(_===-1){console.warn(`Skipping malformed plugin migration: ${e}`);continue}let m=u.substring(0,_),o=u.substring(_+1);try{await Z`
|
|
@@ -1061,4 +1061,4 @@ var Tu=Object.defineProperty;var cu=(t)=>t;function ru(t,n){this[t]=cu.bind(null
|
|
|
1061
1061
|
WHERE plugin_id = ${m} AND name = ${o}
|
|
1062
1062
|
`.execute(t);if(Number(x.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${m}/${o}, keeping in old table`);continue}}await Z`
|
|
1063
1063
|
DELETE FROM kysely_migration WHERE name = ${e}
|
|
1064
|
-
`.execute(t)}}async function
|
|
1064
|
+
`.execute(t)}}async function aT(t){await iT(t),await uT(t);let n=new xu({db:t,provider:{getMigrations:()=>Promise.resolve(yi)}}),{error:e,results:a}=await n.migrateToLatest(),u=0;if(a?.forEach((_)=>{if(_.status==="Success")u++;else if(_.status==="Error")console.error(`Failed to execute migration "${_.migrationName}"`)}),e)throw console.error("Failed to migrate"),console.error(e),e;return u}async function _T(t){let{keepOpen:n=!1,database:e,skipBetterAuth:a=!1}=t??{},u="skipped";if(!a&&!e)u=await mu();let _=e??wi(),m=async()=>{if(!n&&!e)await ou(_).catch((o)=>{console.warn("Warning: Error closing database:",o)})};try{let o=await aT(_.db);return await m(),{betterAuth:u,kysely:o}}catch(o){throw await m(),o}}async function UN(){let t=wi(),n=new xu({db:t.db,provider:{getMigrations:()=>Promise.resolve(yi)}}),{error:e,results:a}=await n.migrateDown();if(a?.forEach((u)=>{if(u.status==="Success")console.log(`\u2705 Migration "${u.migrationName}" rolled back successfully`);else if(u.status==="Error")console.error(`\u274C Failed to rollback migration "${u.migrationName}"`)}),e)throw console.error("Failed to rollback migration"),console.error(e),e}if(import.meta.main)(async()=>{try{await _T(),console.log("Migrations completed."),process.exit(0)}catch(t){console.error("Migration failed:",t),process.exit(1)}})();export{aT as runKyselyMigrations,_T as migrateToLatest,UN as migrateDown};
|