decocms 4.363.1 → 4.364.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-CgERhdh6.js → AlertCircle-EniJtD8E.js} +1 -1
- package/dist/client/assets/{AreaChart-kU4sTinA.js → AreaChart-DZpAPo6a.js} +1 -1
- package/dist/client/assets/{ArrowLeft-BVx6AQzq.js → ArrowLeft-Clu1mSdY.js} +1 -1
- package/dist/client/assets/{ArrowRight-DZQert3q.js → ArrowRight-Cu8UuHNR.js} +1 -1
- package/dist/client/assets/{ArrowUp-lpfNBlP2.js → ArrowUp-C0eratGp.js} +1 -1
- package/dist/client/assets/{Check-DClZtAIP.js → Check-BWpBE9uf.js} +1 -1
- package/dist/client/assets/{CheckCircle-BGqFZ8sM.js → CheckCircle-cinYKmPU.js} +1 -1
- package/dist/client/assets/{ChevronRight-BNfU55ld.js → ChevronRight-DzRB-rdO.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-ilm76_0p.js → ChevronSelectorVertical-BiIbFU31.js} +1 -1
- package/dist/client/assets/{ChevronUp-CbF1Gmeo.js → ChevronUp-DGrguvGW.js} +1 -1
- package/dist/client/assets/{Copy01-DiITYBuR.js → Copy01-DayLu0dF.js} +1 -1
- package/dist/client/assets/{CreditCard01-Zpy-4Wu9.js → CreditCard01-4OsjIT5f.js} +1 -1
- package/dist/client/assets/{Database01-zcGUPFsG.js → Database01-2gG_9E30.js} +1 -1
- package/dist/client/assets/{DotsVertical-LmkOTjL4.js → DotsVertical-CucJCL9y.js} +1 -1
- package/dist/client/assets/{Download01-C4blLpML.js → Download01-BC2rKbuh.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-KbkdtIBU.js → ErrorBarContext-CRh7XbJc.js} +1 -1
- package/dist/client/assets/{Eye-Cd7v-liN.js → Eye-dnrP5DkM.js} +1 -1
- package/dist/client/assets/{File02-CceuR6rF.js → File02-BhckHV8N.js} +1 -1
- package/dist/client/assets/{GitBranch01-Dil6c2wv.js → GitBranch01-BBn4dN5f.js} +1 -1
- package/dist/client/assets/{Globe01-BVji6jXS.js → Globe01-SLAc63wC.js} +1 -1
- package/dist/client/assets/{HardDrive-B4UY5qYp.js → HardDrive-FlnOYA_8.js} +1 -1
- package/dist/client/assets/{Image01-CpXdMb8x.js → Image01-BrHSH-Vi.js} +1 -1
- package/dist/client/assets/{Key01-BsAAVoJx.js → Key01-CKcg8G1v.js} +1 -1
- package/dist/client/assets/{Link01-OqB-2yPE.js → Link01-3t9JrUgl.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DobnLseV.js → LinkExternal01-Cp7uxK1i.js} +1 -1
- package/dist/client/assets/{Monitor01-BTqHf-K4.js → Monitor01-BUruMK2r.js} +1 -1
- package/dist/client/assets/{Package-CCkk0w5h.js → Package-CdfyZYxN.js} +1 -1
- package/dist/client/assets/{Palette-BBWt8owf.js → Palette-CglyAOTg.js} +1 -1
- package/dist/client/assets/{Play-CPeIBqH_.js → Play-rnw1eV52.js} +1 -1
- package/dist/client/assets/{Plus-DaErdsG1.js → Plus-Bxp02MWl.js} +1 -1
- package/dist/client/assets/{Printer-BG6NfeSZ.js → Printer-fz_zwxfT.js} +1 -1
- package/dist/client/assets/{SearchLg-DxQfk550.js → SearchLg-FC9suxna.js} +1 -1
- package/dist/client/assets/{SearchMd-BNXjQ2BV.js → SearchMd-DRRptSJN.js} +1 -1
- package/dist/client/assets/{Sector-D2wxgDkd.js → Sector-CJIPfQ5Z.js} +1 -1
- package/dist/client/assets/{Settings02-DL8f5fN1.js → Settings02-D2oiGU4q.js} +1 -1
- package/dist/client/assets/{Share07-D1Sv14jA.js → Share07-D_kiq5Fr.js} +1 -1
- package/dist/client/assets/{Shield01-BsobIEfQ.js → Shield01-CjyLhqlS.js} +1 -1
- package/dist/client/assets/{Stars01-f37Q7vDf.js → Stars01-COChWymR.js} +1 -1
- package/dist/client/assets/{Sun-DjKz3VjB.js → Sun-nKOZMh9n.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-BIyO34Jw.js → SwitchHorizontal01-CxlKjkIX.js} +1 -1
- package/dist/client/assets/{Tool01-D6HOM_aJ.js → Tool01-BnKd95Y1.js} +1 -1
- package/dist/client/assets/{Tool02-BrfQeZRx.js → Tool02-C_xRWqQk.js} +1 -1
- package/dist/client/assets/{Trash01-DQjprOwc.js → Trash01-DqUm2RRh.js} +1 -1
- package/dist/client/assets/{TrendUp01-DIz6JZwT.js → TrendUp01-PFzYDizC.js} +1 -1
- package/dist/client/assets/{Upload01-BDeLrRhf.js → Upload01-CqWnAR1-.js} +1 -1
- package/dist/client/assets/{User01-B8a5ssx2.js → User01-BJoNdkjl.js} +1 -1
- package/dist/client/assets/{UserSquare-yIpHwPSn.js → UserSquare-CCDsU001.js} +1 -1
- package/dist/client/assets/{Users01-BCRhQsCX.js → Users01-DSQPwtP5.js} +1 -1
- package/dist/client/assets/{Users03-DWh3D2_T.js → Users03-CRtXqa1Q.js} +1 -1
- package/dist/client/assets/{XCircle-DudPVYQR.js → XCircle-9Cb0khfg.js} +1 -1
- package/dist/client/assets/{XClose-DpDcHm9Y.js → XClose-Cw4b4Uag.js} +1 -1
- package/dist/client/assets/{Zap-C5eiFR0N.js → Zap-ChVc0p76.js} +1 -1
- package/dist/client/assets/{ZoomOut-DdupjPFF.js → ZoomOut-BXPGwF_O.js} +1 -1
- package/dist/client/assets/{access-gate-Dnh0JyKy.js → access-gate-BZbNb1lq.js} +1 -1
- package/dist/client/assets/{add-connection-dialog-BSihy3_s.js → add-connection-dialog-s1GRGQ63.js} +1 -1
- package/dist/client/assets/{agent-analytics-C1OAYjbt.js → agent-analytics-C4aHsqYV.js} +1 -1
- package/dist/client/assets/agent-app-CzbKRw1_.js +1 -0
- package/dist/client/assets/{agent-assets-vYQq8qui.js → agent-assets-B6lPIA_2.js} +1 -1
- package/dist/client/assets/{agent-automation-BPNX454_.js → agent-automation-Bmdy2mNK.js} +1 -1
- package/dist/client/assets/{agent-automations-BLOXID0N.js → agent-automations-5exIOZ--.js} +1 -1
- package/dist/client/assets/{agent-connect-sources-BzEccd4r.js → agent-connect-sources-ozaEzrP4.js} +1 -1
- package/dist/client/assets/agent-deck-D5-mvZ5i.js +1 -0
- package/dist/client/assets/{agent-e2e-DM8adI3E.js → agent-e2e-s-Nk1F2Y.js} +1 -1
- package/dist/client/assets/agent-file-DkGApBvp.js +1 -0
- package/dist/client/assets/{agent-git-DarQSTRH.js → agent-git-Bu3r6tWp.js} +1 -1
- package/dist/client/assets/{agent-hosting-Dnr2S-TT.js → agent-hosting-CdYzW_dA.js} +1 -1
- package/dist/client/assets/{agent-icon-vDfwuZu4.js → agent-icon-DrlilhFJ.js} +1 -1
- package/dist/client/assets/agent-library-file-CK85m8fH.js +1 -0
- package/dist/client/assets/{agent-monitor-DpaaBIhL.js → agent-monitor-DEQ-34KF.js} +1 -1
- package/dist/client/assets/{agent-overview-D9IrP622.js → agent-overview-BQIF-rwN.js} +1 -1
- package/dist/client/assets/agent-settings-gb3smN_4.js +1 -0
- package/dist/client/assets/{agent-site-editor-DTFbZmEY.js → agent-site-editor-DtPpWjDD.js} +1 -1
- package/dist/client/assets/agent-site-editor-code-DkcL_YVi.js +2 -0
- package/dist/client/assets/{agent-site-editor-content-BE26aik7.js → agent-site-editor-content-6zQLGSyR.js} +2 -2
- package/dist/client/assets/{agent-site-editor-preview-ki_D8wtP.js → agent-site-editor-preview-D8mxBZIU.js} +3 -3
- package/dist/client/assets/agent-view-D9WzU94g.js +1 -0
- package/dist/client/assets/{agent-view-guard-DomQyuot.js → agent-view-guard-nj1TYVsk.js} +1 -1
- package/dist/client/assets/{agents-list-B0vnsITA.js → agents-list-hiZ_XS0O.js} +1 -1
- package/dist/client/assets/{ai-providers-CxaMjUP7.js → ai-providers-oY9ilqJZ.js} +1 -1
- package/dist/client/assets/{alert-DcFgIKLk.js → alert-D-emvPaG.js} +1 -1
- package/dist/client/assets/{alert-dialog-CiKfgw9r.js → alert-dialog-BE9ltHtr.js} +1 -1
- package/dist/client/assets/{api-keys-CEPWE1iS.js → api-keys-4NMR09V3.js} +1 -1
- package/dist/client/assets/api-keys-BQayHq-8.js +1 -0
- package/dist/client/assets/app-editor-DeI0TeES.js +1 -0
- package/dist/client/assets/{asset-utils-DJXdpjr9.js → asset-utils-CR65HphV.js} +1 -1
- package/dist/client/assets/{auth-ksbj4Esa.js → auth-RjDDTUUT.js} +1 -1
- package/dist/client/assets/{auth-catchall-DV5KEwZ2.js → auth-catchall-qxwSZGuB.js} +1 -1
- package/dist/client/assets/{auth-entry-Fe8qT_kq.js → auth-entry-ddblLMjc.js} +1 -1
- package/dist/client/assets/{auth-split-layout-CFJK_BXW.js → auth-split-layout-oGs_kK_4.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-DMvGjBUE.js → authenticate-and-persist-oauth-DXlrPDSv.js} +1 -1
- package/dist/client/assets/{automation-list-row-CkrObNhq.js → automation-list-row-XibuWgpW.js} +1 -1
- package/dist/client/assets/{automation-runs-C-5kRp10.js → automation-runs-nZP284NC.js} +1 -1
- package/dist/client/assets/automations-CDxxuCym.js +1 -0
- package/dist/client/assets/{autosend-BzUVLyEq.js → autosend-HdosN86x.js} +1 -1
- package/dist/client/assets/{avatar-CW4PxBuN.js → avatar-DcDvs8Zz.js} +1 -1
- package/dist/client/assets/{badge-C5Ilvf_J.js → badge-DJpaBl8u.js} +1 -1
- package/dist/client/assets/{block-document-Zfk-C1Kp.js → block-document-LCYQj9PJ.js} +1 -1
- package/dist/client/assets/{breadcrumb-BajFgW5V.js → breadcrumb-BOAVRiAa.js} +1 -1
- package/dist/client/assets/{buckets-CyNocIPE.js → buckets-Ze5fok7v.js} +1 -1
- package/dist/client/assets/{build-improve-prompt-doc-BrRLOIlw.js → build-improve-prompt-doc-Dn9xs_5X.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-e217-dmm.js → bulk-category-panel-D-Hh71MB.js} +1 -1
- package/dist/client/assets/{calendar-DGiOuDgZ.js → calendar-DTnssie4.js} +1 -1
- package/dist/client/assets/{capability-load-error-DFv8gs5U.js → capability-load-error-CJ3e1sqb.js} +1 -1
- package/dist/client/assets/{cards-XHNjVWeh.js → cards-DTFINi5r.js} +1 -1
- package/dist/client/assets/category-editor-4KcN0JRt.js +1 -0
- package/dist/client/assets/{chart-C7CmtzOp.js → chart-Jb0gHMLD.js} +1 -1
- package/dist/client/assets/{chat-context-HB_KOUNM.js → chat-context-CXknhaDs.js} +1 -1
- package/dist/client/assets/{checkbox-Dg_GkeBT.js → checkbox-D8Ab2Vb-.js} +1 -1
- package/dist/client/assets/{choose-editor-DO1mGCL1.js → choose-editor-Chy2VB_F.js} +1 -1
- package/dist/client/assets/{cli-auth-success-e-RADpiN.js → cli-auth-success-B27gos5d.js} +1 -1
- package/dist/client/assets/{client-icons-tt6oaVA2.js → client-icons-CoIMqlIz.js} +1 -1
- package/dist/client/assets/{collapsible-CycyYnXe.js → collapsible-DH_CZdwE.js} +1 -1
- package/dist/client/assets/{collection-detail-DhtfN_Wl.js → collection-detail-D8Sq0PzS.js} +1 -1
- package/dist/client/assets/{collection-display-button-BRbx9UhH.js → collection-display-button-P_aK73Om.js} +1 -1
- package/dist/client/assets/{collection-search-j4HjYlys.js → collection-search-CzGq8Uso.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-0LZ9BKlr.js → collection-table-wrapper-ChqJqpKo.js} +1 -1
- package/dist/client/assets/{collection-tabs-Bc9QOlJ8.js → collection-tabs-BLgGMB42.js} +1 -1
- package/dist/client/assets/{command-BpjWfGyr.js → command-B6LMVdkQ.js} +1 -1
- package/dist/client/assets/{command-palette-store-D19nXDNm.js → command-palette-store-BwHku_Zt.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-CdG4FfWS.js → commerce-onboarding-EmIMFBqV.js} +1 -1
- package/dist/client/assets/{companion-mcps-section-CVcicsr9.js → companion-mcps-section-BszDkkOp.js} +1 -1
- package/dist/client/assets/{connect-COU6F3Do.js → connect-CM-97gwN.js} +1 -1
- package/dist/client/assets/{connect-layout-Bl-ol5HH.js → connect-layout-C_MQVbrT.js} +1 -1
- package/dist/client/assets/{connection-By77bjvj.js → connection-OmoYXqZk.js} +1 -1
- package/dist/client/assets/{connection-card-Br8jDKgZ.js → connection-card-Cy-GdKQl.js} +1 -1
- package/dist/client/assets/{connection-detail-vVdPGlxv.js → connection-detail-CuBiFvjK.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-CFXh6BoJ.js → connection-form-helpers-D3hdN_Pk.js} +1 -1
- package/dist/client/assets/{connections-BBNFmXEe.js → connections-BnO49Vti.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-CRl8hry2.js → create-organization-dialog--p2RMsV5.js} +1 -1
- package/dist/client/assets/{decode-html-entities-Cf7wUEql.js → decode-html-entities-DDqE27I4.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-D2Qtyl-A.js → decopilot-sse-pool-CfYFArSW.js} +1 -1
- package/dist/client/assets/{dialog-DJBpjJnY.js → dialog-otnvxVN0.js} +1 -1
- package/dist/client/assets/{discover-y7BsppSE.js → discover-BZKxvY_j.js} +1 -1
- package/dist/client/assets/{domain-settings-B_cuGCF0.js → domain-settings-QORwmdcG.js} +1 -1
- package/dist/client/assets/{download-app-dialog-DYhv8XsJ.js → download-app-dialog-BqNRF4Sn.js} +1 -1
- package/dist/client/assets/{drawer-B5NRhNfW.js → drawer-s7gtDrb4.js} +1 -1
- package/dist/client/assets/{dropdown-menu-DzwCPltk.js → dropdown-menu-BxKUbUkE.js} +1 -1
- package/dist/client/assets/{editor-BHnwprUT.js → editor-DCxsAs7o.js} +1 -1
- package/dist/client/assets/{empty-state-CJ95hR0w.js → empty-state-CL4F2BS4.js} +1 -1
- package/dist/client/assets/{empty-state-CXolWOTn.js → empty-state-Cz1DkYZE.js} +1 -1
- package/dist/client/assets/{extract-connection-data-B1nPGa4h.js → extract-connection-data-CqGCTPdZ.js} +1 -1
- package/dist/client/assets/{file-explorer-Dj1zqDxa.js → file-explorer-Uvp7ogK8.js} +1 -1
- package/dist/client/assets/{file-preview-kRDXQYfi.js → file-preview-18IJQMnU.js} +1 -1
- package/dist/client/assets/{file-share-button-P5GnoZYM.js → file-share-button-Cef5f1VZ.js} +1 -1
- package/dist/client/assets/{file-type-icon-Cg81au_Z.js → file-type-icon-DGllFDOf.js} +1 -1
- package/dist/client/assets/{folder-icon-Bey_C_xd.js → folder-icon-p8jB76CU.js} +1 -1
- package/dist/client/assets/{form-EGCuUtdG.js → form-KjPevg0A.js} +1 -1
- package/dist/client/assets/{general-BJ_Ksgnn.js → general-t-IB2WC3.js} +1 -1
- package/dist/client/assets/{github-icon-CiNkodR8.js → github-icon-D51q_6S8.js} +1 -1
- package/dist/client/assets/{home-Cmddezu3.js → home-Bhl8U_ph.js} +1 -1
- package/dist/client/assets/{hooks-Bb9SArul.js → hooks-BhviOOpn.js} +1 -1
- package/dist/client/assets/{hooks-BSkeWBV7.js → hooks-k1OxvonE.js} +1 -1
- package/dist/client/assets/{index-6GXqHE0w.js → index-B3yBTWEk.js} +4 -4
- package/dist/client/assets/{index-BVRQ9yUZ.js → index-Bwc7J041.js} +1 -1
- package/dist/client/assets/{index-CY40-aHW.js → index-C1N-CFMR.js} +1 -1
- package/dist/client/assets/{index-BaItIL-_.js → index-C7WIaN4y.js} +1 -1
- package/dist/client/assets/{index-DCQ3taiG.js → index-CRCvoACn.js} +1 -1
- package/dist/client/assets/{index-B9bOVdMd.js → index-D4YJGrDI.js} +3 -3
- package/dist/client/assets/{index-hC6VOnUm.js → index-DD-r2o4M.js} +1 -1
- package/dist/client/assets/{index-CUa7fAjf.js → index-DOk05MCp.js} +1 -1
- package/dist/client/assets/{index-B7ENeoW4.js → index-DlQKfvnq.js} +1 -1
- package/dist/client/assets/{index-Cu77hgR2.js → index-DqX9hbqM.js} +1 -1
- package/dist/client/assets/{index-Dg14Zpi9.js → index-fTs6ROSj.js} +1 -1
- package/dist/client/assets/{index-qEipD_7S.js → index-m01im2kT.js} +1 -1
- package/dist/client/assets/{index-redirect-BRL1uQPT.js → index-redirect-e7Kr1hOd.js} +1 -1
- package/dist/client/assets/{index-cEqwHhEg.js → index-w1d_dmEj.js} +1 -1
- package/dist/client/assets/{index-9FQARZdh.js → index-xVQnUsdi.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-C7FrFXuf.js → infiniteQueryObserver-DgAoAIrN.js} +1 -1
- package/dist/client/assets/{infra-billing-B0e93_qz.js → infra-billing-B2HwpfSN.js} +1 -1
- package/dist/client/assets/{input-D8xrvlz-.js → input-BnbYz5_9.js} +1 -1
- package/dist/client/assets/{input-BRqLi1TH.js → input-DxAgQLPa.js} +1 -1
- package/dist/client/assets/{input-TvernbmY.js → input-HFOrJf5B.js} +1 -1
- package/dist/client/assets/{integration-icon-B6H5J7sl.js → integration-icon-BPwWRlNG.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-CsolElt3.js → invite-member-dialog-vPcEYe6v.js} +1 -1
- package/dist/client/assets/{label-aWEsDmHM.js → label-CqlSWrLn.js} +1 -1
- package/dist/client/assets/{layout-CAwe_kK2.js → layout-aU1eoqDA.js} +1 -1
- package/dist/client/assets/{legacy-agents-deep-DJ_t0QLc.js → legacy-agents-deep-CpKjJlPs.js} +1 -1
- package/dist/client/assets/{legacy-main-redirect-CySqEohs.js → legacy-main-redirect-ZPChWdtD.js} +1 -1
- package/dist/client/assets/{library-DRmbr8Ht.js → library-uYIcEGdr.js} +1 -1
- package/dist/client/assets/{login-DQDbHhI7.js → login-CfxNz6kc.js} +1 -1
- package/dist/client/assets/{markdown-CBvmi8AF.js → markdown-B1038zFJ.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-BQ7hPzlx.js → mcp-app-renderer-Cb8Ud-E7.js} +1 -1
- package/dist/client/assets/{mcp-oauth-DhRKpyTH.js → mcp-oauth-D6isOO_s.js} +1 -1
- package/dist/client/assets/{members-NHaXKGgP.js → members-DHLsomPg.js} +1 -1
- package/dist/client/assets/{mini-report-page-BcG9QHwQ.js → mini-report-page-iTjakIrU.js} +1 -1
- package/dist/client/assets/{monaco-editor-C5zvkMO4.js → monaco-editor-WNMTPDp9.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-CWqusnLf.js → monitoring-stats-row-B_mR1zw-.js} +1 -1
- package/dist/client/assets/{multi-select-CvACpZbb.js → multi-select-D54pM3d4.js} +1 -1
- package/dist/client/assets/{mustache-DQXz9E52.js → mustache-r9snVmI4.js} +1 -1
- package/dist/client/assets/{oauth-callback-BHJTnNxG.js → oauth-callback-GAK1H0Is.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-wF0_7wc5.js → oauth-callback-ai-provider-sdaHeEFx.js} +1 -1
- package/dist/client/assets/{onboarding-20FUHLvO.js → onboarding-BKPW4du6.js} +1 -1
- package/dist/client/assets/{optimistic-project-sidebar-views-DKtRXqQ0.js → optimistic-project-sidebar-views-yrtk59Mo.js} +1 -1
- package/dist/client/assets/{org-layout-DRrVivAL.js → org-layout-BNIg984j.js} +1 -1
- package/dist/client/assets/{organization-choice-BmSYuBSE.js → organization-choice-DvXG7tgx.js} +1 -1
- package/dist/client/assets/{orgs-1ZlqeM-y.js → orgs-NTyzCYi-.js} +1 -1
- package/dist/client/assets/{page-seo-form-Cpi2Oike.js → page-seo-form-DAkbVQPg.js} +1 -1
- package/dist/client/assets/{pair-CD8Vxcvs.js → pair-C08OPQNP.js} +1 -1
- package/dist/client/assets/{popover-Ci-k968-.js → popover-DIqZ2IKF.js} +1 -1
- package/dist/client/assets/{post-calendar-CgTLYrrU.js → post-calendar-DuH_hA9y.js} +1 -1
- package/dist/client/assets/{post-editor-DyayPm7u.js → post-editor-BAf6FqSQ.js} +1 -1
- package/dist/client/assets/{preview-content-DhEgigNG.js → preview-content-B5xB74fu.js} +1 -1
- package/dist/client/assets/{preview-dialog-CKWnRekk.js → preview-dialog-b2QyOGzU.js} +1 -1
- package/dist/client/assets/{primitives-1lR28duD.js → primitives-4_D03rJK.js} +1 -1
- package/dist/client/assets/{profile-DixSbE4L.js → profile-COT-hKKD.js} +1 -1
- package/dist/client/assets/{project-app-view-DBHiU3Rg.js → project-app-view-DJ_q7UHg.js} +1 -1
- package/dist/client/assets/{project-feed-boKgu_TR.js → project-feed-DJ_jJM3E.js} +1 -1
- package/dist/client/assets/{project-icon-DIXBuD-A.js → project-icon-Bl3bXnhv.js} +1 -1
- package/dist/client/assets/project-reports-q4w3pT5T.js +1 -0
- package/dist/client/assets/project-tasks-DqlAyIfE.js +1 -0
- package/dist/client/assets/{prompts-BROxvafI.js → prompts-CI44HEcf.js} +1 -1
- package/dist/client/assets/record-editor-n0M7yiQw.js +1 -0
- package/dist/client/assets/redirect-editor-CK3YSOdb.js +1 -0
- package/dist/client/assets/registry-DkzCUqTc.js +2 -0
- package/dist/client/assets/{registry-layout-BUEF9YqP.js → registry-layout-CvRfdld3.js} +1 -1
- package/dist/client/assets/{reports-B1C9NU2m.js → reports-C-eaYxW3.js} +1 -1
- package/dist/client/assets/reports-C2LVTrmJ.js +1 -0
- package/dist/client/assets/{reports-tab-uLMivl2p.js → reports-tab-qffeKlGd.js} +2 -2
- package/dist/client/assets/repositories-ao250fUH.js +1 -0
- package/dist/client/assets/{repository-import-picker-DVnadPZ8.js → repository-import-picker-Bg_h8YsG.js} +1 -1
- package/dist/client/assets/repository-picker-BDWGy2xY.js +1 -0
- package/dist/client/assets/{require-capability-DSFKKTc-.js → require-capability-CmR_46yt.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DMNBbcf3.js → required-auth-layout-BEc3NUsQ.js} +1 -1
- package/dist/client/assets/{reset-password-GCDcBOjo.js → reset-password-BlF157J6.js} +1 -1
- package/dist/client/assets/{review-settings-VwYzzjCc.js → review-settings-BBciVvfB.js} +1 -1
- package/dist/client/assets/{rich-text-link-control-C6A8Q9Jd.js → rich-text-link-control-CrwbAR31.js} +1 -1
- package/dist/client/assets/{roles-PgEO9KN-.js → roles-CuHUTdKb.js} +1 -1
- package/dist/client/assets/{runnable-block-editor-Db2XbJYi.js → runnable-block-editor-2CMWc-S3.js} +1 -1
- package/dist/client/assets/{sandbox-lifecycle-context-DxbfUbxP.js → sandbox-lifecycle-context-CXd9Um8u.js} +1 -1
- package/dist/client/assets/{schema-Cnskrzk1.js → schema-BQbhQoxs.js} +1 -1
- package/dist/client/assets/{scroll-area-CaE3a4_T.js → scroll-area-BgZjjLM3.js} +1 -1
- package/dist/client/assets/{search-input-lFP9sD3O.js → search-input-uXtJ6IU8.js} +1 -1
- package/dist/client/assets/{secrets-BU_daRxy.js → secrets-C1mCKV1g.js} +1 -1
- package/dist/client/assets/{sections-editor-D-W8vM7g.js → sections-editor-Bv2odcBq.js} +1 -1
- package/dist/client/assets/{select-Ce9NznPv.js → select-Bc5UZb4n.js} +1 -1
- package/dist/client/assets/{select-model-CjTijsS7.js → select-model-BDGEzt-Y.js} +1 -1
- package/dist/client/assets/{seo-editor-O94He1NF.js → seo-editor-DJw3ydvJ.js} +1 -1
- package/dist/client/assets/settings-layout-DlH0gQXK.js +1 -0
- package/dist/client/assets/{settings-sidebar-BcAe-WS4.js → settings-sidebar-DswZBMwm.js} +1 -1
- package/dist/client/assets/{settings-tab-Cg5CqTki.js → settings-tab-Ru2atFmZ.js} +1 -1
- package/dist/client/assets/{shell-controls-gkZZS07l.js → shell-controls-DkLEUvEw.js} +1 -1
- package/dist/client/assets/{shell-layout-C3IRibnI.js → shell-layout-1dFmVwYI.js} +1 -1
- package/dist/client/assets/{skill-preview-MIddvDZe.js → skill-preview-CGe8kUoa.js} +1 -1
- package/dist/client/assets/{skills-hRnVKZ5K.js → skills-BGdKR-aF.js} +1 -1
- package/dist/client/assets/{sso-BePH_NId.js → sso-M-OsbEtw.js} +1 -1
- package/dist/client/assets/{store-CqeIEwHN.js → store-BY4ZRY7y.js} +1 -1
- package/dist/client/assets/store-registry-DQHLJpOA.js +2 -0
- package/dist/client/assets/{switch-D5GcuD9Z.js → switch-CJ5Ir2Zx.js} +1 -1
- package/dist/client/assets/{synced-repos-Cnp4m7yg.js → synced-repos-9D-CfhL7.js} +1 -1
- package/dist/client/assets/{table-O0SpY8ZO.js → table-Di_WRNkb.js} +1 -1
- package/dist/client/assets/{tabs-DQoXHeZr.js → tabs-DV8akPGb.js} +1 -1
- package/dist/client/assets/{task-board-DyZE7mH1.js → task-board-CXsHf2Zn.js} +1 -1
- package/dist/client/assets/{task-route-CayeX6cv.js → task-route-D79aS9d_.js} +1 -1
- package/dist/client/assets/{task-status-CyTozLxL.js → task-status-DIr_2V94.js} +1 -1
- package/dist/client/assets/tasks-C6DyE2q-.js +1 -0
- package/dist/client/assets/{tasks-Da-h-zLm.js → tasks-CiIHA5f1.js} +1 -1
- package/dist/client/assets/{textarea-BpFOmm9_.js → textarea-CneoU2lJ.js} +1 -1
- package/dist/client/assets/{thread-intent-AJKohiRy.js → thread-intent-DVKldCEq.js} +1 -1
- package/dist/client/assets/{thread-route-CEvVLI2K.js → thread-route-CKY-dKC0.js} +1 -1
- package/dist/client/assets/{thread-sheet-body-Bs4b4fMK.js → thread-sheet-body-CcUGPZXB.js} +1 -1
- package/dist/client/assets/{toggle-group-Cs1yIHkK.js → toggle-group-9HQCpj-q.js} +1 -1
- package/dist/client/assets/{tool-namespace-ySa3S1AM.js → tool-namespace-BVMQcKlk.js} +1 -1
- package/dist/client/assets/{toolbar-DOOz2W24.js → toolbar-D0oe2g2b.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-Dp-AbzNZ.js → toolbar-icon-button-EOE8J-Ai.js} +1 -1
- package/dist/client/assets/{track-Dns1NpdC.js → track-BzMi8kcZ.js} +1 -1
- package/dist/client/assets/{types-C1gRrnQe.js → types-Csu6Ims7.js} +1 -1
- package/dist/client/assets/{usage-stats-D5mXC24B.js → usage-stats-BNse37Wk.js} +1 -1
- package/dist/client/assets/{use-ai-providers-Bg_y9f3x.js → use-ai-providers-qnkcjapR.js} +1 -1
- package/dist/client/assets/{use-automations-BI_yIok-.js → use-automations-CYOC_eS5.js} +1 -1
- package/dist/client/assets/{use-autosave-BB0U2eiK.js → use-autosave-CCprSQ13.js} +1 -1
- package/dist/client/assets/{use-commerce-diagnostic-DqKipeip.js → use-commerce-diagnostic-mdvL2BW-.js} +1 -1
- package/dist/client/assets/{use-connect-companion-Mci4Y6hu.js → use-connect-companion-2fL060lG.js} +1 -1
- package/dist/client/assets/{use-connection-DCUpGmsb.js → use-connection-DCLPda2h.js} +1 -1
- package/dist/client/assets/{use-copy-GVBAvo9n.js → use-copy-14DzRp8J.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CizXpVyQ.js → use-create-virtual-mcp-DoCSQs95.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-CcPpBz8y.js → use-date-fns-locale-DYzMvrWB.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-wCEzYUZh.js → use-debounced-autosave-BRAVEUZc.js} +1 -1
- package/dist/client/assets/{use-debounced-value-D0SYNQsR.js → use-debounced-value-Cud3o3Fq.js} +1 -1
- package/dist/client/assets/{use-deco-credits-DjxZxHMq.js → use-deco-credits-rwNQ1gMg.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-zpeu2MCG.js → use-decopilot-events-DYRVevWg.js} +1 -1
- package/dist/client/assets/{use-delete-connection-B-DNpbCU.js → use-delete-connection-ueGIYWMK.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-Dpkh4HgH.js → use-deployment-admin-D6IzoXV0.js} +1 -1
- package/dist/client/assets/{use-file-configs-B1FdrMZJ.js → use-file-configs-BwD1CaWo.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-BXOEU8Y7.js → use-infinite-scroll-DkLPxlOu.js} +1 -1
- package/dist/client/assets/{use-join-requests-1Ow065Yq.js → use-join-requests-DTGTfD21.js} +1 -1
- package/dist/client/assets/{use-main-panel-tabs-CeyJWpQP.js → use-main-panel-tabs-EW6rbxam.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-CSQiZCDG.js → use-mcp-auth-status-CPh3Lmzs.js} +1 -1
- package/dist/client/assets/{use-mcp-client-Bq-mjhw3.js → use-mcp-client-DsJzBus3.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-CWmeNLXn.js → use-mcp-prompts-i0LZ2nQA.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DGdyHn8U.js → use-mcp-tools-Dc3F6Krl.js} +1 -1
- package/dist/client/assets/{use-members-Dnee1tF2.js → use-members-C0MdJrYz.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-Drdqs1cr.js → use-navigate-to-agent-Bbq0oQ0Y.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-Cju1isPI.js → use-open-billing-url-DvTk9GH0.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-CVFBkaiI.js → use-org-auth-client-4o0wRx2Q.js} +1 -1
- package/dist/client/assets/{use-org-fs-DG1oJieK.js → use-org-fs-BEoPvlnI.js} +1 -1
- package/dist/client/assets/{use-org-notice-PUfO84YR.js → use-org-notice-CXYMfMUq.js} +1 -1
- package/dist/client/assets/{use-org-sso-uleG21Aq.js → use-org-sso-CdSz0xa8.js} +1 -1
- package/dist/client/assets/{use-organization-roles-yO3kgQbK.js → use-organization-roles-DzWM9Nv-.js} +1 -1
- package/dist/client/assets/{use-organization-settings-DrJN-E78.js → use-organization-settings-BAVHurZk.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-CCqZdv2O.js → use-panel-navigate-Byvx0cbx.js} +1 -1
- package/dist/client/assets/{use-project-native-view-presence-01L5j4lu.js → use-project-native-view-presence-D-AyEulW.js} +1 -1
- package/dist/client/assets/{use-project-scope-DZ9tacAx.js → use-project-scope-B2cuvtTy.js} +1 -1
- package/dist/client/assets/{use-registry-connections-cro5WL6A.js → use-registry-connections-DikbDR8w.js} +1 -1
- package/dist/client/assets/{use-secrets-w6G8jtp4.js → use-secrets-D-c1ciPZ.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-lro_p1nx.js → use-section-preview-base-CwIWGkgy.js} +1 -1
- package/dist/client/assets/{use-session-runtime-TS34dEJv.js → use-session-runtime-BHahDP0E.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DQ2pMmh0.js → use-status-sounds-CnCb1h48.js} +1 -1
- package/dist/client/assets/{use-tags-B6zE47mm.js → use-tags-C2LhenRb.js} +1 -1
- package/dist/client/assets/{use-task-metadata-C4MfiHBQ.js → use-task-metadata-CB3EJ29f.js} +1 -1
- package/dist/client/assets/{use-thread-outputs-CpCqTMOi.js → use-thread-outputs-9oZhiYbB.js} +1 -1
- package/dist/client/assets/{use-view-mode-B9wUn2ad.js → use-view-mode-BvOL5I4W.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CMlCV8Oj.js → use-virtual-mcp-Bk09OpEg.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-GKCP1c_7.js +1 -0
- package/dist/client/assets/{useQueries-C6OAJOs7.js → useQueries-qr8TAkZc.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DmEiIBI4.js +1 -0
- package/dist/client/assets/{users-CYflDdFv.js → users-C1ExMDuM.js} +1 -1
- package/dist/client/assets/{utils-B-5U5Z26.js → utils-B14U8IKK.js} +1 -1
- package/dist/client/assets/{variant-calendar-BsFwTl3D.js → variant-calendar-urd0wE-3.js} +1 -1
- package/dist/client/assets/{variant-matcher-override-CRlEf4IL.js → variant-matcher-override-DvY-JiuY.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-kY4gR8CN.js → view-mode-toggle-swSorpD7.js} +1 -1
- package/dist/client/assets/{virtual-mcp-CKi1xJsO.js → virtual-mcp-DGQbDtgM.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +678 -668
- package/dist/server/migrate.js +171 -161
- package/dist/server/server.js +418 -418
- package/package.json +1 -1
- package/dist/client/assets/agent-app-62cavSHy.js +0 -1
- package/dist/client/assets/agent-deck-DVW32bsA.js +0 -1
- package/dist/client/assets/agent-file-C7nywZCe.js +0 -1
- package/dist/client/assets/agent-library-file-D4p-8dXS.js +0 -1
- package/dist/client/assets/agent-settings-CxGAsqqN.js +0 -1
- package/dist/client/assets/agent-site-editor-code-Dcgjtfwk.js +0 -2
- package/dist/client/assets/agent-view-DYYYDEW_.js +0 -1
- package/dist/client/assets/api-keys-DoGNEUpY.js +0 -1
- package/dist/client/assets/app-editor-CRjlYU-M.js +0 -1
- package/dist/client/assets/automations-CKhgbURI.js +0 -1
- package/dist/client/assets/category-editor-zLRtagcy.js +0 -1
- package/dist/client/assets/project-reports-ChLta7_v.js +0 -1
- package/dist/client/assets/project-tasks-nUWazd1g.js +0 -1
- package/dist/client/assets/record-editor-FqHaN2k4.js +0 -1
- package/dist/client/assets/redirect-editor-CWYZom_C.js +0 -1
- package/dist/client/assets/registry-C3_EEMj-.js +0 -2
- package/dist/client/assets/reports-BY7Ca1Ey.js +0 -1
- package/dist/client/assets/repositories-BgD13VwL.js +0 -1
- package/dist/client/assets/repository-picker-BGpoa_g_.js +0 -1
- package/dist/client/assets/settings-layout-CWQI71Tg.js +0 -1
- package/dist/client/assets/store-registry-BCokMLik.js +0 -2
- package/dist/client/assets/tasks-DGTMeQBa.js +0 -1
- package/dist/client/assets/useInfiniteQuery-CM35R0yt.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DWyGwvh9.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
2
|
+
var lK=Object.defineProperty;var dK=(_)=>_;function sK(_,x){this[_]=dK.bind(null,x)}var m=(_,x)=>{for(var u in x)lK(_,u,{get:x[u],enumerable:!0,configurable:!0,set:sK.bind(x,u)})};import{Migrator as rK,sql as r}from"kysely";var v_={};m(v_,{up:()=>bK,down:()=>_N});import{sql as MT}from"kysely";async function bK(_){await MT`CREATE INDEX idx_connections_sanitized_id ON connections (replace(id, '-', '_'))`.execute(_)}async function _N(_){await MT`DROP INDEX IF EXISTS idx_connections_sanitized_id`.execute(_)}var q_={};m(q_,{up:()=>xN,down:()=>uN});import{sql as L}from"kysely";async function xN(_){await L`
|
|
3
3
|
CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
|
|
4
4
|
RETURNS jsonb AS $fn$
|
|
5
5
|
BEGIN
|
|
@@ -8,7 +8,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
8
8
|
RETURN NULL;
|
|
9
9
|
END;
|
|
10
10
|
$fn$ LANGUAGE plpgsql IMMUTABLE;
|
|
11
|
-
`.execute(_),await
|
|
11
|
+
`.execute(_),await L`
|
|
12
12
|
CREATE OR REPLACE VIEW cd_repo_picks AS
|
|
13
13
|
SELECT
|
|
14
14
|
c.id AS connection_id,
|
|
@@ -18,7 +18,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
18
18
|
WHERE c.id = c.organization_id || '_commerce-discovery'
|
|
19
19
|
AND cd_repo_try_jsonb(c.configuration_state) ->> 'github_repo'
|
|
20
20
|
~ '^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$'
|
|
21
|
-
`.execute(_),await
|
|
21
|
+
`.execute(_),await L`
|
|
22
22
|
INSERT INTO repositories (
|
|
23
23
|
organization_id, account_id, provider, host, path, web_url
|
|
24
24
|
)
|
|
@@ -28,7 +28,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
28
28
|
FROM cd_repo_picks p
|
|
29
29
|
ORDER BY p.organization_id, lower(p.path)
|
|
30
30
|
ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
|
|
31
|
-
`.execute(_),await
|
|
31
|
+
`.execute(_),await L`
|
|
32
32
|
UPDATE connections c
|
|
33
33
|
SET configuration_state = (
|
|
34
34
|
cd_repo_try_jsonb(c.configuration_state) || jsonb_build_object(
|
|
@@ -49,7 +49,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
49
49
|
AND lower(r.path) = lower(p.path)
|
|
50
50
|
WHERE c.id = p.connection_id
|
|
51
51
|
AND cd_repo_try_jsonb(c.configuration_state) -> 'repository' IS NULL
|
|
52
|
-
`.execute(_),await
|
|
52
|
+
`.execute(_),await L`
|
|
53
53
|
UPDATE connections a
|
|
54
54
|
SET
|
|
55
55
|
repository_id = r.id,
|
|
@@ -73,7 +73,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
73
73
|
|| '/' ||
|
|
74
74
|
coalesce(cd_repo_try_jsonb(a.metadata) #>> '{githubRepo,name}', '')
|
|
75
75
|
) = lower(p.path)
|
|
76
|
-
`.execute(_),await
|
|
76
|
+
`.execute(_),await L`DROP VIEW IF EXISTS cd_repo_picks`.execute(_),await L`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}async function uN(_){await L`
|
|
77
77
|
CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
|
|
78
78
|
RETURNS jsonb AS $fn$
|
|
79
79
|
BEGIN
|
|
@@ -82,13 +82,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
82
82
|
RETURN NULL;
|
|
83
83
|
END;
|
|
84
84
|
$fn$ LANGUAGE plpgsql IMMUTABLE;
|
|
85
|
-
`.execute(_),await
|
|
85
|
+
`.execute(_),await L`
|
|
86
86
|
UPDATE connections c
|
|
87
87
|
SET configuration_state =
|
|
88
88
|
(cd_repo_try_jsonb(c.configuration_state) - 'repository')::text
|
|
89
89
|
WHERE c.id = c.organization_id || '_commerce-discovery'
|
|
90
90
|
AND cd_repo_try_jsonb(c.configuration_state) -> 'repository' IS NOT NULL
|
|
91
|
-
`.execute(_),await
|
|
91
|
+
`.execute(_),await L`
|
|
92
92
|
UPDATE connections a
|
|
93
93
|
SET
|
|
94
94
|
repository_id = NULL,
|
|
@@ -100,7 +100,17 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
100
100
|
)::text
|
|
101
101
|
WHERE a.id = 'commerce-discovery_' || a.organization_id
|
|
102
102
|
AND cd_repo_try_jsonb(a.metadata) #> '{githubRepo,repositoryId}' IS NOT NULL
|
|
103
|
-
`.execute(_),await
|
|
103
|
+
`.execute(_),await L`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}var c_={};m(c_,{up:()=>mN,down:()=>CN});import{sql as g_}from"kysely";async function mN(_){await g_`ALTER TABLE git_provider_accounts
|
|
104
|
+
DROP CONSTRAINT git_provider_accounts_auth_kind_check,
|
|
105
|
+
ADD CONSTRAINT git_provider_accounts_auth_kind_check
|
|
106
|
+
CHECK (auth_kind IN ('github_app', 'oauth', 'token', 'github_cli')),
|
|
107
|
+
ADD CONSTRAINT git_provider_accounts_cli_check
|
|
108
|
+
CHECK (auth_kind <> 'github_cli' OR
|
|
109
|
+
(type = 'github' AND host = 'github.com' AND installation_id IS NULL))`.execute(_)}async function CN(_){await g_`DELETE FROM git_provider_accounts WHERE auth_kind = 'github_cli'`.execute(_),await g_`ALTER TABLE git_provider_accounts
|
|
110
|
+
DROP CONSTRAINT git_provider_accounts_cli_check,
|
|
111
|
+
DROP CONSTRAINT git_provider_accounts_auth_kind_check,
|
|
112
|
+
ADD CONSTRAINT git_provider_accounts_auth_kind_check
|
|
113
|
+
CHECK (auth_kind IN ('github_app', 'oauth', 'token'))`.execute(_)}var h_={};m(h_,{up:()=>TN,down:()=>KN});import{sql as BT}from"kysely";async function TN(_){await BT`
|
|
104
114
|
INSERT INTO "organization" (id, name, slug, "createdAt")
|
|
105
115
|
SELECT
|
|
106
116
|
'org_user_fs',
|
|
@@ -114,9 +124,9 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
114
124
|
END,
|
|
115
125
|
now()
|
|
116
126
|
ON CONFLICT (id) DO NOTHING
|
|
117
|
-
`.execute(_)}async function
|
|
127
|
+
`.execute(_)}async function KN(_){await BT`
|
|
118
128
|
DELETE FROM "organization" WHERE id = 'org_user_fs'
|
|
119
|
-
`.execute(_)}var
|
|
129
|
+
`.execute(_)}var o_={};m(o_,{up:()=>NN,down:()=>EN});async function NN(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_repository_ids","jsonb").execute()}async function EN(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_repository_ids").execute()}var a_={};m(a_,{up:()=>zN,down:()=>PN});async function zN(_){await _.schema.alterTable("organization_settings").addColumn("coding_agent_mcp_excluded","text").execute()}async function PN(_){await _.schema.alterTable("organization_settings").dropColumn("coding_agent_mcp_excluded").execute()}var r_={};m(r_,{up:()=>UN,down:()=>JN});import{sql as e}from"kysely";var $N=[{table:"git_provider_accounts",column:"type"},{table:"git_provider_oauth_states",column:"provider"},{table:"repositories",column:"provider"}];async function GT(_,x){for(let{table:u,column:T}of $N){let C=`${u}_${T}_check`,K=x.map((E)=>`'${E}'`).join(", ");await e.raw(`ALTER TABLE ${u} DROP CONSTRAINT IF EXISTS ${C}`).execute(_),await e.raw(`ALTER TABLE ${u} ADD CONSTRAINT ${C} CHECK (${T} IN (${K}))`).execute(_)}}async function UN(_){await GT(_,["github","gitlab","bitbucket"])}async function JN(_){await e`DELETE FROM repositories WHERE provider = 'bitbucket'`.execute(_),await e`DELETE FROM git_provider_oauth_states WHERE provider = 'bitbucket'`.execute(_),await e`DELETE FROM git_provider_accounts WHERE type = 'bitbucket'`.execute(_),await GT(_,["github","gitlab"])}var e_={};m(e_,{up:()=>XN,down:()=>QN});async function XN(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_authorized_by","text").execute()}async function QN(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_authorized_by").execute()}var l_={};m(l_,{up:()=>WN,down:()=>ZN});import{sql as jN}from"kysely";async function WN(_){await jN`
|
|
120
130
|
CREATE TABLE github_connect_flows (
|
|
121
131
|
id text PRIMARY KEY,
|
|
122
132
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -126,7 +136,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
126
136
|
);
|
|
127
137
|
CREATE UNIQUE INDEX github_connect_flows_owner ON github_connect_flows(organization_id, user_id);
|
|
128
138
|
CREATE INDEX github_connect_flows_expiry ON github_connect_flows(expires_at);
|
|
129
|
-
`.execute(_)}async function
|
|
139
|
+
`.execute(_)}async function ZN(_){await _.schema.dropTable("github_connect_flows").execute()}var d_={};m(d_,{up:()=>DN,down:()=>LN});async function DN(_){await _.schema.createIndex("task_board_item_prs_repo_idx").on("task_board_item_prs").columns(["repo_owner","repo_name","pr_number"]).execute()}async function LN(_){await _.schema.dropIndex("task_board_item_prs_repo_idx").execute()}var s_={};m(s_,{up:()=>FN,down:()=>RN});import{sql as $_}from"kysely";async function FN(_){await $_`
|
|
130
140
|
CREATE FUNCTION adopt_legacy_repository() RETURNS trigger AS $$
|
|
131
141
|
DECLARE
|
|
132
142
|
metadata_json jsonb;
|
|
@@ -182,19 +192,19 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
182
192
|
FROM repositories r WHERE s.repository_id IS NULL
|
|
183
193
|
AND r.organization_id = s.organization_id AND r.host = 'github.com'
|
|
184
194
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name);
|
|
185
|
-
`.execute(_)}async function ZK(_){await $_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await $_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var d_={};m(d_,{up:()=>LK,down:()=>DK});import{sql as B}from"kysely";async function LK(_){await _.schema.createTable("connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(x)=>x.notNull()).addColumn("connectionUrl","text",(x)=>x.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("api_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("hashedKey","text",(x)=>x.notNull().unique()).addColumn("permissions","text",(x)=>x.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("audit_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createTable("oauth_clients").addColumn("id","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(x)=>x.notNull()).addColumn("redirectUris","text",(x)=>x.notNull()).addColumn("grantTypes","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_authorization_codes").addColumn("code","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(x)=>x.notNull()).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("downstream_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("connectionId","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(x)=>x.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function DK(_){await _.schema.dropTable("downstream_tokens").execute(),await _.schema.dropTable("oauth_refresh_tokens").execute(),await _.schema.dropTable("oauth_authorization_codes").execute(),await _.schema.dropTable("oauth_clients").execute(),await _.schema.dropTable("audit_logs").execute(),await _.schema.dropTable("api_keys").execute(),await _.schema.dropTable("connections").execute()}var s_={};m(s_,{up:()=>FK,down:()=>RK});import{sql as BT}from"kysely";async function FK(_){await _.schema.createTable("organization_settings").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(BT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(BT`CURRENT_TIMESTAMP`)).execute()}async function RK(_){await _.schema.dropTable("organization_settings").execute()}var b_={};m(b_,{up:()=>YK,down:()=>HK});async function YK(_){await _.schema.alterTable("connections").renameColumn("name","title").execute(),await _.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await _.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await _.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await _.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await _.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await _.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await _.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await _.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await _.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await _.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await _.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function HK(_){await _.schema.alterTable("connections").renameColumn("title","name").execute(),await _.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await _.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await _.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await _.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await _.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await _.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await _.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await _.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await _.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await _.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await _.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var _x={};m(_x,{up:()=>MK,down:()=>BK});async function MK(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function BK(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId",x.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var xx={};m(xx,{up:()=>GK,down:()=>nK});async function GK(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function nK(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var ux={};m(ux,{up:()=>fK,down:()=>OK});import{sql as yK}from"kysely";async function fK(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",yK`text`).execute()}async function OK(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var mx={};m(mx,{up:()=>AK,down:()=>SK});async function AK(_){await _.schema.createTable("monitoring_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(x)=>x.notNull()).addColumn("tool_name","text",(x)=>x.notNull()).addColumn("input","text",(x)=>x.notNull()).addColumn("output","text",(x)=>x.notNull()).addColumn("is_error","integer",(x)=>x.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(x)=>x.notNull()).addColumn("timestamp","text",(x)=>x.notNull()).addColumn("user_id","text").addColumn("request_id","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function SK(_){await _.schema.dropIndex("monitoring_logs_is_error").execute(),await _.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await _.schema.dropTable("monitoring_logs").execute()}var Cx={};m(Cx,{up:()=>IK,down:()=>wK});import{sql as l}from"kysely";async function IK(_){await _.schema.createTable("events").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("source","text",(x)=>x.notNull()).addColumn("specversion","text",(x)=>x.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(x)=>x.notNull()).addColumn("datacontenttype","text",(x)=>x.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(x)=>x.notNull()).addColumn("filter","text").addColumn("enabled","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_deliveries").addColumn("id","text",(x)=>x.primaryKey()).addColumn("event_id","text",(x)=>x.notNull()).addColumn("subscription_id","text",(x)=>x.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await _.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await _.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await _.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await _.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await _.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await _.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await _.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await _.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function wK(_){await _.schema.dropIndex("idx_deliveries_retry").execute(),await _.schema.dropIndex("idx_deliveries_subscription_status").execute(),await _.schema.dropIndex("idx_deliveries_event").execute(),await _.schema.dropIndex("idx_subscriptions_unique").execute(),await _.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await _.schema.dropIndex("idx_subscriptions_type").execute(),await _.schema.dropIndex("idx_subscriptions_connection").execute(),await _.schema.dropIndex("idx_events_retry").execute(),await _.schema.dropIndex("idx_events_type").execute(),await _.schema.dropIndex("idx_events_source").execute(),await _.schema.dropIndex("idx_events_org_status").execute(),await _.schema.dropTable("event_deliveries").execute(),await _.schema.dropTable("event_subscriptions").execute(),await _.schema.dropTable("events").execute()}var Tx={};m(Tx,{up:()=>kK,down:()=>pK});import{sql as VK}from"kysely";async function kK(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function pK(_){await _.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(VK`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Nx={};m(Nx,{up:()=>iK,down:()=>tK});import{sql as U_}from"kysely";async function iK(_){await _.schema.createTable("gateways").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("gateway_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("gateway_id","text",(x)=>x.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await U_`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function tK(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_default_per_org").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropTable("gateway_connections").execute(),await _.schema.dropTable("gateways").execute()}var Kx={};m(Kx,{up:()=>vK,down:()=>qK});async function vK(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function qK(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var Ex={};m(Ex,{up:()=>gK,down:()=>cK});import{sql as J_}from"kysely";async function gK(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await J_`
|
|
195
|
+
`.execute(_)}async function RN(_){await $_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await $_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var b_={};m(b_,{up:()=>YN,down:()=>HN});import{sql as B}from"kysely";async function YN(_){await _.schema.createTable("connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(x)=>x.notNull()).addColumn("connectionUrl","text",(x)=>x.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("api_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("hashedKey","text",(x)=>x.notNull().unique()).addColumn("permissions","text",(x)=>x.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("audit_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createTable("oauth_clients").addColumn("id","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(x)=>x.notNull()).addColumn("redirectUris","text",(x)=>x.notNull()).addColumn("grantTypes","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_authorization_codes").addColumn("code","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(x)=>x.notNull()).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("downstream_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("connectionId","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(x)=>x.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function HN(_){await _.schema.dropTable("downstream_tokens").execute(),await _.schema.dropTable("oauth_refresh_tokens").execute(),await _.schema.dropTable("oauth_authorization_codes").execute(),await _.schema.dropTable("oauth_clients").execute(),await _.schema.dropTable("audit_logs").execute(),await _.schema.dropTable("api_keys").execute(),await _.schema.dropTable("connections").execute()}var _x={};m(_x,{up:()=>MN,down:()=>BN});import{sql as nT}from"kysely";async function MN(_){await _.schema.createTable("organization_settings").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(nT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(nT`CURRENT_TIMESTAMP`)).execute()}async function BN(_){await _.schema.dropTable("organization_settings").execute()}var xx={};m(xx,{up:()=>GN,down:()=>nN});async function GN(_){await _.schema.alterTable("connections").renameColumn("name","title").execute(),await _.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await _.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await _.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await _.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await _.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await _.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await _.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await _.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await _.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await _.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await _.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function nN(_){await _.schema.alterTable("connections").renameColumn("title","name").execute(),await _.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await _.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await _.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await _.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await _.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await _.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await _.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await _.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await _.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await _.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await _.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var ux={};m(ux,{up:()=>yN,down:()=>fN});async function yN(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function fN(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId",x.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var mx={};m(mx,{up:()=>ON,down:()=>AN});async function ON(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function AN(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Cx={};m(Cx,{up:()=>IN,down:()=>wN});import{sql as SN}from"kysely";async function IN(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",SN`text`).execute()}async function wN(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Tx={};m(Tx,{up:()=>VN,down:()=>kN});async function VN(_){await _.schema.createTable("monitoring_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(x)=>x.notNull()).addColumn("tool_name","text",(x)=>x.notNull()).addColumn("input","text",(x)=>x.notNull()).addColumn("output","text",(x)=>x.notNull()).addColumn("is_error","integer",(x)=>x.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(x)=>x.notNull()).addColumn("timestamp","text",(x)=>x.notNull()).addColumn("user_id","text").addColumn("request_id","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function kN(_){await _.schema.dropIndex("monitoring_logs_is_error").execute(),await _.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await _.schema.dropTable("monitoring_logs").execute()}var Kx={};m(Kx,{up:()=>pN,down:()=>iN});import{sql as l}from"kysely";async function pN(_){await _.schema.createTable("events").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("source","text",(x)=>x.notNull()).addColumn("specversion","text",(x)=>x.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(x)=>x.notNull()).addColumn("datacontenttype","text",(x)=>x.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(x)=>x.notNull()).addColumn("filter","text").addColumn("enabled","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_deliveries").addColumn("id","text",(x)=>x.primaryKey()).addColumn("event_id","text",(x)=>x.notNull()).addColumn("subscription_id","text",(x)=>x.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await _.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await _.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await _.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await _.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await _.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await _.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await _.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await _.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function iN(_){await _.schema.dropIndex("idx_deliveries_retry").execute(),await _.schema.dropIndex("idx_deliveries_subscription_status").execute(),await _.schema.dropIndex("idx_deliveries_event").execute(),await _.schema.dropIndex("idx_subscriptions_unique").execute(),await _.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await _.schema.dropIndex("idx_subscriptions_type").execute(),await _.schema.dropIndex("idx_subscriptions_connection").execute(),await _.schema.dropIndex("idx_events_retry").execute(),await _.schema.dropIndex("idx_events_type").execute(),await _.schema.dropIndex("idx_events_source").execute(),await _.schema.dropIndex("idx_events_org_status").execute(),await _.schema.dropTable("event_deliveries").execute(),await _.schema.dropTable("event_subscriptions").execute(),await _.schema.dropTable("events").execute()}var Nx={};m(Nx,{up:()=>vN,down:()=>qN});import{sql as tN}from"kysely";async function vN(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function qN(_){await _.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(tN`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Ex={};m(Ex,{up:()=>gN,down:()=>cN});import{sql as U_}from"kysely";async function gN(_){await _.schema.createTable("gateways").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("gateway_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("gateway_id","text",(x)=>x.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await U_`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function cN(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_default_per_org").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropTable("gateway_connections").execute(),await _.schema.dropTable("gateways").execute()}var zx={};m(zx,{up:()=>hN,down:()=>oN});async function hN(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function oN(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var Px={};m(Px,{up:()=>aN,down:()=>rN});import{sql as J_}from"kysely";async function aN(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await J_`
|
|
186
196
|
UPDATE gateways
|
|
187
197
|
SET tool_selection_mode = CASE
|
|
188
198
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
189
199
|
ELSE 'inclusion'
|
|
190
200
|
END
|
|
191
|
-
`.execute(_),await J_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _old_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute(),await _.schema.alterTable("gateways").dropColumn("_old_tool_selection_strategy").execute()}async function
|
|
201
|
+
`.execute(_),await J_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _old_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute(),await _.schema.alterTable("gateways").dropColumn("_old_tool_selection_strategy").execute()}async function rN(_){await J_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _new_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text").execute(),await J_`
|
|
192
202
|
UPDATE gateways
|
|
193
203
|
SET tool_selection_strategy = CASE
|
|
194
204
|
WHEN tool_selection_mode = 'exclusion' THEN 'exclusion'
|
|
195
205
|
ELSE NULL
|
|
196
206
|
END
|
|
197
|
-
`.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var
|
|
207
|
+
`.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var $x={};m($x,{up:()=>eN,down:()=>lN});async function eN(_){await _.schema.alterTable("monitoring_logs").addColumn("user_agent","text").execute(),await _.schema.alterTable("monitoring_logs").addColumn("gateway_id","text").execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}async function lN(_){await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("gateway_id").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("user_agent").execute()}var Ux={};m(Ux,{up:()=>dN,down:()=>sN});async function dN(_){await _.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await _.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function sN(_){await _.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await _.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var Jx={};m(Jx,{up:()=>bN,down:()=>_E});async function bN(_){await _.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function _E(_){await _.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var Xx={};m(Xx,{up:()=>xE,down:()=>uE});async function xE(_){await _.schema.alterTable("downstream_tokens").addColumn("clientId","text").execute(),await _.schema.alterTable("downstream_tokens").addColumn("clientSecret","text").execute(),await _.schema.alterTable("downstream_tokens").addColumn("tokenEndpoint","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}async function uE(_){await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("tokenEndpoint").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("clientSecret").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("clientId").execute()}var Qx={};m(Qx,{up:()=>CE,down:()=>TE});import{sql as mE}from"kysely";async function CE(_){await mE`
|
|
198
208
|
DELETE FROM downstream_tokens
|
|
199
209
|
WHERE id NOT IN (
|
|
200
210
|
SELECT id FROM (
|
|
@@ -204,7 +214,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
204
214
|
) ranked
|
|
205
215
|
WHERE rn = 1
|
|
206
216
|
)
|
|
207
|
-
`.execute(_),await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await _.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function
|
|
217
|
+
`.execute(_),await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await _.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function TE(_){await _.schema.dropIndex("idx_downstream_tokens_connection").execute(),await _.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var jx={};m(jx,{up:()=>KE,down:()=>NE});async function KE(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function NE(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var Wx={};m(Wx,{up:()=>EE,down:()=>zE});import{sql as yT}from"kysely";async function EE(_){await yT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function zE(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await yT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var Zx={};m(Zx,{up:()=>PE,down:()=>$E});async function PE(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function $E(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Dx={};m(Dx,{up:()=>UE,down:()=>JE});import{sql as X_}from"kysely";async function UE(_){await _.schema.createTable("threads").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("hidden","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("thread_messages").addColumn("id","text",(x)=>x.primaryKey()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function JE(_){await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropTable("thread_messages").execute(),await _.schema.dropTable("threads").execute()}var Lx={};m(Lx,{up:()=>XE,down:()=>QE});async function XE(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await _.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function QE(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await _.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var Fx={};m(Fx,{up:()=>jE,down:()=>WE});async function jE(_){await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await _.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function WE(_){await _.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await _.schema.dropIndex("idx_threads_created_by_updated").execute(),await _.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var Rx={};m(Rx,{up:()=>ZE,down:()=>DE});import{sql as W}from"kysely";async function ZE(_){await W`
|
|
208
218
|
INSERT INTO connections (
|
|
209
219
|
id,
|
|
210
220
|
organization_id,
|
|
@@ -251,7 +261,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
251
261
|
created_at,
|
|
252
262
|
updated_at
|
|
253
263
|
FROM virtual_mcps
|
|
254
|
-
`.execute(_),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let x=await W`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(_);if(await _.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),x)await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_);await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.dropTable("virtual_mcps").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function
|
|
264
|
+
`.execute(_),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let x=await W`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(_);if(await _.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),x)await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_);await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.dropTable("virtual_mcps").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function DE(_){await _.schema.createTable("virtual_mcps").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).addColumn("icon","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await W`
|
|
255
265
|
INSERT INTO virtual_mcps (
|
|
256
266
|
id, organization_id, title, description, icon, status,
|
|
257
267
|
created_at, updated_at, created_by, updated_by, tool_selection_mode
|
|
@@ -261,7 +271,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
261
271
|
created_at, updated_at, created_by, NULL, 'inclusion'
|
|
262
272
|
FROM connections
|
|
263
273
|
WHERE connection_type = 'VIRTUAL'
|
|
264
|
-
`.execute(_),await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await _.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await W`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(_),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var
|
|
274
|
+
`.execute(_),await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await _.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await W`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(_),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var Yx={};m(Yx,{up:()=>LE,down:()=>FE});async function LE(_){await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_id").on("monitoring_logs").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function FE(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute()}var Hx={};m(Hx,{up:()=>RE,down:()=>YE});import{sql as G}from"kysely";async function RE(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await G`
|
|
265
275
|
INSERT INTO connection_aggregations_new (
|
|
266
276
|
id, parent_connection_id, child_connection_id,
|
|
267
277
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -270,7 +280,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
270
280
|
id, parent_connection_id, child_connection_id,
|
|
271
281
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
272
282
|
FROM connection_aggregations
|
|
273
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await G`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function
|
|
283
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await G`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function YE(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await G`
|
|
274
284
|
INSERT INTO connection_aggregations_new (
|
|
275
285
|
id, parent_connection_id, child_connection_id,
|
|
276
286
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -279,7 +289,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
279
289
|
id, parent_connection_id, child_connection_id,
|
|
280
290
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
281
291
|
FROM connection_aggregations
|
|
282
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await G`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var
|
|
292
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await G`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var Bx={};m(Bx,{up:()=>HE,down:()=>ME});import{sql as Mx}from"kysely";async function HE(_){await Mx`
|
|
283
293
|
UPDATE connections
|
|
284
294
|
SET connection_url = connection_url || '/management',
|
|
285
295
|
tools = NULL,
|
|
@@ -287,42 +297,42 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
287
297
|
WHERE connection_url LIKE '%/mcp'
|
|
288
298
|
AND connection_url NOT LIKE '%/mcp/management'
|
|
289
299
|
AND app_name = '@deco/management-mcp'
|
|
290
|
-
`.execute(_),await
|
|
300
|
+
`.execute(_),await Mx`
|
|
291
301
|
UPDATE connections
|
|
292
302
|
SET tools = NULL,
|
|
293
303
|
updated_at = CURRENT_TIMESTAMP
|
|
294
304
|
WHERE app_name = '@deco/management-mcp'
|
|
295
305
|
AND tools IS NOT NULL
|
|
296
|
-
`.execute(_)}async function
|
|
306
|
+
`.execute(_)}async function ME(_){await Mx`
|
|
297
307
|
UPDATE connections
|
|
298
308
|
SET connection_url = SUBSTR(connection_url, 1, LENGTH(connection_url) - LENGTH('/management')),
|
|
299
309
|
updated_at = CURRENT_TIMESTAMP
|
|
300
310
|
WHERE connection_url LIKE '%/mcp/management'
|
|
301
311
|
AND app_name = '@deco/management-mcp'
|
|
302
|
-
`.execute(_)}var
|
|
312
|
+
`.execute(_)}var nx={};m(nx,{up:()=>BE,down:()=>GE});import{sql as Gx}from"kysely";async function BE(_){await Gx`
|
|
303
313
|
UPDATE connections
|
|
304
314
|
SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
|
|
305
315
|
tools = NULL,
|
|
306
316
|
updated_at = CURRENT_TIMESTAMP
|
|
307
317
|
WHERE connection_url LIKE '%/mcp/management'
|
|
308
318
|
AND app_name = '@deco/management-mcp'
|
|
309
|
-
`.execute(_),await
|
|
319
|
+
`.execute(_),await Gx`
|
|
310
320
|
UPDATE connections
|
|
311
321
|
SET tools = NULL,
|
|
312
322
|
updated_at = CURRENT_TIMESTAMP
|
|
313
323
|
WHERE connection_url LIKE '%/mcp/self'
|
|
314
324
|
AND app_name = '@deco/management-mcp'
|
|
315
325
|
AND tools IS NOT NULL
|
|
316
|
-
`.execute(_)}async function
|
|
326
|
+
`.execute(_)}async function GE(_){await Gx`
|
|
317
327
|
UPDATE connections
|
|
318
328
|
SET connection_url = REPLACE(connection_url, '/mcp/self', '/mcp/management'),
|
|
319
329
|
updated_at = CURRENT_TIMESTAMP
|
|
320
330
|
WHERE connection_url LIKE '%/mcp/self'
|
|
321
331
|
AND app_name = '@deco/management-mcp'
|
|
322
|
-
`.execute(_)}var
|
|
332
|
+
`.execute(_)}var yx={};m(yx,{up:()=>nE,down:()=>yE});async function nE(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function yE(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var fx={};m(fx,{up:()=>fE,down:()=>OE});import{sql as fT}from"kysely";async function fE(_){await _.schema.createTable("organization_tags").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(fT`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("member_tags").addColumn("id","text",(x)=>x.primaryKey()).addColumn("member_id","text",(x)=>x.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(fT`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await _.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await _.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await _.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function OE(_){await _.schema.dropIndex("idx_member_tags_unique").execute(),await _.schema.dropIndex("idx_member_tags_tag").execute(),await _.schema.dropIndex("idx_member_tags_member").execute(),await _.schema.dropIndex("idx_organization_tags_unique_name").execute(),await _.schema.dropIndex("idx_organization_tags_org").execute(),await _.schema.dropTable("member_tags").execute(),await _.schema.dropTable("organization_tags").execute()}var Ox={};m(Ox,{up:()=>AE,down:()=>SE});import{sql as d}from"kysely";async function AE(_){await d`
|
|
323
333
|
ALTER TABLE connection_aggregations
|
|
324
334
|
ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
|
|
325
|
-
`.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function
|
|
335
|
+
`.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function SE(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await d`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await d`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(_);else await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await d`
|
|
326
336
|
INSERT INTO connection_aggregations_new (
|
|
327
337
|
id, parent_connection_id, child_connection_id,
|
|
328
338
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -331,42 +341,42 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
331
341
|
id, parent_connection_id, child_connection_id,
|
|
332
342
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
333
343
|
FROM connection_aggregations
|
|
334
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var
|
|
344
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var Ax={};m(Ax,{up:()=>pE,down:()=>iE});import{webcrypto as AT}from"crypto";var OT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var IE=128,V,p;function wE(_){if(!V||V.length<_)V=Buffer.allocUnsafe(_*IE),AT.getRandomValues(V),p=0;else if(p+_>V.length)AT.getRandomValues(V),p=0;p+=_}function i(_=21){wE(_|=0);let x="";for(let u=p-_;u<p;u++)x+=OT[V[u]&63];return x}var VE="org-admin",kE="Organization Admin";async function pE(_){await _.schema.createTable("projects").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(u)=>u.notNull()).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await _.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await _.schema.createTable("project_plugin_configs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("project_id","text",(u)=>u.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(u)=>u.notNull()).addColumn("connection_id","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let x=await _.selectFrom("organization").select(["id"]).execute();for(let u of x){let T=new Date().toISOString(),C=`proj_${i()}`,K=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:C,organization_id:u.id,slug:VE,name:kE,description:null,enabled_plugins:K?.enabled_plugins??null,ui:null,created_at:T,updated_at:T}).execute()}}async function iE(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var Sx={};m(Sx,{up:()=>tE,down:()=>vE});async function tE(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function vE(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var Ix={};m(Ix,{up:()=>qE,down:()=>gE});async function qE(_){}async function gE(_){}var wx={};m(wx,{up:()=>cE,down:()=>hE});async function cE(_){await _.schema.createTable("project_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("project_id","text",(x)=>x.notNull().references("projects.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("created_at","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("project_connections_project_conn_unique").on("project_connections").columns(["project_id","connection_id"]).unique().execute(),await _.schema.createIndex("project_connections_project_id_idx").on("project_connections").columns(["project_id"]).execute()}async function hE(_){await _.schema.dropIndex("project_connections_project_id_idx").execute(),await _.schema.dropIndex("project_connections_project_conn_unique").execute(),await _.schema.dropTable("project_connections").execute()}var Vx={};m(Vx,{up:()=>oE,down:()=>aE});import{sql as ST}from"kysely";async function oE(_){await ST`
|
|
335
345
|
UPDATE connections
|
|
336
346
|
SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
|
|
337
347
|
tools = NULL,
|
|
338
348
|
updated_at = CURRENT_TIMESTAMP
|
|
339
349
|
WHERE connection_url = 'https://api.decocms.com/mcp/registry'
|
|
340
350
|
AND app_name = 'deco-registry'
|
|
341
|
-
`.execute(_)}async function
|
|
351
|
+
`.execute(_)}async function aE(_){await ST`
|
|
342
352
|
UPDATE connections
|
|
343
353
|
SET connection_url = 'https://api.decocms.com/mcp/registry',
|
|
344
354
|
updated_at = CURRENT_TIMESTAMP
|
|
345
355
|
WHERE connection_url = 'https://studio.decocms.com/org/deco/registry/mcp'
|
|
346
356
|
AND app_name = 'deco-registry'
|
|
347
|
-
`.execute(_)}var
|
|
357
|
+
`.execute(_)}var kx={};m(kx,{up:()=>eE,down:()=>lE});import{sql as rE}from"kysely";async function eE(_){await _.schema.createTable("ai_provider_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("provider_id","text",(x)=>x.notNull()).addColumn("label","text",(x)=>x.notNull()).addColumn("encrypted_api_key","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(rE`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_ai_provider_keys_org").on("ai_provider_keys").column("organization_id").execute(),await _.schema.createIndex("idx_ai_provider_keys_org_provider").on("ai_provider_keys").columns(["organization_id","provider_id"]).execute()}async function lE(_){await _.schema.dropTable("ai_provider_keys").execute()}var px={};m(px,{up:()=>sE,down:()=>bE});import{sql as dE}from"kysely";async function sE(_){await _.schema.createTable("oauth_pkce_states").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.notNull()).addColumn("code_verifier","text",(x)=>x.notNull()).addColumn("expires_at","timestamptz",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(dE`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function bE(_){await _.schema.dropTable("oauth_pkce_states").execute()}var ix={};m(ix,{up:()=>_z,down:()=>xz});import{sql as A}from"kysely";async function _z(_){await _.schema.createTable("automations").addColumn("id","text",(x)=>x.primaryKey().defaultTo(A`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull()).addColumn("active","boolean",(x)=>x.notNull().defaultTo(!0)).addColumn("created_by","text",(x)=>x.notNull()).addColumn("agent","text",(x)=>x.notNull()).addColumn("messages","text",(x)=>x.notNull()).addColumn("models","text",(x)=>x.notNull()).addColumn("temperature","real",(x)=>x.notNull().defaultTo(0.5)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_automations_org").on("automations").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_automations_active").on("automations").columns(["organization_id","active"]).execute(),await _.schema.createTable("automation_triggers").addColumn("id","text",(x)=>x.primaryKey().defaultTo(A`gen_random_uuid()`)).addColumn("automation_id","text",(x)=>x.notNull().references("automations.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("cron_expression","text").addColumn("connection_id","text").addColumn("event_type","text").addColumn("params","text").addColumn("next_run_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).execute(),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(_),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_event_trigger CHECK (type != 'event' OR (connection_id IS NOT NULL AND event_type IS NOT NULL))`.execute(_),await _.schema.createIndex("idx_automation_triggers_automation").on("automation_triggers").columns(["automation_id"]).execute(),await _.schema.createIndex("idx_automation_triggers_event").on("automation_triggers").columns(["connection_id","event_type"]).execute(),await _.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute(),await _.schema.alterTable("threads").addColumn("trigger_id","text",(x)=>x.references("automation_triggers.id").onDelete("set null")).execute(),await _.schema.createIndex("idx_threads_trigger_status").on("threads").columns(["trigger_id","status"]).execute()}async function xz(_){await _.schema.dropIndex("idx_threads_trigger_status").execute(),await _.schema.alterTable("threads").dropColumn("trigger_id").execute(),await _.schema.dropIndex("idx_automation_triggers_cron").execute(),await _.schema.dropIndex("idx_automation_triggers_event").execute(),await _.schema.dropIndex("idx_automation_triggers_automation").execute(),await _.schema.dropTable("automation_triggers").execute(),await _.schema.dropIndex("idx_automations_active").execute(),await _.schema.dropIndex("idx_automations_org").execute(),await _.schema.dropTable("automations").execute()}var tx={};m(tx,{up:()=>uz,down:()=>mz});async function uz(_){await _.schema.dropIndex("idx_automation_triggers_cron").execute(),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute(),await _.schema.alterTable("automation_triggers").addColumn("last_run_at","text").execute()}async function mz(_){await _.schema.alterTable("automation_triggers").dropColumn("last_run_at").execute(),await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await _.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute()}var vx={};m(vx,{up:()=>Cz,down:()=>Tz});async function Cz(_){await _.schema.alterTable("ai_provider_keys").addColumn("key_hash","text").execute(),await _.schema.createIndex("idx_ai_provider_keys_unique_hash").unique().on("ai_provider_keys").columns(["organization_id","provider_id","key_hash"]).execute()}async function Tz(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var qx={};m(qx,{up:()=>Kz,down:()=>Nz});import{sql as IT}from"kysely";async function Kz(_){await IT`
|
|
348
358
|
UPDATE connections
|
|
349
359
|
SET title = 'CMS MCP',
|
|
350
360
|
tools = NULL,
|
|
351
361
|
updated_at = CURRENT_TIMESTAMP
|
|
352
362
|
WHERE app_name = '@deco/management-mcp'
|
|
353
|
-
`.execute(_)}async function
|
|
363
|
+
`.execute(_)}async function Nz(_){await IT`
|
|
354
364
|
UPDATE connections
|
|
355
365
|
SET title = 'Mesh MCP',
|
|
356
366
|
updated_at = CURRENT_TIMESTAMP
|
|
357
367
|
WHERE app_name = '@deco/management-mcp'
|
|
358
|
-
`.execute(_)}var
|
|
368
|
+
`.execute(_)}var gx={};m(gx,{up:()=>Ez,down:()=>zz});import{sql as wT}from"kysely";async function Ez(_){await wT`
|
|
359
369
|
UPDATE connections
|
|
360
370
|
SET title = 'Deco CMS',
|
|
361
371
|
tools = NULL,
|
|
362
372
|
updated_at = CURRENT_TIMESTAMP
|
|
363
373
|
WHERE app_name = '@deco/management-mcp'
|
|
364
|
-
`.execute(_)}async function
|
|
374
|
+
`.execute(_)}async function zz(_){await wT`
|
|
365
375
|
UPDATE connections
|
|
366
376
|
SET title = 'CMS MCP',
|
|
367
377
|
updated_at = CURRENT_TIMESTAMP
|
|
368
378
|
WHERE app_name = '@deco/management-mcp'
|
|
369
|
-
`.execute(_)}var
|
|
379
|
+
`.execute(_)}var cx={};m(cx,{up:()=>Pz,down:()=>$z});async function Pz(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function $z(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var hx={};m(hx,{up:()=>Uz,down:()=>Jz});async function Uz(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function Jz(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var ax={};m(ax,{up:()=>Xz,down:()=>Qz});import{sql as ox}from"kysely";async function Xz(_){await ox`
|
|
370
380
|
UPDATE organization_settings
|
|
371
381
|
SET enabled_plugins = (
|
|
372
382
|
SELECT COALESCE(json_agg(elem), '[]'::json)::text
|
|
@@ -375,7 +385,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
375
385
|
)
|
|
376
386
|
WHERE enabled_plugins IS NOT NULL
|
|
377
387
|
AND enabled_plugins LIKE '%object-storage%'
|
|
378
|
-
`.execute(_),await
|
|
388
|
+
`.execute(_),await ox`
|
|
379
389
|
UPDATE projects
|
|
380
390
|
SET enabled_plugins = (
|
|
381
391
|
SELECT COALESCE(json_agg(elem), '[]'::json)::text
|
|
@@ -384,28 +394,28 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
384
394
|
)
|
|
385
395
|
WHERE enabled_plugins IS NOT NULL
|
|
386
396
|
AND enabled_plugins LIKE '%object-storage%'
|
|
387
|
-
`.execute(_),await
|
|
397
|
+
`.execute(_),await ox`
|
|
388
398
|
DELETE FROM project_plugin_configs
|
|
389
399
|
WHERE plugin_id = 'object-storage'
|
|
390
|
-
`.execute(_)}async function
|
|
400
|
+
`.execute(_)}async function Qz(_){}var rx={};m(rx,{up:()=>jz,down:()=>Wz});import{sql as VT}from"kysely";async function jz(_){await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await VT`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(_)}async function Wz(_){await VT`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(_),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var lx={};m(lx,{up:()=>Zz,down:()=>Dz});import{sql as ex}from"kysely";async function Zz(_){await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await ex`
|
|
391
401
|
ALTER TABLE connections
|
|
392
402
|
ADD CONSTRAINT chk_connections_subtype
|
|
393
403
|
CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
|
|
394
|
-
`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await
|
|
404
|
+
`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await ex`
|
|
395
405
|
UPDATE connections
|
|
396
406
|
SET subtype = 'agent'
|
|
397
407
|
WHERE connection_type = 'VIRTUAL'
|
|
398
|
-
`.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(
|
|
408
|
+
`.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(N)=>N.primaryKey()).addColumn("virtual_mcp_id","text",(N)=>N.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(N)=>N.notNull()).addColumn("connection_id","text",(N)=>N.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(N)=>N.notNull()).addColumn("updated_at","text",(N)=>N.notNull()).execute(),await _.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await _.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let x=await _.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await _.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),T=new Map;for(let N of u)T.set(N.organizationId,N.userId);let C=new Map;for(let N of x){let z=`vir_${i()}`;C.set(N.id,z);let $=N.ui?JSON.parse(N.ui):null,U=JSON.stringify({enabled_plugins:N.enabled_plugins?JSON.parse(N.enabled_plugins):null,ui:$,migrated_from_project:N.id,migrated_project_slug:N.slug}),j=T.get(N.organization_id);if(!j)continue;await _.insertInto("connections").values({id:z,organization_id:N.organization_id,created_by:j,updated_by:null,title:N.name,description:N.description,icon:$?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${z}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:U,bindings:null,status:"active",subtype:"project",created_at:N.created_at,updated_at:N.updated_at}).execute()}let K=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let N of K){let z=C.get(N.project_id);if(!z)continue;await _.insertInto("connection_aggregations").values({id:`agg_${i()}`,parent_connection_id:z,child_connection_id:N.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:N.created_at}).onConflict(($)=>$.doNothing()).execute()}let E=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let N of E){let z=C.get(N.project_id);if(!z)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${i()}`,virtual_mcp_id:z,plugin_id:N.plugin_id,connection_id:N.connection_id,settings:N.settings,created_at:N.created_at,updated_at:N.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function Dz(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await ex`
|
|
399
409
|
ALTER TABLE connections
|
|
400
410
|
DROP CONSTRAINT IF EXISTS chk_connections_subtype
|
|
401
|
-
`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var
|
|
411
|
+
`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var dx={};m(dx,{up:()=>Fz,down:()=>Rz});import{sql as Lz}from"kysely";async function Fz(_){await Lz`
|
|
402
412
|
DELETE FROM connections
|
|
403
413
|
WHERE connection_type = 'VIRTUAL'
|
|
404
414
|
AND subtype = 'project'
|
|
405
415
|
AND metadata::json->>'migrated_project_slug' = 'org-admin'
|
|
406
|
-
`.execute(_)}async function
|
|
416
|
+
`.execute(_)}async function Rz(_){}var sx={};m(sx,{up:()=>Hz,down:()=>Mz});import{sql as Yz}from"kysely";async function Hz(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await Yz`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function Mz(_){await _.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await _.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var _u={};m(_u,{up:()=>Bz,down:()=>Gz});import{sql as bx}from"kysely";async function Bz(_){await _.schema.createTable("org_sso_config").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(x)=>x.notNull()).addColumn("client_id","text",(x)=>x.notNull()).addColumn("client_secret","text",(x)=>x.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(x)=>x.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(x)=>x.notNull()).addColumn("enforced","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(bx`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(bx`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await _.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await _.schema.createTable("org_sso_sessions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(x)=>x.notNull()).addColumn("expires_at","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(bx`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function Gz(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var xu={};m(xu,{up:()=>nz,down:()=>yz});async function nz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function yz(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var uu={};m(uu,{up:()=>fz,down:()=>Oz});async function fz(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function Oz(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var Cu={};m(Cu,{up:()=>Sz,down:()=>Iz});import{sql as kT}from"kysely";function mu(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Az(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),T=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return mu(T)}catch{return mu(_.connection_url)}if(_.title)return mu(_.title);return _.id}async function Sz(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await kT`
|
|
407
417
|
SELECT id, app_name, connection_url, title FROM connections
|
|
408
|
-
`.execute(_);for(let u of x.rows){let T=
|
|
418
|
+
`.execute(_);for(let u of x.rows){let T=Az(u);await kT`UPDATE connections SET slug = ${T} WHERE id = ${u.id}`.execute(_)}await _.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function Iz(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var Tu={};m(Tu,{up:()=>wz,down:()=>Vz});import{sql as s}from"kysely";async function wz(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await s`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await s`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute(),await _.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function Vz(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await s`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await s`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await s`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await _.schema.alterTable("connections").dropColumn("pinned").execute()}var Ku={};m(Ku,{up:()=>kz,down:()=>pz});async function kz(_){await _.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await _.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function pz(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var Nu={};m(Nu,{up:()=>iz,down:()=>tz});import{sql as Q_}from"kysely";async function iz(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await Q_`
|
|
409
419
|
UPDATE threads
|
|
410
420
|
SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
|
|
411
421
|
WHERE agent_ids IS NOT NULL
|
|
@@ -415,14 +425,14 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
415
425
|
`.execute(_),await Q_`
|
|
416
426
|
CREATE INDEX idx_threads_virtual_mcp_id
|
|
417
427
|
ON threads (organization_id, virtual_mcp_id, hidden, updated_at DESC)
|
|
418
|
-
`.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function
|
|
428
|
+
`.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function tz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute(),await Q_`
|
|
419
429
|
UPDATE threads
|
|
420
430
|
SET agent_ids = CASE
|
|
421
431
|
WHEN virtual_mcp_id IS NOT NULL AND virtual_mcp_id != ''
|
|
422
432
|
THEN jsonb_build_array(virtual_mcp_id)::text
|
|
423
433
|
ELSE '[]'
|
|
424
434
|
END
|
|
425
|
-
`.execute(_),await Q_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var
|
|
435
|
+
`.execute(_),await Q_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var Eu={};m(Eu,{up:()=>vz,down:()=>qz});async function vz(_){await _.schema.createTable("trigger_callback_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(x)=>x.notNull().unique()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).execute(),await _.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function qz(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var zu={};m(zu,{up:()=>gz,down:()=>cz});async function gz(_){await _.schema.createTable("kv").addColumn("organization_id","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("value","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function cz(_){await _.schema.dropTable("kv").execute()}var Pu={};m(Pu,{up:()=>hz,down:()=>oz});async function hz(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function oz(_){await _.schema.dropIndex("idx_member_user_org").execute()}var $u={};m($u,{up:()=>az,down:()=>rz});async function az(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function rz(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var Uu={};m(Uu,{up:()=>ez,down:()=>lz});import{sql as F}from"kysely";async function ez(_){await _.schema.createTable("private_registry_item").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("server_json","text",(x)=>x.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.references("user.id").onDelete("set null")).execute(),await _.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await _.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await F`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(_),await _.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("server_json","text",(x)=>x.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await F`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(_),await _.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("key_hash","text",(x)=>x.notNull()).addColumn("prefix","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await _.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tested_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("passed_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("failed_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("skipped_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await _.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("run_id","text",(x)=>x.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(x)=>x.notNull()).addColumn("item_title","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tools_listed","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(x)=>x.notNull().defaultTo(0)).addColumn("action_taken","text",(x)=>x.notNull().defaultTo("none")).addColumn("tested_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await _.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await _.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(x)=>x.notNull().defaultTo("none")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function lz(_){await _.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_run").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await _.schema.dropTable("private_registry_publish_api_key").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await _.schema.dropTable("private_registry_publish_request").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await _.schema.dropTable("private_registry_item").ifExists().execute()}var Ju={};m(Ju,{up:()=>dz,down:()=>sz});import{sql as t}from"kysely";async function dz(_){await t`
|
|
426
436
|
ALTER TABLE event_subscriptions
|
|
427
437
|
ALTER COLUMN enabled DROP DEFAULT
|
|
428
438
|
`.execute(_),await t`
|
|
@@ -432,7 +442,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
432
442
|
`.execute(_),await t`
|
|
433
443
|
ALTER TABLE event_subscriptions
|
|
434
444
|
ALTER COLUMN enabled SET DEFAULT true
|
|
435
|
-
`.execute(_)}async function
|
|
445
|
+
`.execute(_)}async function sz(_){await t`
|
|
436
446
|
ALTER TABLE event_subscriptions
|
|
437
447
|
ALTER COLUMN enabled DROP DEFAULT
|
|
438
448
|
`.execute(_),await t`
|
|
@@ -442,28 +452,28 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
442
452
|
`.execute(_),await t`
|
|
443
453
|
ALTER TABLE event_subscriptions
|
|
444
454
|
ALTER COLUMN enabled SET DEFAULT 1
|
|
445
|
-
`.execute(_)}var
|
|
455
|
+
`.execute(_)}var Xu={};m(Xu,{up:()=>bz,down:()=>_0});import{sql as pT}from"kysely";async function bz(_){await _.schema.createTable("brand_context").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("domain","text",(x)=>x.notNull()).addColumn("overview","text",(x)=>x.notNull()).addColumn("logo","text").addColumn("favicon","text").addColumn("og_image","text").addColumn("fonts","text").addColumn("colors","text").addColumn("images","text").addColumn("metadata","text").addColumn("archived_at","timestamptz").addColumn("is_default","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(pT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(pT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function _0(_){await _.schema.dropTable("brand_context").execute()}var Qu={};m(Qu,{up:()=>x0,down:()=>u0});import{sql as iT}from"kysely";async function x0(_){await _.schema.createTable("organization_domains").addColumn("organization_id","text",(x)=>x.primaryKey().notNull().references("organization.id").onDelete("cascade")).addColumn("domain","text",(x)=>x.notNull().unique()).addColumn("auto_join_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(iT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(iT`now()`)).execute()}async function u0(_){await _.schema.dropTable("organization_domains").execute()}var ju={};m(ju,{up:()=>K0,down:()=>N0});import{sql as tT}from"kysely";var j_=new Set(["primary","secondary","accent","background","foreground"]),m0={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function C0(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((C)=>j_.has(C))){let C={};for(let[K,E]of Object.entries(u)){if(typeof E!=="string")continue;if(j_.has(K))C[K]=E;else x[K]=E}return{structured:Object.keys(C).length>0?JSON.stringify(C):null,extra:x}}let T={};for(let[C,K]of Object.entries(u)){if(typeof K!=="string")continue;if(j_.has(C.toLowerCase()))T[C.toLowerCase()]=K;else x[C]=K}return{structured:Object.keys(T).length>0?JSON.stringify(T):null,extra:x}}if(Array.isArray(_)){let u={};for(let T of _){let C=T,K=C.label?.toLowerCase?.(),E=C.value;if(!K||!E)continue;if(j_.has(K))u[K]=E;else x[K]=E}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:x}}return{structured:null,extra:x}}function T0(_){if(!_)return null;if(!Array.isArray(_)&&typeof _==="object"){let x=_;if(typeof x.heading==="string"||typeof x.body==="string"||typeof x.code==="string")return JSON.stringify(x);return null}if(Array.isArray(_)){let x={},u=[];for(let T of _){let C=T,K=C.name??C.family??void 0,E=C.role?.toLowerCase?.()??"";if(!K)continue;let N=m0[E];if(N&&!x[N])x[N]=K;else u.push(K)}if(!x.body&&u[0])x.body=u[0];return Object.keys(x).length>0?JSON.stringify(x):null}return null}async function K0(_){let x=await tT`SELECT id, colors, fonts, metadata FROM brand_context`.execute(_);for(let u of x.rows){let T=!1,C=!1,K=!1,E=u.colors,N=u.fonts,z={};try{z=u.metadata?JSON.parse(u.metadata):{}}catch{}if(u.colors)try{let $=JSON.parse(u.colors);if(Array.isArray($)){let U=C0($);if(E=U.structured,T=!0,Object.keys(U.extra).length>0)z.extraColors=U.extra,K=!0}}catch{}if(u.fonts)try{let $=JSON.parse(u.fonts);if(Array.isArray($))N=T0($),C=!0}catch{}if(T||C||K){let $=K?JSON.stringify(z):u.metadata;await tT`
|
|
446
456
|
UPDATE brand_context
|
|
447
457
|
SET
|
|
448
458
|
colors = ${E},
|
|
449
|
-
fonts = ${
|
|
459
|
+
fonts = ${N},
|
|
450
460
|
metadata = ${$},
|
|
451
461
|
updated_at = NOW()
|
|
452
462
|
WHERE id = ${u.id}
|
|
453
|
-
`.execute(_)}}}async function
|
|
463
|
+
`.execute(_)}}}async function N0(_){}var Wu={};m(Wu,{up:()=>z0,down:()=>P0});import{sql as E0}from"kysely";async function z0(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(E0`'{}'::jsonb`)).execute()}async function P0(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var Zu={};m(Zu,{up:()=>$0,down:()=>U0});async function $0(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function U0(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var Du={};m(Du,{up:()=>J0,down:()=>X0});async function J0(_){await _.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(x)=>x.notNull()).addColumn("project_ref","text",(x)=>x.notNull()).addColumn("runner_kind","text",(x)=>x.notNull()).addColumn("handle","text",(x)=>x.notNull()).addColumn("state","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function X0(_){await _.schema.dropTable("sandbox_runner_state").execute()}var Lu={};m(Lu,{up:()=>Q0,down:()=>j0});async function Q0(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function j0(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var Fu={};m(Fu,{up:()=>W0,down:()=>Z0});async function W0(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function Z0(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var Ru={};m(Ru,{up:()=>D0,down:()=>L0});async function D0(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function L0(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var Yu={};m(Yu,{up:()=>R0,down:()=>Y0});import{sql as vT}from"kysely";var F0=["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 R0(_){let x=await vT`
|
|
454
464
|
SELECT id, permission FROM "organizationRole"
|
|
455
|
-
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let
|
|
465
|
+
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let K=C,E=Array.from(new Set([...K,...F0]));if(E.length===K.length)continue;T.self=E;let N=JSON.stringify(T);await vT`
|
|
456
466
|
UPDATE "organizationRole"
|
|
457
|
-
SET permission = ${
|
|
467
|
+
SET permission = ${N}
|
|
458
468
|
WHERE id = ${u.id}
|
|
459
|
-
`.execute(_)}}async function
|
|
469
|
+
`.execute(_)}}async function Y0(_){}var Hu={};m(Hu,{up:()=>H0,down:()=>M0});async function H0(_){await _.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").execute()}async function M0(_){await _.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}var Mu={};m(Mu,{up:()=>B0,down:()=>G0});async function B0(_){await _.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function G0(_){await _.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var Bu={};m(Bu,{up:()=>n0,down:()=>y0});import{sql as b}from"kysely";async function n0(_){await b`
|
|
460
470
|
UPDATE automations
|
|
461
471
|
SET virtual_mcp_id = (agent::json ->> 'id')
|
|
462
472
|
WHERE virtual_mcp_id IS NULL
|
|
463
473
|
`.execute(_),await b`
|
|
464
474
|
ALTER TABLE automations
|
|
465
475
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
466
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("agent").execute()}async function
|
|
476
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("agent").execute()}async function y0(_){await _.schema.alterTable("automations").addColumn("agent","text").execute(),await b`
|
|
467
477
|
UPDATE automations
|
|
468
478
|
SET agent = json_build_object('id', virtual_mcp_id)::text
|
|
469
479
|
`.execute(_),await b`
|
|
@@ -472,7 +482,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
472
482
|
`.execute(_),await b`
|
|
473
483
|
ALTER TABLE automations
|
|
474
484
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
475
|
-
`.execute(_)}var
|
|
485
|
+
`.execute(_)}var nu={};m(nu,{up:()=>S0,reshapeSimpleMode:()=>qT,inferAutomationTier:()=>gT,down:()=>I0,__testing:()=>A0});var f0={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},O0=["fast","smart","thinking","image","web_research"];function Gu(_){if(!_||typeof _!=="object")return!1;let x=_;if(!("tiers"in x))return!1;let u=x.tiers;if(!u||typeof u!=="object")return!1;return O0.some((T)=>(T in u))}function qT(_){if(Gu(_))return _;let x=_,u=x?.enabled===!0,T=(C)=>C&&C.keyId&&C.modelId?{keyId:C.keyId,modelId:C.modelId,title:C.title}:null;if(!u)return f0;return{tiers:{fast:T(x?.chat?.fast),smart:T(x?.chat?.smart),thinking:T(x?.chat?.thinking),image:T(x?.image),web_research:T(x?.webResearch)}}}function gT(_){if(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking")return _.tier;if(_.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function cT(_){if(!(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((T)=>_[T]===void 0)}var A0={isAlreadyReshapedSimpleMode:Gu,isAlreadyReshapedAutomationModels:cT};async function S0(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let T of x){let C=T.simple_mode?typeof T.simple_mode==="string"?JSON.parse(T.simple_mode):T.simple_mode:null;if(Gu(C))continue;let K=qT(C);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(K)}).where("organizationId","=",T.organizationId).execute()}let u=await _.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let T of u){let C;try{C=typeof T.models==="string"?JSON.parse(T.models):T.models}catch{C={}}if(cT(C))continue;let K=gT(C);if(await _.updateTable("automations").set({models:JSON.stringify({tier:K})}).where("id","=",T.id).execute(),C.thinking?.capabilities?.image)console.log(`[migration 077] automation ${T.id} previously used an image-only model; mapped to "${K}"`)}}async function I0(_){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var yu={};m(yu,{up:()=>w0,down:()=>V0});import{sql as f}from"kysely";async function w0(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await f`
|
|
476
486
|
ALTER TABLE automations
|
|
477
487
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
478
488
|
`.execute(_),await f`
|
|
@@ -494,19 +504,19 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
494
504
|
AND tool_input IS NOT NULL
|
|
495
505
|
)
|
|
496
506
|
)
|
|
497
|
-
`.execute(_)}async function
|
|
507
|
+
`.execute(_)}async function V0(_){await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await f`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await f`
|
|
498
508
|
ALTER TABLE automations
|
|
499
509
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
500
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var
|
|
510
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var fu={};m(fu,{up:()=>p0,down:()=>i0});import{sql as hT}from"kysely";var k0=new Set(["host","docker","agent-sandbox"]);async function p0(_){let x=await hT`
|
|
501
511
|
SELECT id, metadata FROM "connections"
|
|
502
512
|
WHERE connection_type = 'VIRTUAL'
|
|
503
513
|
AND metadata IS NOT NULL
|
|
504
514
|
AND metadata LIKE '%vmMap%'
|
|
505
|
-
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.vmMap;if(!C||typeof C!=="object")continue;let
|
|
515
|
+
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.vmMap;if(!C||typeof C!=="object")continue;let K=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){K=!0;continue}let U={};for(let[j,X]of Object.entries($)){if(!X||typeof X!=="object"){K=!0;continue}let M=X.runnerKind;if(M!==void 0&&!k0.has(M)){K=!0;continue}U[j]=X}if(Object.keys(U).length>0)E[z]=U;else K=!0}if(!K)continue;T.vmMap=E;let N=JSON.stringify(T);await hT`
|
|
506
516
|
UPDATE "connections"
|
|
507
|
-
SET metadata = ${
|
|
517
|
+
SET metadata = ${N}
|
|
508
518
|
WHERE id = ${u.id}
|
|
509
|
-
`.execute(_)}}async function
|
|
519
|
+
`.execute(_)}}async function i0(_){}var Ou={};m(Ou,{up:()=>t0,down:()=>v0});import{sql as __}from"kysely";async function t0(_){await _.schema.createTable("async_research_jobs").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(__`gen_random_uuid()`)).addColumn("interaction_id","text").addColumn("tool_call_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull()).addColumn("message_id","text").addColumn("provider","text",(x)=>x.notNull()).addColumn("model_id","text",(x)=>x.notNull()).addColumn("query","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull()).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_polled_at","timestamptz").addColumn("last_error","text").addColumn("input_tokens","integer").addColumn("output_tokens","integer").addColumn("citations","jsonb").addColumn("result_uri","text").addColumn("result_preview","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(__`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`now()`)).addColumn("completed_at","timestamptz").execute(),await _.schema.createIndex("async_research_jobs_org_tool_call_unique").on("async_research_jobs").columns(["organization_id","tool_call_id"]).unique().execute(),await _.schema.createIndex("async_research_jobs_thread_created_idx").on("async_research_jobs").columns(["thread_id","created_at desc"]).execute(),await __`
|
|
510
520
|
CREATE INDEX async_research_jobs_active_idx
|
|
511
521
|
ON async_research_jobs (status, last_polled_at)
|
|
512
522
|
WHERE status IN ('pending', 'polling')
|
|
@@ -514,7 +524,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
514
524
|
ALTER TABLE async_research_jobs
|
|
515
525
|
ADD CONSTRAINT chk_async_research_jobs_status
|
|
516
526
|
CHECK (status IN ('pending','polling','completed','failed','cancelled','abandoned'))
|
|
517
|
-
`.execute(_)}async function
|
|
527
|
+
`.execute(_)}async function v0(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var Au={};m(Au,{up:()=>q0,down:()=>g0});async function q0(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function g0(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Su={};m(Su,{up:()=>c0,down:()=>h0});import{sql as v}from"kysely";async function c0(_){await _.schema.createTable("secrets").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("encrypted_value","text",(x)=>x.notNull()).addColumn("description","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).execute(),await v`
|
|
518
528
|
ALTER TABLE secrets
|
|
519
529
|
ADD CONSTRAINT chk_secrets_scope CHECK (scope IN ('user', 'organization'))
|
|
520
530
|
`.execute(_),await v`
|
|
@@ -531,7 +541,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
531
541
|
CREATE UNIQUE INDEX idx_secrets_org_name
|
|
532
542
|
ON secrets (organization_id, lower(name))
|
|
533
543
|
WHERE scope = 'organization'
|
|
534
|
-
`.execute(_)}async function
|
|
544
|
+
`.execute(_)}async function h0(_){await _.schema.dropTable("secrets").execute()}var Iu={};m(Iu,{up:()=>o0,down:()=>a0});async function o0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function a0(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var wu={};m(wu,{up:()=>e0,down:()=>l0});import{sql as r0}from"kysely";async function e0(_){await r0`delete from sandbox_runner_state where runner_kind = 'host'`.execute(_)}async function l0(_){}var Vu={};m(Vu,{up:()=>d0,down:()=>s0});import{sql as W_}from"kysely";async function d0(_){await W_`
|
|
535
545
|
ALTER TABLE sandbox_runner_state
|
|
536
546
|
RENAME COLUMN runner_kind TO sandbox_provider_kind
|
|
537
547
|
`.execute(_),await W_`
|
|
@@ -569,7 +579,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
569
579
|
EXCEPTION WHEN undefined_table THEN
|
|
570
580
|
NULL;
|
|
571
581
|
END; $$
|
|
572
|
-
`.execute(_),await _.schema.alterTable("threads").dropColumn("run_locally").execute()}async function
|
|
582
|
+
`.execute(_),await _.schema.alterTable("threads").dropColumn("run_locally").execute()}async function s0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await W_`
|
|
573
583
|
ALTER TABLE sandbox_runner_state
|
|
574
584
|
RENAME COLUMN sandbox_provider_kind TO runner_kind
|
|
575
585
|
`.execute(_),await W_`
|
|
@@ -607,7 +617,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
607
617
|
EXCEPTION WHEN undefined_table THEN
|
|
608
618
|
NULL;
|
|
609
619
|
END; $$
|
|
610
|
-
`.execute(_)}var
|
|
620
|
+
`.execute(_)}var ku={};m(ku,{up:()=>b0,down:()=>_P});import{sql as oT}from"kysely";async function b0(_){await _.schema.alterTable("threads").addColumn("sandbox_provider_kind","text").execute(),await _.schema.alterTable("threads").addColumn("harness_id","text").execute(),await oT`
|
|
611
621
|
DO $$ BEGIN
|
|
612
622
|
UPDATE virtualmcps v
|
|
613
623
|
SET metadata = jsonb_set(
|
|
@@ -646,7 +656,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
646
656
|
-- PGlite migration order: virtualmcps not yet created. Safe no-op.
|
|
647
657
|
NULL;
|
|
648
658
|
END; $$
|
|
649
|
-
`.execute(_)}async function
|
|
659
|
+
`.execute(_)}async function _P(_){await _.schema.alterTable("threads").dropColumn("harness_id").execute(),await _.schema.alterTable("threads").dropColumn("sandbox_provider_kind").execute(),await oT`
|
|
650
660
|
DO $$ BEGIN
|
|
651
661
|
UPDATE virtualmcps v
|
|
652
662
|
SET metadata = jsonb_set(
|
|
@@ -679,7 +689,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
679
689
|
EXCEPTION WHEN undefined_table THEN
|
|
680
690
|
NULL;
|
|
681
691
|
END; $$
|
|
682
|
-
`.execute(_)}var
|
|
692
|
+
`.execute(_)}var pu={};m(pu,{up:()=>xP,down:()=>uP});import{sql as aT}from"kysely";async function xP(_){await aT`
|
|
683
693
|
UPDATE connections c
|
|
684
694
|
SET metadata = (
|
|
685
695
|
jsonb_set(
|
|
@@ -723,7 +733,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
723
733
|
JOIN jsonb_each(user_map) AS branches(branch_key, entry) ON true
|
|
724
734
|
WHERE entry ? 'vmId'
|
|
725
735
|
);
|
|
726
|
-
`.execute(_),await
|
|
736
|
+
`.execute(_),await aT`
|
|
727
737
|
UPDATE connections c
|
|
728
738
|
SET metadata = (
|
|
729
739
|
jsonb_set(
|
|
@@ -777,10 +787,10 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
777
787
|
JOIN jsonb_each(branch_entry) AS kinds(kind_key, inner_entry) ON true
|
|
778
788
|
WHERE inner_entry ? 'runnerKind'
|
|
779
789
|
);
|
|
780
|
-
`.execute(_)}async function
|
|
790
|
+
`.execute(_)}async function uP(_){}var iu={};m(iu,{up:()=>CP,down:()=>TP});import{sql as mP}from"kysely";async function CP(_){await mP`
|
|
781
791
|
DELETE FROM ai_provider_keys
|
|
782
792
|
WHERE provider_id IN ('claude-code', 'codex')
|
|
783
|
-
`.execute(_)}async function
|
|
793
|
+
`.execute(_)}async function TP(_){}var tu={};m(tu,{up:()=>KP,down:()=>NP});import{sql as Z_}from"kysely";async function KP(_){await Z_`
|
|
784
794
|
UPDATE sandbox_runner_state
|
|
785
795
|
SET sandbox_provider_kind = 'desktop'
|
|
786
796
|
WHERE sandbox_provider_kind = 'remote-user'
|
|
@@ -878,13 +888,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
878
888
|
UPDATE threads
|
|
879
889
|
SET sandbox_provider_kind = 'desktop'
|
|
880
890
|
WHERE sandbox_provider_kind = 'remote-user'
|
|
881
|
-
`.execute(_)}async function
|
|
891
|
+
`.execute(_)}async function NP(_){}var vu={};m(vu,{up:()=>EP,down:()=>zP});import{sql as x_}from"kysely";async function EP(_){await x_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await x_`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event', 'webhook'))`.execute(_),await _.schema.alterTable("automation_triggers").addColumn("api_key_id","text").execute()}async function zP(_){await _.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await x_`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(_),await x_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await x_`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_)}var qu={};m(qu,{up:()=>PP,down:()=>$P});import{sql as rT}from"kysely";async function PP(_){await rT`
|
|
882
892
|
ALTER TABLE organization_domains
|
|
883
893
|
DROP CONSTRAINT IF EXISTS organization_domains_domain_key
|
|
884
|
-
`.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function
|
|
894
|
+
`.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function $P(_){await _.schema.dropIndex("organization_domains_domain_idx").ifExists().execute(),await rT`
|
|
885
895
|
ALTER TABLE organization_domains
|
|
886
896
|
ADD CONSTRAINT organization_domains_domain_key UNIQUE (domain)
|
|
887
|
-
`.execute(_)}var
|
|
897
|
+
`.execute(_)}var gu={};m(gu,{up:()=>UP,down:()=>JP});import{sql as D_}from"kysely";async function UP(_){await D_`
|
|
888
898
|
UPDATE sandbox_runner_state
|
|
889
899
|
SET sandbox_provider_kind = CASE sandbox_provider_kind
|
|
890
900
|
WHEN 'docker' THEN 'local-docker'
|
|
@@ -894,7 +904,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
894
904
|
ELSE sandbox_provider_kind
|
|
895
905
|
END
|
|
896
906
|
WHERE sandbox_provider_kind IN ('docker','agent-sandbox','desktop','remote-user')
|
|
897
|
-
`.execute(_),await
|
|
907
|
+
`.execute(_),await D_`
|
|
898
908
|
UPDATE connections c
|
|
899
909
|
SET metadata = (
|
|
900
910
|
(c.metadata::jsonb - 'vmMap')
|
|
@@ -903,7 +913,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
903
913
|
WHERE c.connection_type = 'VIRTUAL'
|
|
904
914
|
AND c.metadata IS NOT NULL
|
|
905
915
|
AND c.metadata::jsonb ? 'vmMap'
|
|
906
|
-
`.execute(_),await
|
|
916
|
+
`.execute(_),await D_`
|
|
907
917
|
UPDATE connections c
|
|
908
918
|
SET metadata = (
|
|
909
919
|
jsonb_set(
|
|
@@ -964,7 +974,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
964
974
|
WHERE kind_key IN ('docker','agent-sandbox','desktop','remote-user','host','freestyle')
|
|
965
975
|
OR inner_entry->>'sandboxProviderKind' IN ('docker','agent-sandbox','desktop','remote-user')
|
|
966
976
|
);
|
|
967
|
-
`.execute(_),await
|
|
977
|
+
`.execute(_),await D_`
|
|
968
978
|
UPDATE connections c
|
|
969
979
|
SET metadata = REPLACE(
|
|
970
980
|
REPLACE(c.metadata, '"VM_START"', '"SANDBOX_START"'),
|
|
@@ -973,19 +983,19 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
973
983
|
WHERE c.connection_type = 'VIRTUAL'
|
|
974
984
|
AND c.metadata IS NOT NULL
|
|
975
985
|
AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
|
|
976
|
-
`.execute(_)}async function
|
|
986
|
+
`.execute(_)}async function JP(_){}var cu={};m(cu,{up:()=>QP,down:()=>jP});import{sql as eT}from"kysely";var XP=["GLOBAL_SEARCH"];async function QP(_){let x=await eT`
|
|
977
987
|
SELECT id, permission FROM "organizationRole"
|
|
978
|
-
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let
|
|
988
|
+
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let K=C,E=Array.from(new Set([...K,...XP]));if(E.length===K.length)continue;T.self=E;let N=JSON.stringify(T);await eT`
|
|
979
989
|
UPDATE "organizationRole"
|
|
980
|
-
SET permission = ${
|
|
990
|
+
SET permission = ${N}
|
|
981
991
|
WHERE id = ${u.id}
|
|
982
|
-
`.execute(_)}}async function
|
|
992
|
+
`.execute(_)}}async function jP(_){}var ou={};m(ou,{up:()=>WP,down:()=>ZP});import{sql as hu}from"kysely";async function WP(_){await _.schema.createTable("org_file_configs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("bucket","text",(x)=>x.notNull()).addColumn("region","text",(x)=>x.notNull()).addColumn("endpoint","text").addColumn("force_path_style","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("prefix","text").addColumn("encrypted_credentials","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(hu`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(hu`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await hu`
|
|
983
993
|
CREATE UNIQUE INDEX idx_org_file_configs_org_name
|
|
984
994
|
ON org_file_configs (organization_id, lower(name))
|
|
985
|
-
`.execute(_)}async function
|
|
995
|
+
`.execute(_)}async function ZP(_){await _.schema.dropTable("org_file_configs").execute()}var au={};m(au,{up:()=>DP,down:()=>LP});import{sql as O}from"kysely";async function DP(_){await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await O`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await O`
|
|
986
996
|
ALTER TABLE automations
|
|
987
997
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
988
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function
|
|
998
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function LP(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await O`
|
|
989
999
|
ALTER TABLE automations
|
|
990
1000
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
991
1001
|
`.execute(_),await O`
|
|
@@ -1007,25 +1017,25 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1007
1017
|
AND tool_input IS NOT NULL
|
|
1008
1018
|
)
|
|
1009
1019
|
)
|
|
1010
|
-
`.execute(_)}var
|
|
1020
|
+
`.execute(_)}var ru={};m(ru,{up:()=>FP,down:()=>RP});async function FP(_){await _.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function RP(_){await _.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var lu={};m(lu,{up:()=>YP,down:()=>HP});import{sql as eu}from"kysely";var L_="local-docker";async function YP(_){await eu`delete from sandbox_runner_state where sandbox_provider_kind = ${L_}`.execute(_);let x=await eu`
|
|
1011
1021
|
SELECT id, metadata FROM "connections"
|
|
1012
1022
|
WHERE connection_type = 'VIRTUAL'
|
|
1013
1023
|
AND metadata IS NOT NULL
|
|
1014
|
-
AND metadata LIKE ${"%"+
|
|
1015
|
-
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.sandboxMap;if(!C||typeof C!=="object")continue;let
|
|
1024
|
+
AND metadata LIKE ${"%"+L_+"%"}
|
|
1025
|
+
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.sandboxMap;if(!C||typeof C!=="object")continue;let K=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){K=!0;continue}let U={};for(let[j,X]of Object.entries($)){if(!X||typeof X!=="object"){K=!0;continue}if(L_ in X){K=!0;let M={...X};if(delete M[L_],Object.keys(M).length>0)U[j]=M}else U[j]=X}if(Object.keys(U).length>0)E[z]=U;else K=!0}if(!K)continue;T.sandboxMap=E;let N=JSON.stringify(T);await eu`
|
|
1016
1026
|
UPDATE "connections"
|
|
1017
|
-
SET metadata = ${
|
|
1027
|
+
SET metadata = ${N}
|
|
1018
1028
|
WHERE id = ${u.id}
|
|
1019
|
-
`.execute(_)}}async function
|
|
1029
|
+
`.execute(_)}}async function HP(_){}var du={};m(du,{up:()=>MP,down:()=>BP});import{sql as F_}from"kysely";async function MP(_){await _.schema.createTable("thread_message_parts").addColumn("id","text",(x)=>x.primaryKey()).addColumn("seq","integer",(x)=>x.notNull()).addColumn("org_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(x)=>x.notNull()).addColumn("message_id","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull()).addColumn("payload","jsonb",(x)=>x.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(x)=>x.notNull()).execute(),await F_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await F_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await F_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await F_`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(_),await _.schema.alterTable("threads").addColumn("message_storage_version","integer",(x)=>x.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function BP(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var su={};m(su,{up:()=>GP,down:()=>nP});async function GP(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function nP(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var bu={};m(bu,{up:()=>yP,down:()=>fP});async function yP(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function fP(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var _m={};m(_m,{up:()=>OP,down:()=>AP});async function OP(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function AP(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var xm={};m(xm,{up:()=>SP,down:()=>IP});async function SP(_){await _.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await _.schema.alterTable("threads").addColumn("is_observation","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.createTable("thread_observations").addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(x)=>x.notNull()).addColumn("last_observed_at","text",(x)=>x.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function IP(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var um={};m(um,{up:()=>wP,down:()=>VP});async function wP(_){await _.schema.dropTable("thread_observations").ifExists().execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function VP(_){await _.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await _.schema.alterTable("threads").addColumn("is_observation","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.createTable("thread_observations").addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(x)=>x.notNull()).addColumn("last_observed_at","text",(x)=>x.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var Cm={};m(Cm,{up:()=>pP,down:()=>iP});import{sql as n}from"kysely";var R="cluster",Y="agent-sandbox";function q(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function mm(_,x,u){if(!q(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function R_(_){if(!q(_))return!1;if(typeof _.sandboxHandle!=="string")return!1;if(_.previewUrl!==null&&typeof _.previewUrl!=="string")return!1;if(_.sandboxApiUrl!==void 0&&_.sandboxApiUrl!==null&&typeof _.sandboxApiUrl!=="string")return!1;if(_.sandboxProviderKind!==void 0&&_.sandboxProviderKind!==R&&_.sandboxProviderKind!==Y&&_.sandboxProviderKind!=="user-desktop")return!1;if(_.createdAt!==void 0&&typeof _.createdAt!=="number")return!1;if(_.startedWith!==void 0){if(!q(_.startedWith))return!1;for(let x of["packageManager","port","path"]){let u=_.startedWith[x];if(u!==void 0&&u!==null&&typeof u!=="string")return!1}}return!0}function kP(_,x,u){if(!q(_))return null;let T=!1,C={};for(let[K,E]of Object.entries(_)){if(!q(E)){C[K]=E;continue}let N={};for(let[z,$]of Object.entries(E)){if(!q($)){N[z]=$;continue}let U={};for(let[j,X]of Object.entries($)){if(j===x){if(T=!0,!(u in $))U[u]=mm(X,x,u);else if(!R_($[u])&&R_(X))U[u]=mm(X,x,u);continue}let M=mm(X,x,u);if(M!==X)T=!0;if(j===u&&j in U&&R_(U[j])&&!R_(M))continue;U[j]=M}N[z]=U}C[K]=N}return{sandboxMap:C,changed:T}}async function lT(_,x,u){let T=await n`
|
|
1020
1030
|
SELECT id, metadata FROM connections
|
|
1021
1031
|
WHERE connection_type = 'VIRTUAL'
|
|
1022
1032
|
AND metadata IS NOT NULL
|
|
1023
1033
|
AND metadata LIKE ${"%"+x+"%"}
|
|
1024
|
-
`.execute(_);for(let C of T.rows){if(!C.metadata)continue;let
|
|
1034
|
+
`.execute(_);for(let C of T.rows){if(!C.metadata)continue;let K;try{K=JSON.parse(C.metadata)}catch{continue}let E=kP(K.sandboxMap,x,u);if(!E?.changed)continue;K.sandboxMap=E.sandboxMap,await n`
|
|
1025
1035
|
UPDATE connections
|
|
1026
|
-
SET metadata = ${JSON.stringify(
|
|
1036
|
+
SET metadata = ${JSON.stringify(K)}
|
|
1027
1037
|
WHERE id = ${C.id}
|
|
1028
|
-
`.execute(_)}}async function
|
|
1038
|
+
`.execute(_)}}async function pP(_){await n`
|
|
1029
1039
|
UPDATE threads
|
|
1030
1040
|
SET sandbox_provider_kind = ${Y}
|
|
1031
1041
|
WHERE sandbox_provider_kind = ${R}
|
|
@@ -1054,7 +1064,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1054
1064
|
UPDATE sandbox_runner_state
|
|
1055
1065
|
SET sandbox_provider_kind = ${Y}
|
|
1056
1066
|
WHERE sandbox_provider_kind = ${R}
|
|
1057
|
-
`.execute(_),await
|
|
1067
|
+
`.execute(_),await lT(_,R,Y)}async function iP(_){await n`
|
|
1058
1068
|
UPDATE threads
|
|
1059
1069
|
SET sandbox_provider_kind = ${R}
|
|
1060
1070
|
WHERE sandbox_provider_kind = ${Y}
|
|
@@ -1083,7 +1093,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1083
1093
|
UPDATE sandbox_runner_state
|
|
1084
1094
|
SET sandbox_provider_kind = ${R}
|
|
1085
1095
|
WHERE sandbox_provider_kind = ${Y}
|
|
1086
|
-
`.execute(_),await
|
|
1096
|
+
`.execute(_),await lT(_,Y,R)}var Tm={};m(Tm,{up:()=>tP,down:()=>vP});import{sql as S}from"kysely";async function tP(_){await S`CREATE SEQUENCE IF NOT EXISTS org_fs_entry_seq`.execute(_),await _.schema.createTable("org_fs_entry").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("volume","text",(x)=>x.notNull()).addColumn("path","text",(x)=>x.notNull()).addColumn("parent","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull().check(S`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(S`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("org_fs_entry_pk",["organization_id","volume","path"]).execute(),await _.schema.createIndex("idx_org_fs_entry_changes").on("org_fs_entry").columns(["organization_id","volume","seq"]).execute(),await S`
|
|
1087
1097
|
CREATE INDEX idx_org_fs_entry_parent
|
|
1088
1098
|
ON org_fs_entry (organization_id, volume, parent)
|
|
1089
1099
|
WHERE deleted_at IS NULL
|
|
@@ -1091,7 +1101,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1091
1101
|
CREATE INDEX idx_org_fs_entry_usage
|
|
1092
1102
|
ON org_fs_entry (organization_id, volume, size)
|
|
1093
1103
|
WHERE kind = 'file' AND deleted_at IS NULL
|
|
1094
|
-
`.execute(_)}async function
|
|
1104
|
+
`.execute(_)}async function vP(_){await _.schema.dropTable("org_fs_entry").execute(),await S`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(_)}var Km={};m(Km,{up:()=>qP,down:()=>gP});async function qP(_){await _.schema.alterTable("automations").addColumn("tools","text").execute()}async function gP(_){await _.schema.alterTable("automations").dropColumn("tools").execute()}var Nm={};m(Nm,{up:()=>cP,down:()=>hP});import{sql as dT}from"kysely";async function cP(_){await dT`
|
|
1095
1105
|
INSERT INTO "organization" (id, name, slug, "createdAt")
|
|
1096
1106
|
SELECT
|
|
1097
1107
|
'org_orgfs_public_skills',
|
|
@@ -1105,13 +1115,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1105
1115
|
END,
|
|
1106
1116
|
now()
|
|
1107
1117
|
ON CONFLICT (id) DO NOTHING
|
|
1108
|
-
`.execute(_)}async function
|
|
1118
|
+
`.execute(_)}async function hP(_){await dT`
|
|
1109
1119
|
DELETE FROM "organization" WHERE id = 'org_orgfs_public_skills'
|
|
1110
|
-
`.execute(_)}var
|
|
1120
|
+
`.execute(_)}var Em={};m(Em,{up:()=>oP,down:()=>aP});async function oP(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function aP(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var zm={};m(zm,{up:()=>rP,down:()=>eP});import{sql as sT}from"kysely";async function rP(_){await sT`DROP INDEX IF EXISTS idx_tmp_run_seq`.execute(_)}async function eP(_){await sT`CREATE UNIQUE INDEX IF NOT EXISTS idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_)}var Pm={};m(Pm,{up:()=>dP,down:()=>sP});import{sql as lP}from"kysely";async function dP(_){await lP`
|
|
1111
1121
|
UPDATE downstream_tokens
|
|
1112
1122
|
SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
|
|
1113
1123
|
WHERE "expiresAt" IS NULL
|
|
1114
|
-
`.execute(_)}async function
|
|
1124
|
+
`.execute(_)}async function sP(_){}var $m={};m($m,{up:()=>bP,down:()=>_$});async function bP(_){await _.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function _$(_){await _.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var Um={};m(Um,{up:()=>x$,down:()=>u$});async function x$(_){await _.schema.alterTable("org_file_configs").addColumn("credential_type","text",(x)=>x.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function u$(_){await _.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var Jm={};m(Jm,{up:()=>m$,down:()=>C$});async function m$(_){await _.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await _.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function C$(_){await _.schema.alterTable("threads").dropColumn("failure_kind").execute(),await _.schema.alterTable("threads").dropColumn("failure_reason").execute()}var Xm={};m(Xm,{up:()=>T$,down:()=>K$});async function T$(_){await _.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function K$(_){await _.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Qm={};m(Qm,{up:()=>N$,down:()=>E$});async function N$(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}async function E$(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}var jm={};m(jm,{up:()=>z$,down:()=>P$});import{sql as bT}from"kysely";async function z$(_){await _.schema.createTable("org_sites").addColumn("slug","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(x)=>x.notNull().defaultTo("deco-import")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(bT`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(bT`now()`)).execute(),await _.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function P$(_){await _.schema.dropTable("org_sites").execute()}var Wm={};m(Wm,{up:()=>$$,down:()=>U$});async function $$(_){await _.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function U$(_){await _.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var Zm={};m(Zm,{up:()=>J$,down:()=>X$});import{sql as Z}from"kysely";async function J$(_){await _.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 Z`
|
|
1115
1125
|
UPDATE organization_domains
|
|
1116
1126
|
SET
|
|
1117
1127
|
id = gen_random_uuid()::text,
|
|
@@ -1120,18 +1130,18 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1120
1130
|
verification_method = 'email',
|
|
1121
1131
|
verified_at = created_at
|
|
1122
1132
|
WHERE id IS NULL
|
|
1123
|
-
`.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await _.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function
|
|
1133
|
+
`.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await _.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function X$(_){await _.schema.dropIndex("organization_domains_org_domain_idx").ifExists().execute(),await _.schema.alterTable("organization_domains").addColumn("auto_join_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await Z`
|
|
1124
1134
|
UPDATE organization_domains
|
|
1125
1135
|
SET auto_join_enabled = (join_mode = 'auto')
|
|
1126
|
-
`.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var
|
|
1136
|
+
`.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var Dm={};m(Dm,{up:()=>Q$,down:()=>j$});import{sql as Y_}from"kysely";async function Q$(_){await _.schema.createTable("organization_join_requests").addColumn("id","text",(x)=>x.primaryKey().defaultTo(Y_`gen_random_uuid()::text`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("decided_by","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("decided_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(Y_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Y_`now()`)).execute(),await Y_`
|
|
1127
1137
|
CREATE UNIQUE INDEX organization_join_requests_pending_unique
|
|
1128
1138
|
ON organization_join_requests (organization_id, user_id)
|
|
1129
1139
|
WHERE status = 'pending'
|
|
1130
|
-
`.execute(_),await _.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function
|
|
1140
|
+
`.execute(_),await _.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function j$(_){await _.schema.dropTable("organization_join_requests").execute()}var Lm={};m(Lm,{up:()=>W$,down:()=>Z$});async function W$(_){await _.schema.alterTable("org_fs_entry").addColumn("read_public","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function Z$(_){await _.schema.alterTable("org_fs_entry").dropColumn("read_public").execute()}var Fm={};m(Fm,{up:()=>D$,down:()=>L$});async function D$(_){await _.schema.alterTable("org_fs_entry").addColumn("share_password_hash","text").addColumn("share_secret","text").execute()}async function L$(_){await _.schema.alterTable("org_fs_entry").dropColumn("share_password_hash").dropColumn("share_secret").execute()}var Hm={};m(Hm,{up:()=>Y$,splitWebResearchTier:()=>Ym,down:()=>H$,__testing:()=>R$});function F$(_){return _.toLowerCase().replace(/[^a-z0-9]/g,"").includes("deepresearch")}function Rm(_){if(!_||typeof _!=="object")return!1;let x=_.tiers;if(!x||typeof x!=="object")return!1;return"web_search"in x||"deep_research"in x}function Ym(_){if(!_||Rm(_))return _;let x=_.tiers??{},u=x.web_research??null,{web_research:T,...C}=x,K=null,E=null;if(u)if(F$(u.modelId))E=u;else K=u;return{..._,tiers:{...C,web_search:K,deep_research:E}}}var R$={splitWebResearchTier:Ym,isAlreadySplit:Rm};async function Y$(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let u of x){if(!u.simple_mode)continue;let T=typeof u.simple_mode==="string"?JSON.parse(u.simple_mode):u.simple_mode;if(Rm(T))continue;let C=Ym(T);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(C)}).where("organizationId","=",u.organizationId).execute()}}async function H$(_){throw Error("122-split-web-research-tier is not reversible. Restore from snapshot.")}var Mm={};m(Mm,{up:()=>M$,down:()=>B$});import{sql as u_}from"kysely";async function M$(_){await _.schema.createTable("connection_workload_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(x)=>x.notNull().unique()).addColumn("token_prefix","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull().defaultTo("default")).addColumn("revoked_at","timestamptz").addColumn("last_used_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_workload_tokens_subject").on("connection_workload_tokens").columns(["organization_id","subject_connection_id"]).execute(),await u_`
|
|
1131
1141
|
CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
|
|
1132
1142
|
ON connection_workload_tokens (organization_id, subject_connection_id, name)
|
|
1133
1143
|
WHERE revoked_at IS NULL
|
|
1134
|
-
`.execute(_),await _.schema.createTable("connection_credential_grants").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await _.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
|
|
1144
|
+
`.execute(_),await _.schema.createTable("connection_credential_grants").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await _.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 B$(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Bm={};m(Bm,{up:()=>G$,down:()=>n$});async function G$(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function n$(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var Gm={};m(Gm,{up:()=>y$,down:()=>f$});import{sql as k}from"kysely";async function y$(_){await k`
|
|
1135
1145
|
CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
|
|
1136
1146
|
RETURNS jsonb AS $fn$
|
|
1137
1147
|
BEGIN
|
|
@@ -1190,7 +1200,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1190
1200
|
BEFORE INSERT ON connection_aggregations
|
|
1191
1201
|
FOR EACH ROW
|
|
1192
1202
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1193
|
-
`.execute(_)}async function
|
|
1203
|
+
`.execute(_)}async function f$(_){await k`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await k`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_),await k`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(_)}var ym={};m(ym,{up:()=>O$,down:()=>A$});import{sql as nm}from"kysely";async function O$(_){await _.schema.createTable("task_board_items").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("status","text",(x)=>x.notNull().defaultTo("triage")).addColumn("priority","text",(x)=>x.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(nm`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(nm`now()`)).execute(),await _.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(nm`false`)).execute()}async function A$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var fm={};m(fm,{up:()=>S$,down:()=>I$});async function S$(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function I$(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var Om={};m(Om,{up:()=>w$,down:()=>V$});async function w$(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function V$(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var Am={};m(Am,{up:()=>k$,down:()=>p$});async function k$(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function p$(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var Sm={};m(Sm,{up:()=>t$,down:()=>v$});import{sql as i$}from"kysely";async function t$(_){await _.schema.createTable("task_board_item_threads").addColumn("task_board_item_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(i$`now()`)).addPrimaryKeyConstraint("task_board_item_threads_pkey",["task_board_item_id","thread_id"]).execute(),await _.schema.createIndex("task_board_item_threads_item_idx").on("task_board_item_threads").columns(["organization_id","task_board_item_id"]).execute(),await _.schema.createIndex("task_board_item_threads_thread_idx").on("task_board_item_threads").column("thread_id").execute()}async function v$(_){await _.schema.dropTable("task_board_item_threads").execute()}var Im={};m(Im,{up:()=>q$,down:()=>g$});async function q$(_){await _.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_thread_id_fkey",["thread_id"],"threads",["id"],(x)=>x.onDelete("cascade")).execute()}async function g$(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var wm={};m(wm,{up:()=>h$,down:()=>o$});import{sql as c$}from"kysely";async function h$(_){await _.schema.createTable("task_board_item_prs").addColumn("task_board_item_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("url","text",(x)=>x.notNull()).addColumn("pr_number","integer",(x)=>x.notNull()).addColumn("repo_owner","text",(x)=>x.notNull()).addColumn("repo_name","text",(x)=>x.notNull()).addColumn("connection_id","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(c$`now()`)).addPrimaryKeyConstraint("task_board_item_prs_pkey",["task_board_item_id","url"]).execute(),await _.schema.createIndex("task_board_item_prs_item_idx").on("task_board_item_prs").columns(["organization_id","task_board_item_id"]).execute()}async function o$(_){await _.schema.dropTable("task_board_item_prs").execute()}var Vm={};m(Vm,{up:()=>r$,down:()=>e$});import{sql as a$}from"kysely";async function r$(_){await a$`
|
|
1194
1204
|
DELETE FROM member
|
|
1195
1205
|
WHERE id IN (
|
|
1196
1206
|
SELECT id FROM (
|
|
@@ -1209,38 +1219,38 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1209
1219
|
) ranked
|
|
1210
1220
|
WHERE ranked.rn > 1
|
|
1211
1221
|
)
|
|
1212
|
-
`.execute(_)}async function
|
|
1222
|
+
`.execute(_)}async function e$(_){}var km={};m(km,{up:()=>l$,down:()=>d$});async function l$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function d$(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var pm={};m(pm,{up:()=>s$,down:()=>b$});async function s$(_){await _.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(x)=>x.onDelete("cascade")).execute(),await _.schema.alterTable("task_board_item_prs").addForeignKeyConstraint("task_board_item_prs_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(x)=>x.onDelete("cascade")).execute()}async function b$(_){await _.schema.alterTable("task_board_item_prs").dropConstraint("task_board_item_prs_task_board_item_id_fkey").execute(),await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_task_board_item_id_fkey").execute()}var im={};m(im,{up:()=>xU,down:()=>uU});import{sql as _U}from"kysely";async function xU(_){await _.schema.createTable("task_board_import_runs").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("run_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(_U`now()`)).addPrimaryKeyConstraint("task_board_import_runs_pkey",["organization_id","run_id"]).execute(),await _.schema.alterTable("task_board_items").addColumn("external_key","text").execute(),await _.schema.createIndex("idx_task_board_items_org_external_key").on("task_board_items").columns(["organization_id","external_key"]).execute()}async function uU(_){await _.schema.dropIndex("idx_task_board_items_org_external_key").execute(),await _.schema.alterTable("task_board_items").dropColumn("external_key").execute(),await _.schema.dropTable("task_board_import_runs").execute()}var tm={};m(tm,{up:()=>CU,down:()=>TU});import{sql as mU}from"kysely";async function CU(_){await _.schema.createTable("agent_sandbox_runner_state").addColumn("project_ref","text",(x)=>x.notNull()).addColumn("sandbox_provider_kind","text",(x)=>x.notNull()).addColumn("handle","text",(x)=>x.notNull()).addColumn("state","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(mU`now()`)).addPrimaryKeyConstraint("agent_sandbox_runner_state_pkey",["project_ref","sandbox_provider_kind"]).execute(),await _.schema.createIndex("agent_sandbox_runner_state_handle_idx").on("agent_sandbox_runner_state").column("handle").execute()}async function TU(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var vm={};m(vm,{up:()=>KU,down:()=>NU});import{sql as H_}from"kysely";async function KU(_){await _.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(x)=>x.notNull()).addColumn("branch","text",(x)=>x.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(x)=>x.notNull().defaultTo("running")).addColumn("status","text",(x)=>x.notNull().defaultTo("provisioning")).addColumn("generation","integer",(x)=>x.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("last_started_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(H_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(H_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",H_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",H_`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await _.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await _.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function NU(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var qm={};m(qm,{up:()=>EU,down:()=>zU});import{sql as M_}from"kysely";async function EU(_){await _.schema.createTable("organization_billing").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("legacy","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("billing_mode","text",(x)=>x.notNull().defaultTo("self_serve")).addColumn("status","text",(x)=>x.notNull().defaultTo("none")).addColumn("stripe_customer_id","text").addColumn("stripe_subscription_id","text").addColumn("current_period_end","timestamptz").addColumn("included_report_url","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).execute(),await _.schema.createTable("organization_paid_seat").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await M_`
|
|
1213
1223
|
insert into organization_billing (organization_id, legacy)
|
|
1214
1224
|
select id, true from organization
|
|
1215
1225
|
on conflict (organization_id) do nothing
|
|
1216
|
-
`.execute(_)}async function
|
|
1226
|
+
`.execute(_)}async function zU(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var gm={};m(gm,{up:()=>PU,down:()=>$U});import{sql as _K}from"kysely";async function PU(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(_K`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(_K`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function $U(_){await _.schema.dropTable("seat_change_log").execute()}var cm={};m(cm,{up:()=>UU,down:()=>JU});async function UU(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function JU(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var hm={};m(hm,{up:()=>XU,down:()=>QU});import{sql as xK}from"kysely";async function XU(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await xK`
|
|
1217
1227
|
create unique index organization_billing_stripe_subscription_id_uq
|
|
1218
1228
|
on organization_billing (stripe_subscription_id)
|
|
1219
1229
|
where stripe_subscription_id is not null
|
|
1220
|
-
`.execute(_)}async function
|
|
1230
|
+
`.execute(_)}async function QU(_){await xK`drop index organization_billing_stripe_subscription_id_uq`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("last_stripe_event_at").execute()}var om={};m(om,{up:()=>jU,down:()=>WU});async function jU(_){await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute()}async function WU(_){await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute()}var am={};m(am,{up:()=>ZU,down:()=>DU});import{sql as uK}from"kysely";async function ZU(_){await uK`
|
|
1221
1231
|
create index idx_org_billing_benefits_pending
|
|
1222
1232
|
on organization_billing (updated_at)
|
|
1223
1233
|
where benefits_reference_id is not null
|
|
1224
|
-
`.execute(_)}async function
|
|
1234
|
+
`.execute(_)}async function DU(_){await uK`drop index if exists idx_org_billing_benefits_pending`.execute(_)}var rm={};m(rm,{up:()=>LU,down:()=>FU});import{sql as mK}from"kysely";async function LU(_){await _.schema.createTable("user_model_preferences").addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("tiers","jsonb",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(mK`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(mK`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await _.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function FU(_){await _.schema.dropTable("user_model_preferences").execute()}var em={};m(em,{up:()=>RU,down:()=>YU});async function RU(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function YU(_){await _.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var lm={};m(lm,{up:()=>HU,down:()=>MU});async function HU(_){await _.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await _.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function MU(_){}var dm={};m(dm,{up:()=>BU,down:()=>GU});import{sql as CK}from"kysely";async function BU(_){await _.schema.alterTable("organization_settings").addColumn("flags","jsonb").execute(),await CK`
|
|
1225
1235
|
UPDATE organization_settings
|
|
1226
1236
|
SET flags = jsonb_build_object('reports_only', reports_only)
|
|
1227
1237
|
WHERE reports_only IS NOT NULL
|
|
1228
|
-
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function
|
|
1238
|
+
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function GU(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute(),await CK`
|
|
1229
1239
|
UPDATE organization_settings
|
|
1230
1240
|
SET reports_only = (flags ->> 'reports_only')::boolean
|
|
1231
1241
|
WHERE flags ? 'reports_only'
|
|
1232
|
-
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var
|
|
1242
|
+
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var sm={};m(sm,{up:()=>yU,down:()=>fU});import{sql as nU}from"kysely";async function yU(_){await _.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(x)=>x.notNull().defaultTo(0)).execute(),await nU`
|
|
1233
1243
|
update task_board_items
|
|
1234
1244
|
set sort_order = -extract(epoch from created_at)
|
|
1235
|
-
`.execute(_)}async function
|
|
1245
|
+
`.execute(_)}async function fU(_){await _.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var bm={};m(bm,{up:()=>OU,down:()=>AU,ACTIONS:()=>TK});import{sql as B_}from"kysely";var TK=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function OU(_){await _.schema.createTable("task_board_activity").addColumn("id","text",(x)=>x.primaryKey()).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("action","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb").addColumn("occurred_at","timestamptz",(x)=>x.notNull().defaultTo(B_`now()`)).addCheckConstraint("chk_task_board_activity_action",B_`action IN (${B_.join(TK.map((x)=>B_.lit(x)))})`).execute(),await _.schema.createIndex("idx_task_board_activity_item").on("task_board_activity").columns(["task_board_item_id","occurred_at"]).execute()}async function AU(_){await _.schema.dropIndex("idx_task_board_activity_item").execute(),await _.schema.dropTable("task_board_activity").execute()}var xC={};m(xC,{up:()=>SU,down:()=>IU,ACTIONS:()=>_C});import{sql as m_}from"kysely";var _C=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function SU(_){await _.schema.alterTable("organization_tags").addColumn("color","text").execute(),await _.schema.createTable("task_board_item_tags").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(m_`now()`)).addPrimaryKeyConstraint("task_board_item_tags_pkey",["task_board_item_id","id"]).execute(),await _.schema.createIndex("idx_task_board_item_tags_tag").on("task_board_item_tags").columns(["id"]).execute(),await KK(_,_C)}async function IU(_){await KK(_,_C.filter((x)=>x!=="tags_changed")),await _.schema.dropIndex("idx_task_board_item_tags_tag").execute(),await _.schema.dropTable("task_board_item_tags").execute(),await _.schema.alterTable("organization_tags").dropColumn("color").execute()}async function KK(_,x){await m_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await m_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${m_.join(x.map((u)=>m_.lit(u)))}))`.execute(_)}var mC={};m(mC,{up:()=>VU,down:()=>kU});import{sql as NK}from"kysely";function uC(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function wU(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),T=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return uC(T)}catch{return uC(_.connection_url)}if(_.title)return uC(_.title);return _.id}async function VU(_){let x=await NK`
|
|
1236
1246
|
SELECT id, app_name, connection_url, title, slug
|
|
1237
1247
|
FROM connections
|
|
1238
1248
|
WHERE connection_type != 'VIRTUAL'
|
|
1239
|
-
`.execute(_),u=0;for(let T of x.rows){let C=
|
|
1249
|
+
`.execute(_),u=0;for(let T of x.rows){let C=wU(T);if(C===T.slug)continue;await NK`UPDATE connections SET slug = ${C} WHERE id = ${T.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function kU(){}var CC={};m(CC,{up:()=>iU,down:()=>tU});import{sql as pU}from"kysely";async function iU(_){await pU`CREATE INDEX idx_tmp_latest_assistant_text ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE role = 'assistant' AND kind = 'text'`.execute(_)}async function tU(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var KC={};m(KC,{up:()=>qU,down:()=>gU,ACTIONS:()=>TC});import{sql as G_}from"kysely";var TC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],vU=new Set(["review_requested","review_approved","review_changes_requested"]);async function qU(_){await EK(_,TC)}async function gU(_){await EK(_,TC.filter((x)=>!vU.has(x)))}async function EK(_,x){await G_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await G_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${G_.join(x.map((u)=>G_.lit(u)))}))`.execute(_)}var NC={};m(NC,{up:()=>hU,down:()=>oU});import{sql as cU}from"kysely";async function hU(_){await _.schema.createTable("task_board_review_claims").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("reviewer","text",(x)=>x.notNull()).addColumn("cycle_at","timestamptz",(x)=>x.notNull()).addColumn("token","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(cU`now()`)).addPrimaryKeyConstraint("task_board_review_claims_pkey",["task_board_item_id","reviewer","cycle_at"]).execute(),await _.schema.createIndex("idx_task_board_review_claims_token").on("task_board_review_claims").columns(["task_board_item_id","token"]).execute()}async function oU(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var zC={};m(zC,{up:()=>rU,down:()=>eU,ACTIONS:()=>EC});import{sql as n_}from"kysely";var EC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution"],aU=new Set(["merge_conflict_resolution"]);async function rU(_){await zK(_,EC)}async function eU(_){await zK(_,EC.filter((x)=>!aU.has(x)))}async function zK(_,x){await n_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await n_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${n_.join(x.map((u)=>n_.lit(u)))}))`.execute(_)}var PC={};m(PC,{up:()=>lU,down:()=>dU});import{sql as C_}from"kysely";async function lU(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await C_`drop index if exists idx_org_billing_benefits_pending`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("billing_mode").execute(),await _.schema.alterTable("organization_billing").dropColumn("legacy").execute(),await _.schema.alterTable("organization_billing").dropColumn("included_report_url").execute(),await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute(),await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}async function dU(_){await _.schema.alterTable("organization_billing").addColumn("legacy","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.alterTable("organization_billing").addColumn("billing_mode","text",(x)=>x.notNull().defaultTo("self_serve")).execute(),await _.schema.alterTable("organization_billing").addColumn("included_report_url","text").execute(),await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute(),await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute(),await C_`
|
|
1240
1250
|
create index idx_org_billing_benefits_pending
|
|
1241
1251
|
on organization_billing (updated_at)
|
|
1242
1252
|
where benefits_reference_id is not null
|
|
1243
|
-
`.execute(_),await _.schema.createTable("organization_paid_seat").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pk",["organization_id","user_id"]).execute(),await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(C_`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).execute()}var
|
|
1253
|
+
`.execute(_),await _.schema.createTable("organization_paid_seat").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pk",["organization_id","user_id"]).execute(),await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(C_`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).execute()}var $C={};m($C,{up:()=>sU,down:()=>bU});import{sql as y_}from"kysely";async function sU(_){await y_`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await y_`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_)}async function bU(_){await y_`
|
|
1244
1254
|
CREATE OR REPLACE FUNCTION enforce_repo_github_child_single_parent()
|
|
1245
1255
|
RETURNS trigger AS $fn$
|
|
1246
1256
|
BEGIN
|
|
@@ -1266,23 +1276,23 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1266
1276
|
BEFORE INSERT ON connection_aggregations
|
|
1267
1277
|
FOR EACH ROW
|
|
1268
1278
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1269
|
-
`.execute(_)}var
|
|
1279
|
+
`.execute(_)}var UC={};m(UC,{up:()=>_J,down:()=>xJ});import{sql as PK}from"kysely";async function _J(_){await _.schema.createTable("task_board_comments").addColumn("id","text",(x)=>x.primaryKey()).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("parent_id","text",(x)=>x.references("task_board_comments.id").onDelete("cascade")).addColumn("author_id","text",(x)=>x.notNull()).addColumn("body","text",(x)=>x.notNull()).addColumn("resolved","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(PK`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(PK`now()`)).execute(),await _.schema.createIndex("idx_task_board_comments_item").on("task_board_comments").columns(["task_board_item_id","created_at"]).execute()}async function xJ(_){await _.schema.dropIndex("idx_task_board_comments_item").execute(),await _.schema.dropTable("task_board_comments").execute()}var JC={};m(JC,{up:()=>uJ,down:()=>mJ});import{sql as $K}from"kysely";async function uJ(_){await _.schema.createTable("task_quota_claims").addColumn("task_board_item_id","text",(x)=>x.primaryKey().references("task_board_items.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("period_key","text",(x)=>x.notNull()).addColumn("run_count","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo($K`now()`)).execute(),await _.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await _.schema.createTable("subsidized_gateway_keys").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("encrypted_key","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo($K`now()`)).execute()}async function mJ(_){await _.schema.dropTable("subsidized_gateway_keys").ifExists().execute(),await _.schema.dropTable("task_quota_claims").ifExists().execute()}var QC={};m(QC,{up:()=>CJ,down:()=>TJ});import{sql as XC}from"kysely";async function CJ(_){await _.schema.alterTable("task_quota_claims").addColumn("state","text",(x)=>x.notNull().defaultTo("held").check(XC`state in ('held', 'released')`)).execute(),await _.schema.dropIndex("idx_task_quota_claims_org_period").execute(),await XC`
|
|
1270
1280
|
create index idx_task_quota_claims_org_period_live
|
|
1271
1281
|
on task_quota_claims (organization_id, period_key)
|
|
1272
1282
|
where state <> 'released'
|
|
1273
|
-
`.execute(_)}async function
|
|
1283
|
+
`.execute(_)}async function TJ(_){await XC`drop index if exists idx_task_quota_claims_org_period_live`.execute(_),await _.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await _.schema.alterTable("task_quota_claims").dropColumn("state").execute()}var jC={};m(jC,{up:()=>KJ,down:()=>NJ});async function KJ(_){await _.schema.createTable("claude_subscriptions").addColumn("user_id","text",(x)=>x.primaryKey()).addColumn("encrypted_access_token","text",(x)=>x.notNull()).addColumn("expires_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull()).execute()}async function NJ(_){await _.schema.dropTable("claude_subscriptions").ifExists().execute()}var WC={};m(WC,{up:()=>EJ,down:()=>zJ});async function EJ(_){await _.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function zJ(_){await _.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var ZC={};m(ZC,{up:()=>PJ,down:()=>$J});import{sql as UK}from"kysely";async function PJ(_){await _.schema.alterTable("organization_billing").addColumn("free_task_executions","integer",(x)=>x.check(UK`free_task_executions > 0`)).addColumn("monthly_task_executions","integer",(x)=>x.check(UK`monthly_task_executions > 0`)).execute()}async function $J(_){await _.schema.alterTable("organization_billing").dropColumn("free_task_executions").dropColumn("monthly_task_executions").execute()}var DC={};m(DC,{up:()=>JJ,down:()=>XJ});import{sql as UJ}from"kysely";async function JJ(_){await UJ`
|
|
1274
1284
|
CREATE INDEX idx_task_board_items_pending_review
|
|
1275
1285
|
ON task_board_items (updated_at, id)
|
|
1276
1286
|
WHERE status = 'in_review'
|
|
1277
1287
|
AND assignee_id = 'super-agent'
|
|
1278
1288
|
AND dismissed_at IS NULL
|
|
1279
|
-
`.execute(_)}async function
|
|
1289
|
+
`.execute(_)}async function XJ(_){await _.schema.dropIndex("idx_task_board_items_pending_review").execute()}var LC={};m(LC,{up:()=>QJ,down:()=>jJ});import{sql as JK}from"kysely";async function QJ(_){await JK`
|
|
1280
1290
|
ALTER TABLE task_board_items
|
|
1281
1291
|
ADD COLUMN last_swept_at timestamptz
|
|
1282
|
-
`.execute(_)}async function
|
|
1292
|
+
`.execute(_)}async function jJ(_){await JK`
|
|
1283
1293
|
ALTER TABLE task_board_items
|
|
1284
1294
|
DROP COLUMN last_swept_at
|
|
1285
|
-
`.execute(_)}var
|
|
1295
|
+
`.execute(_)}var FC={};m(FC,{up:()=>WJ,down:()=>ZJ});import{sql as f_}from"kysely";async function WJ(_){await f_`
|
|
1286
1296
|
ALTER TABLE task_board_items
|
|
1287
1297
|
ADD COLUMN retry_at timestamptz,
|
|
1288
1298
|
ADD COLUMN retry_attempts integer NOT NULL DEFAULT 0
|
|
@@ -1290,11 +1300,11 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1290
1300
|
CREATE INDEX idx_task_board_items_retry_due
|
|
1291
1301
|
ON task_board_items (retry_at)
|
|
1292
1302
|
WHERE retry_at IS NOT NULL
|
|
1293
|
-
`.execute(_)}async function
|
|
1303
|
+
`.execute(_)}async function ZJ(_){await f_`DROP INDEX IF EXISTS idx_task_board_items_retry_due`.execute(_),await f_`
|
|
1294
1304
|
ALTER TABLE task_board_items
|
|
1295
1305
|
DROP COLUMN retry_at,
|
|
1296
1306
|
DROP COLUMN retry_attempts
|
|
1297
|
-
`.execute(_)}var
|
|
1307
|
+
`.execute(_)}var YC={};m(YC,{up:()=>DJ,down:()=>LJ});import{sql as RC}from"kysely";async function DJ(_){await RC`
|
|
1298
1308
|
CREATE TABLE org_repo_sync (
|
|
1299
1309
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1300
1310
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1312,11 +1322,11 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1312
1322
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
1313
1323
|
UNIQUE (organization_id, volume)
|
|
1314
1324
|
)
|
|
1315
|
-
`.execute(_),await
|
|
1325
|
+
`.execute(_),await RC`
|
|
1316
1326
|
CREATE INDEX idx_org_repo_sync_enabled
|
|
1317
1327
|
ON org_repo_sync (organization_id)
|
|
1318
1328
|
WHERE enabled
|
|
1319
|
-
`.execute(_)}async function
|
|
1329
|
+
`.execute(_)}async function LJ(_){await RC`DROP TABLE IF EXISTS org_repo_sync`.execute(_)}var MC={};m(MC,{up:()=>RJ,down:()=>YJ,ACTIONS:()=>HC});import{sql as O_}from"kysely";var HC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution","merge_failed"],FJ=new Set(["merge_failed"]);async function RJ(_){await XK(_,HC)}async function YJ(_){await XK(_,HC.filter((x)=>!FJ.has(x)))}async function XK(_,x){await O_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await O_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${O_.join(x.map((u)=>O_.lit(u)))}))`.execute(_)}var BC={};m(BC,{up:()=>HJ,down:()=>MJ});async function HJ(_){await _.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function MJ(_){await _.schema.alterTable("task_board_items").dropColumn("repo").execute()}var GC={};m(GC,{up:()=>BJ,down:()=>GJ});import{sql as g}from"kysely";async function BJ(_){await g`
|
|
1320
1330
|
CREATE TABLE org_jira_integrations (
|
|
1321
1331
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1322
1332
|
organization_id text NOT NULL UNIQUE REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1355,7 +1365,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1355
1365
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1356
1366
|
UNIQUE (organization_id, jira_comment_id)
|
|
1357
1367
|
)
|
|
1358
|
-
`.execute(_)}async function
|
|
1368
|
+
`.execute(_)}async function GJ(_){await g`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await g`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await g`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var nC={};m(nC,{up:()=>yJ,down:()=>fJ});import{sql as nJ}from"kysely";async function yJ(_){await _.schema.alterTable("task_board_items").addColumn("key_seq","integer").execute(),await nJ`
|
|
1359
1369
|
update task_board_items as t
|
|
1360
1370
|
set key_seq = numbered.seq
|
|
1361
1371
|
from (
|
|
@@ -1368,25 +1378,25 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1368
1378
|
from task_board_items
|
|
1369
1379
|
) as numbered
|
|
1370
1380
|
where t.id = numbered.id
|
|
1371
|
-
`.execute(_),await _.schema.alterTable("task_board_items").alterColumn("key_seq",(x)=>x.setNotNull()).execute(),await _.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function
|
|
1381
|
+
`.execute(_),await _.schema.alterTable("task_board_items").alterColumn("key_seq",(x)=>x.setNotNull()).execute(),await _.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function fJ(_){await _.schema.dropIndex("task_board_items_org_key_seq_unique").on("task_board_items").execute(),await _.schema.alterTable("task_board_items").dropColumn("key_seq").execute()}var yC={};m(yC,{up:()=>OJ,down:()=>AJ});import{sql as QK}from"kysely";async function OJ(_){await QK`
|
|
1372
1382
|
CREATE INDEX IF NOT EXISTS idx_threads_github_repo_connection_id
|
|
1373
1383
|
ON threads ((metadata -> 'githubRepo' ->> 'connectionId'))
|
|
1374
1384
|
WHERE metadata -> 'githubRepo' ->> 'connectionId' IS NOT NULL
|
|
1375
|
-
`.execute(_)}async function
|
|
1385
|
+
`.execute(_)}async function AJ(_){await QK`DROP INDEX IF EXISTS idx_threads_github_repo_connection_id`.execute(_)}var OC={};m(OC,{up:()=>SJ,down:()=>IJ});import{sql as fC}from"kysely";async function SJ(_){await fC`
|
|
1376
1386
|
ALTER TABLE thread_message_parts
|
|
1377
1387
|
ADD COLUMN IF NOT EXISTS persisted_at timestamptz
|
|
1378
|
-
`.execute(_),await
|
|
1388
|
+
`.execute(_),await fC`
|
|
1379
1389
|
ALTER TABLE thread_message_parts
|
|
1380
1390
|
ALTER COLUMN persisted_at SET DEFAULT now()
|
|
1381
|
-
`.execute(_)}async function
|
|
1391
|
+
`.execute(_)}async function IJ(_){await fC`
|
|
1382
1392
|
ALTER TABLE thread_message_parts DROP COLUMN IF EXISTS persisted_at
|
|
1383
|
-
`.execute(_)}var
|
|
1393
|
+
`.execute(_)}var AC={};m(AC,{up:()=>wJ,down:()=>VJ});async function wJ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute()}async function VJ(_){await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}var SC={};m(SC,{up:()=>pJ,down:()=>iJ});import{sql as kJ}from"kysely";async function pJ(_){await kJ`
|
|
1384
1394
|
CREATE INDEX idx_task_board_items_done_sweep
|
|
1385
1395
|
ON task_board_items (updated_at)
|
|
1386
1396
|
WHERE status = 'done' AND dismissed_at IS NULL
|
|
1387
|
-
`.execute(_)}async function
|
|
1397
|
+
`.execute(_)}async function iJ(_){await _.schema.dropIndex("idx_task_board_items_done_sweep").execute()}var IC={};m(IC,{up:()=>tJ,down:()=>vJ,TYPES:()=>jK});import{sql as I}from"kysely";var jK=["created","commented","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"];async function tJ(_){await _.schema.createTable("notification_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("subscribed","boolean",(x)=>x.notNull().defaultTo(!0)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addUniqueConstraint("notification_subscriptions_user_item",["user_id","task_board_item_id"]).execute(),await _.schema.createTable("notifications").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb",(x)=>x.notNull()).addColumn("read_at","timestamptz").addColumn("emailed_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addCheckConstraint("notifications_type_check",I`type IN (${I.join(jK.map((x)=>I.lit(x)))})`).execute(),await I`CREATE INDEX notifications_user_unread ON notifications
|
|
1388
1398
|
(user_id, organization_id, created_at DESC) WHERE read_at IS NULL`.execute(_),await I`CREATE INDEX notifications_digest ON notifications
|
|
1389
|
-
(created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function
|
|
1399
|
+
(created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function vJ(_){await _.schema.dropTable("notifications").execute(),await _.schema.dropTable("notification_subscriptions").execute()}var wC={};m(wC,{up:()=>qJ,down:()=>gJ});import{sql as WK}from"kysely";async function qJ(_){await WK`
|
|
1390
1400
|
UPDATE org_jira_integrations
|
|
1391
1401
|
SET status_mapping = (
|
|
1392
1402
|
SELECT COALESCE(jsonb_object_agg(lane, statuses), '{}'::jsonb)
|
|
@@ -1401,7 +1411,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1401
1411
|
SELECT 1 FROM jsonb_each(status_mapping)
|
|
1402
1412
|
WHERE jsonb_typeof(value) = 'array'
|
|
1403
1413
|
)
|
|
1404
|
-
`.execute(_)}async function
|
|
1414
|
+
`.execute(_)}async function gJ(_){await WK`
|
|
1405
1415
|
UPDATE org_jira_integrations
|
|
1406
1416
|
SET status_mapping = (
|
|
1407
1417
|
SELECT COALESCE(jsonb_object_agg(status, lane), '{}'::jsonb)
|
|
@@ -1416,7 +1426,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1416
1426
|
SELECT 1 FROM jsonb_each(status_mapping)
|
|
1417
1427
|
WHERE jsonb_typeof(value) = 'array'
|
|
1418
1428
|
)
|
|
1419
|
-
`.execute(_)}var
|
|
1429
|
+
`.execute(_)}var kC={};m(kC,{up:()=>hJ,down:()=>oJ,TYPES:()=>VC});import{sql as A_}from"kysely";var VC=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],cJ=new Set(["mentioned"]);async function hJ(_){await ZK(_,VC)}async function oJ(_){await ZK(_,VC.filter((x)=>!cJ.has(x)))}async function ZK(_,x){await A_`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await A_`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${A_.join(x.map((u)=>A_.lit(u)))}))`.execute(_)}var iC={};m(iC,{up:()=>eJ,down:()=>lJ,ACTIONS:()=>pC});import{sql as w}from"kysely";var aJ=["bug","feature","chore","spike","security"],pC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution","merge_failed","type_changed"],rJ=new Set(["type_changed"]);async function eJ(_){await _.schema.alterTable("task_board_items").addColumn("type","text").execute(),await w`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${w.join(aJ.map((x)=>w.lit(x)))}))`.execute(_),await DK(_,pC)}async function lJ(_){await DK(_,pC.filter((x)=>!rJ.has(x))),await w`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("type").execute()}async function DK(_,x){await w`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await w`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${w.join(x.map((u)=>w.lit(u)))}))`.execute(_)}var tC={};m(tC,{up:()=>dJ,down:()=>sJ});import{sql as Q}from"kysely";var FK=["bug","feature","chore","spike","security"],LK="chore";async function dJ(_){await Q`UPDATE task_board_items SET type = ${Q.lit(LK)} WHERE type IS NULL`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${Q.lit(LK)}`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await Q`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Q`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${Q.join(FK.map((x)=>Q.lit(x)))}))`.execute(_)}async function sJ(_){await Q`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Q`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${Q.join(FK.map((x)=>Q.lit(x)))}))`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var vC={};m(vC,{up:()=>bJ,down:()=>_X});import{sql as c}from"kysely";async function bJ(_){await c`
|
|
1420
1430
|
CREATE TABLE task_board_sprints (
|
|
1421
1431
|
id text PRIMARY KEY,
|
|
1422
1432
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1441,34 +1451,34 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1441
1451
|
CREATE INDEX idx_task_board_items_sprint
|
|
1442
1452
|
ON task_board_items (organization_id, sprint_id)
|
|
1443
1453
|
WHERE sprint_id IS NOT NULL
|
|
1444
|
-
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}async function
|
|
1454
|
+
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}async function _X(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute(),await c`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint_id").execute(),await c`DROP TABLE IF EXISTS task_board_sprints`.execute(_)}var qC={};m(qC,{up:()=>uX,down:()=>mX});import{sql as xX}from"kysely";async function uX(_){await _.schema.alterTable("org_jira_integrations").dropColumn("jql_filter").execute()}async function mX(_){await xX`ALTER TABLE org_jira_integrations ADD COLUMN jql_filter text`.execute(_)}var gC={};m(gC,{up:()=>TX,down:()=>KX});import{sql as CX}from"kysely";async function TX(_){await CX`
|
|
1445
1455
|
UPDATE org_jira_integrations
|
|
1446
1456
|
SET last_synced_at = NULL,
|
|
1447
1457
|
last_sync_error = NULL
|
|
1448
1458
|
WHERE last_synced_at IS NOT NULL
|
|
1449
|
-
`.execute(_)}async function
|
|
1459
|
+
`.execute(_)}async function KX(){}var cC={};m(cC,{up:()=>EX,down:()=>zX});import{sql as NX}from"kysely";async function EX(_){await NX`
|
|
1450
1460
|
UPDATE org_jira_integrations
|
|
1451
1461
|
SET last_synced_at = NULL,
|
|
1452
1462
|
last_sync_error = NULL
|
|
1453
1463
|
WHERE last_synced_at IS NOT NULL
|
|
1454
|
-
`.execute(_)}async function
|
|
1464
|
+
`.execute(_)}async function zX(){}var oC={};m(oC,{up:()=>PX,down:()=>$X});import{sql as hC}from"kysely";async function PX(_){await hC`
|
|
1455
1465
|
ALTER TABLE org_jira_integrations
|
|
1456
1466
|
ADD COLUMN rescan_pending boolean NOT NULL DEFAULT false
|
|
1457
|
-
`.execute(_),await
|
|
1467
|
+
`.execute(_),await hC`
|
|
1458
1468
|
UPDATE org_jira_integrations
|
|
1459
1469
|
SET rescan_pending = true
|
|
1460
1470
|
WHERE last_synced_at IS NULL
|
|
1461
|
-
`.execute(_)}async function
|
|
1471
|
+
`.execute(_)}async function $X(_){await hC`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var aC={};m(aC,{up:()=>UX,down:()=>JX});async function UX(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function JX(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var rC={};m(rC,{up:()=>XX,down:()=>QX});import{sql as RK}from"kysely";async function XX(_){await RK`
|
|
1462
1472
|
ALTER TABLE invitation
|
|
1463
1473
|
ADD COLUMN "autoAccept" boolean NOT NULL DEFAULT false
|
|
1464
|
-
`.execute(_)}async function
|
|
1474
|
+
`.execute(_)}async function QX(_){await RK`ALTER TABLE invitation DROP COLUMN "autoAccept"`.execute(_)}var lC={};m(lC,{up:()=>jX,down:()=>WX});import{sql as eC}from"kysely";async function jX(_){await _.schema.createTable("task_board_column_automations").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("column_key","text",(x)=>x.notNull()).addColumn("prompt","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(eC`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(eC`now()`)).execute(),await _.schema.createIndex("task_board_column_automations_org_column_uniq").ifNotExists().on("task_board_column_automations").columns(["organization_id","column_key"]).unique().execute(),await eC`
|
|
1465
1475
|
INSERT INTO task_board_column_automations
|
|
1466
1476
|
(id, organization_id, column_key, prompt)
|
|
1467
1477
|
SELECT 'tbca_' || organization_id || '_todo', organization_id, 'todo', NULL
|
|
1468
1478
|
FROM org_jira_integrations
|
|
1469
1479
|
WHERE auto_delegate = true
|
|
1470
1480
|
ON CONFLICT DO NOTHING
|
|
1471
|
-
`.execute(_)}async function
|
|
1481
|
+
`.execute(_)}async function WX(_){await _.schema.dropTable("task_board_column_automations").ifExists().execute()}var dC={};m(dC,{up:()=>ZX,down:()=>DX});import{sql as T_}from"kysely";async function ZX(_){await _.schema.alterTable("task_board_items").addColumn("review_cycle_started_at","timestamptz").execute(),await T_`
|
|
1472
1482
|
UPDATE task_board_items i
|
|
1473
1483
|
SET review_cycle_started_at = (
|
|
1474
1484
|
SELECT max(a.occurred_at)
|
|
@@ -1484,13 +1494,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1484
1494
|
WHERE (review_cycle_started_at IS NOT NULL OR status = 'in_review')
|
|
1485
1495
|
AND assignee_id = 'super-agent'
|
|
1486
1496
|
AND dismissed_at IS NULL
|
|
1487
|
-
`.execute(_),await T_`DROP INDEX IF EXISTS idx_task_board_items_pending_review`.execute(_)}async function
|
|
1497
|
+
`.execute(_),await T_`DROP INDEX IF EXISTS idx_task_board_items_pending_review`.execute(_)}async function DX(_){await T_`
|
|
1488
1498
|
CREATE INDEX idx_task_board_items_pending_review
|
|
1489
1499
|
ON task_board_items (updated_at, id)
|
|
1490
1500
|
WHERE status = 'in_review'
|
|
1491
1501
|
AND assignee_id = 'super-agent'
|
|
1492
1502
|
AND dismissed_at IS NULL
|
|
1493
|
-
`.execute(_),await T_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var
|
|
1503
|
+
`.execute(_),await T_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var sC={};m(sC,{up:()=>LX,down:()=>FX});import{sql as YK}from"kysely";async function LX(_){await _.schema.createTable("task_board_columns").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("title","text",(x)=>x.notNull()).addColumn("position","integer",(x)=>x.notNull()).addColumn("role","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(YK`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(YK`now()`)).execute(),await _.schema.createIndex("task_board_columns_org_key_uniq").ifNotExists().on("task_board_columns").columns(["organization_id","key"]).unique().execute(),await _.schema.createIndex("task_board_columns_org_position_idx").ifNotExists().on("task_board_columns").columns(["organization_id","position"]).execute()}async function FX(_){await _.schema.dropTable("task_board_columns").ifExists().execute()}var _T={};m(_T,{up:()=>YX,down:()=>HX,ACTIONS:()=>bC});import{sql as S_}from"kysely";var bC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed"],RX=new Set(["review_verdict_requested"]);async function YX(_){await HK(_,bC)}async function HX(_){await HK(_,bC.filter((x)=>!RX.has(x)))}async function HK(_,x){await S_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await S_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${S_.join(x.map((u)=>S_.lit(u)))}))`.execute(_)}var xT={};m(xT,{up:()=>MX,down:()=>BX});import{sql as I_}from"kysely";async function MX(_){await _.schema.alterTable("task_board_items").addColumn("board_column_org","text").execute(),await I_`
|
|
1494
1504
|
ALTER TABLE task_board_items
|
|
1495
1505
|
ADD CONSTRAINT chk_task_board_items_column_org
|
|
1496
1506
|
CHECK (board_column_org IS NULL OR board_column_org = organization_id)
|
|
@@ -1500,13 +1510,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1500
1510
|
FOREIGN KEY (board_column_org, status)
|
|
1501
1511
|
REFERENCES task_board_columns (organization_id, key)
|
|
1502
1512
|
ON DELETE RESTRICT
|
|
1503
|
-
`.execute(_)}async function
|
|
1513
|
+
`.execute(_)}async function BX(_){await I_`
|
|
1504
1514
|
ALTER TABLE task_board_items
|
|
1505
1515
|
DROP CONSTRAINT IF EXISTS task_board_items_board_column_fkey
|
|
1506
1516
|
`.execute(_),await I_`
|
|
1507
1517
|
ALTER TABLE task_board_items
|
|
1508
1518
|
DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org
|
|
1509
|
-
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var
|
|
1519
|
+
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var uT={};m(uT,{up:()=>GX,down:()=>nX});async function GX(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function nX(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var CT={};m(CT,{up:()=>fX,down:()=>OX,ACTIONS:()=>mT});import{sql as w_}from"kysely";var mT=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed","sprint_changed"],yX=new Set(["sprint_changed"]);async function fX(_){await MK(_,mT)}async function OX(_){await MK(_,mT.filter((x)=>!yX.has(x)))}async function MK(_,x){await w_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await w_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${w_.join(x.map((u)=>w_.lit(u)))}))`.execute(_)}var TT={};m(TT,{up:()=>SX,down:()=>IX});import{sql as AX}from"kysely";async function SX(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(AX`'[]'::jsonb`)).execute()}async function IX(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var KT={};m(KT,{up:()=>wX,down:()=>VX});import{sql as BK}from"kysely";async function wX(_){await _.schema.createTable("task_board_prompts").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("column_key","text").addColumn("prompt","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(BK`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(BK`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function VX(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var NT={};m(NT,{up:()=>pX,down:()=>iX});import{sql as kX}from"kysely";async function pX(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await kX`
|
|
1510
1520
|
UPDATE task_board_items i
|
|
1511
1521
|
SET external_url = t.url,
|
|
1512
1522
|
description = CASE
|
|
@@ -1525,11 +1535,11 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1525
1535
|
ON g.organization_id = l.organization_id
|
|
1526
1536
|
) t
|
|
1527
1537
|
WHERE t.item_id = i.id
|
|
1528
|
-
`.execute(_)}async function
|
|
1538
|
+
`.execute(_)}async function iX(_){await _.schema.alterTable("task_board_items").dropColumn("external_url").execute()}var ET={};m(ET,{up:()=>vX,down:()=>qX,ACTIONS:()=>GK});import{sql as J}from"kysely";var tX=["triage","todo","in_progress","in_review","approved","merged","post_deploy_validation","done","archived"],GK=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed"];async function vX(_){await J`ALTER TABLE task_board_items DROP CONSTRAINT IF EXISTS task_board_items_board_column_fkey`.execute(_),await J`ALTER TABLE task_board_items DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS board_column_org`.execute(_),await J`DROP TABLE IF EXISTS task_board_columns`.execute(_),await J`
|
|
1529
1539
|
UPDATE task_board_items
|
|
1530
1540
|
SET status = 'triage'
|
|
1531
|
-
WHERE status NOT IN (${J.join(
|
|
1532
|
-
`.execute(_),await J`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await J`DROP TABLE IF EXISTS task_board_sprints`.execute(_),await
|
|
1541
|
+
WHERE status NOT IN (${J.join(tX.map((x)=>J.lit(x)))})
|
|
1542
|
+
`.execute(_),await J`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await J`DROP TABLE IF EXISTS task_board_sprints`.execute(_),await gX(_,GK),await J`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await J`
|
|
1533
1543
|
ALTER TABLE task_board_item_jira_links
|
|
1534
1544
|
DROP COLUMN IF EXISTS jira_updated_at,
|
|
1535
1545
|
DROP COLUMN IF EXISTS jira_status,
|
|
@@ -1541,7 +1551,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1541
1551
|
DROP COLUMN IF EXISTS last_synced_at,
|
|
1542
1552
|
DROP COLUMN IF EXISTS last_sync_error,
|
|
1543
1553
|
DROP COLUMN IF EXISTS rescan_pending
|
|
1544
|
-
`.execute(_)}async function
|
|
1554
|
+
`.execute(_)}async function qX(){}async function gX(_,x){await J`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await J`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${J.join(x.map((u)=>J.lit(u)))}))`.execute(_)}var zT={};m(zT,{up:()=>cX,down:()=>hX});import{sql as h}from"kysely";async function cX(_){await h`
|
|
1545
1555
|
ALTER TABLE task_board_items
|
|
1546
1556
|
ADD COLUMN IF NOT EXISTS source text
|
|
1547
1557
|
CONSTRAINT chk_task_board_items_source CHECK (source IN ('jira'))
|
|
@@ -1562,24 +1572,24 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1562
1572
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1563
1573
|
PRIMARY KEY (organization_id, jira_issue_id, changelog_id)
|
|
1564
1574
|
)
|
|
1565
|
-
`.execute(_)}async function
|
|
1575
|
+
`.execute(_)}async function hX(_){await h`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await h`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await h`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var PT={};m(PT,{up:()=>oX,down:()=>aX});import{sql as K_}from"kysely";async function oX(_){await _.schema.createTable("organization_notices").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("severity","text",(x)=>x.notNull().check(K_`severity IN ('warn', 'block')`)).addColumn("title","text",(x)=>x.notNull()).addColumn("message","text",(x)=>x.notNull()).addColumn("cta_label","text").addColumn("cta_url","text").addColumn("source","text",(x)=>x.notNull().defaultTo("manual")).addColumn("resolved_at","timestamptz").addColumn("resolved_by","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(K_`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(K_`now()`)).execute(),await K_`
|
|
1566
1576
|
CREATE UNIQUE INDEX IF NOT EXISTS organization_notices_active_uniq
|
|
1567
1577
|
ON organization_notices (organization_id)
|
|
1568
1578
|
WHERE resolved_at IS NULL
|
|
1569
|
-
`.execute(_),await
|
|
1579
|
+
`.execute(_),await K_`
|
|
1570
1580
|
CREATE INDEX IF NOT EXISTS organization_notices_org_created_idx
|
|
1571
1581
|
ON organization_notices (organization_id, created_at DESC)
|
|
1572
|
-
`.execute(_)}async function
|
|
1582
|
+
`.execute(_)}async function aX(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var UT={};m(UT,{up:()=>mQ,down:()=>CQ});import{sql as $T}from"kysely";import{sql as xZ}from"kysely";var nK=50000000,rX=1e5;function eX(_,x){let u=0,T=0,C=[_];while(C.length>0){if(u>x||++T>rX)return 1/0;let K=C.pop();if(typeof K==="string")u+=K.length;else if(Array.isArray(K))for(let E of K)C.push(E);else if(K!==null&&typeof K==="object")for(let E of Object.values(K))C.push(E)}return u}var lX=/\u0000/g,dX=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,sX=/([a-z][a-z0-9+.-]{0,30}:\/\/)[^\s/@]{1,512}@/gi,bX=/\b(gh[pousr]_|github_pat_)[A-Za-z0-9_]{20,}/g,_Q=/data:[a-z0-9.+-]{0,60}\/[a-z0-9.+-]{0,60};base64,[A-Za-z0-9+/=]{100,}/gi;function xQ(_){return _.replace(lX,"").replace(dX,"\uFFFD").replace(sX,"$1***@").replace(bX,"$1***").replace(_Q,"[base64 data omitted]")}function uQ(_){if(typeof _!=="object"||_===null)return!1;let x=_;if(x.type!=="image")return!1;if(typeof x.data==="string")return!0;let u=x.source;return typeof u==="object"&&u!==null&&typeof u.data==="string"}function yK(_){if(eX(_,nK)>nK)return JSON.stringify({truncated:!0,reason:"payload exceeds max stored size"});return JSON.stringify(_,(x,u)=>{if(typeof u==="string")return xQ(u);if(uQ(u))return{type:"text",text:"[image omitted]"};return u})}var fK=20;async function mQ(_){let x=await $T`
|
|
1573
1583
|
SELECT id FROM thread_message_parts
|
|
1574
1584
|
WHERE pg_column_size(payload) > 8192
|
|
1575
1585
|
AND (payload::text LIKE '%"type": "image"%' OR payload::text LIKE '%;base64,%')
|
|
1576
|
-
`.execute(_);for(let u=0;u<x.rows.length;u+=
|
|
1586
|
+
`.execute(_);for(let u=0;u<x.rows.length;u+=fK){let T=x.rows.slice(u,u+fK).map((K)=>K.id),C=await $T`
|
|
1577
1587
|
SELECT id, payload FROM thread_message_parts WHERE id = ANY(${T})
|
|
1578
|
-
`.execute(_);for(let
|
|
1588
|
+
`.execute(_);for(let K of C.rows){let E=yK(K.payload);if(E===JSON.stringify(K.payload))continue;await $T`
|
|
1579
1589
|
UPDATE thread_message_parts
|
|
1580
1590
|
SET payload = ${E}::jsonb
|
|
1581
|
-
WHERE id = ${
|
|
1582
|
-
`.execute(_)}}}async function
|
|
1591
|
+
WHERE id = ${K.id}
|
|
1592
|
+
`.execute(_)}}}async function CQ(){}var JT={};m(JT,{up:()=>TQ,down:()=>KQ});async function TQ(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function KQ(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var XT={};m(XT,{up:()=>NQ,down:()=>EQ});import{sql as P}from"kysely";async function NQ(_){await P`
|
|
1583
1593
|
CREATE TABLE git_provider_accounts (
|
|
1584
1594
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1585
1595
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1823,11 +1833,11 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1823
1833
|
AND r.organization_id = s.organization_id
|
|
1824
1834
|
AND r.host = 'github.com'
|
|
1825
1835
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name)
|
|
1826
|
-
`.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function
|
|
1836
|
+
`.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function EQ(_){await P`
|
|
1827
1837
|
ALTER TABLE org_repo_sync DROP CONSTRAINT IF EXISTS org_repo_sync_source_present
|
|
1828
1838
|
`.execute(_),await P`DELETE FROM org_repo_sync WHERE connection_id IS NULL`.execute(_),await P`
|
|
1829
1839
|
ALTER TABLE org_repo_sync ALTER COLUMN connection_id SET NOT NULL
|
|
1830
|
-
`.execute(_),await P`ALTER TABLE org_repo_sync DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_item_prs DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_items DROP COLUMN IF EXISTS repository_id`.execute(_),await P`DROP TABLE IF EXISTS repositories`.execute(_),await P`DROP TABLE IF EXISTS git_provider_oauth_states`.execute(_),await P`DROP TABLE IF EXISTS git_provider_account_credentials`.execute(_),await P`DROP TABLE IF EXISTS git_provider_accounts`.execute(_)}var
|
|
1840
|
+
`.execute(_),await P`ALTER TABLE org_repo_sync DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_item_prs DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_items DROP COLUMN IF EXISTS repository_id`.execute(_),await P`DROP TABLE IF EXISTS repositories`.execute(_),await P`DROP TABLE IF EXISTS git_provider_oauth_states`.execute(_),await P`DROP TABLE IF EXISTS git_provider_account_credentials`.execute(_),await P`DROP TABLE IF EXISTS git_provider_accounts`.execute(_)}var QT={};m(QT,{up:()=>PQ,down:()=>$Q});import{sql as H}from"kysely";var zQ=H`
|
|
1831
1841
|
CREATE OR REPLACE FUNCTION repo_ref_try_jsonb(value text)
|
|
1832
1842
|
RETURNS jsonb LANGUAGE plpgsql IMMUTABLE AS $$
|
|
1833
1843
|
BEGIN
|
|
@@ -1836,7 +1846,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1836
1846
|
RETURN NULL;
|
|
1837
1847
|
END;
|
|
1838
1848
|
$$
|
|
1839
|
-
`;async function
|
|
1849
|
+
`;async function PQ(_){await zQ.execute(_),await H`
|
|
1840
1850
|
ALTER TABLE connections
|
|
1841
1851
|
ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
|
|
1842
1852
|
`.execute(_),await H`
|
|
@@ -1898,29 +1908,29 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
|
|
|
1898
1908
|
AND r.host = 'github.com'
|
|
1899
1909
|
AND lower(r.path) = lower((entry ->> 'owner') || '/' || (entry ->> 'name'))
|
|
1900
1910
|
ON CONFLICT (thread_id, repository_id) DO NOTHING
|
|
1901
|
-
`.execute(_),await H`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function
|
|
1911
|
+
`.execute(_),await H`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function $Q(_){await H`DROP TABLE IF EXISTS thread_repositories`.execute(_),await H`
|
|
1902
1912
|
ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
|
|
1903
|
-
`.execute(_)}var EQ={"001-initial-schema":d_,"002-organization-settings":s_,"003-connection-schema-align":b_,"004-remove-models-binding":_x,"005-connection-configuration":xx,"006-add-views-to-settings":ux,"007-monitoring-logs":mx,"008-event-bus":Cx,"009-drop-audit-logs":Tx,"010-gateways":Nx,"011-gateway-icon":Kx,"012-gateway-tool-selection-mode":Ex,"013-monitoring-user-agent-gateway":zx,"014-gateway-resources-prompts":Px,"015-monitoring-properties":$x,"016-downstream-token-client-info":Ux,"017-downstream-token-remove-userid":Jx,"018-drop-gateway-tool-selection-strategy":Xx,"019-remove-gateway-is-default":Qx,"020-enabled-plugins":jx,"021-threads":Wx,"022-rename-gateway-to-virtual-mcp":Zx,"023-optimize-thread-indexes":Lx,"024-consolidate-virtual-mcp":Dx,"025-add-monitoring-virtual-mcp-id":Fx,"026-restrict-child-connection-delete":Rx,"027-update-management-mcp-url":Hx,"028-update-management-mcp-to-self":Bx,"029-add-updated-by-to-connections":Gx,"030-member-tags":nx,"031-add-dependency-mode":yx,"032-projects":fx,"033-thread-status":Ox,"034-monitoring-dashboards":Ax,"035-project-connections":Sx,"036-update-registry-url":Ix,"037-ai-provider-keys":wx,"038-oauth-pkce-states":Vx,"039-automations":kx,"040-replace-next-run-at-with-last-run-at":px,"041-ai-provider-keys-unique-constraint":ix,"042-rename-mesh-mcp-to-cms-mcp":tx,"043-rename-cms-mcp-to-deco-cms":vx,"044-drop-connections-tools-column":qx,"045-thread-context-start-message":gx,"046-remove-object-storage-plugin":hx,"047-add-next-run-at":ox,"048-merge-projects-agents":rx,"049-remove-org-admin-projects":ex,"050-durable-agent-runs":lx,"051-org-sso":sx,"052-thread-agent-ids":bx,"053-registry-config":_u,"054-connection-slug":uu,"055-spaces":mu,"056-automation-project-scope":Cu,"057-thread-virtual-mcp-id":Tu,"058-trigger-callback-tokens":Nu,"059-kv":Ku,"060-member-index":Eu,"061-downstream-token-connection-index":zu,"062-private-registry":Pu,"063-event-subscriptions-enabled-boolean":$u,"064-brand-context":Uu,"065-organization-domains":Ju,"066-brand-context-structured":Xu,"067-threads-metadata":Qu,"068-threads-branch":ju,"069-sandbox-runner-state":Wu,"070-model-categories":Zu,"071-default-home-agents":Lu,"072-ai-provider-key-preset-id":Du,"073-backfill-basic-usage-roles":Fu,"074-sandbox-runner-state-handle-nonunique":Ru,"075-thread-inflight-async-jobs":Yu,"076-automations-drop-agent-json":Hu,"077-tier-only-model-selection":Bu,"078-automation-tool-call-kind":Gu,"079-strip-legacy-freestyle-vm-map-entries":nu,"080-async-research-jobs":yu,"081-async-research-jobs-result-content":fu,"082-secrets":Ou,"083-thread-run-locally":Au,"084-drop-host-sandbox-rows":Su,"085-rename-runner-kind":Iu,"086-thread-pins-and-vm-map-rekey":wu,"087-fix-vm-map-rekey":Vu,"088-purge-cli-activate-keys":ku,"089-rename-remote-user-to-desktop":pu,"090-automation-webhook-triggers":iu,"091-organization-domains-allow-multi":tu,"092-sandbox-naming-uniformization":vu,"093-backfill-global-search-basic-usage":qu,"094-org-file-configs":cu,"095-remove-automation-tool-call-kind":hu,"096-org-file-configs-public-url-base":ou,"097-drop-local-docker-sandbox-state":ru,"098-thread-message-parts":eu,"099-run-fence":lu,"100-link-transport":du,"101-cancel-requested-at":su,"102-observational-agent":bu,"103-revert-observational-agent":_m,"104-agent-sandbox-provider-kind":um,"105-org-fs":mm,"106-automation-tools":Cm,"107-org-fs-public-org":Tm,"108-automation-max-agent-steps":Nm,"109-thread-message-parts-per-message-seq":Km,"110-backfill-ghs-token-expiry":Em,"111-org-fs-thread-id":zm,"112-org-file-configs-credential-type":Pm,"113-thread-failure-reason":$m,"114-run-acked-seq":Um,"115-thread-projected-seq":Jm,"116-org-sites":Xm,"117-org-file-configs-site-slug":Qm,"118-organization-domains-multi-verify":jm,"119-organization-join-requests":Wm,"120-org-fs-read-public":Zm,"121-org-fs-share-password":Lm,"122-split-web-research-tier":Rm,"123-connection-credential-vault":Ym,"124-drop-thread-projected-seq":Hm,"125-github-child-single-parent":Mm,"126-task-board":Gm,"127-task-board-due-date":nm,"128-reports-only":ym,"129-task-board-assigned-by":fm,"130-task-board-thread-id":Om,"131-task-board-thread-link-cascade":Am,"132-task-board-item-prs":Sm,"133-dedupe-duplicate-members":Im,"134-drop-task-board-enabled":wm,"135-task-board-item-fk-cascade":Vm,"136-task-board-import-idempotency":km,"137-agent-sandbox-runner-state":pm,"138-agent-sandbox-sessions":im,"139-organization-billing":tm,"140-seat-change-log":vm,"141-benefits-sync-pending":qm,"142-stripe-event-watermark":gm,"143-armed-report-url":cm,"144-benefits-pending-index":hm,"145-user-model-preferences":om,"146-organization-main-agent":am,"147-drop-agent-sandbox-tables":rm,"148-org-flags":em,"149-task-board-item-sort-order":lm,"150-task-board-activity":dm,"151-task-board-tags":bm,"152-repair-connection-slug":xC,"153-task-board-latest-assistant-part-index":uC,"154-task-board-qa-activity":CC,"155-task-board-review-claims":TC,"156-task-board-conflict-activity":KC,"157-drop-seat-billing":EC,"158-drop-github-child-single-parent":zC,"159-task-board-comments":PC,"160-task-quota-billing":$C,"161-task-quota-claim-state":JC,"162-claude-subscriptions":XC,"163-task-board-item-dismissed":QC,"164-per-org-task-quota":jC,"165-task-board-pending-review-index":WC,"166-task-board-last-swept-at":ZC,"167-task-board-run-retry":LC,"168-org-repo-sync":FC,"169-task-board-merge-failed-activity":YC,"170-task-board-item-repo":HC,"171-jira-integration":MC,"172-task-board-item-key-seq":BC,"173-thread-github-repo-connection-index":GC,"174-thread-message-parts-persisted-at":yC,"175-task-board-sprints":fC,"176-task-board-done-sweep-index":OC,"177-notifications":AC,"178-jira-status-mapping-array":SC,"179-notification-mentioned":wC,"180-task-board-item-type":kC,"181-task-board-item-type-required":pC,"182-task-board-sprints-entities":iC,"183-drop-jira-jql-filter":tC,"184-jira-rescan-after-scope-change":vC,"185-jira-rescan-existing-cards":qC,"186-jira-rescan-pending-flag":cC,"187-task-board-comment-thread":hC,"188-invitation-auto-accept":oC,"189-task-board-column-automations":rC,"190-task-board-review-cycle-started-at":eC,"191-task-board-columns":lC,"192-task-board-verdict-nudge-activity":sC,"193-task-board-status-column-fk":bC,"194-jira-link-sprint":_T,"195-task-board-sprint-activity":uT,"196-task-board-column-tracker-statuses":mT,"197-task-board-prompts":CT,"198-task-board-external-url":TT,"199-drop-jira-mirror-and-org-columns":NT,"200-jira-run-trigger":KT,"201-organization-notices":ET,"202-redact-base64-thread-parts":PT,"203-task-board-preview-routes":$T,"204-git-provider-accounts-and-repositories":UT,"205-repository-references":JT,"206-repository-consumers":l_,"207-task-board-prs-repo-idx":e_,"208-github-connect-flows":r_,"209-github-installation-authorization":a_,"210-github-repository-authorization":c_,"211-user-fs-org":g_,"212-coding-agent-mcp-excluded":h_,"213-bitbucket-git-provider":o_,"214-connections-sanitized-id-idx":v_,"215-commerce-discovery-repository":q_},XT=EQ;import{getMigrations as iQ}from"better-auth/db";import{sso as tQ}from"@better-auth/sso";import{organization as vQ}from"@decocms/better-auth/plugins";import{admin as qQ,apiKey as gQ,jwt as cQ,magicLink as hQ,mcp as oQ,openAPI as aQ}from"better-auth/plugins";import{emailOTP as rQ}from"better-auth/plugins/email-otp";import{Kysely as AQ,PostgresDialect as iN}from"kysely";import{Pool as tN}from"pg";import{homedir as zQ}from"os";var PQ=new Set(["all","worker","api"]);function $Q(_){let x=(_??"").trim();return PQ.has(x)?x:"all"}var UQ=new Set(["production","development","test"]);function JQ(_){let x=(_??"").trim();return UQ.has(x)?x:"development"}function L(_){return _==="true"||_==="1"}function jT(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function y(_,x,u,T){return jT(_,x,T)??u}function XQ(_,x,u,T){if(x===void 0||x==="")return u;let C=Number(x);if(!Number.isSafeInteger(C)||C<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&C>T)throw Error(`${_} must be at most ${T}`);return C}function QT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function yN(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function QQ(_){return _===void 0||_===""||_==="true"||_==="1"}function K_(_,x){return _||x}function fN(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${zQ()}/deco`,T=_.localMode,C=_.nodeEnv||JQ(x.NODE_ENV),N=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:y("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:K_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:L(x.DATABASE_PG_SSL),databasePoolMax:y("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:y("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:K_(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:L(x.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:L(x.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((K)=>K.trim().toLowerCase()).filter(Boolean),deploymentAdminToken:x.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:jT("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:L(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:XQ("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:L(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:y("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:y("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:y("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:L(x.ENABLE_DECO_IMPORT),hostingControlPlaneGa:L(x.HOSTING_CONTROL_PLANE_GA),monitorGa:L(x.MONITOR_GA),mcpCacheEnabled:QT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:y("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:y("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:QT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:y("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:QQ(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:jT("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:$Q(K_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:L(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:L(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:QT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:L(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:y("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,controlplaneRestUrl:x.CONTROLPLANE_REST_URL,controlplaneServiceToken:x.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:x.ANALYTICS_URL,analyticsMasterToken:x.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:K_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:K_(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:yN(x.DATABASE_URL),externalNatsUrl:yN(N),skipMigrations:_.skipMigrations}}var V_=null;function o(){if(!V_)jQ();return V_}function jQ(){if(V_)return;let _={...process.env},x=fN({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);V_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as RQ,metrics as YQ,propagation as Q4,ROOT_CONTEXT as j4,SpanStatusCode as W4,trace as HQ}from"@opentelemetry/api";import{logs as MQ,SeverityNumber as WT}from"@opentelemetry/api-logs";import{OTLPLogExporter as D4}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as BQ}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Y4}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as M4}from"@opentelemetry/instrumentation-runtime-node";import{context as zZ,propagation as PZ,SpanKind as $Z,SpanStatusCode as UZ}from"@opentelemetry/api";var XZ=globalThis.fetch;import{ExportResultCode as BZ}from"@opentelemetry/core";import{ExportResultCode as k_}from"@opentelemetry/core";import{mkdir as WQ,rename as ZQ,writeFile as LQ}from"fs/promises";import{join as p_}from"path";class i_{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:k_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:k_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:k_.FAILED}});return Promise.resolve({code:k_.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 x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let C of _){let N=x.get(C.partition);if(!N)N=[],x.set(C.partition,N);N.push(C.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([C,N])=>this.writeNDJSON(N,C).then(()=>C))),T=u.find((C)=>C.status==="rejected");if(T){let C=new Set;for(let E of u)if(E.status==="fulfilled")C.add(E.value);let N=_.filter((E)=>!C.has(E.partition));this.bufferItems=N.concat(this.bufferItems),this.bufferBytes=0;for(let E of this.bufferItems)this.bufferBytes+=Buffer.byteLength(E.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],C=x?p_(this.basePath,x,...T):p_(this.basePath,...T);if(!this.knownDirs.has(C))await WQ(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let N=`${crypto.randomUUID()}.ndjson`,E=p_(C,`.${N}.tmp`),K=p_(C,N),z=_.join(`
|
|
1913
|
+
`.execute(_)}var UQ={"001-initial-schema":b_,"002-organization-settings":_x,"003-connection-schema-align":xx,"004-remove-models-binding":ux,"005-connection-configuration":mx,"006-add-views-to-settings":Cx,"007-monitoring-logs":Tx,"008-event-bus":Kx,"009-drop-audit-logs":Nx,"010-gateways":Ex,"011-gateway-icon":zx,"012-gateway-tool-selection-mode":Px,"013-monitoring-user-agent-gateway":$x,"014-gateway-resources-prompts":Ux,"015-monitoring-properties":Jx,"016-downstream-token-client-info":Xx,"017-downstream-token-remove-userid":Qx,"018-drop-gateway-tool-selection-strategy":jx,"019-remove-gateway-is-default":Wx,"020-enabled-plugins":Zx,"021-threads":Dx,"022-rename-gateway-to-virtual-mcp":Lx,"023-optimize-thread-indexes":Fx,"024-consolidate-virtual-mcp":Rx,"025-add-monitoring-virtual-mcp-id":Yx,"026-restrict-child-connection-delete":Hx,"027-update-management-mcp-url":Bx,"028-update-management-mcp-to-self":nx,"029-add-updated-by-to-connections":yx,"030-member-tags":fx,"031-add-dependency-mode":Ox,"032-projects":Ax,"033-thread-status":Sx,"034-monitoring-dashboards":Ix,"035-project-connections":wx,"036-update-registry-url":Vx,"037-ai-provider-keys":kx,"038-oauth-pkce-states":px,"039-automations":ix,"040-replace-next-run-at-with-last-run-at":tx,"041-ai-provider-keys-unique-constraint":vx,"042-rename-mesh-mcp-to-cms-mcp":qx,"043-rename-cms-mcp-to-deco-cms":gx,"044-drop-connections-tools-column":cx,"045-thread-context-start-message":hx,"046-remove-object-storage-plugin":ax,"047-add-next-run-at":rx,"048-merge-projects-agents":lx,"049-remove-org-admin-projects":dx,"050-durable-agent-runs":sx,"051-org-sso":_u,"052-thread-agent-ids":xu,"053-registry-config":uu,"054-connection-slug":Cu,"055-spaces":Tu,"056-automation-project-scope":Ku,"057-thread-virtual-mcp-id":Nu,"058-trigger-callback-tokens":Eu,"059-kv":zu,"060-member-index":Pu,"061-downstream-token-connection-index":$u,"062-private-registry":Uu,"063-event-subscriptions-enabled-boolean":Ju,"064-brand-context":Xu,"065-organization-domains":Qu,"066-brand-context-structured":ju,"067-threads-metadata":Wu,"068-threads-branch":Zu,"069-sandbox-runner-state":Du,"070-model-categories":Lu,"071-default-home-agents":Fu,"072-ai-provider-key-preset-id":Ru,"073-backfill-basic-usage-roles":Yu,"074-sandbox-runner-state-handle-nonunique":Hu,"075-thread-inflight-async-jobs":Mu,"076-automations-drop-agent-json":Bu,"077-tier-only-model-selection":nu,"078-automation-tool-call-kind":yu,"079-strip-legacy-freestyle-vm-map-entries":fu,"080-async-research-jobs":Ou,"081-async-research-jobs-result-content":Au,"082-secrets":Su,"083-thread-run-locally":Iu,"084-drop-host-sandbox-rows":wu,"085-rename-runner-kind":Vu,"086-thread-pins-and-vm-map-rekey":ku,"087-fix-vm-map-rekey":pu,"088-purge-cli-activate-keys":iu,"089-rename-remote-user-to-desktop":tu,"090-automation-webhook-triggers":vu,"091-organization-domains-allow-multi":qu,"092-sandbox-naming-uniformization":gu,"093-backfill-global-search-basic-usage":cu,"094-org-file-configs":ou,"095-remove-automation-tool-call-kind":au,"096-org-file-configs-public-url-base":ru,"097-drop-local-docker-sandbox-state":lu,"098-thread-message-parts":du,"099-run-fence":su,"100-link-transport":bu,"101-cancel-requested-at":_m,"102-observational-agent":xm,"103-revert-observational-agent":um,"104-agent-sandbox-provider-kind":Cm,"105-org-fs":Tm,"106-automation-tools":Km,"107-org-fs-public-org":Nm,"108-automation-max-agent-steps":Em,"109-thread-message-parts-per-message-seq":zm,"110-backfill-ghs-token-expiry":Pm,"111-org-fs-thread-id":$m,"112-org-file-configs-credential-type":Um,"113-thread-failure-reason":Jm,"114-run-acked-seq":Xm,"115-thread-projected-seq":Qm,"116-org-sites":jm,"117-org-file-configs-site-slug":Wm,"118-organization-domains-multi-verify":Zm,"119-organization-join-requests":Dm,"120-org-fs-read-public":Lm,"121-org-fs-share-password":Fm,"122-split-web-research-tier":Hm,"123-connection-credential-vault":Mm,"124-drop-thread-projected-seq":Bm,"125-github-child-single-parent":Gm,"126-task-board":ym,"127-task-board-due-date":fm,"128-reports-only":Om,"129-task-board-assigned-by":Am,"130-task-board-thread-id":Sm,"131-task-board-thread-link-cascade":Im,"132-task-board-item-prs":wm,"133-dedupe-duplicate-members":Vm,"134-drop-task-board-enabled":km,"135-task-board-item-fk-cascade":pm,"136-task-board-import-idempotency":im,"137-agent-sandbox-runner-state":tm,"138-agent-sandbox-sessions":vm,"139-organization-billing":qm,"140-seat-change-log":gm,"141-benefits-sync-pending":cm,"142-stripe-event-watermark":hm,"143-armed-report-url":om,"144-benefits-pending-index":am,"145-user-model-preferences":rm,"146-organization-main-agent":em,"147-drop-agent-sandbox-tables":lm,"148-org-flags":dm,"149-task-board-item-sort-order":sm,"150-task-board-activity":bm,"151-task-board-tags":xC,"152-repair-connection-slug":mC,"153-task-board-latest-assistant-part-index":CC,"154-task-board-qa-activity":KC,"155-task-board-review-claims":NC,"156-task-board-conflict-activity":zC,"157-drop-seat-billing":PC,"158-drop-github-child-single-parent":$C,"159-task-board-comments":UC,"160-task-quota-billing":JC,"161-task-quota-claim-state":QC,"162-claude-subscriptions":jC,"163-task-board-item-dismissed":WC,"164-per-org-task-quota":ZC,"165-task-board-pending-review-index":DC,"166-task-board-last-swept-at":LC,"167-task-board-run-retry":FC,"168-org-repo-sync":YC,"169-task-board-merge-failed-activity":MC,"170-task-board-item-repo":BC,"171-jira-integration":GC,"172-task-board-item-key-seq":nC,"173-thread-github-repo-connection-index":yC,"174-thread-message-parts-persisted-at":OC,"175-task-board-sprints":AC,"176-task-board-done-sweep-index":SC,"177-notifications":IC,"178-jira-status-mapping-array":wC,"179-notification-mentioned":kC,"180-task-board-item-type":iC,"181-task-board-item-type-required":tC,"182-task-board-sprints-entities":vC,"183-drop-jira-jql-filter":qC,"184-jira-rescan-after-scope-change":gC,"185-jira-rescan-existing-cards":cC,"186-jira-rescan-pending-flag":oC,"187-task-board-comment-thread":aC,"188-invitation-auto-accept":rC,"189-task-board-column-automations":lC,"190-task-board-review-cycle-started-at":dC,"191-task-board-columns":sC,"192-task-board-verdict-nudge-activity":_T,"193-task-board-status-column-fk":xT,"194-jira-link-sprint":uT,"195-task-board-sprint-activity":CT,"196-task-board-column-tracker-statuses":TT,"197-task-board-prompts":KT,"198-task-board-external-url":NT,"199-drop-jira-mirror-and-org-columns":ET,"200-jira-run-trigger":zT,"201-organization-notices":PT,"202-redact-base64-thread-parts":UT,"203-task-board-preview-routes":JT,"204-git-provider-accounts-and-repositories":XT,"205-repository-references":QT,"206-repository-consumers":s_,"207-task-board-prs-repo-idx":d_,"208-github-connect-flows":l_,"209-github-installation-authorization":e_,"210-github-repository-authorization":o_,"211-user-fs-org":h_,"212-coding-agent-mcp-excluded":a_,"213-bitbucket-git-provider":r_,"214-connections-sanitized-id-idx":v_,"215-commerce-discovery-repository":q_,"216-github-cli-auth":c_},jT=UQ;import{getMigrations as gQ}from"better-auth/db";import{sso as cQ}from"@better-auth/sso";import{organization as hQ}from"@decocms/better-auth/plugins";import{admin as oQ,apiKey as aQ,jwt as rQ,magicLink as eQ,mcp as lQ,openAPI as dQ}from"better-auth/plugins";import{emailOTP as sQ}from"better-auth/plugins/email-otp";import{Kysely as VQ,PostgresDialect as vK}from"kysely";import{Pool as qK}from"pg";import{homedir as JQ}from"os";var XQ=new Set(["all","worker","api"]);function QQ(_){let x=(_??"").trim();return XQ.has(x)?x:"all"}var jQ=new Set(["production","development","test"]);function WQ(_){let x=(_??"").trim();return jQ.has(x)?x:"development"}function D(_){return _==="true"||_==="1"}function ZT(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function y(_,x,u,T){return ZT(_,x,T)??u}function ZQ(_,x,u,T){if(x===void 0||x==="")return u;let C=Number(x);if(!Number.isSafeInteger(C)||C<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&C>T)throw Error(`${_} must be at most ${T}`);return C}function WT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function OK(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function DQ(_){return _===void 0||_===""||_==="true"||_==="1"}function N_(_,x){return _||x}function AK(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${JQ()}/deco`,T=_.localMode,C=_.nodeEnv||WQ(x.NODE_ENV),K=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:y("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:N_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:D(x.DATABASE_PG_SSL),databasePoolMax:y("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:y("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:N_(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:D(x.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:D(x.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((N)=>N.trim().toLowerCase()).filter(Boolean),deploymentAdminToken:x.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:ZT("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:D(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:ZQ("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:D(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:y("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:y("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:y("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:D(x.ENABLE_DECO_IMPORT),hostingControlPlaneGa:D(x.HOSTING_CONTROL_PLANE_GA),monitorGa:D(x.MONITOR_GA),mcpCacheEnabled:WT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:D(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:y("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:y("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:WT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:y("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:DQ(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:ZT("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:QQ(N_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:D(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:D(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:WT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:D(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:y("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,controlplaneRestUrl:x.CONTROLPLANE_REST_URL,controlplaneServiceToken:x.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:x.ANALYTICS_URL,analyticsMasterToken:x.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:N_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:N_(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:OK(x.DATABASE_URL),externalNatsUrl:OK(K),skipMigrations:_.skipMigrations}}var V_=null;function o(){if(!V_)LQ();return V_}function LQ(){if(V_)return;let _={...process.env},x=AK({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);V_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as BQ,metrics as GQ,propagation as L4,ROOT_CONTEXT as F4,SpanStatusCode as R4,trace as nQ}from"@opentelemetry/api";import{logs as yQ,SeverityNumber as DT}from"@opentelemetry/api-logs";import{OTLPLogExporter as M4}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as fQ}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as n4}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as f4}from"@opentelemetry/instrumentation-runtime-node";import{context as XZ,propagation as QZ,SpanKind as jZ,SpanStatusCode as WZ}from"@opentelemetry/api";var DZ=globalThis.fetch;import{ExportResultCode as OZ}from"@opentelemetry/core";import{ExportResultCode as k_}from"@opentelemetry/core";import{mkdir as FQ,rename as RQ,writeFile as YQ}from"fs/promises";import{join as p_}from"path";class i_{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:k_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:k_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:k_.FAILED}});return Promise.resolve({code:k_.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 x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let C of _){let K=x.get(C.partition);if(!K)K=[],x.set(C.partition,K);K.push(C.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([C,K])=>this.writeNDJSON(K,C).then(()=>C))),T=u.find((C)=>C.status==="rejected");if(T){let C=new Set;for(let E of u)if(E.status==="fulfilled")C.add(E.value);let K=_.filter((E)=>!C.has(E.partition));this.bufferItems=K.concat(this.bufferItems),this.bufferBytes=0;for(let E of this.bufferItems)this.bufferBytes+=Buffer.byteLength(E.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],C=x?p_(this.basePath,x,...T):p_(this.basePath,...T);if(!this.knownDirs.has(C))await FQ(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let K=`${crypto.randomUUID()}.ndjson`,E=p_(C,`.${K}.tmp`),N=p_(C,K),z=_.join(`
|
|
1904
1914
|
`)+`
|
|
1905
|
-
`;await
|
|
1915
|
+
`;await YQ(E,z,{mode:384}),await RQ(E,N)}}import{ExportResultCode as VZ}from"@opentelemetry/core";import{AggregationTemporality as pZ,DataPointType as iZ}from"@opentelemetry/sdk-metrics";import{ExportResultCode as hZ}from"@opentelemetry/core";var eZ=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as i4,LoggerProvider as t4}from"@opentelemetry/sdk-logs";import{detectResources as q4,envDetector as g4,hostDetector as c4,osDetector as h4,processDetector as o4,resourceFromAttributes as a4}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as e4}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as sZ}from"@opentelemetry/api-logs";import{NodeSDK as s4}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as _2,SamplingDecision as a}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as m4}from"@opentelemetry/api";var OQ="__d",AQ=BQ("Current request"),SQ=1;var IK=(_)=>{let u=new URL(_.url).searchParams.get(OQ);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class wK{inner;constructor(_){this.inner=_}shouldSample(_,x,u,T,C,K){let E=_.getValue(AQ);if(!E){if(this.inner)return this.inner.shouldSample(_,x,u,T,C,K);return{decision:a.RECORD_AND_SAMPLED}}let N=IK(E);if(N)return{decision:a.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":N}};if(this.inner){let z=this.inner.shouldSample(_,x,u,T,C,K);if(z.decision===a.RECORD_AND_SAMPLED){let $=crypto.randomUUID();z.attributes={...z.attributes??{},"trace.debug.id":$}}return z}return{decision:a.NOT_RECORD}}toString(){return"DebugSampler"}}class VK{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:a.RECORD_AND_SAMPLED};return{decision:a.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var u2=new fQ({preventServerStart:!0}),m2=new wK(new VK(SQ));var SK=nQ.getTracer("studio","1.0.0"),E_=GQ.getMeter("studio","1.0.0"),IQ=yQ.getLogger("studio","1.0.0"),LT=(_,x,u)=>{let T={},C=u,K=u[u.length-1];if(K!==null&&typeof K==="object"&&!Array.isArray(K)&&!(K instanceof Error)&&Object.getPrototypeOf(K)===Object.prototype)T=K,C=u.slice(0,-1);let E=C.map((N)=>{if(N instanceof Error)return`${N.name}: ${N.message}`;if(typeof N==="object")try{return JSON.stringify(N)}catch{return"[Object]"}return String(N)}).join(" ");IQ.emit({severityNumber:_,severityText:x,body:E,attributes:{"log.source":"console",...T}})},FT={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{LT(DT.ERROR,"ERROR",_),FT.error(..._)};console.warn=(..._)=>{LT(DT.WARN,"WARN",_),FT.warn(..._)};console.debug=(..._)=>{LT(DT.DEBUG,"DEBUG",_),FT.debug(..._)};var RT,kK=0,YT=500;function wQ(){if(RT)return;let _=performance.now()+YT;RT=setInterval(()=>{let x=performance.now();kK=Math.max(0,x-_),_=x+YT},YT),RT.unref?.()}function pK(){return wQ(),kK}var kQ=()=>E_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),iK=()=>E_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),tK=400,pQ=100,iQ=(_)=>(x)=>{let u={"db.statement":x.query.sql,"db.status":x.level==="error"?"error":"success"};if(x.queryDurationMillis>tK){let T=pK(),C=T>tK/2;console.error(C?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(T),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:t_()}})}if(kQ().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function tQ(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let T=performance.now(),C=t_(),K=_.idleCount===0&&_.totalCount>=C,E=_.idleCount;return x().then((N)=>{let z=performance.now()-T;if(iK().record(z,{"db.pool.outcome":K?"contended":"available"}),z>pQ)if(K)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:z,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:C});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:z,idleAtStart:E,total:_.totalCount,max:C});return N},(N)=>{throw iK().record(performance.now()-T,{"db.pool.outcome":"error"}),N})},_}var gK={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function cK(){try{return o().databasePgSsl}catch{return!1}}function t_(){try{return o().databasePoolMax}catch{return 10}}function vQ(_){let x=tQ(new qK({connectionString:_,max:t_(),ssl:cK(),...gK})),u=new vK({pool:x});return{type:"postgres",db:new VQ({dialect:u,log:iQ(x)}),pool:x}}function P_(){return o().databaseUrl}function hK(_){let x=_||P_();return new vK({pool:new qK({connectionString:x,max:t_(),ssl:cK(),...gK})})}function qQ(_){let x=_||P_();return vQ(x)}async function oK(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===z_)z_=null}var z_=null;function HT(){if(!z_)z_=qQ(P_());return z_}async function aK(_){let u={database:hK(_||P_()),plugins:[hQ({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),oQ(),aQ(),rQ(),dQ(),lQ({loginPage:"/login"}),cQ(),eQ({sendMagicLink:async()=>{}}),sQ({sendVerificationOTP:async()=>{}})]},{toBeAdded:T,toBeCreated:C,runMigrations:K}=await gQ(u);if(!T.length&&!C.length)return"up to date";return await K(),`${C.length+T.length} table(s) migrated`}async function eK(_,x){return(await r`
|
|
1906
1916
|
SELECT table_name FROM information_schema.tables
|
|
1907
1917
|
WHERE table_schema='public' AND table_name=${x}
|
|
1908
|
-
`.execute(_)).rows.length>0}async function
|
|
1918
|
+
`.execute(_)).rows.length>0}async function bQ(_){if(await eK(_,"plugin_migrations"))return;await r`
|
|
1909
1919
|
CREATE TABLE plugin_migrations (
|
|
1910
1920
|
plugin_id TEXT NOT NULL,
|
|
1911
1921
|
name TEXT NOT NULL,
|
|
1912
1922
|
timestamp TEXT NOT NULL,
|
|
1913
1923
|
PRIMARY KEY (plugin_id, name)
|
|
1914
1924
|
)
|
|
1915
|
-
`.execute(_)}async function
|
|
1925
|
+
`.execute(_)}async function _6(_){if(!await eK(_,"kysely_migration"))return;let x=await r`
|
|
1916
1926
|
SELECT name, timestamp FROM kysely_migration
|
|
1917
1927
|
WHERE name LIKE '%/%'
|
|
1918
|
-
`.execute(_);if(x.rows.length===0)return;for(let{name:u,timestamp:T}of x.rows){let C=u;if(u.includes("~plugins/"))C=u.substring(u.indexOf("~plugins/")+9);let
|
|
1928
|
+
`.execute(_);if(x.rows.length===0)return;for(let{name:u,timestamp:T}of x.rows){let C=u;if(u.includes("~plugins/"))C=u.substring(u.indexOf("~plugins/")+9);let K=C.indexOf("/");if(K===-1){console.warn(`Skipping malformed plugin migration: ${u}`);continue}let E=C.substring(0,K),N=C.substring(K+1);try{await r`
|
|
1919
1929
|
INSERT INTO plugin_migrations (plugin_id, name, timestamp)
|
|
1920
|
-
VALUES (${E}, ${
|
|
1930
|
+
VALUES (${E}, ${N}, ${T})
|
|
1921
1931
|
`.execute(_)}catch{let z=await r`
|
|
1922
1932
|
SELECT COUNT(*) as cnt FROM plugin_migrations
|
|
1923
|
-
WHERE plugin_id = ${E} AND name = ${
|
|
1924
|
-
`.execute(_);if(Number(z.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${E}/${
|
|
1933
|
+
WHERE plugin_id = ${E} AND name = ${N}
|
|
1934
|
+
`.execute(_);if(Number(z.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${E}/${N}, keeping in old table`);continue}}await r`
|
|
1925
1935
|
DELETE FROM kysely_migration WHERE name = ${u}
|
|
1926
|
-
`.execute(_)}}async function
|
|
1936
|
+
`.execute(_)}}async function x6(_){await bQ(_),await _6(_);let x=new rK({db:_,provider:{getMigrations:()=>Promise.resolve(jT)}}),{error:u,results:T}=await x.migrateToLatest(),C=0;if(T?.forEach((K)=>{if(K.status==="Success")C++;else if(K.status==="Error")console.error(`Failed to execute migration "${K.migrationName}"`)}),u)throw console.error("Failed to migrate"),console.error(u),u;return C}async function u6(_){let{keepOpen:x=!1,database:u,skipBetterAuth:T=!1}=_??{},C="skipped";if(!T&&!u)C=await aK();let K=u??HT(),E=async()=>{if(!x&&!u)await oK(K).catch((N)=>{console.warn("Warning: Error closing database:",N)})};try{let N=await x6(K.db);return await E(),{betterAuth:C,kysely:N}}catch(N){throw await E(),N}}async function S2(){let _=HT(),x=new rK({db:_.db,provider:{getMigrations:()=>Promise.resolve(jT)}}),{error:u,results:T}=await x.migrateDown();if(T?.forEach((C)=>{if(C.status==="Success")console.log(`\u2705 Migration "${C.migrationName}" rolled back successfully`);else if(C.status==="Error")console.error(`\u274C Failed to rollback migration "${C.migrationName}"`)}),u)throw console.error("Failed to rollback migration"),console.error(u),u}if(import.meta.main)(async()=>{try{await u6(),console.log("Migrations completed."),process.exit(0)}catch(_){console.error("Migration failed:",_),process.exit(1)}})();export{x6 as runKyselyMigrations,u6 as migrateToLatest,S2 as migrateDown};
|