decocms 4.133.5 → 4.133.7
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-D6MzBuIZ.js → AlertCircle-DabB8Flq.js} +1 -1
- package/dist/client/assets/{AreaChart-CM6TfWMe.js → AreaChart-hArBHLdi.js} +1 -1
- package/dist/client/assets/{ArrowUp-DOEMVuw5.js → ArrowUp-6rIEnPZ0.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-D8H7GUZ3.js → ArrowUpRight-BIYM9Qyo.js} +1 -1
- package/dist/client/assets/{Check-DBTvEwcZ.js → Check-CDlSHTsn.js} +1 -1
- package/dist/client/assets/{CheckCircle-DW_1nGYO.js → CheckCircle-Cmu47Htl.js} +1 -1
- package/dist/client/assets/{ChevronDown-BtUmuN7W.js → ChevronDown-D-8ERXaR.js} +1 -1
- package/dist/client/assets/{ChevronRight-BBig1TXw.js → ChevronRight-pBiIoaLb.js} +1 -1
- package/dist/client/assets/{ChevronUp-BqOkIpD5.js → ChevronUp-CKb5pRwx.js} +1 -1
- package/dist/client/assets/{Copy01-CP0f8hOw.js → Copy01-DgkvDxj9.js} +1 -1
- package/dist/client/assets/{DotsVertical-CEkVojTu.js → DotsVertical-BYqs75M-.js} +1 -1
- package/dist/client/assets/{Eye-DR2bnuQF.js → Eye-B1BYpekq.js} +1 -1
- package/dist/client/assets/{FilterLines-DVnY1Iyo.js → FilterLines-BFBPEgyG.js} +1 -1
- package/dist/client/assets/{HardDrive-Br_C1sgi.js → HardDrive-DNvs6bu_.js} +1 -1
- package/dist/client/assets/{Key01-DOy66D1_.js → Key01-Cvoc0vdZ.js} +1 -1
- package/dist/client/assets/{LayoutLeft-cl5Dmv7_.js → LayoutLeft-BwxNpHxV.js} +1 -1
- package/dist/client/assets/{LinkExternal01-rbwUGuFE.js → LinkExternal01-DeMUi7Wm.js} +1 -1
- package/dist/client/assets/{LogOut01-D6k7lSYa.js → LogOut01-BvnWIsNa.js} +1 -1
- package/dist/client/assets/{Monitor01-wcco39R_.js → Monitor01-BhXwvA9i.js} +1 -1
- package/dist/client/assets/{Palette-BI-ewoIV.js → Palette-CBabVrNV.js} +1 -1
- package/dist/client/assets/{Play-BLv7Q-3f.js → Play-DOBAX2eM.js} +1 -1
- package/dist/client/assets/{Plus-BlKggiqb.js → Plus-BJOMnSBY.js} +1 -1
- package/dist/client/assets/{SearchLg-BxH9G8bK.js → SearchLg-BGjB7JeA.js} +1 -1
- package/dist/client/assets/{SearchMd-CaIBnmzB.js → SearchMd-DTxJVAvC.js} +1 -1
- package/dist/client/assets/{Settings02-zPhSuPR7.js → Settings02-BF-0QNX1.js} +1 -1
- package/dist/client/assets/{Shield01-CeqPVEu1.js → Shield01-EQU8xGUg.js} +1 -1
- package/dist/client/assets/{Star01-Ok6TNb_u.js → Star01-R9_BrLTn.js} +1 -1
- package/dist/client/assets/{Stars01-DQju2KR3.js → Stars01-EoYVZwOh.js} +1 -1
- package/dist/client/assets/{Stars02-B0ObDjtJ.js → Stars02-DF6N5BhW.js} +1 -1
- package/dist/client/assets/{Sun-dnLKlBkZ.js → Sun-BqN7TpA5.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-sjdLAer8.js → SwitchHorizontal01-BUKfdrCo.js} +1 -1
- package/dist/client/assets/{Tool01-BNvkoZgw.js → Tool01-A5jGO-ZV.js} +1 -1
- package/dist/client/assets/{Tool02-Dr6XEdJd.js → Tool02-DKNq8S4n.js} +1 -1
- package/dist/client/assets/{Trash01-CsxdscrN.js → Trash01-C3nK2gEd.js} +1 -1
- package/dist/client/assets/{TrendUp01-BoZj6rH8.js → TrendUp01-CgTenfKO.js} +1 -1
- package/dist/client/assets/{Upload01-DXktby51.js → Upload01-FdQzVtBm.js} +1 -1
- package/dist/client/assets/{User01-CiXLsLDp.js → User01-9kEC--0_.js} +1 -1
- package/dist/client/assets/{Users01-BVzKNxgx.js → Users01-BjUcybP3.js} +1 -1
- package/dist/client/assets/{Users03-4_RlVxIy.js → Users03-D0a-S2LF.js} +1 -1
- package/dist/client/assets/{X-Cj_KFydt.js → X-DOXCWGKR.js} +1 -1
- package/dist/client/assets/{XCircle-ECUEI8Ea.js → XCircle-ZshQtBzJ.js} +1 -1
- package/dist/client/assets/{XClose-BPftkm2o.js → XClose-CZHLoOEi.js} +1 -1
- package/dist/client/assets/{Zap-Cg8CVqs-.js → Zap-Cf_vjd5_.js} +1 -1
- package/dist/client/assets/{ZapSquare-YQYBW7cd.js → ZapSquare-Xjq-6z4z.js} +1 -1
- package/dist/client/assets/{access-gate-B28Jm1bo.js → access-gate-DR-uvYtk.js} +1 -1
- package/dist/client/assets/{add-section-modal-ijTpnxZe.js → add-section-modal-Cpt3Gx_H.js} +1 -1
- package/dist/client/assets/{agent-icon-CrUlbP9b.js → agent-icon-DUgVfVHh.js} +1 -1
- package/dist/client/assets/{agents-list-De68FVPS.js → agents-list-Bp_rw9_0.js} +1 -1
- package/dist/client/assets/{ai-providers-D6BTIW8K.js → ai-providers-DWluTpz0.js} +1 -1
- package/dist/client/assets/{alert-dialog-vL_XFmD1.js → alert-dialog-CsEH9-dG.js} +1 -1
- package/dist/client/assets/{alert-BieYaF4-.js → alert-fVGvZ16n.js} +1 -1
- package/dist/client/assets/{app-editor-D0EUFw7X.js → app-editor-DQhjPL-A.js} +1 -1
- package/dist/client/assets/{auth-CVvxvg9b.js → auth-BDaxZ2N8.js} +1 -1
- package/dist/client/assets/{auth-catchall-D6vjmpET.js → auth-catchall-Bw8BvUU2.js} +1 -1
- package/dist/client/assets/{auth-entry-DhfOF8g2.js → auth-entry-BlXXCJoC.js} +1 -1
- package/dist/client/assets/{auth-split-layout-B2_MKdRf.js → auth-split-layout-cxPzzjV1.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-Bzl8oJ3_.js → authenticate-and-persist-oauth-Cnf-xK76.js} +1 -1
- package/dist/client/assets/{automation-list-row-BFH4UpDI.js → automation-list-row-2s4bJc_A.js} +1 -1
- package/dist/client/assets/{automation-runs-tE0mMkoj.js → automation-runs-BAnzyQ7s.js} +1 -1
- package/dist/client/assets/{automations-1Zn5JXnH.js → automations-CDxxZRDF.js} +1 -1
- package/dist/client/assets/{avatar-10oLDItY.js → avatar-Cv_-hFlj.js} +1 -1
- package/dist/client/assets/{badge-CNDg48y-.js → badge-CKorsJKF.js} +1 -1
- package/dist/client/assets/{block-document-DEivf9zI.js → block-document-CIpoP5t6.js} +1 -1
- package/dist/client/assets/{brand-context-CVwc9zOv.js → brand-context-0JLnn9iE.js} +1 -1
- package/dist/client/assets/{buckets-knH9rH-M.js → buckets-BI9mcjQO.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-DwFwklPv.js → bulk-category-panel-Bf-5PcZC.js} +1 -1
- package/dist/client/assets/{calendar-BVsWCGbI.js → calendar-DHonRrTI.js} +1 -1
- package/dist/client/assets/{capability-load-error-CZEI4uj5.js → capability-load-error-CC5O5tt1.js} +1 -1
- package/dist/client/assets/{card-DTqOcaqc.js → card-rJoi4d_Z.js} +1 -1
- package/dist/client/assets/{category-editor-DW9AfB1U.js → category-editor-SDTWQiNs.js} +1 -1
- package/dist/client/assets/{chat-context-CwhQD7TU.js → chat-context-Di-662vA.js} +1 -1
- package/dist/client/assets/{checkbox-D8uRiR9Q.js → checkbox-C3gzZfYP.js} +1 -1
- package/dist/client/assets/{cli-auth-success-BPC6B07b.js → cli-auth-success-DMbh0m-I.js} +1 -1
- package/dist/client/assets/{collection-detail-RMqqoS3f.js → collection-detail-Dkqej-70.js} +1 -1
- package/dist/client/assets/{collection-display-button-BlQzOsYw.js → collection-display-button-DhAOaADY.js} +1 -1
- package/dist/client/assets/{collection-search-CPaawMZw.js → collection-search-DokiNHUp.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Cc_p5qcM.js → collection-table-wrapper-TJ8sff5q.js} +1 -1
- package/dist/client/assets/{collection-tabs-CryX8_Ls.js → collection-tabs-BM6ChoAg.js} +1 -1
- package/dist/client/assets/{command-3G4RJYTN.js → command-DYZnn7Gy.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-DduR98Ka.js → commerce-onboarding-D1v61lDh.js} +1 -1
- package/dist/client/assets/{companions-core-Dt-bATSd.js → companions-core-BiWwOGrQ.js} +1 -1
- package/dist/client/assets/{connect-CkaKETPa.js → connect-Bz8s70r5.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-D6Eig94G.js → connect-desktop-dialog-BWk9SVF0.js} +1 -1
- package/dist/client/assets/{connection-Bch5Ajwi.js → connection-DDv4Yb3_.js} +1 -1
- package/dist/client/assets/{connection-card-C1WNTYAF.js → connection-card-BB_lAyEf.js} +1 -1
- package/dist/client/assets/{connection-detail-BjM-zUMD.js → connection-detail-Ch8ibH6G.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-DRHs5j0B.js → connection-form-helpers-DiKNHQSX.js} +1 -1
- package/dist/client/assets/{connections-CLHnk64A.js → connections-Dnx3uP_m.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-DjFgbJDK.js → decopilot-sse-pool-CfXw3Sr4.js} +1 -1
- package/dist/client/assets/{dialog-D2ZtE5N9.js → dialog-Cbsk5LxK.js} +1 -1
- package/dist/client/assets/{domain-settings-22-hnFV4.js → domain-settings-BuaSNBpJ.js} +1 -1
- package/dist/client/assets/{drawer-A2TrEK75.js → drawer-CDkS6Y4m.js} +1 -1
- package/dist/client/assets/{dropdown-menu-9ZBexuOM.js → dropdown-menu-cW88UqGJ.js} +1 -1
- package/dist/client/assets/{empty-state-CpcyfBWy.js → empty-state-gdh9b2Zr.js} +1 -1
- package/dist/client/assets/{extract-connection-data-D3C0H-7r.js → extract-connection-data-B0IjG3oU.js} +1 -1
- package/dist/client/assets/{file-explorer-D54e3D5O.js → file-explorer-BXSVPExE.js} +1 -1
- package/dist/client/assets/{form-HDQcAqH_.js → form-CJyihk0R.js} +1 -1
- package/dist/client/assets/{general-qETAMuKJ.js → general-BqngA8sY.js} +1 -1
- package/dist/client/assets/{github-repo-picker-z5zygTla.js → github-repo-picker-CBWBxe9k.js} +1 -1
- package/dist/client/assets/{hooks-DUMMJjz4.js → hooks-B407SDIy.js} +1 -1
- package/dist/client/assets/{index-Ck9kywUf.js → index-4Oe8u4HO.js} +1 -1
- package/dist/client/assets/{index-DCLGWMkK.js → index-BJuUHhQc.js} +5 -5
- package/dist/client/assets/{index-B_XY-GAp.js → index-BKn3LZrH.js} +1 -1
- package/dist/client/assets/{index-Ckf5eyqH.js → index-BLFl8Ebd.js} +1 -1
- package/dist/client/assets/{index-DYSenO0M.js → index-C7m-Sp1Z.js} +1 -1
- package/dist/client/assets/{index-BOFiG-DF.js → index-DWF8EfH1.js} +5 -5
- package/dist/client/assets/{index-RCPh2Pky.js → index-DbL62sw1.js} +1 -1
- package/dist/client/assets/{index-CUgWLgie.js → index-DxsJvsFi.js} +3 -3
- package/dist/client/assets/{index-Dp6HS0zO.js → index-EA9cEnQt.js} +1 -1
- package/dist/client/assets/{index-Bft7jASW.js → index-ZWVRbxD-.js} +1 -1
- package/dist/client/assets/{index-ZshWIFA8.js → index-eT88eeBs.js} +1 -1
- package/dist/client/assets/{index-redirect-CU3QdA0M.js → index-redirect-CNMMHyUN.js} +1 -1
- package/dist/client/assets/{input-CBWt7n_8.js → input--DsFtJjr.js} +1 -1
- package/dist/client/assets/{integration-icon-EFuXAqbZ.js → integration-icon-CAtKSekC.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-DMXBTbPm.js → invite-member-dialog-ojef5VpA.js} +1 -1
- package/dist/client/assets/{label-DEaLDDp2.js → label-wvTzM2_U.js} +1 -1
- package/dist/client/assets/{layout-CnFN8PXf.js → layout-SwvynnAt.js} +1 -1
- package/dist/client/assets/{login-CKyQk7yN.js → login-n5gmFx8F.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CR7FLjcR.js → mcp-oauth-Cs0yEVbq.js} +1 -1
- package/dist/client/assets/{members-D1KSksdf.js → members-1qv462nu.js} +1 -1
- package/dist/client/assets/{monaco-editor-BkrrdZtD.js → monaco-editor-BhQIsani.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-CTlTGw08.js → monitoring-stats-row-CWooeNqB.js} +1 -1
- package/dist/client/assets/{multi-select-Axktyi6u.js → multi-select-DJl10X3S.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CRg0lXx0.js → oauth-callback-ai-provider-HDfygRdx.js} +1 -1
- package/dist/client/assets/{oauth-callback-BAUGNHip.js → oauth-callback-z-_R4eNn.js} +1 -1
- package/dist/client/assets/{onboarding-CJ6Maj2M.js → onboarding-DOqChvl7.js} +1 -1
- package/dist/client/assets/{org-install-CsVaKLOT.js → org-install-Cvmo-cUc.js} +1 -1
- package/dist/client/assets/{org-layout-Bm6QIfdj.js → org-layout-B2Usi2s1.js} +1 -1
- package/dist/client/assets/{organization-choice-DmTIXbA7.js → organization-choice-ByeolIHa.js} +1 -1
- package/dist/client/assets/{orgs-BTvanvJu.js → orgs-BEjNANDL.js} +1 -1
- package/dist/client/assets/{page-seo-form-BaguhMjJ.js → page-seo-form-C732WoR5.js} +1 -1
- package/dist/client/assets/{popover-DbO3dcCT.js → popover-jAk0MfzG.js} +1 -1
- package/dist/client/assets/{post-editor-BCba0hXQ.js → post-editor-CMTweXeT.js} +1 -1
- package/dist/client/assets/{primitives-BC15B7RW.js → primitives-BLrDEq5i.js} +1 -1
- package/dist/client/assets/{profile-Dyx0itLz.js → profile-Bft4f7lg.js} +1 -1
- package/dist/client/assets/project-app-view-YOhrOJ1G.js +1 -0
- package/dist/client/assets/record-editor-CPU1pHWR.js +1 -0
- package/dist/client/assets/{redirect-editor-DmsRjvRi.js → redirect-editor-Couu5_7n.js} +1 -1
- package/dist/client/assets/registry-Dp9fev5g.js +2 -0
- package/dist/client/assets/{registry-layout-CgJXI04v.js → registry-layout-B6FkJRRY.js} +1 -1
- package/dist/client/assets/{reports-j37MTiQu.js → reports-BMPvie-c.js} +1 -1
- package/dist/client/assets/{require-capability--6fTEWwJ.js → require-capability-WV_vPkZy.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DbeJW1HF.js → required-auth-layout-B1E1RCHI.js} +1 -1
- package/dist/client/assets/{reset-password-D7fIiUKF.js → reset-password-ccoiVR3e.js} +1 -1
- package/dist/client/assets/{roles-Df63N77x.js → roles-BOBotePw.js} +1 -1
- package/dist/client/assets/{search-input-D56H4gqp.js → search-input-ClZrTIR_.js} +1 -1
- package/dist/client/assets/{secrets-Dc0R8eaI.js → secrets-BRsFFxfo.js} +1 -1
- package/dist/client/assets/{sections-editor-D8BrOHM0.js → sections-editor-Xv0biVK7.js} +1 -1
- package/dist/client/assets/{select-C_kYbH5x.js → select-Doj4ZhzF.js} +1 -1
- package/dist/client/assets/{select-model-kggjD5Bh.js → select-model-dXPBHpX8.js} +1 -1
- package/dist/client/assets/{self-tool-result-BEliYj4j.js → self-tool-result-Dl8gnVsR.js} +1 -1
- package/dist/client/assets/{seo-editor-CBi2z5H-.js → seo-editor-DmV3KMHQ.js} +1 -1
- package/dist/client/assets/{settings-layout-CIyDMA9z.js → settings-layout-BzwTAxwe.js} +1 -1
- package/dist/client/assets/{settings-section-BVV9HN1K.js → settings-section-BXw0GtNB.js} +1 -1
- package/dist/client/assets/{shell-controls-DEhTIVhQ.js → shell-controls-vtF2L4Ee.js} +1 -1
- package/dist/client/assets/{shell-layout--0bA7W9I.js → shell-layout-CSZt4Yx6.js} +1 -1
- package/dist/client/assets/{sidebar-D2imwRqk.js → sidebar-BkKkHzll.js} +1 -1
- package/dist/client/assets/{skeleton-Bkf4Hj7f.js → skeleton-CoiSjBZv.js} +1 -1
- package/dist/client/assets/{sso-H9j9qUs2.js → sso-C-uBazqh.js} +1 -1
- package/dist/client/assets/{store-isSqyVyC.js → store-jFFhGbcV.js} +1 -1
- package/dist/client/assets/store-registry-DUfciwio.js +2 -0
- package/dist/client/assets/{studio-tools-DukV7j3Q.js → studio-tools-Dr2QtZbO.js} +1 -1
- package/dist/client/assets/{switch-tRpnsOK4.js → switch-BJDUfYI8.js} +1 -1
- package/dist/client/assets/{tab-id-FZeg7CwQ.js → tab-id-DFoy5vIA.js} +1 -1
- package/dist/client/assets/{table-CFBFBISJ.js → table-DV5H4i-9.js} +1 -1
- package/dist/client/assets/{tabs-BCxSMa77.js → tabs-BJ7juLRs.js} +1 -1
- package/dist/client/assets/{textarea-pD_hE2LC.js → textarea-BNR55N7u.js} +1 -1
- package/dist/client/assets/{toggle-group-BAvq-ZCy.js → toggle-group-CTwTZU2m.js} +1 -1
- package/dist/client/assets/{toolbar-WT6Xt9cC.js → toolbar-CrTq93-j.js} +1 -1
- package/dist/client/assets/{tooltip-BhEVAzwU.js → tooltip-CGGYo48T.js} +1 -1
- package/dist/client/assets/{use-ai-providers-ByUUQ__z.js → use-ai-providers-C11ii-L2.js} +1 -1
- package/dist/client/assets/{use-api-keys-DRy52gCa.js → use-api-keys-WFbGH3jO.js} +1 -1
- package/dist/client/assets/{use-automations-eRMTl6aQ.js → use-automations-DtI-J6bO.js} +1 -1
- package/dist/client/assets/{use-autosave-C5AulPlo.js → use-autosave-DpY8G-K4.js} +1 -1
- package/dist/client/assets/{use-capability-Br6seJ0J.js → use-capability-BigAMN-p.js} +1 -1
- package/dist/client/assets/{use-clock-tick-C1P0DpjF.js → use-clock-tick-CgOv13FE.js} +1 -1
- package/dist/client/assets/{use-connection-BtRW0yHZ.js → use-connection-B-9O7DKH.js} +1 -1
- package/dist/client/assets/{use-copy-CwWjeNZ1.js → use-copy-DcFxwQYZ.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-QXkM7c1x.js → use-create-virtual-mcp-Cd2PlTaE.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DUEAz-Mj.js → use-debounced-autosave-BTFS2rY1.js} +1 -1
- package/dist/client/assets/{use-debounced-value-DywPn_br.js → use-debounced-value-CV1QkbCO.js} +1 -1
- package/dist/client/assets/use-deco-credits-IruB3XpS.js +1 -0
- package/dist/client/assets/{use-decopilot-events-C4cTd38C.js → use-decopilot-events-WWh9K0oD.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BaN9gwy_.js → use-delete-connection-CN2NQTE_.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-6J6JSjYE.js → use-deployment-admin-Okoecwex.js} +1 -1
- package/dist/client/assets/{use-file-configs-m4b18OLz.js → use-file-configs-BGSC7esF.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-CaOOoykM.js → use-infinite-scroll-D7dPBDKg.js} +1 -1
- package/dist/client/assets/{use-join-requests-CmvtVuxq.js → use-join-requests-V_cNISxg.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-cY7-1lcs.js → use-mcp-auth-status-CB85ZKqM.js} +1 -1
- package/dist/client/assets/{use-mcp-client-DBC3oPOT.js → use-mcp-client-CZAx8DTe.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BE9l0_Qp.js → use-mcp-tools-D3zx8JKp.js} +1 -1
- package/dist/client/assets/{use-members-C3YuCiB4.js → use-members-C5HwLXwI.js} +1 -1
- package/dist/client/assets/{use-mobile-DzEReMRR.js → use-mobile-DA1F3MnE.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CaF0OHMd.js → use-navigate-to-agent-B-kXPGmC.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-Ch8rLdZS.js → use-org-auth-client-BmCSBVyN.js} +1 -1
- package/dist/client/assets/{use-org-sso-v5JjtyAc.js → use-org-sso-DdokCJfP.js} +1 -1
- package/dist/client/assets/{use-organization-roles-D96PRzGY.js → use-organization-roles-2ZG8LL3g.js} +1 -1
- package/dist/client/assets/{use-organization-settings-CJueSpiw.js → use-organization-settings-YvRMRkqr.js} +1 -1
- package/dist/client/assets/{use-registry-app-bubm-38q.js → use-registry-app-DIl8wzFg.js} +1 -1
- package/dist/client/assets/{use-registry-connections-DSqnYmjT.js → use-registry-connections-5yW_5WGo.js} +1 -1
- package/dist/client/assets/{use-secrets-BX-dpe6D.js → use-secrets-CEC2qplo.js} +1 -1
- package/dist/client/assets/{use-status-sounds-AnEIBI-z.js → use-status-sounds-BivTxNIl.js} +1 -1
- package/dist/client/assets/{use-view-mode-DOBrAgCc.js → use-view-mode-Bxlz3jRF.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CY25khry.js → use-virtual-mcp-BrYiS-Wh.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-2bkWJiys.js +1 -0
- package/dist/client/assets/{useQueries-C2yytfdQ.js → useQueries-P_EG_hOr.js} +1 -1
- package/dist/client/assets/{useRouterState-CzGJNusI.js → useRouterState-B5sPwtOR.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BbADkoYh.js +1 -0
- package/dist/client/assets/{users-CALbfXuc.js → users-nfLGIKif.js} +1 -1
- package/dist/client/assets/{variant-calendar-B2FpyECF.js → variant-calendar-CqVqYnOz.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-CGjAqZPO.js → view-mode-toggle-HKzd22N7.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +392 -392
- package/dist/server/migrate.js +34 -34
- package/dist/server/server.js +277 -277
- package/package.json +1 -1
- package/dist/client/assets/project-app-view-3eSmoxzZ.js +0 -1
- package/dist/client/assets/record-editor-CCpt0HZw.js +0 -1
- package/dist/client/assets/registry-CDaXnmfw.js +0 -2
- package/dist/client/assets/store-registry-BYL4tbIC.js +0 -2
- package/dist/client/assets/use-deco-credits-CNRgNdvu.js +0 -1
- package/dist/client/assets/useInfiniteQuery-ChbtCB-x.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CEy4_6oR.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null,n)}var i=(t,n)=>{for(var e in n)wu(t,e,{get:n[e],enumerable:!0,configurable:!0,set:pu.bind(n,e)})};import{Migrator as cu,sql as A}from"kysely";var ct={};i(ct,{up:()=>Eu,down:()=>Ku});import{sql as K}from"kysely";async function Eu(t){await t.schema.createTable("connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(n)=>n.notNull()).addColumn("connectionUrl","text",(n)=>n.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(n)=>n.primaryKey()).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("hashedKey","text",(n)=>n.notNull().unique()).addColumn("permissions","text",(n)=>n.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(n)=>n.notNull()).addColumn("redirectUris","text",(n)=>n.notNull()).addColumn("grantTypes","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(n)=>n.notNull()).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("connectionId","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(n)=>n.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(K`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 Ku(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 Nt={};i(Nt,{up:()=>zu,down:()=>Pu});import{sql as Ki}from"kysely";async function zu(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(Ki`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(Ki`CURRENT_TIMESTAMP`)).execute()}async function Pu(t){await t.schema.dropTable("organization_settings").execute()}var wt={};i(wt,{up:()=>Uu,down:()=>hu});async function Uu(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 hu(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:()=>ku,down:()=>Du});async function ku(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((n)=>n.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 Du(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId",n.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 pt={};i(pt,{up:()=>ju,down:()=>su});async function ju(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function su(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Et={};i(Et,{up:()=>Lu,down:()=>Ru});import{sql as Ju}from"kysely";async function Lu(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",Ju`text`).execute()}async function Ru(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Kt={};i(Kt,{up:()=>Wu,down:()=>$u});async function Wu(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(n)=>n.notNull()).addColumn("tool_name","text",(n)=>n.notNull()).addColumn("input","text",(n)=>n.notNull()).addColumn("output","text",(n)=>n.notNull()).addColumn("is_error","integer",(n)=>n.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(n)=>n.notNull()).addColumn("timestamp","text",(n)=>n.notNull()).addColumn("user_id","text").addColumn("request_id","text",(n)=>n.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 $u(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 zt={};i(zt,{up:()=>Xu,down:()=>Qu});import{sql as F}from"kysely";async function Xu(t){await t.schema.createTable("events").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(n)=>n.notNull()).addColumn("source","text",(n)=>n.notNull()).addColumn("specversion","text",(n)=>n.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(n)=>n.notNull()).addColumn("datacontenttype","text",(n)=>n.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(n)=>n.notNull()).addColumn("filter","text").addColumn("enabled","integer",(n)=>n.notNull().defaultTo(1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(n)=>n.primaryKey()).addColumn("event_id","text",(n)=>n.notNull()).addColumn("subscription_id","text",(n)=>n.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.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 Qu(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 Pt={};i(Pt,{up:()=>Au,down:()=>Fu});import{sql as Zu}from"kysely";async function Au(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function Fu(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(Zu`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 Ut={};i(Ut,{up:()=>Hu,down:()=>Mu});import{sql as V}from"kysely";async function Hu(t){await t.schema.createTable("gateways").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("gateway_id","text",(n)=>n.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(n)=>n.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 Mu(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 ht={};i(ht,{up:()=>Yu,down:()=>Bu});async function Yu(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function Bu(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var kt={};i(kt,{up:()=>Su,down:()=>Ou});import{sql as q}from"kysely";async function Su(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(n)=>n.notNull().defaultTo("inclusion")).execute(),await q`
|
|
2
|
+
var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null,n)}var i=(t,n)=>{for(var e in n)wu(t,e,{get:n[e],enumerable:!0,configurable:!0,set:pu.bind(n,e)})};import{Migrator as ru,sql as A}from"kysely";var rt={};i(rt,{up:()=>Eu,down:()=>Ku});import{sql as K}from"kysely";async function Eu(t){await t.schema.createTable("connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(n)=>n.notNull()).addColumn("connectionUrl","text",(n)=>n.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(n)=>n.primaryKey()).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("hashedKey","text",(n)=>n.notNull().unique()).addColumn("permissions","text",(n)=>n.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(n)=>n.notNull()).addColumn("redirectUris","text",(n)=>n.notNull()).addColumn("grantTypes","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(n)=>n.notNull()).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("connectionId","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(n)=>n.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(K`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 Ku(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 Nt={};i(Nt,{up:()=>zu,down:()=>Pu});import{sql as Ki}from"kysely";async function zu(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(Ki`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(Ki`CURRENT_TIMESTAMP`)).execute()}async function Pu(t){await t.schema.dropTable("organization_settings").execute()}var wt={};i(wt,{up:()=>Uu,down:()=>hu});async function Uu(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 hu(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:()=>ku,down:()=>Du});async function ku(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((n)=>n.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 Du(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId",n.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 pt={};i(pt,{up:()=>ju,down:()=>Ju});async function ju(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function Ju(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Et={};i(Et,{up:()=>Lu,down:()=>Ru});import{sql as su}from"kysely";async function Lu(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",su`text`).execute()}async function Ru(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Kt={};i(Kt,{up:()=>Wu,down:()=>$u});async function Wu(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(n)=>n.notNull()).addColumn("tool_name","text",(n)=>n.notNull()).addColumn("input","text",(n)=>n.notNull()).addColumn("output","text",(n)=>n.notNull()).addColumn("is_error","integer",(n)=>n.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(n)=>n.notNull()).addColumn("timestamp","text",(n)=>n.notNull()).addColumn("user_id","text").addColumn("request_id","text",(n)=>n.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 $u(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 zt={};i(zt,{up:()=>Xu,down:()=>Qu});import{sql as F}from"kysely";async function Xu(t){await t.schema.createTable("events").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(n)=>n.notNull()).addColumn("source","text",(n)=>n.notNull()).addColumn("specversion","text",(n)=>n.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(n)=>n.notNull()).addColumn("datacontenttype","text",(n)=>n.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(n)=>n.notNull()).addColumn("filter","text").addColumn("enabled","integer",(n)=>n.notNull().defaultTo(1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(n)=>n.primaryKey()).addColumn("event_id","text",(n)=>n.notNull()).addColumn("subscription_id","text",(n)=>n.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.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 Qu(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 Pt={};i(Pt,{up:()=>Au,down:()=>Fu});import{sql as Zu}from"kysely";async function Au(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function Fu(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(Zu`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 Ut={};i(Ut,{up:()=>Hu,down:()=>Mu});import{sql as V}from"kysely";async function Hu(t){await t.schema.createTable("gateways").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("gateway_id","text",(n)=>n.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(n)=>n.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 Mu(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 ht={};i(ht,{up:()=>Yu,down:()=>Bu});async function Yu(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function Bu(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var kt={};i(kt,{up:()=>Su,down:()=>Ou});import{sql as q}from"kysely";async function Su(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(n)=>n.notNull().defaultTo("inclusion")).execute(),await q`
|
|
3
3
|
UPDATE gateways
|
|
4
4
|
SET tool_selection_mode = CASE
|
|
5
5
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
@@ -11,7 +11,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
11
11
|
WHEN tool_selection_mode = 'exclusion' THEN 'exclusion'
|
|
12
12
|
ELSE NULL
|
|
13
13
|
END
|
|
14
|
-
`.execute(t),await t.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await t.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var Dt={};i(Dt,{up:()=>Iu,down:()=>Gu});async function Iu(t){await t.schema.alterTable("monitoring_logs").addColumn("user_agent","text").execute(),await t.schema.alterTable("monitoring_logs").addColumn("gateway_id","text").execute(),await t.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}async function Gu(t){await t.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("gateway_id").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("user_agent").execute()}var jt={};i(jt,{up:()=>gu,down:()=>vu});async function gu(t){await t.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await t.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function vu(t){await t.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await t.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var
|
|
14
|
+
`.execute(t),await t.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await t.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var Dt={};i(Dt,{up:()=>Iu,down:()=>Gu});async function Iu(t){await t.schema.alterTable("monitoring_logs").addColumn("user_agent","text").execute(),await t.schema.alterTable("monitoring_logs").addColumn("gateway_id","text").execute(),await t.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}async function Gu(t){await t.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("gateway_id").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("user_agent").execute()}var jt={};i(jt,{up:()=>gu,down:()=>vu});async function gu(t){await t.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await t.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function vu(t){await t.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await t.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var Jt={};i(Jt,{up:()=>Vu,down:()=>qu});async function Vu(t){await t.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function qu(t){await t.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var st={};i(st,{up:()=>lu,down:()=>du});async function lu(t){await t.schema.alterTable("downstream_tokens").addColumn("clientId","text").execute(),await t.schema.alterTable("downstream_tokens").addColumn("clientSecret","text").execute(),await t.schema.alterTable("downstream_tokens").addColumn("tokenEndpoint","text").execute(),await t.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}async function du(t){await t.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("tokenEndpoint").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("clientSecret").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("clientId").execute()}var Lt={};i(Lt,{up:()=>ta,down:()=>na});import{sql as bu}from"kysely";async function ta(t){await bu`
|
|
15
15
|
DELETE FROM downstream_tokens
|
|
16
16
|
WHERE id NOT IN (
|
|
17
17
|
SELECT id FROM (
|
|
@@ -21,7 +21,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.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 na(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 Rt={};i(Rt,{up:()=>ea,down:()=>ia});async function ea(t){await t.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function ia(t){await t.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(n)=>n.notNull().defaultTo("passthrough")).execute()}var Wt={};i(Wt,{up:()=>ua,down:()=>aa});import{sql as zi}from"kysely";async function ua(t){await zi`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(t),await t.schema.alterTable("gateways").dropColumn("is_default").execute()}async function aa(t){await t.schema.alterTable("gateways").addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).execute(),await zi`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t)}var $t={};i($t,{up:()=>_a,down:()=>ma});async function _a(t){await t.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function ma(t){await t.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Xt={};i(Xt,{up:()=>oa,down:()=>xa});import{sql as l}from"kysely";async function oa(t){await t.schema.createTable("threads").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("hidden","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("thread_messages").addColumn("id","text",(n)=>n.primaryKey()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(l`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 xa(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 Qt={};i(Qt,{up:()=>ya,down:()=>Ta});async function ya(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 Ta(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 Zt={};i(Zt,{up:()=>Ca,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 na(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 Rt={};i(Rt,{up:()=>ea,down:()=>ia});async function ea(t){await t.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function ia(t){await t.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(n)=>n.notNull().defaultTo("passthrough")).execute()}var Wt={};i(Wt,{up:()=>ua,down:()=>aa});import{sql as zi}from"kysely";async function ua(t){await zi`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(t),await t.schema.alterTable("gateways").dropColumn("is_default").execute()}async function aa(t){await t.schema.alterTable("gateways").addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).execute(),await zi`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t)}var $t={};i($t,{up:()=>_a,down:()=>ma});async function _a(t){await t.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function ma(t){await t.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Xt={};i(Xt,{up:()=>oa,down:()=>xa});import{sql as l}from"kysely";async function oa(t){await t.schema.createTable("threads").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("hidden","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("thread_messages").addColumn("id","text",(n)=>n.primaryKey()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(l`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 xa(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 Qt={};i(Qt,{up:()=>ya,down:()=>Ta});async function ya(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 Ta(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 Zt={};i(Zt,{up:()=>Ca,down:()=>ca});async function Ca(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 ca(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 At={};i(At,{up:()=>ra,down:()=>Na});import{sql as r}from"kysely";async function ra(t){await r`
|
|
25
25
|
INSERT INTO connections (
|
|
26
26
|
id,
|
|
27
27
|
organization_id,
|
|
@@ -68,7 +68,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.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 n=await
|
|
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 n=await r`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1);if(n)await r`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(t),await r`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(t),await r`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(t),await r`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(),n)await r`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(t),await r`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 Na(t){await t.schema.createTable("virtual_mcps").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("tool_selection_mode","text",(n)=>n.notNull().defaultTo("inclusion")).addColumn("icon","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(r`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await r`
|
|
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 wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.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
|
|
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 r`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 Ft={};i(Ft,{up:()=>wa,down:()=>fa});async function wa(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 fa(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 Ht={};i(Ht,{up:()=>pa,down:()=>Ea});import{sql as z}from"kysely";async function pa(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",(e)=>e.primaryKey()).addColumn("parent_connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await z`
|
|
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
|
|
@@ -136,10 +136,10 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
136
136
|
updated_at = CURRENT_TIMESTAMP
|
|
137
137
|
WHERE connection_url LIKE '%/mcp/self'
|
|
138
138
|
AND app_name = '@deco/management-mcp'
|
|
139
|
-
`.execute(t)}var Ot={};i(Ot,{up:()=>ha,down:()=>ka});async function ha(t){await t.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function ka(t){await t.schema.alterTable("connections").dropColumn("updated_by").execute()}var It={};i(It,{up:()=>Da,down:()=>ja});import{sql as Pi}from"kysely";async function Da(t){await t.schema.createTable("organization_tags").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(Pi`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("member_tags").addColumn("id","text",(n)=>n.primaryKey()).addColumn("member_id","text",(n)=>n.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(n)=>n.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(Pi`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await t.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await t.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await t.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function ja(t){await t.schema.dropIndex("idx_member_tags_unique").execute(),await t.schema.dropIndex("idx_member_tags_tag").execute(),await t.schema.dropIndex("idx_member_tags_member").execute(),await t.schema.dropIndex("idx_organization_tags_unique_name").execute(),await t.schema.dropIndex("idx_organization_tags_org").execute(),await t.schema.dropTable("member_tags").execute(),await t.schema.dropTable("organization_tags").execute()}var Gt={};i(Gt,{up:()=>
|
|
139
|
+
`.execute(t)}var Ot={};i(Ot,{up:()=>ha,down:()=>ka});async function ha(t){await t.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function ka(t){await t.schema.alterTable("connections").dropColumn("updated_by").execute()}var It={};i(It,{up:()=>Da,down:()=>ja});import{sql as Pi}from"kysely";async function Da(t){await t.schema.createTable("organization_tags").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(Pi`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("member_tags").addColumn("id","text",(n)=>n.primaryKey()).addColumn("member_id","text",(n)=>n.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(n)=>n.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(Pi`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await t.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await t.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await t.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function ja(t){await t.schema.dropIndex("idx_member_tags_unique").execute(),await t.schema.dropIndex("idx_member_tags_tag").execute(),await t.schema.dropIndex("idx_member_tags_member").execute(),await t.schema.dropIndex("idx_organization_tags_unique_name").execute(),await t.schema.dropIndex("idx_organization_tags_org").execute(),await t.schema.dropTable("member_tags").execute(),await t.schema.dropTable("organization_tags").execute()}var Gt={};i(Gt,{up:()=>Ja,down:()=>sa});import{sql as H}from"kysely";async function Ja(t){await H`
|
|
140
140
|
ALTER TABLE connection_aggregations
|
|
141
141
|
ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
|
|
142
|
-
`.execute(t),await t.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function
|
|
142
|
+
`.execute(t),await t.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function sa(t){if(await t.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await H`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1))await H`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(t);else 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",(e)=>e.primaryKey()).addColumn("parent_connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(H`CURRENT_TIMESTAMP`)).execute(),await H`
|
|
143
143
|
INSERT INTO connection_aggregations_new (
|
|
144
144
|
id, parent_connection_id, child_connection_id,
|
|
145
145
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -204,7 +204,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
204
204
|
`.execute(t),await on`
|
|
205
205
|
DELETE FROM project_plugin_configs
|
|
206
206
|
WHERE plugin_id = 'object-storage'
|
|
207
|
-
`.execute(t)}async function T_(t){}var yn={};i(yn,{up:()=>C_,down:()=>
|
|
207
|
+
`.execute(t)}async function T_(t){}var yn={};i(yn,{up:()=>C_,down:()=>c_});import{sql as Ji}from"kysely";async function C_(t){await t.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await Ji`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(t)}async function c_(t){await Ji`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(t),await t.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var Cn={};i(Cn,{up:()=>r_,down:()=>N_});import{sql as Tn}from"kysely";async function r_(t){await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await Tn`
|
|
208
208
|
ALTER TABLE connections
|
|
209
209
|
ADD CONSTRAINT chk_connections_subtype
|
|
210
210
|
CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
|
|
@@ -212,17 +212,17 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.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",(m)=>m.primaryKey()).addColumn("virtual_mcp_id","text",(m)=>m.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(m)=>m.notNull()).addColumn("connection_id","text",(m)=>m.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(m)=>m.notNull()).addColumn("updated_at","text",(m)=>m.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 n=await t.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),e=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),a=new Map;for(let m of e)a.set(m.organizationId,m.userId);let u=new Map;for(let m of n){let x=`vir_${R()}`;u.set(m.id,x);let y=m.ui?JSON.parse(m.ui):null,T=JSON.stringify({enabled_plugins:m.enabled_plugins?JSON.parse(m.enabled_plugins):null,ui:y,migrated_from_project:m.id,migrated_project_slug:m.slug}),
|
|
215
|
+
`.execute(t),await t.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(m)=>m.primaryKey()).addColumn("virtual_mcp_id","text",(m)=>m.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(m)=>m.notNull()).addColumn("connection_id","text",(m)=>m.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(m)=>m.notNull()).addColumn("updated_at","text",(m)=>m.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 n=await t.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),e=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),a=new Map;for(let m of e)a.set(m.organizationId,m.userId);let u=new Map;for(let m of n){let x=`vir_${R()}`;u.set(m.id,x);let y=m.ui?JSON.parse(m.ui):null,T=JSON.stringify({enabled_plugins:m.enabled_plugins?JSON.parse(m.enabled_plugins):null,ui:y,migrated_from_project:m.id,migrated_project_slug:m.slug}),c=a.get(m.organization_id);if(!c)continue;await t.insertInto("connections").values({id:x,organization_id:m.organization_id,created_by:c,updated_by:null,title:m.name,description:m.description,icon:y?.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:T,bindings:null,status:"active",subtype:"project",created_at:m.created_at,updated_at:m.updated_at}).execute()}let _=await t.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let m of _){let x=u.get(m.project_id);if(!x)continue;await t.insertInto("connection_aggregations").values({id:`agg_${R()}`,parent_connection_id:x,child_connection_id:m.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:m.created_at}).onConflict((y)=>y.doNothing()).execute()}let o=await t.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let m of o){let x=u.get(m.project_id);if(!x)continue;await t.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${R()}`,virtual_mcp_id:x,plugin_id:m.plugin_id,connection_id:m.connection_id,settings:m.settings,created_at:m.created_at,updated_at:m.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 N_(t){await t.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await Tn`
|
|
216
216
|
ALTER TABLE connections
|
|
217
217
|
DROP CONSTRAINT IF EXISTS chk_connections_subtype
|
|
218
|
-
`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute()}var
|
|
218
|
+
`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute()}var cn={};i(cn,{up:()=>f_,down:()=>p_});import{sql as w_}from"kysely";async function f_(t){await w_`
|
|
219
219
|
DELETE FROM connections
|
|
220
220
|
WHERE connection_type = 'VIRTUAL'
|
|
221
221
|
AND subtype = 'project'
|
|
222
222
|
AND metadata::json->>'migrated_project_slug' = 'org-admin'
|
|
223
|
-
`.execute(t)}async function p_(t){}var
|
|
223
|
+
`.execute(t)}async function p_(t){}var rn={};i(rn,{up:()=>K_,down:()=>z_});import{sql as E_}from"kysely";async function K_(t){await t.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await E_`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(t)}async function z_(t){await t.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var wn={};i(wn,{up:()=>P_,down:()=>U_});import{sql as Nn}from"kysely";async function P_(t){await t.schema.createTable("org_sso_config").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(n)=>n.notNull()).addColumn("client_id","text",(n)=>n.notNull()).addColumn("client_secret","text",(n)=>n.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(n)=>n.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(n)=>n.notNull()).addColumn("enforced","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(Nn`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(Nn`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await t.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await t.schema.createTable("org_sso_sessions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("user_id","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(n)=>n.notNull()).addColumn("expires_at","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(Nn`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function U_(t){await t.schema.dropTable("org_sso_sessions").execute(),await t.schema.dropTable("org_sso_config").execute()}var fn={};i(fn,{up:()=>h_,down:()=>k_});async function h_(t){await t.schema.alterTable("threads").addColumn("agent_ids","text",(n)=>n.defaultTo("[]")).execute()}async function k_(t){await t.schema.alterTable("threads").dropColumn("agent_ids").execute()}var pn={};i(pn,{up:()=>D_,down:()=>j_});async function D_(t){await t.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function j_(t){await t.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var Kn={};i(Kn,{up:()=>s_,down:()=>L_});import{sql as si}from"kysely";function En(t){return t.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function J_(t){if(t.app_name)return t.app_name;if(t.connection_url)try{let n=new URL(t.connection_url),a=((n.port?`${n.hostname}-${n.port}`:n.hostname)+n.pathname).replace(/\/+$/,"");return En(a)}catch{return En(t.connection_url)}if(t.title)return En(t.title);return t.id}async function s_(t){await t.schema.alterTable("connections").addColumn("slug","text").execute();let n=await si`
|
|
224
224
|
SELECT id, app_name, connection_url, title FROM connections
|
|
225
|
-
`.execute(t);for(let e of n.rows){let a=
|
|
225
|
+
`.execute(t);for(let e of n.rows){let a=J_(e);await si`UPDATE connections SET slug = ${a} WHERE id = ${e.id}`.execute(t)}await t.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function L_(t){await t.schema.dropIndex("idx_connections_org_slug").execute(),await t.schema.alterTable("connections").dropColumn("slug").execute()}var zn={};i(zn,{up:()=>R_,down:()=>W_});import{sql as M}from"kysely";async function R_(t){await t.schema.alterTable("connections").addColumn("pinned","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await M`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(t),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await M`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute(),await t.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function W_(t){await t.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await M`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(t),await M`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(t),await M`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(t),await t.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await t.schema.alterTable("connections").dropColumn("pinned").execute()}var Pn={};i(Pn,{up:()=>$_,down:()=>X_});async function $_(t){await t.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await t.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function X_(t){await t.schema.dropIndex("idx_automations_virtual_mcp").execute(),await t.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var Un={};i(Un,{up:()=>Q_,down:()=>Z_});import{sql as d}from"kysely";async function Q_(t){await t.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(n)=>n.notNull().defaultTo("")).execute(),await d`
|
|
226
226
|
UPDATE threads
|
|
227
227
|
SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
|
|
228
228
|
WHERE agent_ids IS NOT NULL
|
|
@@ -239,7 +239,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
239
239
|
THEN jsonb_build_array(virtual_mcp_id)::text
|
|
240
240
|
ELSE '[]'
|
|
241
241
|
END
|
|
242
|
-
`.execute(t),await d`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(t),await t.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var hn={};i(hn,{up:()=>A_,down:()=>F_});async function A_(t){await t.schema.createTable("trigger_callback_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(n)=>n.notNull().unique()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).execute(),await t.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function F_(t){await t.schema.dropTable("trigger_callback_tokens").execute()}var kn={};i(kn,{up:()=>H_,down:()=>M_});async function H_(t){await t.schema.createTable("kv").addColumn("organization_id","text",(n)=>n.notNull()).addColumn("key","text",(n)=>n.notNull()).addColumn("value","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function M_(t){await t.schema.dropTable("kv").execute()}var Dn={};i(Dn,{up:()=>Y_,down:()=>B_});async function Y_(t){await t.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function B_(t){await t.schema.dropIndex("idx_member_user_org").execute()}var jn={};i(jn,{up:()=>S_,down:()=>O_});async function S_(t){await t.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function O_(t){await t.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var
|
|
242
|
+
`.execute(t),await d`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(t),await t.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var hn={};i(hn,{up:()=>A_,down:()=>F_});async function A_(t){await t.schema.createTable("trigger_callback_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(n)=>n.notNull().unique()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).execute(),await t.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function F_(t){await t.schema.dropTable("trigger_callback_tokens").execute()}var kn={};i(kn,{up:()=>H_,down:()=>M_});async function H_(t){await t.schema.createTable("kv").addColumn("organization_id","text",(n)=>n.notNull()).addColumn("key","text",(n)=>n.notNull()).addColumn("value","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function M_(t){await t.schema.dropTable("kv").execute()}var Dn={};i(Dn,{up:()=>Y_,down:()=>B_});async function Y_(t){await t.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function B_(t){await t.schema.dropIndex("idx_member_user_org").execute()}var jn={};i(jn,{up:()=>S_,down:()=>O_});async function S_(t){await t.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function O_(t){await t.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var Jn={};i(Jn,{up:()=>I_,down:()=>G_});import{sql as w}from"kysely";async function I_(t){await t.schema.createTable("private_registry_item").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.references("user.id").onDelete("set null")).execute(),await t.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await t.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await w`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(t),await t.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await w`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(t),await t.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("key_hash","text",(n)=>n.notNull()).addColumn("prefix","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await t.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tested_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("passed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("failed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("skipped_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await t.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("run_id","text",(n)=>n.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("item_title","text",(n)=>n.notNull()).addColumn("status","text",(n)=>n.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tools_listed","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(n)=>n.notNull().defaultTo(0)).addColumn("action_taken","text",(n)=>n.notNull().defaultTo("none")).addColumn("tested_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await t.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(n)=>n.notNull().defaultTo("none")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function G_(t){await t.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_run").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await t.schema.dropTable("private_registry_publish_api_key").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await t.schema.dropTable("private_registry_publish_request").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await t.schema.dropTable("private_registry_item").ifExists().execute()}var sn={};i(sn,{up:()=>g_,down:()=>v_});import{sql as W}from"kysely";async function g_(t){await W`
|
|
243
243
|
ALTER TABLE event_subscriptions
|
|
244
244
|
ALTER COLUMN enabled DROP DEFAULT
|
|
245
245
|
`.execute(t),await W`
|
|
@@ -267,7 +267,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
267
267
|
metadata = ${y},
|
|
268
268
|
updated_at = NOW()
|
|
269
269
|
WHERE id = ${e.id}
|
|
270
|
-
`.execute(t)}}}async function im(t){}var $n={};i($n,{up:()=>am,down:()=>_m});import{sql as um}from"kysely";async function am(t){await t.schema.alterTable("threads").addColumn("metadata","jsonb",(n)=>n.notNull().defaultTo(um`'{}'::jsonb`)).execute()}async function _m(t){await t.schema.alterTable("threads").dropColumn("metadata").execute()}var Xn={};i(Xn,{up:()=>mm,down:()=>om});async function mm(t){await t.schema.alterTable("threads").addColumn("branch","text").execute()}async function om(t){await t.schema.alterTable("threads").dropColumn("branch").execute()}var Qn={};i(Qn,{up:()=>xm,down:()=>ym});async function xm(t){await t.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(n)=>n.notNull()).addColumn("project_ref","text",(n)=>n.notNull()).addColumn("runner_kind","text",(n)=>n.notNull()).addColumn("handle","text",(n)=>n.notNull()).addColumn("state","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.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 ym(t){await t.schema.dropTable("sandbox_runner_state").execute()}var Zn={};i(Zn,{up:()=>Tm,down:()=>Cm});async function Tm(t){await t.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function Cm(t){await t.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var An={};i(An,{up:()=>
|
|
270
|
+
`.execute(t)}}}async function im(t){}var $n={};i($n,{up:()=>am,down:()=>_m});import{sql as um}from"kysely";async function am(t){await t.schema.alterTable("threads").addColumn("metadata","jsonb",(n)=>n.notNull().defaultTo(um`'{}'::jsonb`)).execute()}async function _m(t){await t.schema.alterTable("threads").dropColumn("metadata").execute()}var Xn={};i(Xn,{up:()=>mm,down:()=>om});async function mm(t){await t.schema.alterTable("threads").addColumn("branch","text").execute()}async function om(t){await t.schema.alterTable("threads").dropColumn("branch").execute()}var Qn={};i(Qn,{up:()=>xm,down:()=>ym});async function xm(t){await t.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(n)=>n.notNull()).addColumn("project_ref","text",(n)=>n.notNull()).addColumn("runner_kind","text",(n)=>n.notNull()).addColumn("handle","text",(n)=>n.notNull()).addColumn("state","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.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 ym(t){await t.schema.dropTable("sandbox_runner_state").execute()}var Zn={};i(Zn,{up:()=>Tm,down:()=>Cm});async function Tm(t){await t.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function Cm(t){await t.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var An={};i(An,{up:()=>cm,down:()=>rm});async function cm(t){await t.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function rm(t){await t.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var Fn={};i(Fn,{up:()=>Nm,down:()=>wm});async function Nm(t){await t.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function wm(t){await t.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var Hn={};i(Hn,{up:()=>pm,down:()=>Em});import{sql as $i}from"kysely";var fm=["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 pm(t){let n=await $i`
|
|
271
271
|
SELECT id, permission FROM "organizationRole"
|
|
272
272
|
`.execute(t);for(let e of n.rows){if(!e.permission)continue;let a;try{a=JSON.parse(e.permission)}catch{continue}let u=a.self;if(!Array.isArray(u))continue;if(u.length===1&&u[0]==="*")continue;let _=u,o=Array.from(new Set([..._,...fm]));if(o.length===_.length)continue;a.self=o;let m=JSON.stringify(a);await $i`
|
|
273
273
|
UPDATE "organizationRole"
|
|
@@ -289,7 +289,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
289
289
|
`.execute(t),await Y`
|
|
290
290
|
ALTER TABLE automations
|
|
291
291
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
292
|
-
`.execute(t)}var On={};i(On,{up:()=>
|
|
292
|
+
`.execute(t)}var On={};i(On,{up:()=>sm,reshapeSimpleMode:()=>Xi,inferAutomationTier:()=>Qi,down:()=>Lm,__testing:()=>Jm});var Dm={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},jm=["fast","smart","thinking","image","web_research"];function Sn(t){if(!t||typeof t!=="object")return!1;let n=t;if(!("tiers"in n))return!1;let e=n.tiers;if(!e||typeof e!=="object")return!1;return jm.some((a)=>(a in e))}function Xi(t){if(Sn(t))return t;let n=t,e=n?.enabled===!0,a=(u)=>u&&u.keyId&&u.modelId?{keyId:u.keyId,modelId:u.modelId,title:u.title}:null;if(!e)return Dm;return{tiers:{fast:a(n?.chat?.fast),smart:a(n?.chat?.smart),thinking:a(n?.chat?.thinking),image:a(n?.image),web_research:a(n?.webResearch)}}}function Qi(t){if(t.tier==="fast"||t.tier==="smart"||t.tier==="thinking")return t.tier;if(t.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function Zi(t){if(!(t.tier==="fast"||t.tier==="smart"||t.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((a)=>t[a]===void 0)}var Jm={isAlreadyReshapedSimpleMode:Sn,isAlreadyReshapedAutomationModels:Zi};async function sm(t){let n=await t.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let a of n){let u=a.simple_mode?typeof a.simple_mode==="string"?JSON.parse(a.simple_mode):a.simple_mode:null;if(Sn(u))continue;let _=Xi(u);await t.updateTable("organization_settings").set({simple_mode:JSON.stringify(_)}).where("organizationId","=",a.organizationId).execute()}let e=await t.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let a of e){let u;try{u=typeof a.models==="string"?JSON.parse(a.models):a.models}catch{u={}}if(Zi(u))continue;let _=Qi(u);if(await t.updateTable("automations").set({models:JSON.stringify({tier:_})}).where("id","=",a.id).execute(),u.thinking?.capabilities?.image)console.log(`[migration 077] automation ${a.id} previously used an image-only model; mapped to "${_}"`)}}async function Lm(t){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var In={};i(In,{up:()=>Rm,down:()=>Wm});import{sql as U}from"kysely";async function Rm(t){await t.schema.alterTable("automations").addColumn("kind","text",(n)=>n.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await U`
|
|
293
293
|
ALTER TABLE automations
|
|
294
294
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
295
295
|
`.execute(t),await U`
|
|
@@ -319,7 +319,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
319
319
|
WHERE connection_type = 'VIRTUAL'
|
|
320
320
|
AND metadata IS NOT NULL
|
|
321
321
|
AND metadata LIKE '%vmMap%'
|
|
322
|
-
`.execute(t);for(let e of n.rows){if(!e.metadata)continue;let a;try{a=JSON.parse(e.metadata)}catch{continue}let u=a.vmMap;if(!u||typeof u!=="object")continue;let _=!1,o={};for(let[x,y]of Object.entries(u)){if(!y||typeof y!=="object"){_=!0;continue}let T={};for(let[
|
|
322
|
+
`.execute(t);for(let e of n.rows){if(!e.metadata)continue;let a;try{a=JSON.parse(e.metadata)}catch{continue}let u=a.vmMap;if(!u||typeof u!=="object")continue;let _=!1,o={};for(let[x,y]of Object.entries(u)){if(!y||typeof y!=="object"){_=!0;continue}let T={};for(let[c,C]of Object.entries(y)){if(!C||typeof C!=="object"){_=!0;continue}let E=C.runnerKind;if(E!==void 0&&!$m.has(E)){_=!0;continue}T[c]=C}if(Object.keys(T).length>0)o[x]=T;else _=!0}if(!_)continue;a.vmMap=o;let m=JSON.stringify(a);await Ai`
|
|
323
323
|
UPDATE "connections"
|
|
324
324
|
SET metadata = ${m}
|
|
325
325
|
WHERE id = ${e.id}
|
|
@@ -796,10 +796,10 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
796
796
|
UPDATE "organizationRole"
|
|
797
797
|
SET permission = ${m}
|
|
798
798
|
WHERE id = ${e.id}
|
|
799
|
-
`.execute(t)}}async function Co(t){}var oe={};i(oe,{up:()=>
|
|
799
|
+
`.execute(t)}}async function Co(t){}var oe={};i(oe,{up:()=>co,down:()=>ro});import{sql as me}from"kysely";async function co(t){await t.schema.createTable("org_file_configs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("description","text").addColumn("bucket","text",(n)=>n.notNull()).addColumn("region","text",(n)=>n.notNull()).addColumn("endpoint","text").addColumn("force_path_style","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("prefix","text").addColumn("encrypted_credentials","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(me`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(me`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await me`
|
|
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 ro(t){await t.schema.dropTable("org_file_configs").execute()}var xe={};i(xe,{up:()=>No,down:()=>wo});import{sql as h}from"kysely";async function No(t){await h`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(t),await h`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(t),await h`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(t),await h`DELETE FROM automations WHERE kind = 'tool_call'`.execute(t),await h`
|
|
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 wo(t){await t.schema.alterTable("automations").addColumn("kind","text",(n)=>n.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await h`
|
|
@@ -829,11 +829,11 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
829
829
|
WHERE connection_type = 'VIRTUAL'
|
|
830
830
|
AND metadata IS NOT NULL
|
|
831
831
|
AND metadata LIKE ${"%"+it+"%"}
|
|
832
|
-
`.execute(t);for(let e of n.rows){if(!e.metadata)continue;let a;try{a=JSON.parse(e.metadata)}catch{continue}let u=a.sandboxMap;if(!u||typeof u!=="object")continue;let _=!1,o={};for(let[x,y]of Object.entries(u)){if(!y||typeof y!=="object"){_=!0;continue}let T={};for(let[
|
|
832
|
+
`.execute(t);for(let e of n.rows){if(!e.metadata)continue;let a;try{a=JSON.parse(e.metadata)}catch{continue}let u=a.sandboxMap;if(!u||typeof u!=="object")continue;let _=!1,o={};for(let[x,y]of Object.entries(u)){if(!y||typeof y!=="object"){_=!0;continue}let T={};for(let[c,C]of Object.entries(y)){if(!C||typeof C!=="object"){_=!0;continue}if(it in C){_=!0;let E={...C};if(delete E[it],Object.keys(E).length>0)T[c]=E}else T[c]=C}if(Object.keys(T).length>0)o[x]=T;else _=!0}if(!_)continue;a.sandboxMap=o;let m=JSON.stringify(a);await Te`
|
|
833
833
|
UPDATE "connections"
|
|
834
834
|
SET metadata = ${m}
|
|
835
835
|
WHERE id = ${e.id}
|
|
836
|
-
`.execute(t)}}async function Ko(t){}var
|
|
836
|
+
`.execute(t)}}async function Ko(t){}var ce={};i(ce,{up:()=>zo,down:()=>Po});import{sql as ut}from"kysely";async function zo(t){await t.schema.createTable("thread_message_parts").addColumn("id","text",(n)=>n.primaryKey()).addColumn("seq","integer",(n)=>n.notNull()).addColumn("org_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("message_id","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("kind","text",(n)=>n.notNull()).addColumn("payload","jsonb",(n)=>n.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(n)=>n.notNull()).execute(),await ut`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await ut`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await ut`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await ut`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(t),await t.schema.alterTable("threads").addColumn("message_storage_version","integer",(n)=>n.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function Po(t){await t.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await t.schema.dropTable("thread_message_parts").ifExists().execute()}var re={};i(re,{up:()=>Uo,down:()=>ho});async function Uo(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function ho(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Ne={};i(Ne,{up:()=>ko,down:()=>Do});async function ko(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function Do(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var we={};i(we,{up:()=>jo,down:()=>Jo});async function jo(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Jo(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var fe={};i(fe,{up:()=>so,down:()=>Lo});async function so(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function Lo(t){await t.schema.dropTable("thread_observations").execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var pe={};i(pe,{up:()=>Ro,down:()=>Wo});async function Ro(t){await t.schema.dropTable("thread_observations").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function Wo(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var Ke={};i(Ke,{up:()=>Xo,down:()=>Qo});import{sql as P}from"kysely";var f="cluster",p="agent-sandbox";function X(t){return t!==null&&typeof t==="object"&&!Array.isArray(t)}function Ee(t,n,e){if(!X(t))return t;if(t.sandboxProviderKind!==n)return t;return{...t,sandboxProviderKind:e}}function at(t){if(!X(t))return!1;if(typeof t.sandboxHandle!=="string")return!1;if(t.previewUrl!==null&&typeof t.previewUrl!=="string")return!1;if(t.sandboxApiUrl!==void 0&&t.sandboxApiUrl!==null&&typeof t.sandboxApiUrl!=="string")return!1;if(t.sandboxProviderKind!==void 0&&t.sandboxProviderKind!==f&&t.sandboxProviderKind!==p&&t.sandboxProviderKind!=="user-desktop")return!1;if(t.createdAt!==void 0&&typeof t.createdAt!=="number")return!1;if(t.startedWith!==void 0){if(!X(t.startedWith))return!1;for(let n of["packageManager","port","path"]){let e=t.startedWith[n];if(e!==void 0&&e!==null&&typeof e!=="string")return!1}}return!0}function $o(t,n,e){if(!X(t))return null;let a=!1,u={};for(let[_,o]of Object.entries(t)){if(!X(o)){u[_]=o;continue}let m={};for(let[x,y]of Object.entries(o)){if(!X(y)){m[x]=y;continue}let T={};for(let[c,C]of Object.entries(y)){if(c===n){if(a=!0,!(e in y))T[e]=Ee(C,n,e);else if(!at(y[e])&&at(C))T[e]=Ee(C,n,e);continue}let E=Ee(C,n,e);if(E!==C)a=!0;if(c===e&&c in T&&at(T[c])&&!at(E))continue;T[c]=E}m[x]=T}u[_]=m}return{sandboxMap:u,changed:a}}async function Bi(t,n,e){let a=await P`
|
|
837
837
|
SELECT id, metadata FROM connections
|
|
838
838
|
WHERE connection_type = 'VIRTUAL'
|
|
839
839
|
AND metadata IS NOT NULL
|
|
@@ -928,7 +928,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
928
928
|
UPDATE downstream_tokens
|
|
929
929
|
SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
|
|
930
930
|
WHERE "expiresAt" IS NULL
|
|
931
|
-
`.execute(t)}async function vo(t){}var je={};i(je,{up:()=>Vo,down:()=>qo});async function Vo(t){await t.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function qo(t){await t.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var
|
|
931
|
+
`.execute(t)}async function vo(t){}var je={};i(je,{up:()=>Vo,down:()=>qo});async function Vo(t){await t.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function qo(t){await t.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var Je={};i(Je,{up:()=>lo,down:()=>bo});async function lo(t){await t.schema.alterTable("org_file_configs").addColumn("credential_type","text",(n)=>n.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function bo(t){await t.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var se={};i(se,{up:()=>tx,down:()=>nx});async function tx(t){await t.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await t.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function nx(t){await t.schema.alterTable("threads").dropColumn("failure_kind").execute(),await t.schema.alterTable("threads").dropColumn("failure_reason").execute()}var Le={};i(Le,{up:()=>ex,down:()=>ix});async function ex(t){await t.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function ix(t){await t.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Re={};i(Re,{up:()=>ux,down:()=>ax});async function ux(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}async function ax(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}var We={};i(We,{up:()=>_x,down:()=>mx});import{sql as Ii}from"kysely";async function _x(t){await t.schema.createTable("org_sites").addColumn("slug","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(n)=>n.notNull().defaultTo("deco-import")).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ii`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Ii`now()`)).execute(),await t.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function mx(t){await t.schema.dropTable("org_sites").execute()}var $e={};i($e,{up:()=>ox,down:()=>xx});async function ox(t){await t.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function xx(t){await t.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var Xe={};i(Xe,{up:()=>yx,down:()=>Tx});import{sql as N}from"kysely";async function yx(t){await t.schema.alterTable("organization_domains").addColumn("id","text").addColumn("join_mode","text").addColumn("verification_status","text").addColumn("verification_method","text").addColumn("verification_token","text").addColumn("verified_at","timestamptz").execute(),await N`
|
|
932
932
|
UPDATE organization_domains
|
|
933
933
|
SET
|
|
934
934
|
id = gen_random_uuid()::text,
|
|
@@ -940,15 +940,15 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
940
940
|
`.execute(t),await N`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await N`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(t),await N`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(t),await N`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(t),await N`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(t),await N`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(t),await N`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(t),await N`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 Tx(t){await t.schema.dropIndex("organization_domains_org_domain_idx").ifExists().execute(),await t.schema.alterTable("organization_domains").addColumn("auto_join_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await N`
|
|
941
941
|
UPDATE organization_domains
|
|
942
942
|
SET auto_join_enabled = (join_mode = 'auto')
|
|
943
|
-
`.execute(t),await N`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await N`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 Qe={};i(Qe,{up:()=>Cx,down:()=>
|
|
943
|
+
`.execute(t),await N`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await N`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 Qe={};i(Qe,{up:()=>Cx,down:()=>cx});import{sql as _t}from"kysely";async function Cx(t){await t.schema.createTable("organization_join_requests").addColumn("id","text",(n)=>n.primaryKey().defaultTo(_t`gen_random_uuid()::text`)).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("decided_by","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("decided_at","timestamptz").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(_t`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(_t`now()`)).execute(),await _t`
|
|
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 cx(t){await t.schema.dropTable("organization_join_requests").execute()}var Ze={};i(Ze,{up:()=>rx,down:()=>Nx});async function rx(t){await t.schema.alterTable("org_fs_entry").addColumn("read_public","boolean",(n)=>n.notNull().defaultTo(!1)).execute()}async function Nx(t){await t.schema.alterTable("org_fs_entry").dropColumn("read_public").execute()}var Ae={};i(Ae,{up:()=>wx,down:()=>fx});async function wx(t){await t.schema.alterTable("org_fs_entry").addColumn("share_password_hash","text").addColumn("share_secret","text").execute()}async function fx(t){await t.schema.alterTable("org_fs_entry").dropColumn("share_password_hash").dropColumn("share_secret").execute()}var Me={};i(Me,{up:()=>Kx,splitWebResearchTier:()=>He,down:()=>zx,__testing:()=>Ex});function px(t){return t.toLowerCase().replace(/[^a-z0-9]/g,"").includes("deepresearch")}function Fe(t){if(!t||typeof t!=="object")return!1;let n=t.tiers;if(!n||typeof n!=="object")return!1;return"web_search"in n||"deep_research"in n}function He(t){if(!t||Fe(t))return t;let n=t.tiers??{},e=n.web_research??null,{web_research:a,...u}=n,_=null,o=null;if(e)if(px(e.modelId))o=e;else _=e;return{...t,tiers:{...u,web_search:_,deep_research:o}}}var Ex={splitWebResearchTier:He,isAlreadySplit:Fe};async function Kx(t){let n=await t.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let e of n){if(!e.simple_mode)continue;let a=typeof e.simple_mode==="string"?JSON.parse(e.simple_mode):e.simple_mode;if(Fe(a))continue;let u=He(a);await t.updateTable("organization_settings").set({simple_mode:JSON.stringify(u)}).where("organizationId","=",e.organizationId).execute()}}async function zx(t){throw Error("122-split-web-research-tier is not reversible. Restore from snapshot.")}var Ye={};i(Ye,{up:()=>Px,down:()=>Ux});import{sql as O}from"kysely";async function Px(t){await t.schema.createTable("connection_workload_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(n)=>n.notNull().unique()).addColumn("token_prefix","text",(n)=>n.notNull()).addColumn("name","text",(n)=>n.notNull().defaultTo("default")).addColumn("revoked_at","timestamptz").addColumn("last_used_at","timestamptz").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connection_workload_tokens_subject").on("connection_workload_tokens").columns(["organization_id","subject_connection_id"]).execute(),await O`
|
|
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
|
|
951
|
-
`.execute(t),await t.schema.createTable("connection_credential_grants").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function Ux(t){await t.schema.dropTable("connection_credential_grants").ifExists().execute(),await t.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Be={};i(Be,{up:()=>hx,down:()=>kx});async function hx(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function kx(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}var Se={};i(Se,{up:()=>Dx,down:()=>jx});import{sql as
|
|
951
|
+
`.execute(t),await t.schema.createTable("connection_credential_grants").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function Ux(t){await t.schema.dropTable("connection_credential_grants").ifExists().execute(),await t.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Be={};i(Be,{up:()=>hx,down:()=>kx});async function hx(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function kx(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}var Se={};i(Se,{up:()=>Dx,down:()=>jx});import{sql as J}from"kysely";async function Dx(t){await J`
|
|
952
952
|
CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
|
|
953
953
|
RETURNS jsonb AS $fn$
|
|
954
954
|
BEGIN
|
|
@@ -957,7 +957,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
957
957
|
RETURN NULL;
|
|
958
958
|
END;
|
|
959
959
|
$fn$ LANGUAGE plpgsql IMMUTABLE;
|
|
960
|
-
`.execute(t),await
|
|
960
|
+
`.execute(t),await J`
|
|
961
961
|
DELETE FROM connection_aggregations a
|
|
962
962
|
USING (
|
|
963
963
|
SELECT
|
|
@@ -981,7 +981,7 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
981
981
|
WHERE jsonb_typeof(try_parse_jsonb(child.metadata) -> 'repoScope') = 'object'
|
|
982
982
|
) ranked
|
|
983
983
|
WHERE a.id = ranked.id AND ranked.rn > 1;
|
|
984
|
-
`.execute(t),await
|
|
984
|
+
`.execute(t),await J`
|
|
985
985
|
CREATE OR REPLACE FUNCTION enforce_repo_github_child_single_parent()
|
|
986
986
|
RETURNS trigger AS $fn$
|
|
987
987
|
BEGIN
|
|
@@ -1002,12 +1002,12 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
1002
1002
|
RETURN NEW;
|
|
1003
1003
|
END;
|
|
1004
1004
|
$fn$ LANGUAGE plpgsql;
|
|
1005
|
-
`.execute(t),await
|
|
1005
|
+
`.execute(t),await J`
|
|
1006
1006
|
CREATE TRIGGER trg_repo_github_child_single_parent
|
|
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 jx(t){await
|
|
1010
|
+
`.execute(t)}async function jx(t){await J`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await J`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await J`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var Ie={};i(Ie,{up:()=>Jx,down:()=>sx});import{sql as Oe}from"kysely";async function Jx(t){await t.schema.createTable("task_board_items").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("status","text",(n)=>n.notNull().defaultTo("triage")).addColumn("priority","text",(n)=>n.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).execute(),await t.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(Oe`false`)).execute()}async function sx(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await t.schema.dropTable("task_board_items").execute()}var Ge={};i(Ge,{up:()=>Lx,down:()=>Rx});async function Lx(t){await t.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function Rx(t){await t.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var ge={};i(ge,{up:()=>Wx,down:()=>$x});async function Wx(t){await t.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function $x(t){await t.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var ve={};i(ve,{up:()=>Xx,down:()=>Qx});async function Xx(t){await t.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function Qx(t){await t.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var Ve={};i(Ve,{up:()=>Ax,down:()=>Fx});import{sql as Zx}from"kysely";async function Ax(t){await t.schema.createTable("task_board_item_threads").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Zx`now()`)).addPrimaryKeyConstraint("task_board_item_threads_pkey",["task_board_item_id","thread_id"]).execute(),await t.schema.createIndex("task_board_item_threads_item_idx").on("task_board_item_threads").columns(["organization_id","task_board_item_id"]).execute(),await t.schema.createIndex("task_board_item_threads_thread_idx").on("task_board_item_threads").column("thread_id").execute()}async function Fx(t){await t.schema.dropTable("task_board_item_threads").execute()}var qe={};i(qe,{up:()=>Hx,down:()=>Mx});async function Hx(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_thread_id_fkey",["thread_id"],"threads",["id"],(n)=>n.onDelete("cascade")).execute()}async function Mx(t){await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var le={};i(le,{up:()=>Bx,down:()=>Sx});import{sql as Yx}from"kysely";async function Bx(t){await t.schema.createTable("task_board_item_prs").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("url","text",(n)=>n.notNull()).addColumn("pr_number","integer",(n)=>n.notNull()).addColumn("repo_owner","text",(n)=>n.notNull()).addColumn("repo_name","text",(n)=>n.notNull()).addColumn("connection_id","text").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Yx`now()`)).addPrimaryKeyConstraint("task_board_item_prs_pkey",["task_board_item_id","url"]).execute(),await t.schema.createIndex("task_board_item_prs_item_idx").on("task_board_item_prs").columns(["organization_id","task_board_item_id"]).execute()}async function Sx(t){await t.schema.dropTable("task_board_item_prs").execute()}var de={};i(de,{up:()=>Ix,down:()=>Gx});import{sql as Ox}from"kysely";async function Ix(t){await Ox`
|
|
1011
1011
|
DELETE FROM member
|
|
1012
1012
|
WHERE id IN (
|
|
1013
1013
|
SELECT id FROM (
|
|
@@ -1034,23 +1034,23 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
1034
1034
|
create unique index organization_billing_stripe_subscription_id_uq
|
|
1035
1035
|
on organization_billing (stripe_subscription_id)
|
|
1036
1036
|
where stripe_subscription_id is not null
|
|
1037
|
-
`.execute(t)}async function Cy(t){await gi`drop index organization_billing_stripe_subscription_id_uq`.execute(t),await t.schema.alterTable("organization_billing").dropColumn("last_stripe_event_at").execute()}var oi={};i(oi,{up:()=>
|
|
1037
|
+
`.execute(t)}async function Cy(t){await gi`drop index organization_billing_stripe_subscription_id_uq`.execute(t),await t.schema.alterTable("organization_billing").dropColumn("last_stripe_event_at").execute()}var oi={};i(oi,{up:()=>cy,down:()=>ry});async function cy(t){await t.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute()}async function ry(t){await t.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute()}var xi={};i(xi,{up:()=>Ny,down:()=>wy});import{sql as vi}from"kysely";async function Ny(t){await vi`
|
|
1038
1038
|
create index idx_org_billing_benefits_pending
|
|
1039
1039
|
on organization_billing (updated_at)
|
|
1040
1040
|
where benefits_reference_id is not null
|
|
1041
|
-
`.execute(t)}async function wy(t){await vi`drop index if exists idx_org_billing_benefits_pending`.execute(t)}var yi={};i(yi,{up:()=>fy,down:()=>py});import{sql as Vi}from"kysely";async function fy(t){await t.schema.createTable("user_model_preferences").addColumn("user_id","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("tiers","jsonb",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Vi`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Vi`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await t.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function py(t){await t.schema.dropTable("user_model_preferences").execute()}var Ti={};i(Ti,{up:()=>Ey,down:()=>Ky});async function Ey(t){await t.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function Ky(t){await t.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var Ci={};i(Ci,{up:()=>zy,down:()=>Py});async function zy(t){await t.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await t.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function Py(t){}var Uy={"001-initial-schema":ct,"002-organization-settings":Nt,"003-connection-schema-align":wt,"004-remove-models-binding":ft,"005-connection-configuration":pt,"006-add-views-to-settings":Et,"007-monitoring-logs":Kt,"008-event-bus":zt,"009-drop-audit-logs":Pt,"010-gateways":Ut,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":kt,"013-monitoring-user-agent-gateway":Dt,"014-gateway-resources-prompts":jt,"015-monitoring-properties":st,"016-downstream-token-client-info":Jt,"017-downstream-token-remove-userid":Lt,"018-drop-gateway-tool-selection-strategy":Rt,"019-remove-gateway-is-default":Wt,"020-enabled-plugins":$t,"021-threads":Xt,"022-rename-gateway-to-virtual-mcp":Qt,"023-optimize-thread-indexes":Zt,"024-consolidate-virtual-mcp":At,"025-add-monitoring-virtual-mcp-id":Ft,"026-restrict-child-connection-delete":Ht,"027-update-management-mcp-url":Yt,"028-update-management-mcp-to-self":St,"029-add-updated-by-to-connections":Ot,"030-member-tags":It,"031-add-dependency-mode":Gt,"032-projects":gt,"033-thread-status":vt,"034-monitoring-dashboards":Vt,"035-project-connections":qt,"036-update-registry-url":lt,"037-ai-provider-keys":dt,"038-oauth-pkce-states":bt,"039-automations":tn,"040-replace-next-run-at-with-last-run-at":nn,"041-ai-provider-keys-unique-constraint":en,"042-rename-mesh-mcp-to-cms-mcp":un,"043-rename-cms-mcp-to-deco-cms":an,"044-drop-connections-tools-column":_n,"045-thread-context-start-message":mn,"046-remove-object-storage-plugin":xn,"047-add-next-run-at":yn,"048-merge-projects-agents":Cn,"049-remove-org-admin-projects":rn,"050-durable-agent-runs":cn,"051-org-sso":wn,"052-thread-agent-ids":fn,"053-registry-config":pn,"054-connection-slug":Kn,"055-spaces":zn,"056-automation-project-scope":Pn,"057-thread-virtual-mcp-id":Un,"058-trigger-callback-tokens":hn,"059-kv":kn,"060-member-index":Dn,"061-downstream-token-connection-index":jn,"062-private-registry":sn,"063-event-subscriptions-enabled-boolean":Jn,"064-brand-context":Ln,"065-organization-domains":Rn,"066-brand-context-structured":Wn,"067-threads-metadata":$n,"068-threads-branch":Xn,"069-sandbox-runner-state":Qn,"070-model-categories":Zn,"071-default-home-agents":An,"072-ai-provider-key-preset-id":Fn,"073-backfill-basic-usage-roles":Hn,"074-sandbox-runner-state-handle-nonunique":Mn,"075-thread-inflight-async-jobs":Yn,"076-automations-drop-agent-json":Bn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":In,"079-strip-legacy-freestyle-vm-map-entries":Gn,"080-async-research-jobs":gn,"081-async-research-jobs-result-content":vn,"082-secrets":Vn,"083-thread-run-locally":qn,"084-drop-host-sandbox-rows":ln,"085-rename-runner-kind":dn,"086-thread-pins-and-vm-map-rekey":bn,"087-fix-vm-map-rekey":te,"088-purge-cli-activate-keys":ne,"089-rename-remote-user-to-desktop":ee,"090-automation-webhook-triggers":ie,"091-organization-domains-allow-multi":ue,"092-sandbox-naming-uniformization":ae,"093-backfill-global-search-basic-usage":_e,"094-org-file-configs":oe,"095-remove-automation-tool-call-kind":xe,"096-org-file-configs-public-url-base":ye,"097-drop-local-docker-sandbox-state":Ce,"098-thread-message-parts":re,"099-run-fence":ce,"100-link-transport":Ne,"101-cancel-requested-at":we,"102-observational-agent":fe,"103-revert-observational-agent":pe,"104-agent-sandbox-provider-kind":Ke,"105-org-fs":ze,"106-automation-tools":Pe,"107-org-fs-public-org":Ue,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":ke,"110-backfill-ghs-token-expiry":De,"111-org-fs-thread-id":je,"112-org-file-configs-credential-type":se,"113-thread-failure-reason":Je,"114-run-acked-seq":Le,"115-thread-projected-seq":Re,"116-org-sites":We,"117-org-file-configs-site-slug":$e,"118-organization-domains-multi-verify":Xe,"119-organization-join-requests":Qe,"120-org-fs-read-public":Ze,"121-org-fs-share-password":Ae,"122-split-web-research-tier":Me,"123-connection-credential-vault":Ye,"124-drop-thread-projected-seq":Be,"125-github-child-single-parent":Se,"126-task-board":Ie,"127-task-board-due-date":Ge,"128-reports-only":ge,"129-task-board-assigned-by":ve,"130-task-board-thread-id":Ve,"131-task-board-thread-link-cascade":qe,"132-task-board-item-prs":le,"133-dedupe-duplicate-members":de,"134-drop-task-board-enabled":be,"135-task-board-item-fk-cascade":ti,"136-task-board-import-idempotency":ni,"137-agent-sandbox-runner-state":ei,"138-agent-sandbox-sessions":ii,"139-organization-billing":ui,"140-seat-change-log":ai,"141-benefits-sync-pending":_i,"142-stripe-event-watermark":mi,"143-armed-report-url":oi,"144-benefits-pending-index":xi,"145-user-model-preferences":yi,"146-organization-main-agent":Ti,"147-drop-agent-sandbox-tables":Ci},ri=Uy;import{getMigrations as iT}from"better-auth/db";import{sso as uT}from"@better-auth/sso";import{organization as aT}from"@decocms/better-auth/plugins";import{admin as _T,apiKey as mT,jwt as oT,magicLink as xT,mcp as yT,openAPI as TT}from"better-auth/plugins";import{emailOTP as CT}from"better-auth/plugins/email-otp";import{Kysely as qy,PostgresDialect as mu}from"kysely";import{Pool as ou}from"pg";import{homedir as hy}from"os";var ky=new Set(["all","worker","api"]);function Dy(t){let n=(t??"").trim();return ky.has(n)?n:"all"}var jy=new Set(["production","development","test"]);function sy(t){let n=(t??"").trim();return jy.has(n)?n:"development"}function J(t){return t==="true"||t==="1"}function Jy(t){if(t===void 0||t==="")return;return J(t)}function li(t,n){if(n===void 0||n==="")return;let e=Number(n);if(!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);return e}function I(t,n,e){return li(t,n)??e}function Ly(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function qi(t){if(!t)return null;try{let e=new URL(t).hostname.replace(/^\[|\]$/g,"");if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}function Ry(t){return t===void 0||t===""||t==="true"||t==="1"}var Wy=new Set(["agent-sandbox","user-desktop"]);function $y(t){let n=(t??"").trim(),e=n.length>0?n:"user-desktop";if(e==="cluster")return"agent-sandbox";if(!Wy.has(e))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return e}function di(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${hy()}/deco`,a=t.localMode,u=t.nodeEnv||sy(n.NODE_ENV),_=n.NATS_URL||"nats://localhost:4222",o=Jy(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:u,port:I("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:J(n.DATABASE_PG_SSL),databasePoolMax:I("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:n.STUDIO_JWT_SECRET??n.MESH_JWT_SECRET,localMode:a,disableRateLimit:J(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:li("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:o,natsTunnelSessionTtlSeconds:I("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:J(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,seatAllowanceCents:I("STUDIO_SEAT_ALLOWANCE_CENTS",n.STUDIO_SEAT_ALLOWANCE_CENTS,500),stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeSeatPriceId:n.STRIPE_SEAT_PRICE_ID,topupFeePercent:I("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15),enableDecoImport:J(n.ENABLE_DECO_IMPORT),billingEnforced:J(n.STUDIO_BILLING_ENFORCED),mcpCacheEnabled:Ly(n.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:J(n.DISABLE_ORGFS_MOUNTS),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:Ry(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:Dy(n.STUDIO_DISPATCH_ROLE??n.MESH_DISPATCH_ROLE),sandboxProviderKind:$y(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:n.REPORTS_INTERNAL_API_URL??n.COMMERCE_DISCOVERY_INTERNAL_API_URL,reportsInternalApiKey:n.REPORTS_INTERNAL_API_KEY??n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:qi(n.DATABASE_URL),externalNatsUrl:qi(_),skipMigrations:t.skipMigrations}}var xt=null;function Q(){if(!xt)Xy();return xt}function Xy(){if(xt)return;let t={...process.env},n=di({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);xt=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as My,metrics as Yy,propagation as Pc,ROOT_CONTEXT as Uc,SpanStatusCode as hc,trace as By}from"@opentelemetry/api";import{logs as Sy,SeverityNumber as ci}from"@opentelemetry/api-logs";import{OTLPLogExporter as jc}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Oy}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Lc}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Wc}from"@opentelemetry/instrumentation-runtime-node";import{context as wr,propagation as fr,SpanKind as pr,SpanStatusCode as Er}from"@opentelemetry/api";var zr=globalThis.fetch;import{ExportResultCode as $r}from"@opentelemetry/core";import{ExportResultCode as yt}from"@opentelemetry/core";import{mkdir as Qy,rename as Zy,writeFile as Ay}from"fs/promises";import{join as Tt}from"path";class Ct{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:yt.FAILED});for(let n of t){let e=JSON.stringify(n),a=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:a,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:yt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:yt.FAILED}});return Promise.resolve({code:yt.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let u of t){let _=n.get(u.partition);if(!_)_=[],n.set(u.partition,_);_.push(u.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([u,_])=>this.writeNDJSON(_,u).then(()=>u))),a=e.find((u)=>u.status==="rejected");if(a){let u=new Set;for(let o of e)if(o.status==="fulfilled")u.add(o.value);let _=t.filter((o)=>!u.has(o.partition));this.bufferItems=_.concat(this.bufferItems),this.bufferBytes=0;for(let o of this.bufferItems)this.bufferBytes+=Buffer.byteLength(o.json,"utf8")+1;throw a.reason}}async writeNDJSON(t,n){let e=new Date,a=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],u=n?Tt(this.basePath,n,...a):Tt(this.basePath,...a);if(!this.knownDirs.has(u))await Qy(u,{recursive:!0,mode:448}),this.knownDirs.add(u);let _=`${crypto.randomUUID()}.ndjson`,o=Tt(u,`.${_}.tmp`),m=Tt(u,_),x=t.join(`
|
|
1041
|
+
`.execute(t)}async function wy(t){await vi`drop index if exists idx_org_billing_benefits_pending`.execute(t)}var yi={};i(yi,{up:()=>fy,down:()=>py});import{sql as Vi}from"kysely";async function fy(t){await t.schema.createTable("user_model_preferences").addColumn("user_id","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("tiers","jsonb",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Vi`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Vi`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await t.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function py(t){await t.schema.dropTable("user_model_preferences").execute()}var Ti={};i(Ti,{up:()=>Ey,down:()=>Ky});async function Ey(t){await t.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function Ky(t){await t.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var Ci={};i(Ci,{up:()=>zy,down:()=>Py});async function zy(t){await t.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await t.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function Py(t){}var Uy={"001-initial-schema":rt,"002-organization-settings":Nt,"003-connection-schema-align":wt,"004-remove-models-binding":ft,"005-connection-configuration":pt,"006-add-views-to-settings":Et,"007-monitoring-logs":Kt,"008-event-bus":zt,"009-drop-audit-logs":Pt,"010-gateways":Ut,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":kt,"013-monitoring-user-agent-gateway":Dt,"014-gateway-resources-prompts":jt,"015-monitoring-properties":Jt,"016-downstream-token-client-info":st,"017-downstream-token-remove-userid":Lt,"018-drop-gateway-tool-selection-strategy":Rt,"019-remove-gateway-is-default":Wt,"020-enabled-plugins":$t,"021-threads":Xt,"022-rename-gateway-to-virtual-mcp":Qt,"023-optimize-thread-indexes":Zt,"024-consolidate-virtual-mcp":At,"025-add-monitoring-virtual-mcp-id":Ft,"026-restrict-child-connection-delete":Ht,"027-update-management-mcp-url":Yt,"028-update-management-mcp-to-self":St,"029-add-updated-by-to-connections":Ot,"030-member-tags":It,"031-add-dependency-mode":Gt,"032-projects":gt,"033-thread-status":vt,"034-monitoring-dashboards":Vt,"035-project-connections":qt,"036-update-registry-url":lt,"037-ai-provider-keys":dt,"038-oauth-pkce-states":bt,"039-automations":tn,"040-replace-next-run-at-with-last-run-at":nn,"041-ai-provider-keys-unique-constraint":en,"042-rename-mesh-mcp-to-cms-mcp":un,"043-rename-cms-mcp-to-deco-cms":an,"044-drop-connections-tools-column":_n,"045-thread-context-start-message":mn,"046-remove-object-storage-plugin":xn,"047-add-next-run-at":yn,"048-merge-projects-agents":Cn,"049-remove-org-admin-projects":cn,"050-durable-agent-runs":rn,"051-org-sso":wn,"052-thread-agent-ids":fn,"053-registry-config":pn,"054-connection-slug":Kn,"055-spaces":zn,"056-automation-project-scope":Pn,"057-thread-virtual-mcp-id":Un,"058-trigger-callback-tokens":hn,"059-kv":kn,"060-member-index":Dn,"061-downstream-token-connection-index":jn,"062-private-registry":Jn,"063-event-subscriptions-enabled-boolean":sn,"064-brand-context":Ln,"065-organization-domains":Rn,"066-brand-context-structured":Wn,"067-threads-metadata":$n,"068-threads-branch":Xn,"069-sandbox-runner-state":Qn,"070-model-categories":Zn,"071-default-home-agents":An,"072-ai-provider-key-preset-id":Fn,"073-backfill-basic-usage-roles":Hn,"074-sandbox-runner-state-handle-nonunique":Mn,"075-thread-inflight-async-jobs":Yn,"076-automations-drop-agent-json":Bn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":In,"079-strip-legacy-freestyle-vm-map-entries":Gn,"080-async-research-jobs":gn,"081-async-research-jobs-result-content":vn,"082-secrets":Vn,"083-thread-run-locally":qn,"084-drop-host-sandbox-rows":ln,"085-rename-runner-kind":dn,"086-thread-pins-and-vm-map-rekey":bn,"087-fix-vm-map-rekey":te,"088-purge-cli-activate-keys":ne,"089-rename-remote-user-to-desktop":ee,"090-automation-webhook-triggers":ie,"091-organization-domains-allow-multi":ue,"092-sandbox-naming-uniformization":ae,"093-backfill-global-search-basic-usage":_e,"094-org-file-configs":oe,"095-remove-automation-tool-call-kind":xe,"096-org-file-configs-public-url-base":ye,"097-drop-local-docker-sandbox-state":Ce,"098-thread-message-parts":ce,"099-run-fence":re,"100-link-transport":Ne,"101-cancel-requested-at":we,"102-observational-agent":fe,"103-revert-observational-agent":pe,"104-agent-sandbox-provider-kind":Ke,"105-org-fs":ze,"106-automation-tools":Pe,"107-org-fs-public-org":Ue,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":ke,"110-backfill-ghs-token-expiry":De,"111-org-fs-thread-id":je,"112-org-file-configs-credential-type":Je,"113-thread-failure-reason":se,"114-run-acked-seq":Le,"115-thread-projected-seq":Re,"116-org-sites":We,"117-org-file-configs-site-slug":$e,"118-organization-domains-multi-verify":Xe,"119-organization-join-requests":Qe,"120-org-fs-read-public":Ze,"121-org-fs-share-password":Ae,"122-split-web-research-tier":Me,"123-connection-credential-vault":Ye,"124-drop-thread-projected-seq":Be,"125-github-child-single-parent":Se,"126-task-board":Ie,"127-task-board-due-date":Ge,"128-reports-only":ge,"129-task-board-assigned-by":ve,"130-task-board-thread-id":Ve,"131-task-board-thread-link-cascade":qe,"132-task-board-item-prs":le,"133-dedupe-duplicate-members":de,"134-drop-task-board-enabled":be,"135-task-board-item-fk-cascade":ti,"136-task-board-import-idempotency":ni,"137-agent-sandbox-runner-state":ei,"138-agent-sandbox-sessions":ii,"139-organization-billing":ui,"140-seat-change-log":ai,"141-benefits-sync-pending":_i,"142-stripe-event-watermark":mi,"143-armed-report-url":oi,"144-benefits-pending-index":xi,"145-user-model-preferences":yi,"146-organization-main-agent":Ti,"147-drop-agent-sandbox-tables":Ci},ci=Uy;import{getMigrations as iT}from"better-auth/db";import{sso as uT}from"@better-auth/sso";import{organization as aT}from"@decocms/better-auth/plugins";import{admin as _T,apiKey as mT,jwt as oT,magicLink as xT,mcp as yT,openAPI as TT}from"better-auth/plugins";import{emailOTP as CT}from"better-auth/plugins/email-otp";import{Kysely as qy,PostgresDialect as mu}from"kysely";import{Pool as ou}from"pg";import{homedir as hy}from"os";var ky=new Set(["all","worker","api"]);function Dy(t){let n=(t??"").trim();return ky.has(n)?n:"all"}var jy=new Set(["production","development","test"]);function Jy(t){let n=(t??"").trim();return jy.has(n)?n:"development"}function s(t){return t==="true"||t==="1"}function sy(t){if(t===void 0||t==="")return;return s(t)}function li(t,n){if(n===void 0||n==="")return;let e=Number(n);if(!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);return e}function I(t,n,e){return li(t,n)??e}function Ly(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function qi(t){if(!t)return null;try{let e=new URL(t).hostname.replace(/^\[|\]$/g,"");if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}function Ry(t){return t===void 0||t===""||t==="true"||t==="1"}var Wy=new Set(["agent-sandbox","user-desktop"]);function $y(t){let n=(t??"").trim(),e=n.length>0?n:"user-desktop";if(e==="cluster")return"agent-sandbox";if(!Wy.has(e))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return e}function di(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${hy()}/deco`,a=t.localMode,u=t.nodeEnv||Jy(n.NODE_ENV),_=n.NATS_URL||"nats://localhost:4222",o=sy(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:u,port:I("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:n.STUDIO_PUBLIC_URL??n.MESH_PUBLIC_URL,dataDir:e,databasePgSsl:s(n.DATABASE_PG_SSL),databasePoolMax:I("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:n.STUDIO_JWT_SECRET??n.MESH_JWT_SECRET,localMode:a,disableRateLimit:s(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:li("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:o,natsTunnelSessionTtlSeconds:I("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:s(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,seatAllowanceCents:I("STUDIO_SEAT_ALLOWANCE_CENTS",n.STUDIO_SEAT_ALLOWANCE_CENTS,500),stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeSeatPriceId:n.STRIPE_SEAT_PRICE_ID,topupFeePercent:I("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15),enableDecoImport:s(n.ENABLE_DECO_IMPORT),billingEnforced:s(n.STUDIO_BILLING_ENFORCED),mcpCacheEnabled:Ly(n.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:s(n.DISABLE_ORGFS_MOUNTS),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:Ry(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:Dy(n.STUDIO_DISPATCH_ROLE??n.MESH_DISPATCH_ROLE),sandboxProviderKind:$y(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:n.REPORTS_INTERNAL_API_URL??n.COMMERCE_DISCOVERY_INTERNAL_API_URL,reportsInternalApiKey:n.REPORTS_INTERNAL_API_KEY??n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:qi(n.DATABASE_URL),externalNatsUrl:qi(_),skipMigrations:t.skipMigrations}}var xt=null;function Q(){if(!xt)Xy();return xt}function Xy(){if(xt)return;let t={...process.env},n=di({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);xt=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as My,metrics as Yy,propagation as Pr,ROOT_CONTEXT as Ur,SpanStatusCode as hr,trace as By}from"@opentelemetry/api";import{logs as Sy,SeverityNumber as ri}from"@opentelemetry/api-logs";import{OTLPLogExporter as jr}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Oy}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Lr}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Wr}from"@opentelemetry/instrumentation-runtime-node";import{context as wc,propagation as fc,SpanKind as pc,SpanStatusCode as Ec}from"@opentelemetry/api";var zc=globalThis.fetch;import{ExportResultCode as $c}from"@opentelemetry/core";import{ExportResultCode as yt}from"@opentelemetry/core";import{mkdir as Qy,rename as Zy,writeFile as Ay}from"fs/promises";import{join as Tt}from"path";class Ct{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:yt.FAILED});for(let n of t){let e=JSON.stringify(n),a=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:a,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:yt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:yt.FAILED}});return Promise.resolve({code:yt.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let u of t){let _=n.get(u.partition);if(!_)_=[],n.set(u.partition,_);_.push(u.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([u,_])=>this.writeNDJSON(_,u).then(()=>u))),a=e.find((u)=>u.status==="rejected");if(a){let u=new Set;for(let o of e)if(o.status==="fulfilled")u.add(o.value);let _=t.filter((o)=>!u.has(o.partition));this.bufferItems=_.concat(this.bufferItems),this.bufferBytes=0;for(let o of this.bufferItems)this.bufferBytes+=Buffer.byteLength(o.json,"utf8")+1;throw a.reason}}async writeNDJSON(t,n){let e=new Date,a=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],u=n?Tt(this.basePath,n,...a):Tt(this.basePath,...a);if(!this.knownDirs.has(u))await Qy(u,{recursive:!0,mode:448}),this.knownDirs.add(u);let _=`${crypto.randomUUID()}.ndjson`,o=Tt(u,`.${_}.tmp`),m=Tt(u,_),x=t.join(`
|
|
1042
1042
|
`)+`
|
|
1043
|
-
`;await Ay(o,x,{mode:384}),await Zy(o,m)}}import{ExportResultCode as
|
|
1043
|
+
`;await Ay(o,x,{mode:384}),await Zy(o,m)}}import{ExportResultCode as Fc}from"@opentelemetry/core";import{AggregationTemporality as Mc,DataPointType as Yc}from"@opentelemetry/sdk-metrics";import{ExportResultCode as gc}from"@opentelemetry/core";var lc=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as Yr,LoggerProvider as Br}from"@opentelemetry/sdk-logs";import{detectResources as Or,envDetector as Ir,hostDetector as Gr,osDetector as gr,processDetector as vr,resourceFromAttributes as Vr}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as lr}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as tr}from"@opentelemetry/api-logs";import{NodeSDK as tN}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as eN,SamplingDecision as Z}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as ar}from"@opentelemetry/api";var Iy="__d",Gy=My("Current request"),gy=1;var tu=(t)=>{let e=new URL(t.url).searchParams.get(Iy);if(e==="")return crypto.randomUUID();if(!e)e=t.headers.get("x-trace-debug-id");return e};class nu{inner;constructor(t){this.inner=t}shouldSample(t,n,e,a,u,_){let o=t.getValue(Gy);if(!o){if(this.inner)return this.inner.shouldSample(t,n,e,a,u,_);return{decision:Z.RECORD_AND_SAMPLED}}let m=tu(o);if(m)return{decision:Z.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":m}};if(this.inner){let x=this.inner.shouldSample(t,n,e,a,u,_);if(x.decision===Z.RECORD_AND_SAMPLED){let y=crypto.randomUUID();x.attributes={...x.attributes??{},"trace.debug.id":y}}return x}return{decision:Z.NOT_RECORD}}toString(){return"DebugSampler"}}class eu{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:Z.RECORD_AND_SAMPLED};return{decision:Z.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var uN=new Oy({preventServerStart:!0}),aN=new nu(new eu(gy));var bi=By.getTracer("studio","1.0.0"),G=Yy.getMeter("studio","1.0.0"),vy=Sy.getLogger("studio","1.0.0"),Ni=(t,n,e)=>{let a={},u=e,_=e[e.length-1];if(_!==null&&typeof _==="object"&&!Array.isArray(_)&&!(_ instanceof Error)&&Object.getPrototypeOf(_)===Object.prototype)a=_,u=e.slice(0,-1);let o=u.map((m)=>{if(m instanceof Error)return`${m.name}: ${m.message}`;if(typeof m==="object")try{return JSON.stringify(m)}catch{return"[Object]"}return String(m)}).join(" ");vy.emit({severityNumber:t,severityText:n,body:o,attributes:{"log.source":"console",...a}})},wi={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{Ni(ri.ERROR,"ERROR",t),wi.error(...t)};console.warn=(...t)=>{Ni(ri.WARN,"WARN",t),wi.warn(...t)};console.debug=(...t)=>{Ni(ri.DEBUG,"DEBUG",t),wi.debug(...t)};var fi,iu=0,pi=500;function Vy(){if(fi)return;let t=performance.now()+pi;fi=setInterval(()=>{let n=performance.now();iu=Math.max(0,n-t),t=n+pi},pi),fi.unref?.()}function uu(){return Vy(),iu}var ly=()=>G.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),au=()=>G.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),_u=400,dy=100,by=(t)=>(n)=>{let e={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>_u){let a=uu(),u=a>_u/2;console.error(u?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(a),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:ct()}})}if(ly().record(n.queryDurationMillis,e),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function tT(t){let n=t.connect.bind(t);return t.connect=(e)=>{if(typeof e==="function")return n(e);let a=performance.now(),u=ct(),_=t.idleCount===0&&t.totalCount>=u,o=t.idleCount;return n().then((m)=>{let x=performance.now()-a;if(au().record(x,{"db.pool.outcome":_?"contended":"available"}),x>dy)if(_)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:x,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:u});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:x,idleAtStart:o,total:t.totalCount,max:u});return m},(m)=>{throw au().record(performance.now()-a,{"db.pool.outcome":"error"}),m})},t}var xu={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function yu(){try{return Q().databasePgSsl}catch{return!1}}function ct(){try{return Q().databasePoolMax}catch{return 10}}function nT(t){let n=tT(new ou({connectionString:t,max:ct(),ssl:yu(),...xu})),e=new mu({pool:n});return{type:"postgres",db:new qy({dialect:e,log:by(n)}),pool:n}}function v(){return Q().databaseUrl}function Tu(t){let n=t||v();return new mu({pool:new ou({connectionString:n,max:ct(),ssl:yu(),...xu})})}function eT(t){let n=t||v();return nT(n)}async function Cu(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===g)g=null}var g=null;function Ei(){if(!g)g=eT(v());return g}async function cu(t){let e={database:Tu(t||v()),plugins:[aT({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),_T(),mT(),oT(),TT(),yT({loginPage:"/login"}),uT(),xT({sendMagicLink:async()=>{}}),CT({sendVerificationOTP:async()=>{}})]},{toBeAdded:a,toBeCreated:u,runMigrations:_}=await iT(e);if(!a.length&&!u.length)return"up to date";return await _(),`${u.length+a.length} table(s) migrated`}async function Nu(t,n){return(await A`
|
|
1044
1044
|
SELECT table_name FROM information_schema.tables
|
|
1045
1045
|
WHERE table_schema='public' AND table_name=${n}
|
|
1046
|
-
`.execute(t)).rows.length>0}async function
|
|
1046
|
+
`.execute(t)).rows.length>0}async function cT(t){if(await Nu(t,"plugin_migrations"))return;await A`
|
|
1047
1047
|
CREATE TABLE plugin_migrations (
|
|
1048
1048
|
plugin_id TEXT NOT NULL,
|
|
1049
1049
|
name TEXT NOT NULL,
|
|
1050
1050
|
timestamp TEXT NOT NULL,
|
|
1051
1051
|
PRIMARY KEY (plugin_id, name)
|
|
1052
1052
|
)
|
|
1053
|
-
`.execute(t)}async function
|
|
1053
|
+
`.execute(t)}async function rT(t){if(!await Nu(t,"kysely_migration"))return;let n=await A`
|
|
1054
1054
|
SELECT name, timestamp FROM kysely_migration
|
|
1055
1055
|
WHERE name LIKE '%/%'
|
|
1056
1056
|
`.execute(t);if(n.rows.length===0)return;for(let{name:e,timestamp:a}of n.rows){let u=e;if(e.includes("~plugins/"))u=e.substring(e.indexOf("~plugins/")+9);let _=u.indexOf("/");if(_===-1){console.warn(`Skipping malformed plugin migration: ${e}`);continue}let o=u.substring(0,_),m=u.substring(_+1);try{await A`
|
|
@@ -1061,4 +1061,4 @@ var wu=Object.defineProperty;var fu=(t)=>t;function pu(t,n){this[t]=fu.bind(null
|
|
|
1061
1061
|
WHERE plugin_id = ${o} AND name = ${m}
|
|
1062
1062
|
`.execute(t);if(Number(x.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${o}/${m}, keeping in old table`);continue}}await A`
|
|
1063
1063
|
DELETE FROM kysely_migration WHERE name = ${e}
|
|
1064
|
-
`.execute(t)}}async function NT(t){await
|
|
1064
|
+
`.execute(t)}}async function NT(t){await cT(t),await rT(t);let n=new ru({db:t,provider:{getMigrations:()=>Promise.resolve(ci)}}),{error:e,results:a}=await n.migrateToLatest(),u=0;if(a?.forEach((_)=>{if(_.status==="Success")u++;else if(_.status==="Error")console.error(`Failed to execute migration "${_.migrationName}"`)}),e)throw console.error("Failed to migrate"),console.error(e),e;return u}async function wT(t){let{keepOpen:n=!1,database:e,skipBetterAuth:a=!1}=t??{},u="skipped";if(!a&&!e)u=await cu();let _=e??Ei(),o=async()=>{if(!n&&!e)await Cu(_).catch((m)=>{console.warn("Warning: Error closing database:",m)})};try{let m=await NT(_.db);return await o(),{betterAuth:u,kysely:m}}catch(m){throw await o(),m}}async function QN(){let t=Ei(),n=new ru({db:t.db,provider:{getMigrations:()=>Promise.resolve(ci)}}),{error:e,results:a}=await n.migrateDown();if(a?.forEach((u)=>{if(u.status==="Success")console.log(`\u2705 Migration "${u.migrationName}" rolled back successfully`);else if(u.status==="Error")console.error(`\u274C Failed to rollback migration "${u.migrationName}"`)}),e)throw console.error("Failed to rollback migration"),console.error(e),e}if(import.meta.main)(async()=>{try{await wT(),console.log("Migrations completed."),process.exit(0)}catch(t){console.error("Migration failed:",t),process.exit(1)}})();export{NT as runKyselyMigrations,wT as migrateToLatest,QN as migrateDown};
|