decocms 4.6.0 → 4.8.0
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-Dc2EW1Xh.js → AlertCircle-BP8AraZY.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-CQzCYQdd.js → ArrowUpRight-BusN0ze9.js} +1 -1
- package/dist/client/assets/{CheckCircle-Co8-96Va.js → CheckCircle-CCiLVyhM.js} +1 -1
- package/dist/client/assets/{ChevronDown-DWQLUoqf.js → ChevronDown-D1rSZJNJ.js} +1 -1
- package/dist/client/assets/{ChevronRight-Fl5MZFE5.js → ChevronRight-lATD-CWU.js} +1 -1
- package/dist/client/assets/{ChevronUp-C_lc_o3g.js → ChevronUp-COalomvK.js} +1 -1
- package/dist/client/assets/{DotsVertical-Bj73amJ1.js → DotsVertical-DYu5y7nS.js} +1 -1
- package/dist/client/assets/{Eye-Cbxk_9w_.js → Eye-BfOiLqEH.js} +1 -1
- package/dist/client/assets/{FilterLines-BYUFwc91.js → FilterLines-BIcisIR_.js} +1 -1
- package/dist/client/assets/{Globe01-DWTVb7Un.js → Globe01-CZa0pcoj.js} +1 -1
- package/dist/client/assets/{Globe04-CDxhXYra.js → Globe04-D5AGMp6t.js} +1 -1
- package/dist/client/assets/{HardDrive-BMXxrd-5.js → HardDrive-BC3OhmUD.js} +1 -1
- package/dist/client/assets/{Key01-DE0qpETa.js → Key01-BoG0RxKz.js} +1 -1
- package/dist/client/assets/{LayoutLeft-D_an0z1y.js → LayoutLeft-D0U40IKQ.js} +1 -1
- package/dist/client/assets/{LinkExternal01-CkYnR-pE.js → LinkExternal01-l52zuk1o.js} +1 -1
- package/dist/client/assets/{Monitor01-CwPbYng2.js → Monitor01-Cn4nsH4_.js} +1 -1
- package/dist/client/assets/{Palette-D_MNr8c_.js → Palette-cRfEIzBn.js} +1 -1
- package/dist/client/assets/{Play-BSsk9TRT.js → Play-BEfmBSkL.js} +1 -1
- package/dist/client/assets/{Plus-CVGVCEWD.js → Plus-Bl_LZN4x.js} +1 -1
- package/dist/client/assets/{SearchLg-C6-0dWFV.js → SearchLg-C3MEBHez.js} +1 -1
- package/dist/client/assets/{SearchMd-B5gWQzhi.js → SearchMd-B2KjCykZ.js} +1 -1
- package/dist/client/assets/{Settings02-BPbjqaSP.js → Settings02-BWw2xnTO.js} +1 -1
- package/dist/client/assets/{Shield01-JA8ffipF.js → Shield01-BStJDHB3.js} +1 -1
- package/dist/client/assets/{Star01-Coh-d_en.js → Star01-CqQOYJ2t.js} +1 -1
- package/dist/client/assets/{Stars01-BNO0I13-.js → Stars01-Dm8_ZsjH.js} +1 -1
- package/dist/client/assets/{Stars02-_7e7vEGZ.js → Stars02-BbYM6zLw.js} +1 -1
- package/dist/client/assets/{Sun-Bkd03ipa.js → Sun-CmHWC7S4.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-CiBRgm5I.js → SwitchHorizontal01-FX9hjZ1i.js} +1 -1
- package/dist/client/assets/{Tool01-l_q8HUGI.js → Tool01-DhQ4ho9u.js} +1 -1
- package/dist/client/assets/{Trash01-Bg4qQ-BB.js → Trash01-DGP_hvtF.js} +1 -1
- package/dist/client/assets/{Upload01-DXs8XkD-.js → Upload01-ZkeQp0wC.js} +1 -1
- package/dist/client/assets/{User01-B-8LArOe.js → User01-CEj0lW_2.js} +1 -1
- package/dist/client/assets/{Users01-BKqcv_gF.js → Users01-Db402lVp.js} +1 -1
- package/dist/client/assets/{Users03-D6kZFOjC.js → Users03-ChX-8nqW.js} +1 -1
- package/dist/client/assets/{X-CKh7IqmP.js → X-B01YsVvG.js} +1 -1
- package/dist/client/assets/{XCircle-ChyNg6J4.js → XCircle-QJAHsohS.js} +1 -1
- package/dist/client/assets/{XClose-DOOHZ1iM.js → XClose-BYQo3mf2.js} +1 -1
- package/dist/client/assets/{Zap-CGzacH_p.js → Zap-Bt3fWEYQ.js} +1 -1
- package/dist/client/assets/{ZapSquare-C9wtQq17.js → ZapSquare-DIH7lGOR.js} +1 -1
- package/dist/client/assets/{ZoomOut-DT2MdREq.js → ZoomOut-uLvrT3ZO.js} +1 -1
- package/dist/client/assets/{access-gate-BvzmNzgn.js → access-gate-DEalrdU6.js} +1 -1
- package/dist/client/assets/{add-section-modal-BPyB9snb.js → add-section-modal-CUUUFg0S.js} +1 -1
- package/dist/client/assets/{agent-icon-B8eeNtuV.js → agent-icon-CSOnaLfl.js} +1 -1
- package/dist/client/assets/{agents-list-CRZC4vXY.js → agents-list-DigFFCz5.js} +1 -1
- package/dist/client/assets/{ai-providers-CgZlWEmI.js → ai-providers-Bn0ko-Me.js} +1 -1
- package/dist/client/assets/{alert-BFh5ZgoM.js → alert-B6-7zmcz.js} +1 -1
- package/dist/client/assets/{alert-dialog-BD3igJDK.js → alert-dialog-COZUoYSZ.js} +1 -1
- package/dist/client/assets/{app-editor-GuZ0oz1C.js → app-editor-D62eXjsM.js} +1 -1
- package/dist/client/assets/{auth-CVcuabTS.js → auth-C-4tdsy-.js} +1 -1
- package/dist/client/assets/{auth-catchall-BmKG9NPL.js → auth-catchall-FZ6UeU1m.js} +1 -1
- package/dist/client/assets/{auth-entry-gYR0lE8e.js → auth-entry-DIhbcEXh.js} +1 -1
- package/dist/client/assets/{auth-split-layout-CSxcQQiq.js → auth-split-layout-Dy7TVgby.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-B6YIi7Gy.js → authenticate-and-persist-oauth-C9EIeJf7.js} +1 -1
- package/dist/client/assets/{automation-list-row-DjU3jslE.js → automation-list-row-CuXR-b1D.js} +1 -1
- package/dist/client/assets/{automation-runs-Dk8muYzQ.js → automation-runs-Jll4D_3k.js} +1 -1
- package/dist/client/assets/{automations-Dh7v1Iwu.js → automations-DauLH4Ko.js} +1 -1
- package/dist/client/assets/{avatar-ClJplFDb.js → avatar-DJ3QuuQ7.js} +1 -1
- package/dist/client/assets/{badge-kG1ciDHg.js → badge-DophsIRD.js} +1 -1
- package/dist/client/assets/{block-document-RwImv4A7.js → block-document-DQR0nY0w.js} +1 -1
- package/dist/client/assets/{brand-context-C134XR4f.js → brand-context-Cl_SkCNy.js} +1 -1
- package/dist/client/assets/{buckets-Dn3RjMXJ.js → buckets-HXVvwsRF.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-Dc7EhKeO.js → bulk-category-panel-lAbQonVb.js} +1 -1
- package/dist/client/assets/{capability-load-error-Ea8TKuPS.js → capability-load-error-DZnbbeLs.js} +1 -1
- package/dist/client/assets/{card-B4nOjxjh.js → card-fxR4lUhv.js} +1 -1
- package/dist/client/assets/{category-editor-QHLmkKZL.js → category-editor-zTbuw8X7.js} +1 -1
- package/dist/client/assets/{chat-context-o6OHcwaz.js → chat-context-CazPZc8S.js} +1 -1
- package/dist/client/assets/{checkbox-C8lYmD-I.js → checkbox-CeFarX34.js} +1 -1
- package/dist/client/assets/{cli-auth-success-B1Fu33_g.js → cli-auth-success-CMkcLqVT.js} +1 -1
- package/dist/client/assets/{collection-detail-B5rNz-Wz.js → collection-detail-ByP_xq_7.js} +1 -1
- package/dist/client/assets/{collection-display-button-Bk_9Pvnv.js → collection-display-button-BS1F3pfn.js} +1 -1
- package/dist/client/assets/{collection-search-EKDGBBWD.js → collection-search-kw13BHqh.js} +1 -1
- package/dist/client/assets/{collection-tabs-B4rLoGfk.js → collection-tabs-BPNKPBMh.js} +1 -1
- package/dist/client/assets/{command-BdMByUYO.js → command-DJqDR9gR.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-BwW4IuxA.js → commerce-onboarding-lR2PQsg1.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-ZFUlmIw8.js → connect-desktop-dialog-BKrlHfvB.js} +1 -1
- package/dist/client/assets/{connection-card-DXxeWgUJ.js → connection-card-BLTARFN7.js} +1 -1
- package/dist/client/assets/{connection-detail-BDw02lKx.js → connection-detail-DdqBSRDV.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-DPNIJhMB.js → connection-form-helpers-Bmc7HAzG.js} +1 -1
- package/dist/client/assets/{connections-CEJbZBo0.js → connections-XWCpYXva.js} +1 -1
- package/dist/client/assets/{context-menu-gI4zglEM.js → context-menu-_eeSEmED.js} +1 -1
- package/dist/client/assets/{decopilot-BAd_1NUv.js → decopilot-CpTi8_CD.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-D9bCmaFi.js → decopilot-sse-pool-BqKt_VjF.js} +1 -1
- package/dist/client/assets/{dialog-D_71fLjl.js → dialog-DfRvSPDX.js} +1 -1
- package/dist/client/assets/{domain-settings-BNNySpeP.js → domain-settings-DZINJBvM.js} +1 -1
- package/dist/client/assets/{drawer-DodsaUcg.js → drawer-3i1mzioQ.js} +1 -1
- package/dist/client/assets/{dropdown-menu-DA0Umn63.js → dropdown-menu-DxVOJpYg.js} +1 -1
- package/dist/client/assets/{empty-state-DKU1AE7g.js → empty-state-DIXvP0bC.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Dr1KuD3e.js → extract-connection-data-DztiYkKt.js} +1 -1
- package/dist/client/assets/{file-explorer-DRnjO29u.js → file-explorer-DzBaGSrd.js} +1 -1
- package/dist/client/assets/{file-type-icon-B-idWQER.js → file-type-icon-DsZ7zLCo.js} +1 -1
- package/dist/client/assets/{files-Du_TyDiZ.js → files-B5QH6M7W.js} +1 -1
- package/dist/client/assets/{form-DM2r8X1h.js → form-C5K81Zvy.js} +1 -1
- package/dist/client/assets/{general-DSwDb14Y.js → general-yRKdcc2J.js} +1 -1
- package/dist/client/assets/{github-repo-picker-BzKrKS0y.js → github-repo-picker-B-2PDiD8.js} +1 -1
- package/dist/client/assets/{hooks-DxOSHTpN.js → hooks-D1Xb43Cw.js} +1 -1
- package/dist/client/assets/{import-from-deco-dialog-B0LK8KLz.js → import-from-deco-dialog-KlExHidd.js} +1 -1
- package/dist/client/assets/{index-C8BsadKU.js → index-BTJHmUlE.js} +1 -1
- package/dist/client/assets/{index-Btu8MJ2T.js → index-BYxLxb_N.js} +3 -3
- package/dist/client/assets/{index-Bqne0FVi.js → index-Bses2pxU.js} +1 -1
- package/dist/client/assets/{index-B3OleqJQ.js → index-COeFUvR6.js} +1 -1
- package/dist/client/assets/{index-BtNdd8C0.js → index-CaZ1DnAf.js} +1 -1
- package/dist/client/assets/{index-Cwvb1nlN.js → index-Ce9EWw17.js} +5 -5
- package/dist/client/assets/{index-DJ7Qk0xb.js → index-CfS9o05V.js} +1 -1
- package/dist/client/assets/{index-pHcuwHnY.js → index-CzR-Evqc.js} +1 -1
- package/dist/client/assets/{index-CveNYzWA.js → index-DL5kX7dJ.js} +1 -1
- package/dist/client/assets/{index-CMq-PrAu.js → index-DYvWPY4W.js} +1 -1
- package/dist/client/assets/{index-DKUn_x5-.js → index-emGOlkNe.js} +1 -1
- package/dist/client/assets/{index-DFQgcYyk.js → index-imDk1Td6.js} +1 -1
- package/dist/client/assets/{index-C_NGk336.js → index-jWHdRYiU.js} +1 -1
- package/dist/client/assets/{index-D0NstA9i.js → index-kkRn4_qd.js} +1 -1
- package/dist/client/assets/{index-redirect-BnWjgCMM.js → index-redirect-BnQLnros.js} +1 -1
- package/dist/client/assets/{input-4Ev3FmKy.js → input-3siSzfvD.js} +1 -1
- package/dist/client/assets/{integration-icon-eUjgo-Wa.js → integration-icon-HzOHy5Xw.js} +1 -1
- package/dist/client/assets/{label-gN8KznQ2.js → label-C6vpGlT2.js} +1 -1
- package/dist/client/assets/{login-BmQXmH_N.js → login-BcdgteuR.js} +1 -1
- package/dist/client/assets/{mcp-oauth-Cc5rkXEa.js → mcp-oauth-C8ojuSjk.js} +1 -1
- package/dist/client/assets/{members-Cp4zjzzy.js → members-D6E0gds_.js} +1 -1
- package/dist/client/assets/{monaco-editor-C44cv-br.js → monaco-editor-BFK8GWcY.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-B40jQDmM.js → monitoring-stats-row-BiTNhi0G.js} +1 -1
- package/dist/client/assets/{oauth-callback-BrDST1fv.js → oauth-callback-DzrXe6M7.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-WTkIlkS3.js → oauth-callback-ai-provider-DsdXnhfN.js} +1 -1
- package/dist/client/assets/{onboarding-Dxkmjc30.js → onboarding-BkL0LeQn.js} +1 -1
- package/dist/client/assets/{org-install-B1JYSwjj.js → org-install-Cr_tNoS2.js} +1 -1
- package/dist/client/assets/{org-layout-Dujtpnew.js → org-layout-Dtw-vTdN.js} +1 -1
- package/dist/client/assets/{organization-choice-J5jK1Oxb.js → organization-choice-ip59BRuY.js} +1 -1
- package/dist/client/assets/{page-seo-form-A__xQkq5.js → page-seo-form-BkxMWtkp.js} +1 -1
- package/dist/client/assets/page-seo-sheet--SbTIgYU.js +1 -0
- package/dist/client/assets/{popover-HVRs71J_.js → popover-Dsv1r95r.js} +1 -1
- package/dist/client/assets/{post-editor-AykTxdlh.js → post-editor-ESSLPwM7.js} +1 -1
- package/dist/client/assets/{primitives-CqVCusAX.js → primitives-DAiSPMx4.js} +1 -1
- package/dist/client/assets/{profile-Dsm5cVUE.js → profile-CH8wBgcr.js} +1 -1
- package/dist/client/assets/project-app-view-BdMoAeM8.js +1 -0
- package/dist/client/assets/record-editor-Dx48UMmO.js +1 -0
- package/dist/client/assets/registry-Bx8ywDs1.js +2 -0
- package/dist/client/assets/{registry-layout-DnR6q-gU.js → registry-layout-DP5F-9Lo.js} +1 -1
- package/dist/client/assets/{require-capability-BHjBd5cR.js → require-capability-Bxhn3CI-.js} +1 -1
- package/dist/client/assets/{required-auth-layout-BHT7ZfwS.js → required-auth-layout-DSF1nEU7.js} +1 -1
- package/dist/client/assets/{reset-password-C9fbH_Io.js → reset-password-CcVmyfwE.js} +1 -1
- package/dist/client/assets/{roles-DdiiM8bD.js → roles-BX-xewru.js} +1 -1
- package/dist/client/assets/{scroll-area-DBKWSV0V.js → scroll-area-R4MuycdP.js} +1 -1
- package/dist/client/assets/{search-input-CCb3iBWj.js → search-input-wZR45WcL.js} +1 -1
- package/dist/client/assets/{secrets-POD6p8M3.js → secrets-C-uTxc6F.js} +1 -1
- package/dist/client/assets/{sections-editor-DmZ3dLRQ.js → sections-editor-BduM-QIP.js} +1 -1
- package/dist/client/assets/{select-model-Dz5WmHmG.js → select-model-DLjICXAB.js} +1 -1
- package/dist/client/assets/{select-DsygRtM0.js → select-xa-GjJp_.js} +1 -1
- package/dist/client/assets/{seo-editor-KdLfuwTx.js → seo-editor-C8y5V7Zn.js} +1 -1
- package/dist/client/assets/{settings-layout-C7eatiLG.js → settings-layout-YeAQm5Jl.js} +1 -1
- package/dist/client/assets/{settings-section-BDyOfwm9.js → settings-section-BO74XZSq.js} +1 -1
- package/dist/client/assets/{sheet-BuVYCl7W.js → sheet-ChiQca7K.js} +1 -1
- package/dist/client/assets/{shell-controls-BKIuBDCo.js → shell-controls-B9KCPdYQ.js} +1 -1
- package/dist/client/assets/shell-layout-_3HPhbLa.js +1 -0
- package/dist/client/assets/{shell-route-loading-LDGMG-07.js → shell-route-loading-Dddc3D5B.js} +1 -1
- package/dist/client/assets/{sidebar-DnL9fG62.js → sidebar-B9dgUcrl.js} +1 -1
- package/dist/client/assets/{skeleton-BgNQclTb.js → skeleton-BFIflr8H.js} +1 -1
- package/dist/client/assets/{sortable.esm-CPwrTvNQ.js → sortable.esm-Dha08fCq.js} +1 -1
- package/dist/client/assets/{sso-DzkqAS16.js → sso-BWL49DoM.js} +1 -1
- package/dist/client/assets/{store-CuC2elbL.js → store-BVVZggV2.js} +1 -1
- package/dist/client/assets/store-registry-C_NqLo4w.js +2 -0
- package/dist/client/assets/{studio-tools-B50CVfWQ.js → studio-tools-CX1t2wo7.js} +1 -1
- package/dist/client/assets/{switch-wJmvNZzz.js → switch-_sVfSPaD.js} +1 -1
- package/dist/client/assets/{table-CDMv3jJI.js → table-DwDbz8iY.js} +1 -1
- package/dist/client/assets/{tabs-BtMboBYf.js → tabs-CH_sAsPv.js} +1 -1
- package/dist/client/assets/{task-status-XX_WiZVd.js → task-status-BilXNld4.js} +1 -1
- package/dist/client/assets/{textarea-DhaBNVNU.js → textarea-WTWE3YW7.js} +1 -1
- package/dist/client/assets/{toggle-group-CUlLZ0WG.js → toggle-group-CP4tUZC4.js} +1 -1
- package/dist/client/assets/{toolbar-ChXNrWyq.js → toolbar-Cg38UlON.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-Ds9XpOpZ.js → toolbar-icon-button-vPK5DPYy.js} +1 -1
- package/dist/client/assets/{tools-list-jajXFCHc.js → tools-list-MKkD55QW.js} +1 -1
- package/dist/client/assets/{tooltip--hLULyB8.js → tooltip-CIGYkCAI.js} +1 -1
- package/dist/client/assets/{types-CJ1piLtD.js → types-CBYtFnMZ.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CDUvzgtf.js → use-ai-providers-DepwN6Nt.js} +1 -1
- package/dist/client/assets/{use-automations-CM_uU7rn.js → use-automations-Ck9NK_oB.js} +1 -1
- package/dist/client/assets/{use-capability-BU6ciZJU.js → use-capability-CVgQJ8xn.js} +1 -1
- package/dist/client/assets/{use-clock-tick-CrebkY9T.js → use-clock-tick-C5iYcOG_.js} +1 -1
- package/dist/client/assets/{use-collections-DVgsseNJ.js → use-collections-B9JlVxD2.js} +1 -1
- package/dist/client/assets/{use-connection-eth2XC-k.js → use-connection-BKkAL8KW.js} +1 -1
- package/dist/client/assets/{use-copy-Pbq9Qj8M.js → use-copy-eM9xM7hR.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BiSxyHB5.js → use-create-virtual-mcp-CkM5QpI8.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-D47AwpeF.js → use-debounced-autosave-BhsBW6Nj.js} +1 -1
- package/dist/client/assets/{use-debounced-value-BwJG2WZ7.js → use-debounced-value-0BOyiXG4.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-vuxyqGzO.js → use-decopilot-events-CCDt3KOG.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BLF2aFv2.js → use-delete-connection-DZfZoTPp.js} +1 -1
- package/dist/client/assets/{use-file-configs-C0Bxesif.js → use-file-configs-DGp2AP1n.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-D2_Ok7--.js → use-infinite-scroll-C2FI-2Uk.js} +1 -1
- package/dist/client/assets/{use-join-requests-Bb9m7Kcn.js → use-join-requests-DljJvjIG.js} +1 -1
- package/dist/client/assets/{use-mcp-client-gLPXhZwB.js → use-mcp-client-BRyGzGjZ.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-DlvK4PCy.js → use-mcp-prompts-DDRoN3LD.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BuZcYJRN.js → use-mcp-tools-DI-MkCd8.js} +1 -1
- package/dist/client/assets/{use-members-CKL7vqmc.js → use-members-CealryXB.js} +1 -1
- package/dist/client/assets/{use-mobile-ClQdwqdV.js → use-mobile-42JaqbyB.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-BiR_hnuj.js → use-navigate-to-agent-f2m02HAF.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-DhNK-6Hb.js → use-org-auth-client-CVdba79K.js} +1 -1
- package/dist/client/assets/{use-org-fs-DEr-WdtP.js → use-org-fs-CU_E4q-e.js} +1 -1
- package/dist/client/assets/{use-org-sso-D7xmv0-O.js → use-org-sso-Dg7bL-tR.js} +1 -1
- package/dist/client/assets/{use-organization-roles-d3UIS_ut.js → use-organization-roles-ylf3jugw.js} +1 -1
- package/dist/client/assets/{use-organization-settings-sdfsJyHP.js → use-organization-settings-lLQudMV_.js} +1 -1
- package/dist/client/assets/{use-registry-connections-zKZuukaQ.js → use-registry-connections-BVPw6piI.js} +1 -1
- package/dist/client/assets/{use-secrets-CqdIcoAr.js → use-secrets-CW6NzUK3.js} +1 -1
- package/dist/client/assets/{use-status-sounds-PFzjdDsL.js → use-status-sounds-C1B6MKX0.js} +1 -1
- package/dist/client/assets/{use-view-mode-DIgKkfzH.js → use-view-mode-CicWJY61.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-cFiSNo55.js → use-virtual-mcp-BIWjDnR3.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-B_YuxoOI.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-DC5qHrow.js +1 -0
- package/dist/client/assets/{useSuspenseQueries-Blox8E_y.js → useSuspenseQueries-CsDWb7hT.js} +1 -1
- package/dist/client/assets/{variant-calendar-BGBXolQx.js → variant-calendar-ChkUdpwk.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-CXuLlYYW.js → view-mode-toggle-Cy46ust1.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +454 -427
- package/dist/server/migrate.js +24 -24
- package/dist/server/server.js +256 -256
- package/package.json +1 -1
- package/dist/client/assets/page-seo-sheet-BDorMbm5.js +0 -1
- package/dist/client/assets/project-app-view-0WOOUHRR.js +0 -1
- package/dist/client/assets/record-editor-BeS6EgWO.js +0 -1
- package/dist/client/assets/registry-JHGZe7dz.js +0 -2
- package/dist/client/assets/shell-layout-DBLgWYru.js +0 -1
- package/dist/client/assets/store-registry-rIEcmjfy.js +0 -2
- package/dist/client/assets/useInfiniteQuery-DRF-obNO.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CxCY-IUG.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null,e)}var i=(t,e)=>{for(var n in e)Mi(t,n,{get:e[n],enumerable:!0,configurable:!0,set:Oi.bind(e,n)})};import{Migrator as Xi,sql as X}from"kysely";var ct={};i(ct,{up:()=>Zi,down:()=>Hi});import{sql as h}from"kysely";async function Zi(t){await t.schema.createTable("connections").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organizationId","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(e)=>e.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(e)=>e.notNull()).addColumn("connectionUrl","text",(e)=>e.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(e)=>e.notNull().defaultTo("active")).addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(e)=>e.primaryKey()).addColumn("userId","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(e)=>e.notNull()).addColumn("hashedKey","text",(e)=>e.notNull().unique()).addColumn("permissions","text",(e)=>e.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(e)=>e.references("user.id").onDelete("set null")).addColumn("connectionId","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("toolName","text",(e)=>e.notNull()).addColumn("allowed","integer",(e)=>e.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(e)=>e.primaryKey()).addColumn("clientId","text",(e)=>e.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(e)=>e.notNull()).addColumn("redirectUris","text",(e)=>e.notNull()).addColumn("grantTypes","text",(e)=>e.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(e)=>e.primaryKey()).addColumn("clientId","text",(e)=>e.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(e)=>e.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(e)=>e.notNull()).addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(e)=>e.primaryKey()).addColumn("clientId","text",(e)=>e.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(e)=>e.primaryKey()).addColumn("connectionId","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(e)=>e.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(e)=>e.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function Hi(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var yt={};i(yt,{up:()=>Yi,down:()=>Ii});import{sql as vn}from"kysely";async function Yi(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(e)=>e.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(e)=>e.notNull().defaultTo(vn`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(e)=>e.notNull().defaultTo(vn`CURRENT_TIMESTAMP`)).execute()}async function Ii(t){await t.schema.dropTable("organization_settings").execute()}var st={};i(st,{up:()=>Bi,down:()=>Gi});async function Bi(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function Gi(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var ft={};i(ft,{up:()=>vi,down:()=>Vi});async function vi(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(e)=>e.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(e)=>e.notNull()).addColumn("updatedAt","text",(e)=>e.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((e)=>e.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function Vi(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(e)=>e.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(e)=>e.notNull()).addColumn("updatedAt","text",(e)=>e.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((e)=>e.selectFrom("organization_settings").select(["organizationId",e.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Tt={};i(Tt,{up:()=>qi,down:()=>li});async function qi(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function li(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var pt={};i(pt,{up:()=>bi,down:()=>ta});import{sql as di}from"kysely";async function bi(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",di`text`).execute()}async function ta(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var wt={};i(wt,{up:()=>ea,down:()=>na});async function ea(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(e)=>e.notNull()).addColumn("tool_name","text",(e)=>e.notNull()).addColumn("input","text",(e)=>e.notNull()).addColumn("output","text",(e)=>e.notNull()).addColumn("is_error","integer",(e)=>e.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(e)=>e.notNull()).addColumn("timestamp","text",(e)=>e.notNull()).addColumn("user_id","text").addColumn("request_id","text",(e)=>e.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function na(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var Ct={};i(Ct,{up:()=>ia,down:()=>aa});import{sql as F}from"kysely";async function ia(t){await t.schema.createTable("events").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(e)=>e.notNull()).addColumn("source","text",(e)=>e.notNull()).addColumn("specversion","text",(e)=>e.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(e)=>e.notNull()).addColumn("datacontenttype","text",(e)=>e.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(e)=>e.notNull().defaultTo("pending")).addColumn("attempts","integer",(e)=>e.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(e)=>e.notNull()).addColumn("filter","text").addColumn("enabled","integer",(e)=>e.notNull().defaultTo(1)).addColumn("created_at","text",(e)=>e.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(e)=>e.primaryKey()).addColumn("event_id","text",(e)=>e.notNull()).addColumn("subscription_id","text",(e)=>e.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(e)=>e.notNull().defaultTo("pending")).addColumn("attempts","integer",(e)=>e.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function aa(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var Nt={};i(Nt,{up:()=>oa,down:()=>_a});import{sql as ua}from"kysely";async function oa(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function _a(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(e)=>e.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(e)=>e.references("user.id").onDelete("set null")).addColumn("connectionId","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("toolName","text",(e)=>e.notNull()).addColumn("allowed","integer",(e)=>e.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(e)=>e.notNull().defaultTo(ua`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var ht={};i(ht,{up:()=>ma,down:()=>xa});import{sql as v}from"kysely";async function ma(t){await t.schema.createTable("gateways").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(e)=>e.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(e)=>e.notNull().defaultTo("active")).addColumn("is_default","integer",(e)=>e.notNull().defaultTo(0)).addColumn("created_at","text",(e)=>e.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(e)=>e.primaryKey()).addColumn("gateway_id","text",(e)=>e.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await v`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function xa(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var Et={};i(Et,{up:()=>ra,down:()=>ca});async function ra(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function ca(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var Kt={};i(Kt,{up:()=>ya,down:()=>sa});import{sql as V}from"kysely";async function ya(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(e)=>e.notNull().defaultTo("inclusion")).execute(),await V`
|
|
2
|
+
var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null,e)}var i=(t,e)=>{for(var n in e)Mi(t,n,{get:e[n],enumerable:!0,configurable:!0,set:Oi.bind(e,n)})};import{Migrator as Fi,sql as F}from"kysely";var ct={};i(ct,{up:()=>Zi,down:()=>Hi});import{sql as h}from"kysely";async function Zi(t){await t.schema.createTable("connections").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organizationId","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(e)=>e.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(e)=>e.notNull()).addColumn("connectionUrl","text",(e)=>e.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(e)=>e.notNull().defaultTo("active")).addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(e)=>e.primaryKey()).addColumn("userId","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(e)=>e.notNull()).addColumn("hashedKey","text",(e)=>e.notNull().unique()).addColumn("permissions","text",(e)=>e.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(e)=>e.references("user.id").onDelete("set null")).addColumn("connectionId","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("toolName","text",(e)=>e.notNull()).addColumn("allowed","integer",(e)=>e.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(e)=>e.primaryKey()).addColumn("clientId","text",(e)=>e.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(e)=>e.notNull()).addColumn("redirectUris","text",(e)=>e.notNull()).addColumn("grantTypes","text",(e)=>e.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(e)=>e.primaryKey()).addColumn("clientId","text",(e)=>e.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(e)=>e.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(e)=>e.notNull()).addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(e)=>e.primaryKey()).addColumn("clientId","text",(e)=>e.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(e)=>e.primaryKey()).addColumn("connectionId","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(e)=>e.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(e)=>e.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(e)=>e.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function Hi(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var yt={};i(yt,{up:()=>Yi,down:()=>Ii});import{sql as vn}from"kysely";async function Yi(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(e)=>e.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(e)=>e.notNull().defaultTo(vn`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(e)=>e.notNull().defaultTo(vn`CURRENT_TIMESTAMP`)).execute()}async function Ii(t){await t.schema.dropTable("organization_settings").execute()}var st={};i(st,{up:()=>Bi,down:()=>Gi});async function Bi(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function Gi(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var ft={};i(ft,{up:()=>vi,down:()=>Vi});async function vi(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(e)=>e.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(e)=>e.notNull()).addColumn("updatedAt","text",(e)=>e.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((e)=>e.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function Vi(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(e)=>e.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(e)=>e.notNull()).addColumn("updatedAt","text",(e)=>e.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((e)=>e.selectFrom("organization_settings").select(["organizationId",e.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Tt={};i(Tt,{up:()=>qi,down:()=>li});async function qi(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function li(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var pt={};i(pt,{up:()=>bi,down:()=>ta});import{sql as di}from"kysely";async function bi(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",di`text`).execute()}async function ta(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var wt={};i(wt,{up:()=>ea,down:()=>na});async function ea(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(e)=>e.notNull()).addColumn("tool_name","text",(e)=>e.notNull()).addColumn("input","text",(e)=>e.notNull()).addColumn("output","text",(e)=>e.notNull()).addColumn("is_error","integer",(e)=>e.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(e)=>e.notNull()).addColumn("timestamp","text",(e)=>e.notNull()).addColumn("user_id","text").addColumn("request_id","text",(e)=>e.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function na(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var Ct={};i(Ct,{up:()=>ia,down:()=>aa});import{sql as S}from"kysely";async function ia(t){await t.schema.createTable("events").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(e)=>e.notNull()).addColumn("source","text",(e)=>e.notNull()).addColumn("specversion","text",(e)=>e.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(e)=>e.notNull()).addColumn("datacontenttype","text",(e)=>e.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(e)=>e.notNull().defaultTo("pending")).addColumn("attempts","integer",(e)=>e.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(e)=>e.notNull()).addColumn("filter","text").addColumn("enabled","integer",(e)=>e.notNull().defaultTo(1)).addColumn("created_at","text",(e)=>e.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(e)=>e.primaryKey()).addColumn("event_id","text",(e)=>e.notNull()).addColumn("subscription_id","text",(e)=>e.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(e)=>e.notNull().defaultTo("pending")).addColumn("attempts","integer",(e)=>e.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function aa(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var Nt={};i(Nt,{up:()=>oa,down:()=>_a});import{sql as ua}from"kysely";async function oa(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function _a(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(e)=>e.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(e)=>e.references("user.id").onDelete("set null")).addColumn("connectionId","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("toolName","text",(e)=>e.notNull()).addColumn("allowed","integer",(e)=>e.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(e)=>e.notNull().defaultTo(ua`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var ht={};i(ht,{up:()=>ma,down:()=>xa});import{sql as v}from"kysely";async function ma(t){await t.schema.createTable("gateways").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(e)=>e.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(e)=>e.notNull().defaultTo("active")).addColumn("is_default","integer",(e)=>e.notNull().defaultTo(0)).addColumn("created_at","text",(e)=>e.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(e)=>e.primaryKey()).addColumn("gateway_id","text",(e)=>e.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await v`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function xa(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var Et={};i(Et,{up:()=>ra,down:()=>ca});async function ra(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function ca(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var Kt={};i(Kt,{up:()=>ya,down:()=>sa});import{sql as V}from"kysely";async function ya(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(e)=>e.notNull().defaultTo("inclusion")).execute(),await V`
|
|
3
3
|
UPDATE gateways
|
|
4
4
|
SET tool_selection_mode = CASE
|
|
5
5
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
@@ -21,7 +21,7 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
21
21
|
) ranked
|
|
22
22
|
WHERE rn = 1
|
|
23
23
|
)
|
|
24
|
-
`.execute(t),await t.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await t.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function Pa(t){await t.schema.dropIndex("idx_downstream_tokens_connection").execute(),await t.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await t.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var Lt={};i(Lt,{up:()=>za,down:()=>Ua});async function za(t){await t.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function Ua(t){await t.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(e)=>e.notNull().defaultTo("passthrough")).execute()}var gt={};i(gt,{up:()=>Da,down:()=>La});import{sql as Vn}from"kysely";async function Da(t){await Vn`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(t),await t.schema.alterTable("gateways").dropColumn("is_default").execute()}async function La(t){await t.schema.alterTable("gateways").addColumn("is_default","integer",(e)=>e.notNull().defaultTo(0)).execute(),await Vn`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t)}var jt={};i(jt,{up:()=>ga,down:()=>ja});async function ga(t){await t.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function ja(t){await t.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Rt={};i(Rt,{up:()=>Ra,down:()=>Ja});import{sql as q}from"kysely";async function Ra(t){await t.schema.createTable("threads").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(e)=>e.notNull()).addColumn("description","text").addColumn("hidden","boolean",(e)=>e.notNull().defaultTo(!1)).addColumn("created_at","text",(e)=>e.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("thread_messages").addColumn("id","text",(e)=>e.primaryKey()).addColumn("thread_id","text",(e)=>e.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(e)=>e.notNull()).addColumn("role","text",(e)=>e.notNull()).addColumn("created_at","text",(e)=>e.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function Ja(t){await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropTable("thread_messages").execute(),await t.schema.dropTable("threads").execute()}var Jt={};i(Jt,{up:()=>Aa,down:()=>Wa});async function Aa(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await t.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await t.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function Wa(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await t.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await t.schema.dropIndex("idx_virtual_mcps_org").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await t.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var At={};i(At,{up:()=>$a,down:()=>
|
|
24
|
+
`.execute(t),await t.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await t.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function Pa(t){await t.schema.dropIndex("idx_downstream_tokens_connection").execute(),await t.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await t.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var Lt={};i(Lt,{up:()=>za,down:()=>Ua});async function za(t){await t.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function Ua(t){await t.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(e)=>e.notNull().defaultTo("passthrough")).execute()}var gt={};i(gt,{up:()=>Da,down:()=>La});import{sql as Vn}from"kysely";async function Da(t){await Vn`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(t),await t.schema.alterTable("gateways").dropColumn("is_default").execute()}async function La(t){await t.schema.alterTable("gateways").addColumn("is_default","integer",(e)=>e.notNull().defaultTo(0)).execute(),await Vn`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t)}var jt={};i(jt,{up:()=>ga,down:()=>ja});async function ga(t){await t.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function ja(t){await t.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Rt={};i(Rt,{up:()=>Ra,down:()=>Ja});import{sql as q}from"kysely";async function Ra(t){await t.schema.createTable("threads").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(e)=>e.notNull()).addColumn("description","text").addColumn("hidden","boolean",(e)=>e.notNull().defaultTo(!1)).addColumn("created_at","text",(e)=>e.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("thread_messages").addColumn("id","text",(e)=>e.primaryKey()).addColumn("thread_id","text",(e)=>e.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(e)=>e.notNull()).addColumn("role","text",(e)=>e.notNull()).addColumn("created_at","text",(e)=>e.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function Ja(t){await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropTable("thread_messages").execute(),await t.schema.dropTable("threads").execute()}var Jt={};i(Jt,{up:()=>Aa,down:()=>Wa});async function Aa(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await t.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await t.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function Wa(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await t.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await t.schema.dropIndex("idx_virtual_mcps_org").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await t.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var At={};i(At,{up:()=>$a,down:()=>Xa});async function $a(t){await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await t.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function Xa(t){await t.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await t.schema.dropIndex("idx_threads_created_by_updated").execute(),await t.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var Wt={};i(Wt,{up:()=>Fa,down:()=>Sa});import{sql as f}from"kysely";async function Fa(t){await f`
|
|
25
25
|
INSERT INTO connections (
|
|
26
26
|
id,
|
|
27
27
|
organization_id,
|
|
@@ -68,7 +68,7 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
68
68
|
created_at,
|
|
69
69
|
updated_at
|
|
70
70
|
FROM virtual_mcps
|
|
71
|
-
`.execute(t),await t.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let e=await f`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1);if(e)await f`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(t),await f`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(t),await f`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(t),await f`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(t);if(await t.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),e)await f`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(t),await f`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(t);await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await t.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await t.schema.dropIndex("idx_virtual_mcps_org").execute(),await t.schema.dropTable("virtual_mcps").execute(),await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function
|
|
71
|
+
`.execute(t),await t.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let e=await f`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1);if(e)await f`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(t),await f`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(t),await f`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(t),await f`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(t);if(await t.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),e)await f`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(t),await f`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(t);await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await t.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await t.schema.dropIndex("idx_virtual_mcps_org").execute(),await t.schema.dropTable("virtual_mcps").execute(),await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function Sa(t){await t.schema.createTable("virtual_mcps").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(e)=>e.notNull()).addColumn("description","text").addColumn("tool_selection_mode","text",(e)=>e.notNull().defaultTo("inclusion")).addColumn("icon","text").addColumn("status","text",(e)=>e.notNull().defaultTo("active")).addColumn("created_at","text",(e)=>e.notNull().defaultTo(f`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(e)=>e.notNull().defaultTo(f`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await f`
|
|
72
72
|
INSERT INTO virtual_mcps (
|
|
73
73
|
id, organization_id, title, description, icon, status,
|
|
74
74
|
created_at, updated_at, created_by, updated_by, tool_selection_mode
|
|
@@ -78,7 +78,7 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
78
78
|
created_at, updated_at, created_by, NULL, 'inclusion'
|
|
79
79
|
FROM connections
|
|
80
80
|
WHERE connection_type = 'VIRTUAL'
|
|
81
|
-
`.execute(t),await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await t.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await f`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(t),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var $t={};i($t,{up:()=>Ma,down:()=>Qa});async function Ma(t){await t.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_id").on("monitoring_logs").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function Qa(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute()}var
|
|
81
|
+
`.execute(t),await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await t.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await f`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(t),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var $t={};i($t,{up:()=>Ma,down:()=>Qa});async function Ma(t){await t.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_id").on("monitoring_logs").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function Qa(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute()}var Xt={};i(Xt,{up:()=>Oa,down:()=>Za});import{sql as E}from"kysely";async function Oa(t){if(await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.createTable("connection_aggregations_new").addColumn("id","text",(n)=>n.primaryKey()).addColumn("parent_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(E`CURRENT_TIMESTAMP`)).execute(),await E`
|
|
82
82
|
INSERT INTO connection_aggregations_new (
|
|
83
83
|
id, parent_connection_id, child_connection_id,
|
|
84
84
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -96,7 +96,7 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
96
96
|
id, parent_connection_id, child_connection_id,
|
|
97
97
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
98
98
|
FROM connection_aggregations
|
|
99
|
-
`.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await E`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1))await E`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(t),await E`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(t);await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var
|
|
99
|
+
`.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await E`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1))await E`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(t),await E`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(t);await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var St={};i(St,{up:()=>Ha,down:()=>Ya});import{sql as Ft}from"kysely";async function Ha(t){await Ft`
|
|
100
100
|
UPDATE connections
|
|
101
101
|
SET connection_url = connection_url || '/management',
|
|
102
102
|
tools = NULL,
|
|
@@ -104,13 +104,13 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
104
104
|
WHERE connection_url LIKE '%/mcp'
|
|
105
105
|
AND connection_url NOT LIKE '%/mcp/management'
|
|
106
106
|
AND app_name = '@deco/management-mcp'
|
|
107
|
-
`.execute(t),await
|
|
107
|
+
`.execute(t),await Ft`
|
|
108
108
|
UPDATE connections
|
|
109
109
|
SET tools = NULL,
|
|
110
110
|
updated_at = CURRENT_TIMESTAMP
|
|
111
111
|
WHERE app_name = '@deco/management-mcp'
|
|
112
112
|
AND tools IS NOT NULL
|
|
113
|
-
`.execute(t)}async function Ya(t){await
|
|
113
|
+
`.execute(t)}async function Ya(t){await Ft`
|
|
114
114
|
UPDATE connections
|
|
115
115
|
SET connection_url = SUBSTR(connection_url, 1, LENGTH(connection_url) - LENGTH('/management')),
|
|
116
116
|
updated_at = CURRENT_TIMESTAMP
|
|
@@ -204,7 +204,7 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
204
204
|
`.execute(t),await ae`
|
|
205
205
|
DELETE FROM project_plugin_configs
|
|
206
206
|
WHERE plugin_id = 'object-storage'
|
|
207
|
-
`.execute(t)}async function Wu(t){}var oe={};i(oe,{up:()=>$u,down:()=>
|
|
207
|
+
`.execute(t)}async function Wu(t){}var oe={};i(oe,{up:()=>$u,down:()=>Xu});import{sql as ni}from"kysely";async function $u(t){await t.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await ni`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(t)}async function Xu(t){await ni`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(t),await t.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var me={};i(me,{up:()=>Fu,down:()=>Su});import{sql as _e}from"kysely";async function Fu(t){await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await _e`
|
|
208
208
|
ALTER TABLE connections
|
|
209
209
|
ADD CONSTRAINT chk_connections_subtype
|
|
210
210
|
CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
|
|
@@ -212,7 +212,7 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
212
212
|
UPDATE connections
|
|
213
213
|
SET subtype = 'agent'
|
|
214
214
|
WHERE connection_type = 'VIRTUAL'
|
|
215
|
-
`.execute(t),await t.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(_)=>_.primaryKey()).addColumn("virtual_mcp_id","text",(_)=>_.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(_)=>_.notNull()).addColumn("connection_id","text",(_)=>_.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(_)=>_.notNull()).addColumn("updated_at","text",(_)=>_.notNull()).execute(),await t.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await t.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let e=await t.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),n=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),u=new Map;for(let _ of n)u.set(_.organizationId,_.userId);let a=new Map;for(let _ of e){let x=`vir_${j()}`;a.set(_.id,x);let r=_.ui?JSON.parse(_.ui):null,c=JSON.stringify({enabled_plugins:_.enabled_plugins?JSON.parse(_.enabled_plugins):null,ui:r,migrated_from_project:_.id,migrated_project_slug:_.slug}),s=u.get(_.organization_id);if(!s)continue;await t.insertInto("connections").values({id:x,organization_id:_.organization_id,created_by:s,updated_by:null,title:_.name,description:_.description,icon:r?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${x}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:c,bindings:null,status:"active",subtype:"project",created_at:_.created_at,updated_at:_.updated_at}).execute()}let o=await t.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let _ of o){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("connection_aggregations").values({id:`agg_${j()}`,parent_connection_id:x,child_connection_id:_.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:_.created_at}).onConflict((r)=>r.doNothing()).execute()}let m=await t.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let _ of m){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${j()}`,virtual_mcp_id:x,plugin_id:_.plugin_id,connection_id:_.connection_id,settings:_.settings,created_at:_.created_at,updated_at:_.updated_at}).execute()}await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("project_connections").execute(),await t.schema.dropTable("projects").execute()}async function
|
|
215
|
+
`.execute(t),await t.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(_)=>_.primaryKey()).addColumn("virtual_mcp_id","text",(_)=>_.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(_)=>_.notNull()).addColumn("connection_id","text",(_)=>_.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(_)=>_.notNull()).addColumn("updated_at","text",(_)=>_.notNull()).execute(),await t.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await t.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let e=await t.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),n=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),u=new Map;for(let _ of n)u.set(_.organizationId,_.userId);let a=new Map;for(let _ of e){let x=`vir_${j()}`;a.set(_.id,x);let r=_.ui?JSON.parse(_.ui):null,c=JSON.stringify({enabled_plugins:_.enabled_plugins?JSON.parse(_.enabled_plugins):null,ui:r,migrated_from_project:_.id,migrated_project_slug:_.slug}),s=u.get(_.organization_id);if(!s)continue;await t.insertInto("connections").values({id:x,organization_id:_.organization_id,created_by:s,updated_by:null,title:_.name,description:_.description,icon:r?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${x}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:c,bindings:null,status:"active",subtype:"project",created_at:_.created_at,updated_at:_.updated_at}).execute()}let o=await t.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let _ of o){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("connection_aggregations").values({id:`agg_${j()}`,parent_connection_id:x,child_connection_id:_.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:_.created_at}).onConflict((r)=>r.doNothing()).execute()}let m=await t.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let _ of m){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${j()}`,virtual_mcp_id:x,plugin_id:_.plugin_id,connection_id:_.connection_id,settings:_.settings,created_at:_.created_at,updated_at:_.updated_at}).execute()}await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("project_connections").execute(),await t.schema.dropTable("projects").execute()}async function Su(t){await t.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await _e`
|
|
216
216
|
ALTER TABLE connections
|
|
217
217
|
DROP CONSTRAINT IF EXISTS chk_connections_subtype
|
|
218
218
|
`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute()}var xe={};i(xe,{up:()=>Qu,down:()=>Ou});import{sql as Mu}from"kysely";async function Qu(t){await Mu`
|
|
@@ -267,13 +267,13 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
267
267
|
metadata = ${r},
|
|
268
268
|
updated_at = NOW()
|
|
269
269
|
WHERE id = ${n.id}
|
|
270
|
-
`.execute(t)}}}async function Uo(t){}var ge={};i(ge,{up:()=>Lo,down:()=>go});import{sql as Do}from"kysely";async function Lo(t){await t.schema.alterTable("threads").addColumn("metadata","jsonb",(e)=>e.notNull().defaultTo(Do`'{}'::jsonb`)).execute()}async function go(t){await t.schema.alterTable("threads").dropColumn("metadata").execute()}var je={};i(je,{up:()=>jo,down:()=>Ro});async function jo(t){await t.schema.alterTable("threads").addColumn("branch","text").execute()}async function Ro(t){await t.schema.alterTable("threads").dropColumn("branch").execute()}var Re={};i(Re,{up:()=>Jo,down:()=>Ao});async function Jo(t){await t.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(e)=>e.notNull()).addColumn("project_ref","text",(e)=>e.notNull()).addColumn("runner_kind","text",(e)=>e.notNull()).addColumn("handle","text",(e)=>e.notNull()).addColumn("state","jsonb",(e)=>e.notNull()).addColumn("updated_at","timestamptz",(e)=>e.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await t.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function Ao(t){await t.schema.dropTable("sandbox_runner_state").execute()}var Je={};i(Je,{up:()=>Wo,down:()=>$o});async function Wo(t){await t.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function $o(t){await t.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var Ae={};i(Ae,{up:()=>
|
|
270
|
+
`.execute(t)}}}async function Uo(t){}var ge={};i(ge,{up:()=>Lo,down:()=>go});import{sql as Do}from"kysely";async function Lo(t){await t.schema.alterTable("threads").addColumn("metadata","jsonb",(e)=>e.notNull().defaultTo(Do`'{}'::jsonb`)).execute()}async function go(t){await t.schema.alterTable("threads").dropColumn("metadata").execute()}var je={};i(je,{up:()=>jo,down:()=>Ro});async function jo(t){await t.schema.alterTable("threads").addColumn("branch","text").execute()}async function Ro(t){await t.schema.alterTable("threads").dropColumn("branch").execute()}var Re={};i(Re,{up:()=>Jo,down:()=>Ao});async function Jo(t){await t.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(e)=>e.notNull()).addColumn("project_ref","text",(e)=>e.notNull()).addColumn("runner_kind","text",(e)=>e.notNull()).addColumn("handle","text",(e)=>e.notNull()).addColumn("state","jsonb",(e)=>e.notNull()).addColumn("updated_at","timestamptz",(e)=>e.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await t.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function Ao(t){await t.schema.dropTable("sandbox_runner_state").execute()}var Je={};i(Je,{up:()=>Wo,down:()=>$o});async function Wo(t){await t.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function $o(t){await t.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var Ae={};i(Ae,{up:()=>Xo,down:()=>Fo});async function Xo(t){await t.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function Fo(t){await t.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var We={};i(We,{up:()=>So,down:()=>Mo});async function So(t){await t.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function Mo(t){await t.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var $e={};i($e,{up:()=>Oo,down:()=>Zo});import{sql as _i}from"kysely";var Qo=["COLLECTION_CONNECTIONS_LIST","COLLECTION_CONNECTIONS_GET","CONNECTION_TEST","COLLECTION_VIRTUAL_MCP_LIST","COLLECTION_VIRTUAL_MCP_GET","VIRTUAL_MCP_PLUGIN_CONFIG_GET","AUTOMATION_GET","AUTOMATION_LIST","AI_PROVIDERS_LIST","AI_PROVIDERS_LIST_MODELS","AI_PROVIDERS_ACTIVE","LIST_OBJECTS","GET_OBJECT_METADATA","GET_PRESIGNED_URL","PUT_PRESIGNED_URL","VM_START","VM_DELETE"];async function Oo(t){let e=await _i`
|
|
271
271
|
SELECT id, permission FROM "organizationRole"
|
|
272
272
|
`.execute(t);for(let n of e.rows){if(!n.permission)continue;let u;try{u=JSON.parse(n.permission)}catch{continue}let a=u.self;if(!Array.isArray(a))continue;if(a.length===1&&a[0]==="*")continue;let o=a,m=Array.from(new Set([...o,...Qo]));if(m.length===o.length)continue;u.self=m;let _=JSON.stringify(u);await _i`
|
|
273
273
|
UPDATE "organizationRole"
|
|
274
274
|
SET permission = ${_}
|
|
275
275
|
WHERE id = ${n.id}
|
|
276
|
-
`.execute(t)}}async function Zo(t){}var
|
|
276
|
+
`.execute(t)}}async function Zo(t){}var Xe={};i(Xe,{up:()=>Ho,down:()=>Yo});async function Ho(t){await t.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await t.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").execute()}async function Yo(t){await t.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await t.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}var Fe={};i(Fe,{up:()=>Io,down:()=>Bo});async function Io(t){await t.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function Bo(t){await t.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var Se={};i(Se,{up:()=>Go,down:()=>vo});import{sql as O}from"kysely";async function Go(t){await O`
|
|
277
277
|
UPDATE automations
|
|
278
278
|
SET virtual_mcp_id = (agent::json ->> 'id')
|
|
279
279
|
WHERE virtual_mcp_id IS NULL
|
|
@@ -790,16 +790,16 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
790
790
|
WHERE c.connection_type = 'VIRTUAL'
|
|
791
791
|
AND c.metadata IS NOT NULL
|
|
792
792
|
AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
|
|
793
|
-
`.execute(t)}async function A_(t){}var nn={};i(nn,{up:()=>$_,down:()=>
|
|
793
|
+
`.execute(t)}async function A_(t){}var nn={};i(nn,{up:()=>$_,down:()=>X_});import{sql as Ti}from"kysely";var W_=["GLOBAL_SEARCH"];async function $_(t){let e=await Ti`
|
|
794
794
|
SELECT id, permission FROM "organizationRole"
|
|
795
795
|
`.execute(t);for(let n of e.rows){if(!n.permission)continue;let u;try{u=JSON.parse(n.permission)}catch{continue}let a=u.self;if(!Array.isArray(a))continue;if(a.length===1&&a[0]==="*")continue;let o=a,m=Array.from(new Set([...o,...W_]));if(m.length===o.length)continue;u.self=m;let _=JSON.stringify(u);await Ti`
|
|
796
796
|
UPDATE "organizationRole"
|
|
797
797
|
SET permission = ${_}
|
|
798
798
|
WHERE id = ${n.id}
|
|
799
|
-
`.execute(t)}}async function
|
|
799
|
+
`.execute(t)}}async function X_(t){}var un={};i(un,{up:()=>F_,down:()=>S_});import{sql as an}from"kysely";async function F_(t){await t.schema.createTable("org_file_configs").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(e)=>e.notNull()).addColumn("description","text").addColumn("bucket","text",(e)=>e.notNull()).addColumn("region","text",(e)=>e.notNull()).addColumn("endpoint","text").addColumn("force_path_style","boolean",(e)=>e.notNull().defaultTo(!1)).addColumn("prefix","text").addColumn("encrypted_credentials","text",(e)=>e.notNull()).addColumn("created_by","text",(e)=>e.notNull()).addColumn("created_at","timestamptz",(e)=>e.notNull().defaultTo(an`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(e)=>e.notNull()).addColumn("updated_at","timestamptz",(e)=>e.notNull().defaultTo(an`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await an`
|
|
800
800
|
CREATE UNIQUE INDEX idx_org_file_configs_org_name
|
|
801
801
|
ON org_file_configs (organization_id, lower(name))
|
|
802
|
-
`.execute(t)}async function
|
|
802
|
+
`.execute(t)}async function S_(t){await t.schema.dropTable("org_file_configs").execute()}var on={};i(on,{up:()=>M_,down:()=>Q_});import{sql as P}from"kysely";async function M_(t){await P`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(t),await P`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(t),await P`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(t),await P`DELETE FROM automations WHERE kind = 'tool_call'`.execute(t),await P`
|
|
803
803
|
ALTER TABLE automations
|
|
804
804
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
805
805
|
`.execute(t),await t.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function Q_(t){await t.schema.alterTable("automations").addColumn("kind","text",(e)=>e.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await P`
|
|
@@ -940,11 +940,11 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
940
940
|
`.execute(t),await T`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await T`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(t),await T`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(t),await T`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(t),await T`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(t),await T`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(t),await T`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(t),await T`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await t.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function Wm(t){await t.schema.dropIndex("organization_domains_org_domain_idx").ifExists().execute(),await t.schema.alterTable("organization_domains").addColumn("auto_join_enabled","boolean",(e)=>e.notNull().defaultTo(!1)).execute(),await T`
|
|
941
941
|
UPDATE organization_domains
|
|
942
942
|
SET auto_join_enabled = (join_mode = 'auto')
|
|
943
|
-
`.execute(t),await T`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await T`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var Jn={};i(Jn,{up:()=>$m,down:()=>
|
|
943
|
+
`.execute(t),await T`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await T`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var Jn={};i(Jn,{up:()=>$m,down:()=>Xm});import{sql as ut}from"kysely";async function $m(t){await t.schema.createTable("organization_join_requests").addColumn("id","text",(e)=>e.primaryKey().defaultTo(ut`gen_random_uuid()::text`)).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(e)=>e.notNull().references("user.id").onDelete("cascade")).addColumn("status","text",(e)=>e.notNull().defaultTo("pending")).addColumn("decided_by","text",(e)=>e.references("user.id").onDelete("set null")).addColumn("decided_at","timestamptz").addColumn("created_at","timestamptz",(e)=>e.notNull().defaultTo(ut`now()`)).addColumn("updated_at","timestamptz",(e)=>e.notNull().defaultTo(ut`now()`)).execute(),await ut`
|
|
944
944
|
CREATE UNIQUE INDEX organization_join_requests_pending_unique
|
|
945
945
|
ON organization_join_requests (organization_id, user_id)
|
|
946
946
|
WHERE status = 'pending'
|
|
947
|
-
`.execute(t),await t.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function
|
|
947
|
+
`.execute(t),await t.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function Xm(t){await t.schema.dropTable("organization_join_requests").execute()}var An={};i(An,{up:()=>Fm,down:()=>Sm});async function Fm(t){await t.schema.alterTable("org_fs_entry").addColumn("read_public","boolean",(e)=>e.notNull().defaultTo(!1)).execute()}async function Sm(t){await t.schema.alterTable("org_fs_entry").dropColumn("read_public").execute()}var Wn={};i(Wn,{up:()=>Mm,down:()=>Qm});async function Mm(t){await t.schema.alterTable("org_fs_entry").addColumn("share_password_hash","text").addColumn("share_secret","text").execute()}async function Qm(t){await t.schema.alterTable("org_fs_entry").dropColumn("share_password_hash").dropColumn("share_secret").execute()}var Fn={};i(Fn,{up:()=>Hm,splitWebResearchTier:()=>Xn,down:()=>Ym,__testing:()=>Zm});function Om(t){return t.toLowerCase().replace(/[^a-z0-9]/g,"").includes("deepresearch")}function $n(t){if(!t||typeof t!=="object")return!1;let e=t.tiers;if(!e||typeof e!=="object")return!1;return"web_search"in e||"deep_research"in e}function Xn(t){if(!t||$n(t))return t;let e=t.tiers??{},n=e.web_research??null,{web_research:u,...a}=e,o=null,m=null;if(n)if(Om(n.modelId))m=n;else o=n;return{...t,tiers:{...a,web_search:o,deep_research:m}}}var Zm={splitWebResearchTier:Xn,isAlreadySplit:$n};async function Hm(t){let e=await t.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let n of e){if(!n.simple_mode)continue;let u=typeof n.simple_mode==="string"?JSON.parse(n.simple_mode):n.simple_mode;if($n(u))continue;let a=Xn(u);await t.updateTable("organization_settings").set({simple_mode:JSON.stringify(a)}).where("organizationId","=",n.organizationId).execute()}}async function Ym(t){throw Error("122-split-web-research-tier is not reversible. Restore from snapshot.")}var Sn={};i(Sn,{up:()=>Im,down:()=>Bm});import{sql as Y}from"kysely";async function Im(t){await t.schema.createTable("connection_workload_tokens").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(e)=>e.notNull().unique()).addColumn("token_prefix","text",(e)=>e.notNull()).addColumn("name","text",(e)=>e.notNull().defaultTo("default")).addColumn("revoked_at","timestamptz").addColumn("last_used_at","timestamptz").addColumn("created_at","timestamptz",(e)=>e.notNull().defaultTo(Y`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(e)=>e.notNull().defaultTo(Y`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connection_workload_tokens_subject").on("connection_workload_tokens").columns(["organization_id","subject_connection_id"]).execute(),await Y`
|
|
948
948
|
CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
|
|
949
949
|
ON connection_workload_tokens (organization_id, subject_connection_id, name)
|
|
950
950
|
WHERE revoked_at IS NULL
|
|
@@ -1007,27 +1007,27 @@ var Mi=Object.defineProperty;var Qi=(t)=>t;function Oi(t,e){this[t]=Qi.bind(null
|
|
|
1007
1007
|
BEFORE INSERT ON connection_aggregations
|
|
1008
1008
|
FOR EACH ROW
|
|
1009
1009
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1010
|
-
`.execute(t)}async function qm(t){await L`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await L`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await L`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var lm={"001-initial-schema":ct,"002-organization-settings":yt,"003-connection-schema-align":st,"004-remove-models-binding":ft,"005-connection-configuration":Tt,"006-add-views-to-settings":pt,"007-monitoring-logs":wt,"008-event-bus":Ct,"009-drop-audit-logs":Nt,"010-gateways":ht,"011-gateway-icon":Et,"012-gateway-tool-selection-mode":Kt,"013-monitoring-user-agent-gateway":kt,"014-gateway-resources-prompts":Pt,"015-monitoring-properties":zt,"016-downstream-token-client-info":Ut,"017-downstream-token-remove-userid":Dt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":gt,"020-enabled-plugins":jt,"021-threads":Rt,"022-rename-gateway-to-virtual-mcp":Jt,"023-optimize-thread-indexes":At,"024-consolidate-virtual-mcp":Wt,"025-add-monitoring-virtual-mcp-id":$t,"026-restrict-child-connection-delete":St,"027-update-management-mcp-url":Ft,"028-update-management-mcp-to-self":Qt,"029-add-updated-by-to-connections":Ot,"030-member-tags":Zt,"031-add-dependency-mode":Ht,"032-projects":Yt,"033-thread-status":It,"034-monitoring-dashboards":Bt,"035-project-connections":Gt,"036-update-registry-url":vt,"037-ai-provider-keys":Vt,"038-oauth-pkce-states":qt,"039-automations":lt,"040-replace-next-run-at-with-last-run-at":dt,"041-ai-provider-keys-unique-constraint":bt,"042-rename-mesh-mcp-to-cms-mcp":te,"043-rename-cms-mcp-to-deco-cms":ee,"044-drop-connections-tools-column":ne,"045-thread-context-start-message":ie,"046-remove-object-storage-plugin":ue,"047-add-next-run-at":oe,"048-merge-projects-agents":me,"049-remove-org-admin-projects":xe,"050-durable-agent-runs":re,"051-org-sso":ye,"052-thread-agent-ids":se,"053-registry-config":fe,"054-connection-slug":pe,"055-spaces":we,"056-automation-project-scope":Ce,"057-thread-virtual-mcp-id":Ne,"058-trigger-callback-tokens":he,"059-kv":Ee,"060-member-index":Ke,"061-downstream-token-connection-index":ke,"062-private-registry":Pe,"063-event-subscriptions-enabled-boolean":ze,"064-brand-context":Ue,"065-organization-domains":De,"066-brand-context-structured":Le,"067-threads-metadata":ge,"068-threads-branch":je,"069-sandbox-runner-state":Re,"070-model-categories":Je,"071-default-home-agents":Ae,"072-ai-provider-key-preset-id":We,"073-backfill-basic-usage-roles":$e,"074-sandbox-runner-state-handle-nonunique":Se,"075-thread-inflight-async-jobs":Xe,"076-automations-drop-agent-json":Fe,"077-tier-only-model-selection":Qe,"078-automation-tool-call-kind":Oe,"079-strip-legacy-freestyle-vm-map-entries":Ze,"080-async-research-jobs":He,"081-async-research-jobs-result-content":Ye,"082-secrets":Ie,"083-thread-run-locally":Be,"084-drop-host-sandbox-rows":Ge,"085-rename-runner-kind":ve,"086-thread-pins-and-vm-map-rekey":Ve,"087-fix-vm-map-rekey":qe,"088-purge-cli-activate-keys":le,"089-rename-remote-user-to-desktop":de,"090-automation-webhook-triggers":be,"091-organization-domains-allow-multi":tn,"092-sandbox-naming-uniformization":en,"093-backfill-global-search-basic-usage":nn,"094-org-file-configs":un,"095-remove-automation-tool-call-kind":on,"096-org-file-configs-public-url-base":_n,"097-drop-local-docker-sandbox-state":xn,"098-thread-message-parts":rn,"099-run-fence":cn,"100-link-transport":yn,"101-cancel-requested-at":sn,"102-observational-agent":fn,"103-revert-observational-agent":Tn,"104-agent-sandbox-provider-kind":wn,"105-org-fs":Cn,"106-automation-tools":Nn,"107-org-fs-public-org":hn,"108-automation-max-agent-steps":En,"109-thread-message-parts-per-message-seq":Kn,"110-backfill-ghs-token-expiry":kn,"111-org-fs-thread-id":Pn,"112-org-file-configs-credential-type":zn,"113-thread-failure-reason":Un,"114-run-acked-seq":Dn,"115-thread-projected-seq":Ln,"116-org-sites":gn,"117-org-file-configs-site-slug":jn,"118-organization-domains-multi-verify":Rn,"119-organization-join-requests":Jn,"120-org-fs-read-public":An,"121-org-fs-share-password":Wn,"122-split-web-research-tier":Xn,"123-connection-credential-vault":Fn,"124-drop-thread-projected-seq":Mn,"125-github-child-single-parent":Qn},On=lm;import{getMigrations as gx}from"better-auth/db";import{sso as jx}from"@better-auth/sso";import{organization as Rx}from"@decocms/better-auth/plugins";import{admin as Jx,apiKey as Ax,jwt as Wx,magicLink as $x,mcp as Sx,openAPI as Xx}from"better-auth/plugins";import{emailOTP as Fx}from"better-auth/plugins/email-otp";import{Kysely as Kx,PostgresDialect as ji}from"kysely";import{Pool as Ri}from"pg";import{homedir as dm}from"os";var bm=new Set(["all","worker","api"]);function tx(t){let e=(t??"").trim();return bm.has(e)?e:"all"}function W(t){return t==="true"||t==="1"}function ex(t){if(t===void 0||t==="")return;return W(t)}function nx(t,e,n){if(e===void 0||e==="")return n;let u=Number(e);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function ix(t,e){if(t===void 0||t==="")return e;return t==="true"||t==="1"}function hi(t){if(!t)return null;try{let n=new URL(t).hostname;if(n==="localhost"||n==="127.0.0.1"||n==="::1")return null;return t}catch{return null}}var ax=new Set(["agent-sandbox","user-desktop"]);function ux(t){let e=t&&t.length>0?t:"user-desktop";if(e==="cluster")return"agent-sandbox";if(!ax.has(e))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return e}function Ei(t,e){let n=t.home||e.DATA_DIR||e.DECOCMS_HOME||`${dm()}/deco`,u=t.localMode,a=t.nodeEnv||e.NODE_ENV||"development",o=e.NATS_URL||"nats://localhost:4222",m=ex(e.NATS_TUNNEL_PUBLIC_ENABLED)??!!e.NATS_PUBLIC_URL;return{settings:{nodeEnv:a,port:Number(t.port)||Number(e.PORT)||3000,baseUrl:t.baseUrl||e.BASE_URL,dataDir:n,databasePgSsl:W(e.DATABASE_PG_SSL),databasePoolMax:Number(e.DATABASE_POOL_MAX)||5,betterAuthSecret:e.BETTER_AUTH_SECRET||"",encryptionKey:e.ENCRYPTION_KEY||"",meshJwtSecret:e.MESH_JWT_SECRET,localMode:u,disableRateLimit:W(e.DISABLE_RATE_LIMIT),studioProvisionSecretKey:e.STUDIO_PROVISION_SECRET_KEY,clickhouseUrl:e.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(e.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:e.MONITORING_OTLP_ENDPOINT,otelServiceName:e.OTEL_SERVICE_NAME||"studio",natsPublicUrl:e.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:nx("NATS_TUNNEL_SESSION_TTL_SECONDS",e.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:e.NATS_OPERATOR_JWT,natsAccountJwt:e.NATS_ACCOUNT_JWT,natsAccountSigningKey:e.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:e.NATS_CREDS,configPath:e.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(e.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:e.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:W(e.ENABLE_DECO_IMPORT),mcpCacheEnabled:ix(e.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:e.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(e.DISABLE_ORGFS_MOUNTS),s3Endpoint:e.S3_ENDPOINT,s3Bucket:e.S3_BUCKET,s3Region:e.S3_REGION||"auto",s3AccessKeyId:e.S3_ACCESS_KEY_ID,s3SecretAccessKey:e.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:e.S3_FORCE_PATH_STYLE===void 0||e.S3_FORCE_PATH_STYLE===""||e.S3_FORCE_PATH_STYLE==="true"||e.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:e.MONITORING_S3_BUCKET,monitoringS3Endpoint:e.MONITORING_S3_ENDPOINT,monitoringS3Region:e.MONITORING_S3_REGION,monitoringS3AccessKeyId:e.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:e.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:e.MONITORING_S3_PREFIX,duckdbExtensionDirectory:e.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:e.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:e.DUCKDB_THREADS?Number(e.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:e.POD_NAME??crypto.randomUUID(),dispatchRole:tx(e.MESH_DISPATCH_ROLE),sandboxProviderKind:ux(e.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:e.DECO_SUPABASE_URL,decoSupabaseServiceKey:e.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:e.FIRECRAWL_API_KEY,commerceDiscoveryInternalApiUrl:e.COMMERCE_DISCOVERY_INTERNAL_API_URL,commerceDiscoveryInternalApiKey:e.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:e.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:e.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:e.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:e.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:e.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:e.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:e.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:hi(e.DATABASE_URL),externalNatsUrl:hi(o),skipMigrations:t.skipMigrations}}var ot=null;function $(){if(!ot)ox();return ot}function ox(){if(ot)return;let t={...process.env},e=Ei({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);ot=Object.freeze({...e.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((n)=>n.trim()).filter(Boolean)})}import{createContextKey as yx,metrics as sx,propagation as Sy,ROOT_CONTEXT as Xy,SpanStatusCode as Fy,trace as fx}from"@opentelemetry/api";import{logs as Tx,SeverityNumber as Zn}from"@opentelemetry/api-logs";import{OTLPLogExporter as Oy}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as px}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Yy}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as By}from"@opentelemetry/instrumentation-runtime-node";import{context as jc,propagation as Rc,SpanKind as Jc,SpanStatusCode as Ac}from"@opentelemetry/api";var $c=globalThis.fetch;import{ExportResultCode as Gc}from"@opentelemetry/core";import{ExportResultCode as _t}from"@opentelemetry/core";import{mkdir as _x,rename as mx,writeFile as xx}from"fs/promises";import{join as mt}from"path";class xt{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 e=t.flushIntervalMs??60000;if(e>0&&e<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((n)=>{console.error("[NDJSONExporter] Timer flush failed:",n)})},e),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:_t.FAILED});for(let e of t){let n=JSON.stringify(e),u=this.partitionKey?this.partitionKey(e):"";this.bufferItems.push({partition:u,json:n}),this.bufferBytes+=Buffer.byteLength(n,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:_t.SUCCESS})).catch((e)=>{return console.error("[NDJSONExporter] Flush failed:",e),{code:_t.FAILED}});return Promise.resolve({code:_t.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 e=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=e,e}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let e=new Map;for(let a of t){let o=e.get(a.partition);if(!o)o=[],e.set(a.partition,o);o.push(a.json)}let n=await Promise.allSettled(Array.from(e.entries()).map(([a,o])=>this.writeNDJSON(o,a).then(()=>a))),u=n.find((a)=>a.status==="rejected");if(u){let a=new Set;for(let m of n)if(m.status==="fulfilled")a.add(m.value);let o=t.filter((m)=>!a.has(m.partition));this.bufferItems=o.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw u.reason}}async writeNDJSON(t,e){let n=new Date,u=[String(n.getUTCFullYear()),String(n.getUTCMonth()+1).padStart(2,"0"),String(n.getUTCDate()).padStart(2,"0"),String(n.getUTCHours()).padStart(2,"0")],a=e?mt(this.basePath,e,...u):mt(this.basePath,...u);if(!this.knownDirs.has(a))await _x(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=mt(a,`.${o}.tmp`),_=mt(a,o),x=t.join(`
|
|
1010
|
+
`.execute(t)}async function qm(t){await L`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await L`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await L`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var lm={"001-initial-schema":ct,"002-organization-settings":yt,"003-connection-schema-align":st,"004-remove-models-binding":ft,"005-connection-configuration":Tt,"006-add-views-to-settings":pt,"007-monitoring-logs":wt,"008-event-bus":Ct,"009-drop-audit-logs":Nt,"010-gateways":ht,"011-gateway-icon":Et,"012-gateway-tool-selection-mode":Kt,"013-monitoring-user-agent-gateway":kt,"014-gateway-resources-prompts":Pt,"015-monitoring-properties":zt,"016-downstream-token-client-info":Ut,"017-downstream-token-remove-userid":Dt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":gt,"020-enabled-plugins":jt,"021-threads":Rt,"022-rename-gateway-to-virtual-mcp":Jt,"023-optimize-thread-indexes":At,"024-consolidate-virtual-mcp":Wt,"025-add-monitoring-virtual-mcp-id":$t,"026-restrict-child-connection-delete":Xt,"027-update-management-mcp-url":St,"028-update-management-mcp-to-self":Qt,"029-add-updated-by-to-connections":Ot,"030-member-tags":Zt,"031-add-dependency-mode":Ht,"032-projects":Yt,"033-thread-status":It,"034-monitoring-dashboards":Bt,"035-project-connections":Gt,"036-update-registry-url":vt,"037-ai-provider-keys":Vt,"038-oauth-pkce-states":qt,"039-automations":lt,"040-replace-next-run-at-with-last-run-at":dt,"041-ai-provider-keys-unique-constraint":bt,"042-rename-mesh-mcp-to-cms-mcp":te,"043-rename-cms-mcp-to-deco-cms":ee,"044-drop-connections-tools-column":ne,"045-thread-context-start-message":ie,"046-remove-object-storage-plugin":ue,"047-add-next-run-at":oe,"048-merge-projects-agents":me,"049-remove-org-admin-projects":xe,"050-durable-agent-runs":re,"051-org-sso":ye,"052-thread-agent-ids":se,"053-registry-config":fe,"054-connection-slug":pe,"055-spaces":we,"056-automation-project-scope":Ce,"057-thread-virtual-mcp-id":Ne,"058-trigger-callback-tokens":he,"059-kv":Ee,"060-member-index":Ke,"061-downstream-token-connection-index":ke,"062-private-registry":Pe,"063-event-subscriptions-enabled-boolean":ze,"064-brand-context":Ue,"065-organization-domains":De,"066-brand-context-structured":Le,"067-threads-metadata":ge,"068-threads-branch":je,"069-sandbox-runner-state":Re,"070-model-categories":Je,"071-default-home-agents":Ae,"072-ai-provider-key-preset-id":We,"073-backfill-basic-usage-roles":$e,"074-sandbox-runner-state-handle-nonunique":Xe,"075-thread-inflight-async-jobs":Fe,"076-automations-drop-agent-json":Se,"077-tier-only-model-selection":Qe,"078-automation-tool-call-kind":Oe,"079-strip-legacy-freestyle-vm-map-entries":Ze,"080-async-research-jobs":He,"081-async-research-jobs-result-content":Ye,"082-secrets":Ie,"083-thread-run-locally":Be,"084-drop-host-sandbox-rows":Ge,"085-rename-runner-kind":ve,"086-thread-pins-and-vm-map-rekey":Ve,"087-fix-vm-map-rekey":qe,"088-purge-cli-activate-keys":le,"089-rename-remote-user-to-desktop":de,"090-automation-webhook-triggers":be,"091-organization-domains-allow-multi":tn,"092-sandbox-naming-uniformization":en,"093-backfill-global-search-basic-usage":nn,"094-org-file-configs":un,"095-remove-automation-tool-call-kind":on,"096-org-file-configs-public-url-base":_n,"097-drop-local-docker-sandbox-state":xn,"098-thread-message-parts":rn,"099-run-fence":cn,"100-link-transport":yn,"101-cancel-requested-at":sn,"102-observational-agent":fn,"103-revert-observational-agent":Tn,"104-agent-sandbox-provider-kind":wn,"105-org-fs":Cn,"106-automation-tools":Nn,"107-org-fs-public-org":hn,"108-automation-max-agent-steps":En,"109-thread-message-parts-per-message-seq":Kn,"110-backfill-ghs-token-expiry":kn,"111-org-fs-thread-id":Pn,"112-org-file-configs-credential-type":zn,"113-thread-failure-reason":Un,"114-run-acked-seq":Dn,"115-thread-projected-seq":Ln,"116-org-sites":gn,"117-org-file-configs-site-slug":jn,"118-organization-domains-multi-verify":Rn,"119-organization-join-requests":Jn,"120-org-fs-read-public":An,"121-org-fs-share-password":Wn,"122-split-web-research-tier":Fn,"123-connection-credential-vault":Sn,"124-drop-thread-projected-seq":Mn,"125-github-child-single-parent":Qn},On=lm;import{getMigrations as gx}from"better-auth/db";import{sso as jx}from"@better-auth/sso";import{organization as Rx}from"@decocms/better-auth/plugins";import{admin as Jx,apiKey as Ax,jwt as Wx,magicLink as $x,mcp as Xx,openAPI as Fx}from"better-auth/plugins";import{emailOTP as Sx}from"better-auth/plugins/email-otp";import{Kysely as Kx,PostgresDialect as ji}from"kysely";import{Pool as Ri}from"pg";import{homedir as dm}from"os";var bm=new Set(["all","worker","api"]);function tx(t){let e=(t??"").trim();return bm.has(e)?e:"all"}function W(t){return t==="true"||t==="1"}function ex(t){if(t===void 0||t==="")return;return W(t)}function nx(t,e,n){if(e===void 0||e==="")return n;let u=Number(e);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function ix(t,e){if(t===void 0||t==="")return e;return t==="true"||t==="1"}function hi(t){if(!t)return null;try{let n=new URL(t).hostname;if(n==="localhost"||n==="127.0.0.1"||n==="::1")return null;return t}catch{return null}}var ax=new Set(["agent-sandbox","user-desktop"]);function ux(t){let e=t&&t.length>0?t:"user-desktop";if(e==="cluster")return"agent-sandbox";if(!ax.has(e))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return e}function Ei(t,e){let n=t.home||e.DATA_DIR||e.DECOCMS_HOME||`${dm()}/deco`,u=t.localMode,a=t.nodeEnv||e.NODE_ENV||"development",o=e.NATS_URL||"nats://localhost:4222",m=ex(e.NATS_TUNNEL_PUBLIC_ENABLED)??!!e.NATS_PUBLIC_URL;return{settings:{nodeEnv:a,port:Number(t.port)||Number(e.PORT)||3000,baseUrl:t.baseUrl||e.BASE_URL,dataDir:n,databasePgSsl:W(e.DATABASE_PG_SSL),databasePoolMax:Number(e.DATABASE_POOL_MAX)||5,betterAuthSecret:e.BETTER_AUTH_SECRET||"",encryptionKey:e.ENCRYPTION_KEY||"",meshJwtSecret:e.MESH_JWT_SECRET,localMode:u,disableRateLimit:W(e.DISABLE_RATE_LIMIT),studioProvisionSecretKey:e.STUDIO_PROVISION_SECRET_KEY,clickhouseUrl:e.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(e.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:e.MONITORING_OTLP_ENDPOINT,otelServiceName:e.OTEL_SERVICE_NAME||"studio",natsPublicUrl:e.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:nx("NATS_TUNNEL_SESSION_TTL_SECONDS",e.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:e.NATS_OPERATOR_JWT,natsAccountJwt:e.NATS_ACCOUNT_JWT,natsAccountSigningKey:e.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:e.NATS_CREDS,configPath:e.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(e.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:e.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:W(e.ENABLE_DECO_IMPORT),mcpCacheEnabled:ix(e.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:e.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(e.DISABLE_ORGFS_MOUNTS),s3Endpoint:e.S3_ENDPOINT,s3Bucket:e.S3_BUCKET,s3Region:e.S3_REGION||"auto",s3AccessKeyId:e.S3_ACCESS_KEY_ID,s3SecretAccessKey:e.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:e.S3_FORCE_PATH_STYLE===void 0||e.S3_FORCE_PATH_STYLE===""||e.S3_FORCE_PATH_STYLE==="true"||e.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:e.MONITORING_S3_BUCKET,monitoringS3Endpoint:e.MONITORING_S3_ENDPOINT,monitoringS3Region:e.MONITORING_S3_REGION,monitoringS3AccessKeyId:e.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:e.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:e.MONITORING_S3_PREFIX,duckdbExtensionDirectory:e.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:e.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:e.DUCKDB_THREADS?Number(e.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:e.POD_NAME??crypto.randomUUID(),dispatchRole:tx(e.MESH_DISPATCH_ROLE),sandboxProviderKind:ux(e.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:e.DECO_SUPABASE_URL,decoSupabaseServiceKey:e.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:e.FIRECRAWL_API_KEY,commerceDiscoveryInternalApiUrl:e.COMMERCE_DISCOVERY_INTERNAL_API_URL,commerceDiscoveryInternalApiKey:e.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:e.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:e.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:e.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:e.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:e.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:e.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:e.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:hi(e.DATABASE_URL),externalNatsUrl:hi(o),skipMigrations:t.skipMigrations}}var ot=null;function $(){if(!ot)ox();return ot}function ox(){if(ot)return;let t={...process.env},e=Ei({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);ot=Object.freeze({...e.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((n)=>n.trim()).filter(Boolean)})}import{createContextKey as yx,metrics as sx,propagation as Xy,ROOT_CONTEXT as Fy,SpanStatusCode as Sy,trace as fx}from"@opentelemetry/api";import{logs as Tx,SeverityNumber as Zn}from"@opentelemetry/api-logs";import{OTLPLogExporter as Oy}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as px}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Yy}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as By}from"@opentelemetry/instrumentation-runtime-node";import{context as jc,propagation as Rc,SpanKind as Jc,SpanStatusCode as Ac}from"@opentelemetry/api";var $c=globalThis.fetch;import{ExportResultCode as Gc}from"@opentelemetry/core";import{ExportResultCode as _t}from"@opentelemetry/core";import{mkdir as _x,rename as mx,writeFile as xx}from"fs/promises";import{join as mt}from"path";class xt{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 e=t.flushIntervalMs??60000;if(e>0&&e<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((n)=>{console.error("[NDJSONExporter] Timer flush failed:",n)})},e),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:_t.FAILED});for(let e of t){let n=JSON.stringify(e),u=this.partitionKey?this.partitionKey(e):"";this.bufferItems.push({partition:u,json:n}),this.bufferBytes+=Buffer.byteLength(n,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:_t.SUCCESS})).catch((e)=>{return console.error("[NDJSONExporter] Flush failed:",e),{code:_t.FAILED}});return Promise.resolve({code:_t.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 e=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=e,e}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let e=new Map;for(let a of t){let o=e.get(a.partition);if(!o)o=[],e.set(a.partition,o);o.push(a.json)}let n=await Promise.allSettled(Array.from(e.entries()).map(([a,o])=>this.writeNDJSON(o,a).then(()=>a))),u=n.find((a)=>a.status==="rejected");if(u){let a=new Set;for(let m of n)if(m.status==="fulfilled")a.add(m.value);let o=t.filter((m)=>!a.has(m.partition));this.bufferItems=o.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw u.reason}}async writeNDJSON(t,e){let n=new Date,u=[String(n.getUTCFullYear()),String(n.getUTCMonth()+1).padStart(2,"0"),String(n.getUTCDate()).padStart(2,"0"),String(n.getUTCHours()).padStart(2,"0")],a=e?mt(this.basePath,e,...u):mt(this.basePath,...u);if(!this.knownDirs.has(a))await _x(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=mt(a,`.${o}.tmp`),_=mt(a,o),x=t.join(`
|
|
1011
1011
|
`)+`
|
|
1012
|
-
`;await xx(m,x,{mode:384}),await mx(m,_)}}import{ExportResultCode as dc}from"@opentelemetry/core";import{AggregationTemporality as ty,DataPointType as ey}from"@opentelemetry/sdk-metrics";import{ExportResultCode as _y}from"@opentelemetry/core";var cy=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as es,LoggerProvider as ns}from"@opentelemetry/sdk-logs";import{detectResources as as,envDetector as us,hostDetector as os,osDetector as _s,processDetector as ms,resourceFromAttributes as xs}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as cs}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as fy}from"@opentelemetry/api-logs";import{NodeSDK as fs}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as ps,SamplingDecision as
|
|
1012
|
+
`;await xx(m,x,{mode:384}),await mx(m,_)}}import{ExportResultCode as dc}from"@opentelemetry/core";import{AggregationTemporality as ty,DataPointType as ey}from"@opentelemetry/sdk-metrics";import{ExportResultCode as _y}from"@opentelemetry/core";var cy=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as es,LoggerProvider as ns}from"@opentelemetry/sdk-logs";import{detectResources as as,envDetector as us,hostDetector as os,osDetector as _s,processDetector as ms,resourceFromAttributes as xs}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as cs}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as fy}from"@opentelemetry/api-logs";import{NodeSDK as fs}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as ps,SamplingDecision as X}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Ny}from"@opentelemetry/api";var wx="__d",Cx=yx("Current request"),Nx=1;var ki=(t)=>{let n=new URL(t.url).searchParams.get(wx);if(n==="")return crypto.randomUUID();if(!n)n=t.headers.get("x-trace-debug-id");return n};class Pi{inner;constructor(t){this.inner=t}shouldSample(t,e,n,u,a,o){let m=t.getValue(Cx);if(!m){if(this.inner)return this.inner.shouldSample(t,e,n,u,a,o);return{decision:X.RECORD_AND_SAMPLED}}let _=ki(m);if(_)return{decision:X.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":_}};if(this.inner){let x=this.inner.shouldSample(t,e,n,u,a,o);if(x.decision===X.RECORD_AND_SAMPLED){let r=crypto.randomUUID();x.attributes={...x.attributes??{},"trace.debug.id":r}}return x}return{decision:X.NOT_RECORD}}toString(){return"DebugSampler"}}class zi{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:X.RECORD_AND_SAMPLED};return{decision:X.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var Cs=new px({preventServerStart:!0}),Ns=new Pi(new zi(Nx));var Ki=fx.getTracer("studio","1.0.0"),I=sx.getMeter("studio","1.0.0"),hx=Tx.getLogger("studio","1.0.0"),Hn=(t,e,n)=>{let u={},a=n,o=n[n.length-1];if(o!==null&&typeof o==="object"&&!Array.isArray(o)&&!(o instanceof Error)&&Object.getPrototypeOf(o)===Object.prototype)u=o,a=n.slice(0,-1);let m=a.map((_)=>{if(_ instanceof Error)return`${_.name}: ${_.message}`;if(typeof _==="object")try{return JSON.stringify(_)}catch{return"[Object]"}return String(_)}).join(" ");hx.emit({severityNumber:t,severityText:e,body:m,attributes:{"log.source":"console",...u}})},Yn={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{Hn(Zn.ERROR,"ERROR",t),Yn.error(...t)};console.warn=(...t)=>{Hn(Zn.WARN,"WARN",t),Yn.warn(...t)};console.debug=(...t)=>{Hn(Zn.DEBUG,"DEBUG",t),Yn.debug(...t)};var In,Ui=0,Bn=500;function Ex(){if(In)return;let t=performance.now()+Bn;In=setInterval(()=>{let e=performance.now();Ui=Math.max(0,e-t),t=e+Bn},Bn),In.unref?.()}function Di(){return Ex(),Ui}var kx=()=>I.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Li=()=>I.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),gi=400,Px=100,zx=(t)=>(e)=>{let n={"db.statement":e.query.sql,"db.status":e.level==="error"?"error":"success"};if(e.queryDurationMillis>gi){let u=Di(),a=u>gi/2;console.error(a?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:e.queryDurationMillis,eventLoopLagMs:Math.round(u),sql:e.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:rt()}})}if(kx().record(e.queryDurationMillis,n),e.level==="error")console.error("Query failed:",{durationMs:e.queryDurationMillis,error:e.error,sql:e.query.sql})};function Ux(t){let e=t.connect.bind(t);return t.connect=(n)=>{if(typeof n==="function")return e(n);let u=performance.now(),a=rt(),o=t.idleCount===0&&t.totalCount>=a,m=t.idleCount;return e().then((_)=>{let x=performance.now()-u;if(Li().record(x,{"db.pool.outcome":o?"contended":"available"}),x>Px)if(o)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:x,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:a});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:x,idleAtStart:m,total:t.totalCount,max:a});return _},(_)=>{throw Li().record(performance.now()-u,{"db.pool.outcome":"error"}),_})},t}var Ji={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Ai(){try{return $().databasePgSsl}catch{return!1}}function rt(){try{return $().databasePoolMax}catch{return 10}}function Dx(t){let e=Ux(new Ri({connectionString:t,max:rt(),ssl:Ai(),...Ji})),n=new ji({pool:e});return{type:"postgres",db:new Kx({dialect:n,log:zx(e)}),pool:e}}function G(){return $().databaseUrl}function Wi(t){let e=t||G();return new ji({pool:new Ri({connectionString:e,max:rt(),ssl:Ai(),...Ji})})}function Lx(t){let e=t||G();return Dx(e)}async function $i(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===B)B=null}var B=null;function Gn(){if(!B)B=Lx(G());return B}async function Xi(t){let n={database:Wi(t||G()),plugins:[Rx({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),Jx(),Ax(),Wx(),Fx(),Xx({loginPage:"/login"}),jx(),$x({sendMagicLink:async()=>{}}),Sx({sendVerificationOTP:async()=>{}})]},{toBeAdded:u,toBeCreated:a,runMigrations:o}=await gx(n);if(!u.length&&!a.length)return"up to date";return await o(),`${a.length+u.length} table(s) migrated`}async function Si(t,e){return(await F`
|
|
1013
1013
|
SELECT table_name FROM information_schema.tables
|
|
1014
1014
|
WHERE table_schema='public' AND table_name=${e}
|
|
1015
|
-
`.execute(t)).rows.length>0}async function Mx(t){if(await
|
|
1015
|
+
`.execute(t)).rows.length>0}async function Mx(t){if(await Si(t,"plugin_migrations"))return;await F`
|
|
1016
1016
|
CREATE TABLE plugin_migrations (
|
|
1017
1017
|
plugin_id TEXT NOT NULL,
|
|
1018
1018
|
name TEXT NOT NULL,
|
|
1019
1019
|
timestamp TEXT NOT NULL,
|
|
1020
1020
|
PRIMARY KEY (plugin_id, name)
|
|
1021
1021
|
)
|
|
1022
|
-
`.execute(t)}async function Qx(t){if(!await
|
|
1022
|
+
`.execute(t)}async function Qx(t){if(!await Si(t,"kysely_migration"))return;let e=await F`
|
|
1023
1023
|
SELECT name, timestamp FROM kysely_migration
|
|
1024
1024
|
WHERE name LIKE '%/%'
|
|
1025
|
-
`.execute(t);if(e.rows.length===0)return;for(let{name:n,timestamp:u}of e.rows){let a=n;if(n.includes("~plugins/"))a=n.substring(n.indexOf("~plugins/")+9);let o=a.indexOf("/");if(o===-1){console.warn(`Skipping malformed plugin migration: ${n}`);continue}let m=a.substring(0,o),_=a.substring(o+1);try{await
|
|
1025
|
+
`.execute(t);if(e.rows.length===0)return;for(let{name:n,timestamp:u}of e.rows){let a=n;if(n.includes("~plugins/"))a=n.substring(n.indexOf("~plugins/")+9);let o=a.indexOf("/");if(o===-1){console.warn(`Skipping malformed plugin migration: ${n}`);continue}let m=a.substring(0,o),_=a.substring(o+1);try{await F`
|
|
1026
1026
|
INSERT INTO plugin_migrations (plugin_id, name, timestamp)
|
|
1027
1027
|
VALUES (${m}, ${_}, ${u})
|
|
1028
|
-
`.execute(t)}catch{let x=await
|
|
1028
|
+
`.execute(t)}catch{let x=await F`
|
|
1029
1029
|
SELECT COUNT(*) as cnt FROM plugin_migrations
|
|
1030
1030
|
WHERE plugin_id = ${m} AND name = ${_}
|
|
1031
|
-
`.execute(t);if(Number(x.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${m}/${_}, keeping in old table`);continue}}await
|
|
1031
|
+
`.execute(t);if(Number(x.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${m}/${_}, keeping in old table`);continue}}await F`
|
|
1032
1032
|
DELETE FROM kysely_migration WHERE name = ${n}
|
|
1033
|
-
`.execute(t)}}async function Ox(t){await Mx(t),await Qx(t);let e=new
|
|
1033
|
+
`.execute(t)}}async function Ox(t){await Mx(t),await Qx(t);let e=new Fi({db:t,provider:{getMigrations:()=>Promise.resolve(On)}}),{error:n,results:u}=await e.migrateToLatest(),a=0;if(u?.forEach((o)=>{if(o.status==="Success")a++;else if(o.status==="Error")console.error(`Failed to execute migration "${o.migrationName}"`)}),n)throw console.error("Failed to migrate"),console.error(n),n;return a}async function Zx(t){let{keepOpen:e=!1,database:n,skipBetterAuth:u=!1}=t??{},a="skipped";if(!u&&!n)a=await Xi();let o=n??Gn(),m=async()=>{if(!e&&!n)await $i(o).catch((_)=>{console.warn("Warning: Error closing database:",_)})};try{let _=await Ox(o.db);return await m(),{betterAuth:a,kysely:_}}catch(_){throw await m(),_}}async function Vs(){let t=Gn(),e=new Fi({db:t.db,provider:{getMigrations:()=>Promise.resolve(On)}}),{error:n,results:u}=await e.migrateDown();if(u?.forEach((a)=>{if(a.status==="Success")console.log(`\u2705 Migration "${a.migrationName}" rolled back successfully`);else if(a.status==="Error")console.error(`\u274C Failed to rollback migration "${a.migrationName}"`)}),n)throw console.error("Failed to rollback migration"),console.error(n),n}if(import.meta.main)(async()=>{try{await Zx(),console.log("Migrations completed."),process.exit(0)}catch(t){console.error("Migration failed:",t),process.exit(1)}})();export{Ox as runKyselyMigrations,Zx as migrateToLatest,Vs as migrateDown};
|