decocms 4.345.0 → 4.345.1
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-piOaFPQJ.js → AlertCircle-D5wzOxIg.js} +1 -1
- package/dist/client/assets/{AreaChart-C754kxxt.js → AreaChart-B7-Obnq_.js} +1 -1
- package/dist/client/assets/{ArrowLeft-EySzpaMt.js → ArrowLeft-Beb7uT2a.js} +1 -1
- package/dist/client/assets/{ArrowRight-CN1prjjJ.js → ArrowRight-Du9XgC-I.js} +1 -1
- package/dist/client/assets/{ArrowUp-39D5k7I2.js → ArrowUp-_u4Yru0Q.js} +1 -1
- package/dist/client/assets/{Check-CmgBwUGv.js → Check-Bqh0edDs.js} +1 -1
- package/dist/client/assets/{CheckCircle-CwJqWx0e.js → CheckCircle-P3KELI_n.js} +1 -1
- package/dist/client/assets/{ChevronRight-Dk9nR_C7.js → ChevronRight-DyhM_Luf.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-X68ci9mX.js → ChevronSelectorVertical-S2WVRFJv.js} +1 -1
- package/dist/client/assets/{ChevronUp-DLLvYK07.js → ChevronUp-CGseLBwf.js} +1 -1
- package/dist/client/assets/{Copy01-DlxhdgMn.js → Copy01-CQ5n9k6R.js} +1 -1
- package/dist/client/assets/{CreditCard01-CGG5tsm6.js → CreditCard01-DQ2UyAUW.js} +1 -1
- package/dist/client/assets/{DotsVertical-Bk31Y8qH.js → DotsVertical-CXA4FBF-.js} +1 -1
- package/dist/client/assets/{Download01-CxTJDArl.js → Download01-EHABWuSq.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-DAIYWYhf.js → ErrorBarContext-DtNUqfSS.js} +1 -1
- package/dist/client/assets/{Eye-UEYlbIHb.js → Eye-4ikW46Xl.js} +1 -1
- package/dist/client/assets/{GitBranch01-DRT2X7Dj.js → GitBranch01-rChCKXuD.js} +1 -1
- package/dist/client/assets/{Globe01-Z6BbST4r.js → Globe01-DQGNcxVn.js} +1 -1
- package/dist/client/assets/{HardDrive--vlQvWpi.js → HardDrive-CALvWP4_.js} +1 -1
- package/dist/client/assets/{Image01-rCxXluf6.js → Image01-BrxwhCeX.js} +1 -1
- package/dist/client/assets/{Key01-By90Yq6k.js → Key01-D_IxGQOL.js} +1 -1
- package/dist/client/assets/{Link01-CUe3c6G0.js → Link01-DvvkHs6T.js} +1 -1
- package/dist/client/assets/{LinkExternal01-D2pSy7v4.js → LinkExternal01-B4pNNDj3.js} +1 -1
- package/dist/client/assets/{Monitor01-CY2DbFkD.js → Monitor01-Cb0G367h.js} +1 -1
- package/dist/client/assets/{Package-Bb4KYw9O.js → Package-Bfk8OrRH.js} +1 -1
- package/dist/client/assets/{Palette-o-NEtwsW.js → Palette-B6tq__pc.js} +1 -1
- package/dist/client/assets/{Play-DpmIDjD8.js → Play-BKI4FgKL.js} +1 -1
- package/dist/client/assets/{Plus-CgVmxzR4.js → Plus-BZSUkwsF.js} +1 -1
- package/dist/client/assets/{SearchMd-Cjr4mqh9.js → SearchMd-CC2qYhKq.js} +1 -1
- package/dist/client/assets/{Sector-3UpSGQVE.js → Sector-D-zqGwr9.js} +1 -1
- package/dist/client/assets/{Settings02-Dss_LnvC.js → Settings02-3O7I-4oK.js} +1 -1
- package/dist/client/assets/{Share07-CgTNZ1dk.js → Share07-B043tEsF.js} +1 -1
- package/dist/client/assets/{Shield01-CNbrlPDI.js → Shield01-DSyesTES.js} +1 -1
- package/dist/client/assets/{Stars01-Dno5l14o.js → Stars01-D0DXnyE9.js} +1 -1
- package/dist/client/assets/{Sun-DAVD-A5B.js → Sun-BUQJT4KF.js} +1 -1
- package/dist/client/assets/{Tool01-DdmZi7j_.js → Tool01-CgvePMtM.js} +1 -1
- package/dist/client/assets/{Tool02-KStnzngn.js → Tool02-_HC8oqfU.js} +1 -1
- package/dist/client/assets/{Trash01-BevWobXU.js → Trash01-DCX9ydiU.js} +1 -1
- package/dist/client/assets/{TrendUp01-NTK3Zf_M.js → TrendUp01-DhL5-hJo.js} +1 -1
- package/dist/client/assets/{Upload01-By19QANP.js → Upload01-CNkQbAmi.js} +1 -1
- package/dist/client/assets/{User01-CDRv3_oY.js → User01-cnJUdVWa.js} +1 -1
- package/dist/client/assets/{UserSquare-l4Q5fPEZ.js → UserSquare-CpUQtm07.js} +1 -1
- package/dist/client/assets/{Users01-sAr72jTU.js → Users01-CPNdhBFx.js} +1 -1
- package/dist/client/assets/{Users03-CrZajyAo.js → Users03-BZkJWCNu.js} +1 -1
- package/dist/client/assets/{XCircle-BTj4-tdv.js → XCircle-4con0UUu.js} +1 -1
- package/dist/client/assets/{XClose-C-bbcgCJ.js → XClose-C2dpX0F_.js} +1 -1
- package/dist/client/assets/{Zap-D6-O3NZl.js → Zap-Bsbv5icR.js} +1 -1
- package/dist/client/assets/{ZoomOut-DpAkOD8e.js → ZoomOut-DiztYlpQ.js} +1 -1
- package/dist/client/assets/{access-gate-DQan09qj.js → access-gate-DD56oGJy.js} +1 -1
- package/dist/client/assets/{agent-icon-BrQLA9dC.js → agent-icon-B7AXGQ6P.js} +1 -1
- package/dist/client/assets/{agents-list-BIlHhg8F.js → agents-list-CY8WmhcM.js} +1 -1
- package/dist/client/assets/{ai-providers-D9jubp2s.js → ai-providers-BiO7fRFd.js} +1 -1
- package/dist/client/assets/{alert-DI_JsgmI.js → alert-DtchnFmi.js} +1 -1
- package/dist/client/assets/{alert-dialog-DuVJ7GC7.js → alert-dialog-BxdFiiIi.js} +1 -1
- package/dist/client/assets/{analytics-tab-gxTnWc1L.js → analytics-tab-I9OgZdgL.js} +1 -1
- package/dist/client/assets/api-keys-BBBNaWWJ.js +1 -0
- package/dist/client/assets/{api-keys-BJORgq17.js → api-keys-BrduPH4d.js} +1 -1
- package/dist/client/assets/app-editor-BzjPUgJu.js +1 -0
- package/dist/client/assets/{auth-CRmM4ftp.js → auth-BTVKfAUC.js} +1 -1
- package/dist/client/assets/{auth-catchall-D9f22qVk.js → auth-catchall-BVwWvb_2.js} +1 -1
- package/dist/client/assets/{auth-entry-Z1av5utg.js → auth-entry-BVFYUVVl.js} +1 -1
- package/dist/client/assets/{auth-split-layout-Dhyl4Mok.js → auth-split-layout-Dr2p8hD_.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-DEZCdj-t.js → authenticate-and-persist-oauth-BJAzAIhG.js} +1 -1
- package/dist/client/assets/{automation-list-row-CJo0GDE_.js → automation-list-row-CtQKd-53.js} +1 -1
- package/dist/client/assets/{automation-runs-Ge9BW9cQ.js → automation-runs-B71QxQf_.js} +1 -1
- package/dist/client/assets/{automations-AOZDTTBB.js → automations-BoEYJP3m.js} +1 -1
- package/dist/client/assets/{autosend-CI7ToXd3.js → autosend-t6fUCO9u.js} +1 -1
- package/dist/client/assets/{avatar-ncVfbaUx.js → avatar-_tvfLV9T.js} +1 -1
- package/dist/client/assets/{badge-rtLQpibV.js → badge-5xoC1FJQ.js} +1 -1
- package/dist/client/assets/{block-document-WxPy4zHY.js → block-document-CvHof2aO.js} +1 -1
- package/dist/client/assets/{breadcrumb-d7wNqsyt.js → breadcrumb-BjJYdEoK.js} +1 -1
- package/dist/client/assets/{buckets-NBI_IEuj.js → buckets-DC0lhAAM.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-B8uZmKXZ.js → bulk-category-panel-B5ry5wx9.js} +1 -1
- package/dist/client/assets/{capability-load-error-BAq8tXOS.js → capability-load-error-QfuL86LE.js} +1 -1
- package/dist/client/assets/{cards-CgpdHb-U.js → cards-QMwTXs-C.js} +1 -1
- package/dist/client/assets/{category-editor-DrNCa6L7.js → category-editor-eSTt5JDo.js} +1 -1
- package/dist/client/assets/{cdn-tab-BflNT2VL.js → cdn-tab-D1sD7Ph4.js} +1 -1
- package/dist/client/assets/{chart-C7j_btUB.js → chart-9tl6Tp7O.js} +1 -1
- package/dist/client/assets/{chat-context-BcY08VKG.js → chat-context-B3FHPtyp.js} +1 -1
- package/dist/client/assets/{checkbox-D0oTwa58.js → checkbox-DdiWS6j9.js} +1 -1
- package/dist/client/assets/{choose-editor-B2cOrwQv.js → choose-editor-Brv8AsJr.js} +1 -1
- package/dist/client/assets/{cli-auth-success-G8Y4SVGK.js → cli-auth-success-DIIukxGb.js} +1 -1
- package/dist/client/assets/{client-icons-BE3evb-i.js → client-icons-cKM5ZcqP.js} +1 -1
- package/dist/client/assets/{collection-detail-DCICjiwT.js → collection-detail--i0_pJUK.js} +1 -1
- package/dist/client/assets/{collection-display-button-C4HtW9B5.js → collection-display-button-D_wt_RA1.js} +1 -1
- package/dist/client/assets/{collection-search-UW0xDxmi.js → collection-search-DRdf_GYh.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-STLb6VjQ.js → collection-table-wrapper-CnvktR4-.js} +1 -1
- package/dist/client/assets/{collection-tabs-644rp01A.js → collection-tabs-BxV7MP04.js} +1 -1
- package/dist/client/assets/{command-CTH7s7Ya.js → command-BDN-a3rJ.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-CxUaxjg3.js → commerce-onboarding-DSY4uJcG.js} +1 -1
- package/dist/client/assets/{connect-DEIsBWg2.js → connect-GYd0QYyw.js} +1 -1
- package/dist/client/assets/{connect-layout-CmuGJ6zd.js → connect-layout-B6hgiK5r.js} +1 -1
- package/dist/client/assets/{connection-CU1s53fy.js → connection-C75DYl44.js} +1 -1
- package/dist/client/assets/{connection-card-B-DQLE2m.js → connection-card-BaEIpCbA.js} +1 -1
- package/dist/client/assets/{connection-detail-C3OYxb5o.js → connection-detail-Cdm23aMI.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-B-auMXZc.js → connection-form-helpers-aQ5B6tRy.js} +1 -1
- package/dist/client/assets/{connections-DPnFX966.js → connections-B8QOba3u.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-xnwS5290.js → create-organization-dialog-BST4Ck0w.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-CnHcYfZj.js → decopilot-sse-pool-DIVelB7F.js} +1 -1
- package/dist/client/assets/{dialog-DKxWMb0-.js → dialog-wNMMbzXr.js} +1 -1
- package/dist/client/assets/{domain-settings-yEjTU5K7.js → domain-settings-CxJq_pNN.js} +1 -1
- package/dist/client/assets/{drawer-BaA_lu4x.js → drawer-Dl4KbpLj.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CC8IMYtS.js → dropdown-menu-BvPxOnm0.js} +1 -1
- package/dist/client/assets/{e2e-tab-CyxfrSC2.js → e2e-tab-BiwnewGk.js} +1 -1
- package/dist/client/assets/{editor-Cm-sI42p.js → editor-BskznDjo.js} +1 -1
- package/dist/client/assets/{empty-state-DA8cnNqW.js → empty-state-C-SubUW6.js} +1 -1
- package/dist/client/assets/{empty-state-BioEMyZp.js → empty-state-CaNGPrDs.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BdnZZmxw.js → extract-connection-data-C4TyJjoX.js} +1 -1
- package/dist/client/assets/{file-explorer-jXzlywVk.js → file-explorer-B1DsBcfy.js} +1 -1
- package/dist/client/assets/{file-type-icon-ChIQfzaN.js → file-type-icon-DKxC4oSX.js} +1 -1
- package/dist/client/assets/{folder-icon-_4CbErMC.js → folder-icon-f4yD90eP.js} +1 -1
- package/dist/client/assets/{form-CorLMse0.js → form-B76JQCy8.js} +1 -1
- package/dist/client/assets/{general-BCDanvgJ.js → general-BNu9Vb3u.js} +1 -1
- package/dist/client/assets/{github-icon-CeFWgmVz.js → github-icon-CdMLfMj7.js} +1 -1
- package/dist/client/assets/{hooks-BOHEAk9Y.js → hooks-BJtZPSVy.js} +1 -1
- package/dist/client/assets/{hosting-tab-BktIiwOH.js → hosting-tab-BLjuvgys.js} +1 -1
- package/dist/client/assets/{index-ObIlqSDZ.js → index-4snYVWB2.js} +1 -1
- package/dist/client/assets/{index-BrCtIPlH.js → index-CaU5DFED.js} +1 -1
- package/dist/client/assets/{index-B8l7Wp2b.js → index-CwUtSIZT.js} +1 -1
- package/dist/client/assets/{index-fS0pDoNW.js → index-DR-7CxUP.js} +4 -4
- package/dist/client/assets/{index-BlP07NoC.js → index-DU9sTbUZ.js} +6 -6
- package/dist/client/assets/{index-CYWX8R5H.js → index-Dj8tvdMR.js} +1 -1
- package/dist/client/assets/{index-BAPa6G_8.js → index-DlGxosdM.js} +1 -1
- package/dist/client/assets/{index-YZeWKaou.js → index-Jy48DtbD.js} +1 -1
- package/dist/client/assets/{index-w12TFwlK.js → index-RKb_9qNN.js} +1 -1
- package/dist/client/assets/{index-redirect-CfbLeyNL.js → index-redirect-DSZLimlN.js} +1 -1
- package/dist/client/assets/{index-D0wjsDWq.js → index-zyhhgc8D.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-B62setNi.js → infiniteQueryObserver-DMi6D2_K.js} +1 -1
- package/dist/client/assets/{infra-billing-BtMbkXjN.js → infra-billing-92jygPAU.js} +1 -1
- package/dist/client/assets/{input-DaMV0yqT.js → input-By-Luuj6.js} +1 -1
- package/dist/client/assets/{integration-icon-BFx8Gs71.js → integration-icon-CpzKJe80.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-erQjr6Dv.js → invite-member-dialog-QBtFVQK3.js} +1 -1
- package/dist/client/assets/{label-Cznjg7Mb.js → label-CHgW_ahI.js} +1 -1
- package/dist/client/assets/{layout-CwmaRw9Y.js → layout-9YgsD1RL.js} +1 -1
- package/dist/client/assets/{login-DYTFtcpb.js → login-BjHKLMoO.js} +1 -1
- package/dist/client/assets/{markdown-BNMHtGi6.js → markdown-BbkOj7TQ.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-Df-LUzfK.js → mcp-app-renderer--rnWoHIc.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CDjOqnrq.js → mcp-oauth-Dql553Ej.js} +1 -1
- package/dist/client/assets/{members-s02j5DFH.js → members-D6h-8p_Y.js} +1 -1
- package/dist/client/assets/{monaco-editor-7CBGfDCH.js → monaco-editor-CK-YzUmW.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-CO2-hLq6.js → monitoring-stats-row-D_wXsyGn.js} +1 -1
- package/dist/client/assets/{multi-select-D1MP7iDa.js → multi-select-B93qStg3.js} +1 -1
- package/dist/client/assets/{oauth-callback-t2WmO9-v.js → oauth-callback-DmICfNLf.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Ce5MHp3r.js → oauth-callback-ai-provider-BCYGio4s.js} +1 -1
- package/dist/client/assets/{onboarding-Dg8pqQh4.js → onboarding-z3GnNpO5.js} +1 -1
- package/dist/client/assets/{org-layout-dq0fDq-h.js → org-layout-C-eaDwHZ.js} +1 -1
- package/dist/client/assets/{organization-choice-Bnr-wpFe.js → organization-choice-BaFzw0ii.js} +1 -1
- package/dist/client/assets/{orgs-DJfci181.js → orgs-BumlFPGs.js} +1 -1
- package/dist/client/assets/{page-seo-form-B1ADwpo8.js → page-seo-form-DatHE4-0.js} +1 -1
- package/dist/client/assets/{popover-sPMAt4On.js → popover-zAXw_Ex4.js} +1 -1
- package/dist/client/assets/{post-calendar-B4Z9Jz7b.js → post-calendar-BnXyVANq.js} +1 -1
- package/dist/client/assets/{post-editor-CcXinFIi.js → post-editor-DMnPDsdI.js} +1 -1
- package/dist/client/assets/{primitives-CGxQwrae.js → primitives-zj67r-_6.js} +1 -1
- package/dist/client/assets/{profile-C9bBchUu.js → profile-DMvNb5vL.js} +1 -1
- package/dist/client/assets/{project-app-view-DudFJRxH.js → project-app-view-Bn6tqh-s.js} +1 -1
- package/dist/client/assets/{project-icon-DD8-TjG9.js → project-icon-DZuabjud.js} +1 -1
- package/dist/client/assets/{prompts-CAxx1TcH.js → prompts-faWYk3a_.js} +1 -1
- package/dist/client/assets/record-editor-BGEMjZVj.js +1 -0
- package/dist/client/assets/redirect-editor-BlQ9ZBG7.js +1 -0
- package/dist/client/assets/registry-Do5Holmd.js +2 -0
- package/dist/client/assets/{registry-layout-Bcal-jx7.js → registry-layout-BiksbGSO.js} +1 -1
- package/dist/client/assets/{reports-BbDmvyvn.js → reports-o3wZ4DFb.js} +1 -1
- package/dist/client/assets/repositories-4Ag5U4M3.js +1 -0
- package/dist/client/assets/{repository-import-picker-TTmQRKgM.js → repository-import-picker-Crzmlv3v.js} +1 -1
- package/dist/client/assets/{repository-picker-Be7NfZEA.js → repository-picker-Dn5CWMQu.js} +1 -1
- package/dist/client/assets/{require-capability-q7uVdBbT.js → require-capability-ry4-n_XW.js} +1 -1
- package/dist/client/assets/{required-auth-layout-CR5eG3sF.js → required-auth-layout-C6sCfFoS.js} +1 -1
- package/dist/client/assets/{reset-password-DnIxE4MM.js → reset-password-BPvYj_d6.js} +1 -1
- package/dist/client/assets/{review-settings-Bit87Ep6.js → review-settings-CFta44Y-.js} +1 -1
- package/dist/client/assets/{roles-CYck8jTX.js → roles-D-D6RtHy.js} +1 -1
- package/dist/client/assets/{schema-CVS6b6X8.js → schema-CzaGiNXr.js} +1 -1
- package/dist/client/assets/{scroll-area-DIJ4XfEc.js → scroll-area-C4NBwqyh.js} +1 -1
- package/dist/client/assets/{search-input-BN_fecvo.js → search-input-jf5-JJb9.js} +1 -1
- package/dist/client/assets/{secrets-Dr0vdQ4d.js → secrets-DNPz1kGQ.js} +1 -1
- package/dist/client/assets/{sections-editor-BsuMEuNO.js → sections-editor-CiB_HyuR.js} +1 -1
- package/dist/client/assets/{select-BJ0Gkkka.js → select-8-nbJ0jG.js} +1 -1
- package/dist/client/assets/{select-model-D8CTPoiO.js → select-model-BN5vxFKu.js} +1 -1
- package/dist/client/assets/{self-tool-result-KOheC4HD.js → self-tool-result-Cei_02H_.js} +1 -1
- package/dist/client/assets/{seo-editor-CSFxllkC.js → seo-editor-BS-_liwN.js} +1 -1
- package/dist/client/assets/settings-layout-BWoejjac.js +1 -0
- package/dist/client/assets/{settings-sidebar-C_Tz8rbX.js → settings-sidebar-C0QwDGxU.js} +1 -1
- package/dist/client/assets/{shell-controls-5f0FnXKd.js → shell-controls-DLLmOm3e.js} +1 -1
- package/dist/client/assets/{shell-layout-D-M6_Jkf.js → shell-layout-UiGWQtHh.js} +1 -1
- package/dist/client/assets/{skill-preview-5YIvamOb.js → skill-preview-OK-E70YW.js} +1 -1
- package/dist/client/assets/{skills-DMmhWXLy.js → skills-REtufkzf.js} +1 -1
- package/dist/client/assets/{sso-nVCDDH4k.js → sso-Bl2RYEhH.js} +1 -1
- package/dist/client/assets/{store-LfRhnjNM.js → store-BUZ3BxYI.js} +1 -1
- package/dist/client/assets/store-registry-DemSgqBf.js +2 -0
- package/dist/client/assets/{switch-C0tiHttS.js → switch-B_09jY5-.js} +1 -1
- package/dist/client/assets/{synced-repos-D5wTALWx.js → synced-repos-BNk3uyi6.js} +1 -1
- package/dist/client/assets/{table-D4dLAB1m.js → table-C9B_yGws.js} +1 -1
- package/dist/client/assets/{tabs-CDFENeRa.js → tabs-yz5p2eqD.js} +1 -1
- package/dist/client/assets/{task-board-B4aUIKJI.js → task-board-DX0mX_sm.js} +1 -1
- package/dist/client/assets/{task-route-BUYfM-Mq.js → task-route-DTA1f0w5.js} +1 -1
- package/dist/client/assets/{tasks-COtpdI-R.js → tasks-CCt0uT1A.js} +1 -1
- package/dist/client/assets/{textarea-DIJRp6Ds.js → textarea-DD_XQc8b.js} +1 -1
- package/dist/client/assets/{thread-intent-DK53ivxy.js → thread-intent-BKZp36M-.js} +1 -1
- package/dist/client/assets/{thread-route-m3qiCJQP.js → thread-route-g3bFZsDA.js} +1 -1
- package/dist/client/assets/{toggle-group-BSxkMDRS.js → toggle-group-OyXGZbFx.js} +1 -1
- package/dist/client/assets/{toolbar-DQ2YVpXF.js → toolbar-BGgBqcbD.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-DeXrhkGe.js → toolbar-icon-button-CyWbgFMR.js} +1 -1
- package/dist/client/assets/{track-J__dE1p5.js → track-BmC8g6Tw.js} +1 -1
- package/dist/client/assets/{types-C9oYptqr.js → types-C6WokDyE.js} +1 -1
- package/dist/client/assets/{use-ai-providers-DMdw1ZKm.js → use-ai-providers-CsfPjUM-.js} +1 -1
- package/dist/client/assets/{use-automations-BrJQYtfT.js → use-automations-V8lTd1ft.js} +1 -1
- package/dist/client/assets/{use-autosave-DXppOUIw.js → use-autosave-Bd881RwB.js} +1 -1
- package/dist/client/assets/{use-connection-DueV7Dd9.js → use-connection-BM1ySErK.js} +1 -1
- package/dist/client/assets/{use-copy-DsM8BkMO.js → use-copy-pSJtH4fM.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CXxjUZ5c.js → use-create-virtual-mcp-D0NidtMX.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-I1vziWnN.js → use-date-fns-locale-DgRg5mjL.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-Bep9W3RF.js → use-debounced-autosave-EYzF8Olk.js} +1 -1
- package/dist/client/assets/{use-debounced-value-CjFrELYP.js → use-debounced-value-KdzTma4G.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BxzD46W5.js → use-decopilot-events-BXOAX3zK.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BBL_RJLP.js → use-delete-connection-BbNOjW2l.js} +1 -1
- package/dist/client/assets/{use-deployment-admin--_f948uh.js → use-deployment-admin-BASh3KDk.js} +1 -1
- package/dist/client/assets/{use-destination-route-WysfeR7S.js → use-destination-route-DZ6zuyom.js} +1 -1
- package/dist/client/assets/{use-file-configs-BByTBhTa.js → use-file-configs-BRCZqxCS.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-p1RdGJsc.js → use-infinite-scroll-CqmvxgxE.js} +1 -1
- package/dist/client/assets/{use-join-requests-D9qT6ziM.js → use-join-requests-D-siqVP0.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-CTnEpyYI.js → use-mcp-auth-status-CkfQLxM4.js} +1 -1
- package/dist/client/assets/{use-mcp-client-DtsRGdvB.js → use-mcp-client-Cjw7oL0k.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-CD_IWJeZ.js → use-mcp-prompts-BN9qi7Ix.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BKHgcAxL.js → use-mcp-tools-DMULZKMD.js} +1 -1
- package/dist/client/assets/{use-members-NWhv5vIl.js → use-members-DhvUWOTO.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-Bnmnhqje.js → use-navigate-to-agent-BtEQtkbQ.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-CShcDth4.js → use-org-auth-client-5eX91FAP.js} +1 -1
- package/dist/client/assets/{use-org-notice-B64MrAd9.js → use-org-notice-CnZTeX-0.js} +1 -1
- package/dist/client/assets/{use-org-sso-DzsFzLff.js → use-org-sso-CF4YFYU9.js} +1 -1
- package/dist/client/assets/{use-organization-roles-7PFmB_rs.js → use-organization-roles-W-c6xLKD.js} +1 -1
- package/dist/client/assets/{use-organization-settings-nKtEvYQd.js → use-organization-settings-Di523P_b.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-BNmxrdjd.js → use-panel-navigate-BA5KTGnu.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Bb6pjxJh.js → use-registry-connections-bgQe6Edq.js} +1 -1
- package/dist/client/assets/{use-secrets-CTUki73i.js → use-secrets-DWw60yIy.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-BHSNiN-i.js → use-section-preview-base-Dne8hXr_.js} +1 -1
- package/dist/client/assets/{use-status-sounds-k-y4u-Dp.js → use-status-sounds-CZvvi-5S.js} +1 -1
- package/dist/client/assets/{use-tags-BOUHc_F8.js → use-tags-B-RutSus.js} +1 -1
- package/dist/client/assets/{use-view-mode-4DXLgMpz.js → use-view-mode-86puchYT.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-C5Zt0ewM.js → use-virtual-mcp-DLU-VkLe.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-7dgy4-tR.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-DBrABtQo.js +1 -0
- package/dist/client/assets/{users-DRzgVGBP.js → users-BT256VvZ.js} +1 -1
- package/dist/client/assets/{variant-calendar-TLlf4rAo.js → variant-calendar-DWf9sjyV.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-CZECgOYC.js → view-mode-toggle-CB1VuRxL.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +616 -608
- package/dist/server/migrate.js +154 -154
- package/dist/server/server.js +527 -519
- package/package.json +1 -1
- package/dist/client/assets/api-keys-DM-VC8Ks.js +0 -1
- package/dist/client/assets/app-editor-ueQwisxj.js +0 -1
- package/dist/client/assets/record-editor-CQ7QMoAf.js +0 -1
- package/dist/client/assets/redirect-editor-B68PccpU.js +0 -1
- package/dist/client/assets/registry-CWd0I8mg.js +0 -2
- package/dist/client/assets/repositories-DoZh9xWv.js +0 -1
- package/dist/client/assets/settings-layout-DyOsDVbj.js +0 -1
- package/dist/client/assets/store-registry-D-puuJzT.js +0 -2
- package/dist/client/assets/useInfiniteQuery-CU7gRlof.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-rXQ07VfR.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
2
|
+
var pN=Object.defineProperty;var tN=(_)=>_;function iN(_,x){this[_]=tN.bind(null,x)}var m=(_,x)=>{for(var u in x)pN(_,u,{get:x[u],enumerable:!0,configurable:!0,set:iN.bind(x,u)})};import{Migrator as VN,sql as a}from"kysely";var t_={};m(t_,{up:()=>vN,down:()=>qN});async function vN(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_repository_ids","jsonb").execute()}async function qN(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_repository_ids").execute()}var i_={};m(i_,{up:()=>gN,down:()=>cN});async function gN(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_authorized_by","text").execute()}async function cN(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_authorized_by").execute()}var v_={};m(v_,{up:()=>oN,down:()=>aN});import{sql as hN}from"kysely";async function oN(_){await hN`
|
|
3
3
|
CREATE TABLE github_connect_flows (
|
|
4
4
|
id text PRIMARY KEY,
|
|
5
5
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -9,7 +9,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
9
9
|
);
|
|
10
10
|
CREATE UNIQUE INDEX github_connect_flows_owner ON github_connect_flows(organization_id, user_id);
|
|
11
11
|
CREATE INDEX github_connect_flows_expiry ON github_connect_flows(expires_at);
|
|
12
|
-
`.execute(_)}async function
|
|
12
|
+
`.execute(_)}async function aN(_){await _.schema.dropTable("github_connect_flows").execute()}var q_={};m(q_,{up:()=>rN,down:()=>eN});async function rN(_){await _.schema.createIndex("task_board_item_prs_repo_idx").on("task_board_item_prs").columns(["repo_owner","repo_name","pr_number"]).execute()}async function eN(_){await _.schema.dropIndex("task_board_item_prs_repo_idx").execute()}var g_={};m(g_,{up:()=>lN,down:()=>sN});import{sql as z_}from"kysely";async function lN(_){await z_`
|
|
13
13
|
CREATE FUNCTION adopt_legacy_repository() RETURNS trigger AS $$
|
|
14
14
|
DECLARE
|
|
15
15
|
metadata_json jsonb;
|
|
@@ -65,19 +65,19 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
65
65
|
FROM repositories r WHERE s.repository_id IS NULL
|
|
66
66
|
AND r.organization_id = s.organization_id AND r.host = 'github.com'
|
|
67
67
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name);
|
|
68
|
-
`.execute(_)}async function rN(_){await z_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await z_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var q_={};m(q_,{up:()=>eN,down:()=>lN});import{sql as H}from"kysely";async function eN(_){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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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(H`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(H`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(H`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(H`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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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 lN(_){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 c_={};m(c_,{up:()=>sN,down:()=>dN});import{sql as jT}from"kysely";async function sN(_){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(jT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(jT`CURRENT_TIMESTAMP`)).execute()}async function dN(_){await _.schema.dropTable("organization_settings").execute()}var h_={};m(h_,{up:()=>bN,down:()=>_K});async function bN(_){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 _K(_){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 o_={};m(o_,{up:()=>xK,down:()=>uK});async function xK(_){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 uK(_){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 a_={};m(a_,{up:()=>mK,down:()=>CK});async function mK(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function CK(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var r_={};m(r_,{up:()=>NK,down:()=>KK});import{sql as TK}from"kysely";async function NK(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",TK`text`).execute()}async function KK(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var e_={};m(e_,{up:()=>EK,down:()=>zK});async function EK(_){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 zK(_){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 l_={};m(l_,{up:()=>PK,down:()=>$K});import{sql as r}from"kysely";async function PK(_){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(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(r`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(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(r`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(r`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 $K(_){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 s_={};m(s_,{up:()=>JK,down:()=>XK});import{sql as UK}from"kysely";async function JK(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function XK(_){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(UK`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 d_={};m(d_,{up:()=>jK,down:()=>QK});import{sql as P_}from"kysely";async function jK(_){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(P_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(P_`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(P_`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 P_`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 QK(_){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 b_={};m(b_,{up:()=>WK,down:()=>ZK});async function WK(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function ZK(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var _x={};m(_x,{up:()=>LK,down:()=>DK});import{sql as $_}from"kysely";async function LK(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await $_`
|
|
68
|
+
`.execute(_)}async function sN(_){await z_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await z_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var c_={};m(c_,{up:()=>dN,down:()=>bN});import{sql as M}from"kysely";async function dN(_){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(M`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(M`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(M`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(M`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(M`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(M`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(M`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(M`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(M`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(M`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 bN(_){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 h_={};m(h_,{up:()=>_K,down:()=>xK});import{sql as QT}from"kysely";async function _K(_){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(QT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(QT`CURRENT_TIMESTAMP`)).execute()}async function xK(_){await _.schema.dropTable("organization_settings").execute()}var o_={};m(o_,{up:()=>uK,down:()=>mK});async function uK(_){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 mK(_){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 a_={};m(a_,{up:()=>CK,down:()=>TK});async function CK(_){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 TK(_){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 r_={};m(r_,{up:()=>NK,down:()=>KK});async function NK(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function KK(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var e_={};m(e_,{up:()=>zK,down:()=>PK});import{sql as EK}from"kysely";async function zK(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",EK`text`).execute()}async function PK(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var l_={};m(l_,{up:()=>$K,down:()=>UK});async function $K(_){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 UK(_){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 s_={};m(s_,{up:()=>JK,down:()=>XK});import{sql as r}from"kysely";async function JK(_){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(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(r`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(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(r`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(r`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 XK(_){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 d_={};m(d_,{up:()=>QK,down:()=>WK});import{sql as jK}from"kysely";async function QK(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function WK(_){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(jK`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 b_={};m(b_,{up:()=>ZK,down:()=>LK});import{sql as P_}from"kysely";async function ZK(_){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(P_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(P_`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(P_`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 P_`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 LK(_){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 _x={};m(_x,{up:()=>DK,down:()=>FK});async function DK(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function FK(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var xx={};m(xx,{up:()=>RK,down:()=>YK});import{sql as $_}from"kysely";async function RK(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await $_`
|
|
69
69
|
UPDATE gateways
|
|
70
70
|
SET tool_selection_mode = CASE
|
|
71
71
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
72
72
|
ELSE 'inclusion'
|
|
73
73
|
END
|
|
74
|
-
`.execute(_),await $_`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
|
|
74
|
+
`.execute(_),await $_`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 YK(_){await $_`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 $_`
|
|
75
75
|
UPDATE gateways
|
|
76
76
|
SET tool_selection_strategy = CASE
|
|
77
77
|
WHEN tool_selection_mode = 'exclusion' THEN 'exclusion'
|
|
78
78
|
ELSE NULL
|
|
79
79
|
END
|
|
80
|
-
`.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var
|
|
80
|
+
`.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var ux={};m(ux,{up:()=>HK,down:()=>MK});async function HK(_){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 MK(_){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 mx={};m(mx,{up:()=>nK,down:()=>BK});async function nK(_){await _.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await _.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function BK(_){await _.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await _.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var Cx={};m(Cx,{up:()=>GK,down:()=>yK});async function GK(_){await _.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function yK(_){await _.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var Tx={};m(Tx,{up:()=>fK,down:()=>OK});async function fK(_){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 OK(_){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 Nx={};m(Nx,{up:()=>SK,down:()=>IK});import{sql as AK}from"kysely";async function SK(_){await AK`
|
|
81
81
|
DELETE FROM downstream_tokens
|
|
82
82
|
WHERE id NOT IN (
|
|
83
83
|
SELECT id FROM (
|
|
@@ -87,7 +87,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
87
87
|
) ranked
|
|
88
88
|
WHERE rn = 1
|
|
89
89
|
)
|
|
90
|
-
`.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
|
|
90
|
+
`.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 IK(_){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 Kx={};m(Kx,{up:()=>wK,down:()=>VK});async function wK(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function VK(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var Ex={};m(Ex,{up:()=>kK,down:()=>pK});import{sql as WT}from"kysely";async function kK(_){await WT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function pK(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await WT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var zx={};m(zx,{up:()=>tK,down:()=>iK});async function tK(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function iK(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Px={};m(Px,{up:()=>vK,down:()=>qK});import{sql as U_}from"kysely";async function vK(_){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(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("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(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`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 qK(_){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 $x={};m($x,{up:()=>gK,down:()=>cK});async function gK(_){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 cK(_){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 Ux={};m(Ux,{up:()=>hK,down:()=>oK});async function hK(_){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 oK(_){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 Jx={};m(Jx,{up:()=>aK,down:()=>rK});import{sql as W}from"kysely";async function aK(_){await W`
|
|
91
91
|
INSERT INTO connections (
|
|
92
92
|
id,
|
|
93
93
|
organization_id,
|
|
@@ -134,7 +134,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
134
134
|
created_at,
|
|
135
135
|
updated_at
|
|
136
136
|
FROM virtual_mcps
|
|
137
|
-
`.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
|
|
137
|
+
`.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 rK(_){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`
|
|
138
138
|
INSERT INTO virtual_mcps (
|
|
139
139
|
id, organization_id, title, description, icon, status,
|
|
140
140
|
created_at, updated_at, created_by, updated_by, tool_selection_mode
|
|
@@ -144,7 +144,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
144
144
|
created_at, updated_at, created_by, NULL, 'inclusion'
|
|
145
145
|
FROM connections
|
|
146
146
|
WHERE connection_type = 'VIRTUAL'
|
|
147
|
-
`.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
|
|
147
|
+
`.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 Xx={};m(Xx,{up:()=>eK,down:()=>lK});async function eK(_){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 lK(_){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 jx={};m(jx,{up:()=>sK,down:()=>dK});import{sql as n}from"kysely";async function sK(_){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(n`CURRENT_TIMESTAMP`)).execute(),await n`
|
|
148
148
|
INSERT INTO connection_aggregations_new (
|
|
149
149
|
id, parent_connection_id, child_connection_id,
|
|
150
150
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -153,7 +153,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
153
153
|
id, parent_connection_id, child_connection_id,
|
|
154
154
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
155
155
|
FROM connection_aggregations
|
|
156
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await
|
|
156
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await n`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await n`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await n`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 dK(_){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(n`CURRENT_TIMESTAMP`)).execute(),await n`
|
|
157
157
|
INSERT INTO connection_aggregations_new (
|
|
158
158
|
id, parent_connection_id, child_connection_id,
|
|
159
159
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -162,7 +162,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
162
162
|
id, parent_connection_id, child_connection_id,
|
|
163
163
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
164
164
|
FROM connection_aggregations
|
|
165
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await
|
|
165
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await n`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await n`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await n`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 Wx={};m(Wx,{up:()=>bK,down:()=>_E});import{sql as Qx}from"kysely";async function bK(_){await Qx`
|
|
166
166
|
UPDATE connections
|
|
167
167
|
SET connection_url = connection_url || '/management',
|
|
168
168
|
tools = NULL,
|
|
@@ -170,42 +170,42 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
170
170
|
WHERE connection_url LIKE '%/mcp'
|
|
171
171
|
AND connection_url NOT LIKE '%/mcp/management'
|
|
172
172
|
AND app_name = '@deco/management-mcp'
|
|
173
|
-
`.execute(_),await
|
|
173
|
+
`.execute(_),await Qx`
|
|
174
174
|
UPDATE connections
|
|
175
175
|
SET tools = NULL,
|
|
176
176
|
updated_at = CURRENT_TIMESTAMP
|
|
177
177
|
WHERE app_name = '@deco/management-mcp'
|
|
178
178
|
AND tools IS NOT NULL
|
|
179
|
-
`.execute(_)}async function
|
|
179
|
+
`.execute(_)}async function _E(_){await Qx`
|
|
180
180
|
UPDATE connections
|
|
181
181
|
SET connection_url = SUBSTR(connection_url, 1, LENGTH(connection_url) - LENGTH('/management')),
|
|
182
182
|
updated_at = CURRENT_TIMESTAMP
|
|
183
183
|
WHERE connection_url LIKE '%/mcp/management'
|
|
184
184
|
AND app_name = '@deco/management-mcp'
|
|
185
|
-
`.execute(_)}var
|
|
185
|
+
`.execute(_)}var Lx={};m(Lx,{up:()=>xE,down:()=>uE});import{sql as Zx}from"kysely";async function xE(_){await Zx`
|
|
186
186
|
UPDATE connections
|
|
187
187
|
SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
|
|
188
188
|
tools = NULL,
|
|
189
189
|
updated_at = CURRENT_TIMESTAMP
|
|
190
190
|
WHERE connection_url LIKE '%/mcp/management'
|
|
191
191
|
AND app_name = '@deco/management-mcp'
|
|
192
|
-
`.execute(_),await
|
|
192
|
+
`.execute(_),await Zx`
|
|
193
193
|
UPDATE connections
|
|
194
194
|
SET tools = NULL,
|
|
195
195
|
updated_at = CURRENT_TIMESTAMP
|
|
196
196
|
WHERE connection_url LIKE '%/mcp/self'
|
|
197
197
|
AND app_name = '@deco/management-mcp'
|
|
198
198
|
AND tools IS NOT NULL
|
|
199
|
-
`.execute(_)}async function
|
|
199
|
+
`.execute(_)}async function uE(_){await Zx`
|
|
200
200
|
UPDATE connections
|
|
201
201
|
SET connection_url = REPLACE(connection_url, '/mcp/self', '/mcp/management'),
|
|
202
202
|
updated_at = CURRENT_TIMESTAMP
|
|
203
203
|
WHERE connection_url LIKE '%/mcp/self'
|
|
204
204
|
AND app_name = '@deco/management-mcp'
|
|
205
|
-
`.execute(_)}var
|
|
205
|
+
`.execute(_)}var Dx={};m(Dx,{up:()=>mE,down:()=>CE});async function mE(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function CE(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var Fx={};m(Fx,{up:()=>TE,down:()=>NE});import{sql as ZT}from"kysely";async function TE(_){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(ZT`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(ZT`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 NE(_){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 Rx={};m(Rx,{up:()=>KE,down:()=>EE});import{sql as e}from"kysely";async function KE(_){await e`
|
|
206
206
|
ALTER TABLE connection_aggregations
|
|
207
207
|
ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
|
|
208
|
-
`.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function
|
|
208
|
+
`.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function EE(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await e`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await e`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(e`CURRENT_TIMESTAMP`)).execute(),await e`
|
|
209
209
|
INSERT INTO connection_aggregations_new (
|
|
210
210
|
id, parent_connection_id, child_connection_id,
|
|
211
211
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -214,42 +214,42 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
214
214
|
id, parent_connection_id, child_connection_id,
|
|
215
215
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
216
216
|
FROM connection_aggregations
|
|
217
|
-
`.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
|
|
217
|
+
`.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 Yx={};m(Yx,{up:()=>JE,down:()=>XE});import{webcrypto as DT}from"crypto";var LT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var zE=128,w,k;function PE(_){if(!w||w.length<_)w=Buffer.allocUnsafe(_*zE),DT.getRandomValues(w),k=0;else if(k+_>w.length)DT.getRandomValues(w),k=0;k+=_}function p(_=21){PE(_|=0);let x="";for(let u=k-_;u<k;u++)x+=LT[w[u]&63];return x}var $E="org-admin",UE="Organization Admin";async function JE(_){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_${p()}`,N=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:C,organization_id:u.id,slug:$E,name:UE,description:null,enabled_plugins:N?.enabled_plugins??null,ui:null,created_at:T,updated_at:T}).execute()}}async function XE(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var Hx={};m(Hx,{up:()=>jE,down:()=>QE});async function jE(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function QE(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var Mx={};m(Mx,{up:()=>WE,down:()=>ZE});async function WE(_){}async function ZE(_){}var nx={};m(nx,{up:()=>LE,down:()=>DE});async function LE(_){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 DE(_){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 Bx={};m(Bx,{up:()=>FE,down:()=>RE});import{sql as FT}from"kysely";async function FE(_){await FT`
|
|
218
218
|
UPDATE connections
|
|
219
219
|
SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
|
|
220
220
|
tools = NULL,
|
|
221
221
|
updated_at = CURRENT_TIMESTAMP
|
|
222
222
|
WHERE connection_url = 'https://api.decocms.com/mcp/registry'
|
|
223
223
|
AND app_name = 'deco-registry'
|
|
224
|
-
`.execute(_)}async function
|
|
224
|
+
`.execute(_)}async function RE(_){await FT`
|
|
225
225
|
UPDATE connections
|
|
226
226
|
SET connection_url = 'https://api.decocms.com/mcp/registry',
|
|
227
227
|
updated_at = CURRENT_TIMESTAMP
|
|
228
228
|
WHERE connection_url = 'https://studio.decocms.com/org/deco/registry/mcp'
|
|
229
229
|
AND app_name = 'deco-registry'
|
|
230
|
-
`.execute(_)}var
|
|
230
|
+
`.execute(_)}var Gx={};m(Gx,{up:()=>HE,down:()=>ME});import{sql as YE}from"kysely";async function HE(_){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(YE`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 ME(_){await _.schema.dropTable("ai_provider_keys").execute()}var yx={};m(yx,{up:()=>BE,down:()=>GE});import{sql as nE}from"kysely";async function BE(_){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(nE`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function GE(_){await _.schema.dropTable("oauth_pkce_states").execute()}var fx={};m(fx,{up:()=>yE,down:()=>fE});import{sql as O}from"kysely";async function yE(_){await _.schema.createTable("automations").addColumn("id","text",(x)=>x.primaryKey().defaultTo(O`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(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(O`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(O`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(O`CURRENT_TIMESTAMP`)).execute(),await O`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_),await O`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(_),await O`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 fE(_){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 Ox={};m(Ox,{up:()=>OE,down:()=>AE});async function OE(_){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 AE(_){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 Ax={};m(Ax,{up:()=>SE,down:()=>IE});async function SE(_){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 IE(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var Sx={};m(Sx,{up:()=>wE,down:()=>VE});import{sql as RT}from"kysely";async function wE(_){await RT`
|
|
231
231
|
UPDATE connections
|
|
232
232
|
SET title = 'CMS MCP',
|
|
233
233
|
tools = NULL,
|
|
234
234
|
updated_at = CURRENT_TIMESTAMP
|
|
235
235
|
WHERE app_name = '@deco/management-mcp'
|
|
236
|
-
`.execute(_)}async function
|
|
236
|
+
`.execute(_)}async function VE(_){await RT`
|
|
237
237
|
UPDATE connections
|
|
238
238
|
SET title = 'Mesh MCP',
|
|
239
239
|
updated_at = CURRENT_TIMESTAMP
|
|
240
240
|
WHERE app_name = '@deco/management-mcp'
|
|
241
|
-
`.execute(_)}var
|
|
241
|
+
`.execute(_)}var Ix={};m(Ix,{up:()=>kE,down:()=>pE});import{sql as YT}from"kysely";async function kE(_){await YT`
|
|
242
242
|
UPDATE connections
|
|
243
243
|
SET title = 'Deco CMS',
|
|
244
244
|
tools = NULL,
|
|
245
245
|
updated_at = CURRENT_TIMESTAMP
|
|
246
246
|
WHERE app_name = '@deco/management-mcp'
|
|
247
|
-
`.execute(_)}async function
|
|
247
|
+
`.execute(_)}async function pE(_){await YT`
|
|
248
248
|
UPDATE connections
|
|
249
249
|
SET title = 'CMS MCP',
|
|
250
250
|
updated_at = CURRENT_TIMESTAMP
|
|
251
251
|
WHERE app_name = '@deco/management-mcp'
|
|
252
|
-
`.execute(_)}var
|
|
252
|
+
`.execute(_)}var wx={};m(wx,{up:()=>tE,down:()=>iE});async function tE(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function iE(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var Vx={};m(Vx,{up:()=>vE,down:()=>qE});async function vE(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function qE(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var px={};m(px,{up:()=>gE,down:()=>cE});import{sql as kx}from"kysely";async function gE(_){await kx`
|
|
253
253
|
UPDATE organization_settings
|
|
254
254
|
SET enabled_plugins = (
|
|
255
255
|
SELECT COALESCE(json_agg(elem), '[]'::json)::text
|
|
@@ -258,7 +258,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
258
258
|
)
|
|
259
259
|
WHERE enabled_plugins IS NOT NULL
|
|
260
260
|
AND enabled_plugins LIKE '%object-storage%'
|
|
261
|
-
`.execute(_),await
|
|
261
|
+
`.execute(_),await kx`
|
|
262
262
|
UPDATE projects
|
|
263
263
|
SET enabled_plugins = (
|
|
264
264
|
SELECT COALESCE(json_agg(elem), '[]'::json)::text
|
|
@@ -267,28 +267,28 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
267
267
|
)
|
|
268
268
|
WHERE enabled_plugins IS NOT NULL
|
|
269
269
|
AND enabled_plugins LIKE '%object-storage%'
|
|
270
|
-
`.execute(_),await
|
|
270
|
+
`.execute(_),await kx`
|
|
271
271
|
DELETE FROM project_plugin_configs
|
|
272
272
|
WHERE plugin_id = 'object-storage'
|
|
273
|
-
`.execute(_)}async function
|
|
273
|
+
`.execute(_)}async function cE(_){}var tx={};m(tx,{up:()=>hE,down:()=>oE});import{sql as HT}from"kysely";async function hE(_){await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await HT`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(_)}async function oE(_){await HT`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(_),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var vx={};m(vx,{up:()=>aE,down:()=>rE});import{sql as ix}from"kysely";async function aE(_){await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await ix`
|
|
274
274
|
ALTER TABLE connections
|
|
275
275
|
ADD CONSTRAINT chk_connections_subtype
|
|
276
276
|
CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
|
|
277
|
-
`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await
|
|
277
|
+
`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await ix`
|
|
278
278
|
UPDATE connections
|
|
279
279
|
SET subtype = 'agent'
|
|
280
280
|
WHERE connection_type = 'VIRTUAL'
|
|
281
|
-
`.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(K)=>K.primaryKey()).addColumn("virtual_mcp_id","text",(K)=>K.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(K)=>K.notNull()).addColumn("connection_id","text",(K)=>K.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(K)=>K.notNull()).addColumn("updated_at","text",(K)=>K.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 K of u)T.set(K.organizationId,K.userId);let C=new Map;for(let K of x){let z=`vir_${p()}`;C.set(K.id,z);let $=K.ui?JSON.parse(K.ui):null,U=JSON.stringify({enabled_plugins:K.enabled_plugins?JSON.parse(K.enabled_plugins):null,ui:$,migrated_from_project:K.id,migrated_project_slug:K.slug}),Q=T.get(K.organization_id);if(!Q)continue;await _.insertInto("connections").values({id:z,organization_id:K.organization_id,created_by:Q,updated_by:null,title:K.name,description:K.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:K.created_at,updated_at:K.updated_at}).execute()}let N=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let K of N){let z=C.get(K.project_id);if(!z)continue;await _.insertInto("connection_aggregations").values({id:`agg_${p()}`,parent_connection_id:z,child_connection_id:K.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:K.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 K of E){let z=C.get(K.project_id);if(!z)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${p()}`,virtual_mcp_id:z,plugin_id:K.plugin_id,connection_id:K.connection_id,settings:K.settings,created_at:K.created_at,updated_at:K.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function
|
|
281
|
+
`.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(K)=>K.primaryKey()).addColumn("virtual_mcp_id","text",(K)=>K.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(K)=>K.notNull()).addColumn("connection_id","text",(K)=>K.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(K)=>K.notNull()).addColumn("updated_at","text",(K)=>K.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 K of u)T.set(K.organizationId,K.userId);let C=new Map;for(let K of x){let z=`vir_${p()}`;C.set(K.id,z);let $=K.ui?JSON.parse(K.ui):null,U=JSON.stringify({enabled_plugins:K.enabled_plugins?JSON.parse(K.enabled_plugins):null,ui:$,migrated_from_project:K.id,migrated_project_slug:K.slug}),Q=T.get(K.organization_id);if(!Q)continue;await _.insertInto("connections").values({id:z,organization_id:K.organization_id,created_by:Q,updated_by:null,title:K.name,description:K.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:K.created_at,updated_at:K.updated_at}).execute()}let N=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let K of N){let z=C.get(K.project_id);if(!z)continue;await _.insertInto("connection_aggregations").values({id:`agg_${p()}`,parent_connection_id:z,child_connection_id:K.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:K.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 K of E){let z=C.get(K.project_id);if(!z)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${p()}`,virtual_mcp_id:z,plugin_id:K.plugin_id,connection_id:K.connection_id,settings:K.settings,created_at:K.created_at,updated_at:K.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function rE(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await ix`
|
|
282
282
|
ALTER TABLE connections
|
|
283
283
|
DROP CONSTRAINT IF EXISTS chk_connections_subtype
|
|
284
|
-
`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var
|
|
284
|
+
`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var qx={};m(qx,{up:()=>lE,down:()=>sE});import{sql as eE}from"kysely";async function lE(_){await eE`
|
|
285
285
|
DELETE FROM connections
|
|
286
286
|
WHERE connection_type = 'VIRTUAL'
|
|
287
287
|
AND subtype = 'project'
|
|
288
288
|
AND metadata::json->>'migrated_project_slug' = 'org-admin'
|
|
289
|
-
`.execute(_)}async function
|
|
289
|
+
`.execute(_)}async function sE(_){}var gx={};m(gx,{up:()=>bE,down:()=>_z});import{sql as dE}from"kysely";async function bE(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await dE`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function _z(_){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 hx={};m(hx,{up:()=>xz,down:()=>uz});import{sql as cx}from"kysely";async function xz(_){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(cx`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(cx`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(cx`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 uz(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var ox={};m(ox,{up:()=>mz,down:()=>Cz});async function mz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function Cz(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var ax={};m(ax,{up:()=>Tz,down:()=>Nz});async function Tz(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function Nz(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var ex={};m(ex,{up:()=>Ez,down:()=>zz});import{sql as MT}from"kysely";function rx(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Kz(_){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 rx(T)}catch{return rx(_.connection_url)}if(_.title)return rx(_.title);return _.id}async function Ez(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await MT`
|
|
290
290
|
SELECT id, app_name, connection_url, title FROM connections
|
|
291
|
-
`.execute(_);for(let u of x.rows){let T=
|
|
291
|
+
`.execute(_);for(let u of x.rows){let T=Kz(u);await MT`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 zz(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var lx={};m(lx,{up:()=>Pz,down:()=>$z});import{sql as l}from"kysely";async function Pz(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await l`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await l`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 $z(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await l`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await l`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await l`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 sx={};m(sx,{up:()=>Uz,down:()=>Jz});async function Uz(_){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 Jz(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var dx={};m(dx,{up:()=>Xz,down:()=>jz});import{sql as J_}from"kysely";async function Xz(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await J_`
|
|
292
292
|
UPDATE threads
|
|
293
293
|
SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
|
|
294
294
|
WHERE agent_ids IS NOT NULL
|
|
@@ -298,14 +298,14 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
298
298
|
`.execute(_),await J_`
|
|
299
299
|
CREATE INDEX idx_threads_virtual_mcp_id
|
|
300
300
|
ON threads (organization_id, virtual_mcp_id, hidden, updated_at DESC)
|
|
301
|
-
`.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function
|
|
301
|
+
`.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function jz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute(),await J_`
|
|
302
302
|
UPDATE threads
|
|
303
303
|
SET agent_ids = CASE
|
|
304
304
|
WHEN virtual_mcp_id IS NOT NULL AND virtual_mcp_id != ''
|
|
305
305
|
THEN jsonb_build_array(virtual_mcp_id)::text
|
|
306
306
|
ELSE '[]'
|
|
307
307
|
END
|
|
308
|
-
`.execute(_),await J_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var
|
|
308
|
+
`.execute(_),await J_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var bx={};m(bx,{up:()=>Qz,down:()=>Wz});async function Qz(_){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 Wz(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var _u={};m(_u,{up:()=>Zz,down:()=>Lz});async function Zz(_){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 Lz(_){await _.schema.dropTable("kv").execute()}var xu={};m(xu,{up:()=>Dz,down:()=>Fz});async function Dz(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function Fz(_){await _.schema.dropIndex("idx_member_user_org").execute()}var uu={};m(uu,{up:()=>Rz,down:()=>Yz});async function Rz(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function Yz(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var mu={};m(mu,{up:()=>Hz,down:()=>Mz});import{sql as D}from"kysely";async function Hz(_){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(D`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(D`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 D`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(D`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(D`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 D`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(D`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(D`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(D`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(D`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(D`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 Mz(_){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 Cu={};m(Cu,{up:()=>nz,down:()=>Bz});import{sql as t}from"kysely";async function nz(_){await t`
|
|
309
309
|
ALTER TABLE event_subscriptions
|
|
310
310
|
ALTER COLUMN enabled DROP DEFAULT
|
|
311
311
|
`.execute(_),await t`
|
|
@@ -315,7 +315,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
315
315
|
`.execute(_),await t`
|
|
316
316
|
ALTER TABLE event_subscriptions
|
|
317
317
|
ALTER COLUMN enabled SET DEFAULT true
|
|
318
|
-
`.execute(_)}async function
|
|
318
|
+
`.execute(_)}async function Bz(_){await t`
|
|
319
319
|
ALTER TABLE event_subscriptions
|
|
320
320
|
ALTER COLUMN enabled DROP DEFAULT
|
|
321
321
|
`.execute(_),await t`
|
|
@@ -325,7 +325,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
325
325
|
`.execute(_),await t`
|
|
326
326
|
ALTER TABLE event_subscriptions
|
|
327
327
|
ALTER COLUMN enabled SET DEFAULT 1
|
|
328
|
-
`.execute(_)}var
|
|
328
|
+
`.execute(_)}var Tu={};m(Tu,{up:()=>Gz,down:()=>yz});import{sql as nT}from"kysely";async function Gz(_){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(nT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(nT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function yz(_){await _.schema.dropTable("brand_context").execute()}var Nu={};m(Nu,{up:()=>fz,down:()=>Oz});import{sql as BT}from"kysely";async function fz(_){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(BT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(BT`now()`)).execute()}async function Oz(_){await _.schema.dropTable("organization_domains").execute()}var Ku={};m(Ku,{up:()=>wz,down:()=>Vz});import{sql as GT}from"kysely";var X_=new Set(["primary","secondary","accent","background","foreground"]),Az={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function Sz(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((C)=>X_.has(C))){let C={};for(let[N,E]of Object.entries(u)){if(typeof E!=="string")continue;if(X_.has(N))C[N]=E;else x[N]=E}return{structured:Object.keys(C).length>0?JSON.stringify(C):null,extra:x}}let T={};for(let[C,N]of Object.entries(u)){if(typeof N!=="string")continue;if(X_.has(C.toLowerCase()))T[C.toLowerCase()]=N;else x[C]=N}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,N=C.label?.toLowerCase?.(),E=C.value;if(!N||!E)continue;if(X_.has(N))u[N]=E;else x[N]=E}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:x}}return{structured:null,extra:x}}function Iz(_){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,N=C.name??C.family??void 0,E=C.role?.toLowerCase?.()??"";if(!N)continue;let K=Az[E];if(K&&!x[K])x[K]=N;else u.push(N)}if(!x.body&&u[0])x.body=u[0];return Object.keys(x).length>0?JSON.stringify(x):null}return null}async function wz(_){let x=await GT`SELECT id, colors, fonts, metadata FROM brand_context`.execute(_);for(let u of x.rows){let T=!1,C=!1,N=!1,E=u.colors,K=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=Sz($);if(E=U.structured,T=!0,Object.keys(U.extra).length>0)z.extraColors=U.extra,N=!0}}catch{}if(u.fonts)try{let $=JSON.parse(u.fonts);if(Array.isArray($))K=Iz($),C=!0}catch{}if(T||C||N){let $=N?JSON.stringify(z):u.metadata;await GT`
|
|
329
329
|
UPDATE brand_context
|
|
330
330
|
SET
|
|
331
331
|
colors = ${E},
|
|
@@ -333,20 +333,20 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
333
333
|
metadata = ${$},
|
|
334
334
|
updated_at = NOW()
|
|
335
335
|
WHERE id = ${u.id}
|
|
336
|
-
`.execute(_)}}}async function
|
|
336
|
+
`.execute(_)}}}async function Vz(_){}var Eu={};m(Eu,{up:()=>pz,down:()=>tz});import{sql as kz}from"kysely";async function pz(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(kz`'{}'::jsonb`)).execute()}async function tz(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var zu={};m(zu,{up:()=>iz,down:()=>vz});async function iz(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function vz(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var Pu={};m(Pu,{up:()=>qz,down:()=>gz});async function qz(_){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 gz(_){await _.schema.dropTable("sandbox_runner_state").execute()}var $u={};m($u,{up:()=>cz,down:()=>hz});async function cz(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function hz(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var Uu={};m(Uu,{up:()=>oz,down:()=>az});async function oz(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function az(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var Ju={};m(Ju,{up:()=>rz,down:()=>ez});async function rz(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function ez(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var Xu={};m(Xu,{up:()=>sz,down:()=>dz});import{sql as yT}from"kysely";var lz=["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 sz(_){let x=await yT`
|
|
337
337
|
SELECT id, permission FROM "organizationRole"
|
|
338
|
-
`.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 N=C,E=Array.from(new Set([...N,...
|
|
338
|
+
`.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 N=C,E=Array.from(new Set([...N,...lz]));if(E.length===N.length)continue;T.self=E;let K=JSON.stringify(T);await yT`
|
|
339
339
|
UPDATE "organizationRole"
|
|
340
340
|
SET permission = ${K}
|
|
341
341
|
WHERE id = ${u.id}
|
|
342
|
-
`.execute(_)}}async function
|
|
342
|
+
`.execute(_)}}async function dz(_){}var ju={};m(ju,{up:()=>bz,down:()=>_0});async function bz(_){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 _0(_){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 Qu={};m(Qu,{up:()=>x0,down:()=>u0});async function x0(_){await _.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function u0(_){await _.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var Wu={};m(Wu,{up:()=>m0,down:()=>C0});import{sql as s}from"kysely";async function m0(_){await s`
|
|
343
343
|
UPDATE automations
|
|
344
344
|
SET virtual_mcp_id = (agent::json ->> 'id')
|
|
345
345
|
WHERE virtual_mcp_id IS NULL
|
|
346
346
|
`.execute(_),await s`
|
|
347
347
|
ALTER TABLE automations
|
|
348
348
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
349
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("agent").execute()}async function
|
|
349
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("agent").execute()}async function C0(_){await _.schema.alterTable("automations").addColumn("agent","text").execute(),await s`
|
|
350
350
|
UPDATE automations
|
|
351
351
|
SET agent = json_build_object('id', virtual_mcp_id)::text
|
|
352
352
|
`.execute(_),await s`
|
|
@@ -355,7 +355,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
355
355
|
`.execute(_),await s`
|
|
356
356
|
ALTER TABLE automations
|
|
357
357
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
358
|
-
`.execute(_)}var
|
|
358
|
+
`.execute(_)}var Lu={};m(Lu,{up:()=>E0,reshapeSimpleMode:()=>fT,inferAutomationTier:()=>OT,down:()=>z0,__testing:()=>K0});var T0={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},N0=["fast","smart","thinking","image","web_research"];function Zu(_){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 N0.some((T)=>(T in u))}function fT(_){if(Zu(_))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 T0;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 OT(_){if(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking")return _.tier;if(_.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function AT(_){if(!(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((T)=>_[T]===void 0)}var K0={isAlreadyReshapedSimpleMode:Zu,isAlreadyReshapedAutomationModels:AT};async function E0(_){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(Zu(C))continue;let N=fT(C);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(N)}).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(AT(C))continue;let N=OT(C);if(await _.updateTable("automations").set({models:JSON.stringify({tier:N})}).where("id","=",T.id).execute(),C.thinking?.capabilities?.image)console.log(`[migration 077] automation ${T.id} previously used an image-only model; mapped to "${N}"`)}}async function z0(_){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var Du={};m(Du,{up:()=>P0,down:()=>$0});import{sql as y}from"kysely";async function P0(_){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 y`
|
|
359
359
|
ALTER TABLE automations
|
|
360
360
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
361
361
|
`.execute(_),await y`
|
|
@@ -377,19 +377,19 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
377
377
|
AND tool_input IS NOT NULL
|
|
378
378
|
)
|
|
379
379
|
)
|
|
380
|
-
`.execute(_)}async function
|
|
380
|
+
`.execute(_)}async function $0(_){await y`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await y`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await y`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await y`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await y`
|
|
381
381
|
ALTER TABLE automations
|
|
382
382
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
383
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var
|
|
383
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var Fu={};m(Fu,{up:()=>J0,down:()=>X0});import{sql as ST}from"kysely";var U0=new Set(["host","docker","agent-sandbox"]);async function J0(_){let x=await ST`
|
|
384
384
|
SELECT id, metadata FROM "connections"
|
|
385
385
|
WHERE connection_type = 'VIRTUAL'
|
|
386
386
|
AND metadata IS NOT NULL
|
|
387
387
|
AND metadata LIKE '%vmMap%'
|
|
388
|
-
`.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 N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[Q,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}let
|
|
388
|
+
`.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 N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[Q,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}let H=X.runnerKind;if(H!==void 0&&!U0.has(H)){N=!0;continue}U[Q]=X}if(Object.keys(U).length>0)E[z]=U;else N=!0}if(!N)continue;T.vmMap=E;let K=JSON.stringify(T);await ST`
|
|
389
389
|
UPDATE "connections"
|
|
390
390
|
SET metadata = ${K}
|
|
391
391
|
WHERE id = ${u.id}
|
|
392
|
-
`.execute(_)}}async function
|
|
392
|
+
`.execute(_)}}async function X0(_){}var Ru={};m(Ru,{up:()=>j0,down:()=>Q0});import{sql as d}from"kysely";async function j0(_){await _.schema.createTable("async_research_jobs").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(d`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(d`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(d`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 d`
|
|
393
393
|
CREATE INDEX async_research_jobs_active_idx
|
|
394
394
|
ON async_research_jobs (status, last_polled_at)
|
|
395
395
|
WHERE status IN ('pending', 'polling')
|
|
@@ -397,7 +397,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
397
397
|
ALTER TABLE async_research_jobs
|
|
398
398
|
ADD CONSTRAINT chk_async_research_jobs_status
|
|
399
399
|
CHECK (status IN ('pending','polling','completed','failed','cancelled','abandoned'))
|
|
400
|
-
`.execute(_)}async function
|
|
400
|
+
`.execute(_)}async function Q0(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var Yu={};m(Yu,{up:()=>W0,down:()=>Z0});async function W0(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function Z0(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Hu={};m(Hu,{up:()=>L0,down:()=>D0});import{sql as i}from"kysely";async function L0(_){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(i`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(i`CURRENT_TIMESTAMP`)).execute(),await i`
|
|
401
401
|
ALTER TABLE secrets
|
|
402
402
|
ADD CONSTRAINT chk_secrets_scope CHECK (scope IN ('user', 'organization'))
|
|
403
403
|
`.execute(_),await i`
|
|
@@ -414,7 +414,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
414
414
|
CREATE UNIQUE INDEX idx_secrets_org_name
|
|
415
415
|
ON secrets (organization_id, lower(name))
|
|
416
416
|
WHERE scope = 'organization'
|
|
417
|
-
`.execute(_)}async function
|
|
417
|
+
`.execute(_)}async function D0(_){await _.schema.dropTable("secrets").execute()}var Mu={};m(Mu,{up:()=>F0,down:()=>R0});async function F0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function R0(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var nu={};m(nu,{up:()=>H0,down:()=>M0});import{sql as Y0}from"kysely";async function H0(_){await Y0`delete from sandbox_runner_state where runner_kind = 'host'`.execute(_)}async function M0(_){}var Bu={};m(Bu,{up:()=>n0,down:()=>B0});import{sql as j_}from"kysely";async function n0(_){await j_`
|
|
418
418
|
ALTER TABLE sandbox_runner_state
|
|
419
419
|
RENAME COLUMN runner_kind TO sandbox_provider_kind
|
|
420
420
|
`.execute(_),await j_`
|
|
@@ -452,7 +452,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
452
452
|
EXCEPTION WHEN undefined_table THEN
|
|
453
453
|
NULL;
|
|
454
454
|
END; $$
|
|
455
|
-
`.execute(_),await _.schema.alterTable("threads").dropColumn("run_locally").execute()}async function
|
|
455
|
+
`.execute(_),await _.schema.alterTable("threads").dropColumn("run_locally").execute()}async function B0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await j_`
|
|
456
456
|
ALTER TABLE sandbox_runner_state
|
|
457
457
|
RENAME COLUMN sandbox_provider_kind TO runner_kind
|
|
458
458
|
`.execute(_),await j_`
|
|
@@ -490,7 +490,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
490
490
|
EXCEPTION WHEN undefined_table THEN
|
|
491
491
|
NULL;
|
|
492
492
|
END; $$
|
|
493
|
-
`.execute(_)}var
|
|
493
|
+
`.execute(_)}var Gu={};m(Gu,{up:()=>G0,down:()=>y0});import{sql as IT}from"kysely";async function G0(_){await _.schema.alterTable("threads").addColumn("sandbox_provider_kind","text").execute(),await _.schema.alterTable("threads").addColumn("harness_id","text").execute(),await IT`
|
|
494
494
|
DO $$ BEGIN
|
|
495
495
|
UPDATE virtualmcps v
|
|
496
496
|
SET metadata = jsonb_set(
|
|
@@ -529,7 +529,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
529
529
|
-- PGlite migration order: virtualmcps not yet created. Safe no-op.
|
|
530
530
|
NULL;
|
|
531
531
|
END; $$
|
|
532
|
-
`.execute(_)}async function
|
|
532
|
+
`.execute(_)}async function y0(_){await _.schema.alterTable("threads").dropColumn("harness_id").execute(),await _.schema.alterTable("threads").dropColumn("sandbox_provider_kind").execute(),await IT`
|
|
533
533
|
DO $$ BEGIN
|
|
534
534
|
UPDATE virtualmcps v
|
|
535
535
|
SET metadata = jsonb_set(
|
|
@@ -562,7 +562,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
562
562
|
EXCEPTION WHEN undefined_table THEN
|
|
563
563
|
NULL;
|
|
564
564
|
END; $$
|
|
565
|
-
`.execute(_)}var
|
|
565
|
+
`.execute(_)}var yu={};m(yu,{up:()=>f0,down:()=>O0});import{sql as wT}from"kysely";async function f0(_){await wT`
|
|
566
566
|
UPDATE connections c
|
|
567
567
|
SET metadata = (
|
|
568
568
|
jsonb_set(
|
|
@@ -606,7 +606,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
606
606
|
JOIN jsonb_each(user_map) AS branches(branch_key, entry) ON true
|
|
607
607
|
WHERE entry ? 'vmId'
|
|
608
608
|
);
|
|
609
|
-
`.execute(_),await
|
|
609
|
+
`.execute(_),await wT`
|
|
610
610
|
UPDATE connections c
|
|
611
611
|
SET metadata = (
|
|
612
612
|
jsonb_set(
|
|
@@ -660,10 +660,10 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
660
660
|
JOIN jsonb_each(branch_entry) AS kinds(kind_key, inner_entry) ON true
|
|
661
661
|
WHERE inner_entry ? 'runnerKind'
|
|
662
662
|
);
|
|
663
|
-
`.execute(_)}async function
|
|
663
|
+
`.execute(_)}async function O0(_){}var fu={};m(fu,{up:()=>S0,down:()=>I0});import{sql as A0}from"kysely";async function S0(_){await A0`
|
|
664
664
|
DELETE FROM ai_provider_keys
|
|
665
665
|
WHERE provider_id IN ('claude-code', 'codex')
|
|
666
|
-
`.execute(_)}async function
|
|
666
|
+
`.execute(_)}async function I0(_){}var Ou={};m(Ou,{up:()=>w0,down:()=>V0});import{sql as Q_}from"kysely";async function w0(_){await Q_`
|
|
667
667
|
UPDATE sandbox_runner_state
|
|
668
668
|
SET sandbox_provider_kind = 'desktop'
|
|
669
669
|
WHERE sandbox_provider_kind = 'remote-user'
|
|
@@ -761,13 +761,13 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
761
761
|
UPDATE threads
|
|
762
762
|
SET sandbox_provider_kind = 'desktop'
|
|
763
763
|
WHERE sandbox_provider_kind = 'remote-user'
|
|
764
|
-
`.execute(_)}async function
|
|
764
|
+
`.execute(_)}async function V0(_){}var Au={};m(Au,{up:()=>k0,down:()=>p0});import{sql as b}from"kysely";async function k0(_){await b`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await b`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 p0(_){await _.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await b`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(_),await b`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await b`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_)}var Su={};m(Su,{up:()=>t0,down:()=>i0});import{sql as VT}from"kysely";async function t0(_){await VT`
|
|
765
765
|
ALTER TABLE organization_domains
|
|
766
766
|
DROP CONSTRAINT IF EXISTS organization_domains_domain_key
|
|
767
|
-
`.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function
|
|
767
|
+
`.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function i0(_){await _.schema.dropIndex("organization_domains_domain_idx").ifExists().execute(),await VT`
|
|
768
768
|
ALTER TABLE organization_domains
|
|
769
769
|
ADD CONSTRAINT organization_domains_domain_key UNIQUE (domain)
|
|
770
|
-
`.execute(_)}var
|
|
770
|
+
`.execute(_)}var Iu={};m(Iu,{up:()=>v0,down:()=>q0});import{sql as W_}from"kysely";async function v0(_){await W_`
|
|
771
771
|
UPDATE sandbox_runner_state
|
|
772
772
|
SET sandbox_provider_kind = CASE sandbox_provider_kind
|
|
773
773
|
WHEN 'docker' THEN 'local-docker'
|
|
@@ -856,19 +856,19 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
856
856
|
WHERE c.connection_type = 'VIRTUAL'
|
|
857
857
|
AND c.metadata IS NOT NULL
|
|
858
858
|
AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
|
|
859
|
-
`.execute(_)}async function
|
|
859
|
+
`.execute(_)}async function q0(_){}var wu={};m(wu,{up:()=>c0,down:()=>h0});import{sql as kT}from"kysely";var g0=["GLOBAL_SEARCH"];async function c0(_){let x=await kT`
|
|
860
860
|
SELECT id, permission FROM "organizationRole"
|
|
861
|
-
`.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 N=C,E=Array.from(new Set([...N,...
|
|
861
|
+
`.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 N=C,E=Array.from(new Set([...N,...g0]));if(E.length===N.length)continue;T.self=E;let K=JSON.stringify(T);await kT`
|
|
862
862
|
UPDATE "organizationRole"
|
|
863
863
|
SET permission = ${K}
|
|
864
864
|
WHERE id = ${u.id}
|
|
865
|
-
`.execute(_)}}async function
|
|
865
|
+
`.execute(_)}}async function h0(_){}var ku={};m(ku,{up:()=>o0,down:()=>a0});import{sql as Vu}from"kysely";async function o0(_){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(Vu`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Vu`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await Vu`
|
|
866
866
|
CREATE UNIQUE INDEX idx_org_file_configs_org_name
|
|
867
867
|
ON org_file_configs (organization_id, lower(name))
|
|
868
|
-
`.execute(_)}async function
|
|
868
|
+
`.execute(_)}async function a0(_){await _.schema.dropTable("org_file_configs").execute()}var pu={};m(pu,{up:()=>r0,down:()=>e0});import{sql as f}from"kysely";async function r0(_){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`
|
|
869
869
|
ALTER TABLE automations
|
|
870
870
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
871
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function
|
|
871
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function e0(_){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`
|
|
872
872
|
ALTER TABLE automations
|
|
873
873
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
874
874
|
`.execute(_),await f`
|
|
@@ -890,27 +890,27 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
890
890
|
AND tool_input IS NOT NULL
|
|
891
891
|
)
|
|
892
892
|
)
|
|
893
|
-
`.execute(_)}var
|
|
893
|
+
`.execute(_)}var tu={};m(tu,{up:()=>l0,down:()=>s0});async function l0(_){await _.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function s0(_){await _.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var vu={};m(vu,{up:()=>d0,down:()=>b0});import{sql as iu}from"kysely";var Z_="local-docker";async function d0(_){await iu`delete from sandbox_runner_state where sandbox_provider_kind = ${Z_}`.execute(_);let x=await iu`
|
|
894
894
|
SELECT id, metadata FROM "connections"
|
|
895
895
|
WHERE connection_type = 'VIRTUAL'
|
|
896
896
|
AND metadata IS NOT NULL
|
|
897
897
|
AND metadata LIKE ${"%"+Z_+"%"}
|
|
898
|
-
`.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 N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[Q,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}if(Z_ in X){N=!0;let
|
|
898
|
+
`.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 N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[Q,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}if(Z_ in X){N=!0;let H={...X};if(delete H[Z_],Object.keys(H).length>0)U[Q]=H}else U[Q]=X}if(Object.keys(U).length>0)E[z]=U;else N=!0}if(!N)continue;T.sandboxMap=E;let K=JSON.stringify(T);await iu`
|
|
899
899
|
UPDATE "connections"
|
|
900
900
|
SET metadata = ${K}
|
|
901
901
|
WHERE id = ${u.id}
|
|
902
|
-
`.execute(_)}}async function
|
|
902
|
+
`.execute(_)}}async function b0(_){}var qu={};m(qu,{up:()=>_P,down:()=>xP});import{sql as L_}from"kysely";async function _P(_){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 L_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await L_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await L_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await L_`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 xP(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var gu={};m(gu,{up:()=>uP,down:()=>mP});async function uP(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function mP(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var cu={};m(cu,{up:()=>CP,down:()=>TP});async function CP(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function TP(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var hu={};m(hu,{up:()=>NP,down:()=>KP});async function NP(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function KP(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var ou={};m(ou,{up:()=>EP,down:()=>zP});async function EP(_){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 zP(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var au={};m(au,{up:()=>PP,down:()=>$P});async function PP(_){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 $P(_){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 eu={};m(eu,{up:()=>JP,down:()=>XP});import{sql as B}from"kysely";var F="cluster",R="agent-sandbox";function v(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function ru(_,x,u){if(!v(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function D_(_){if(!v(_))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!==F&&_.sandboxProviderKind!==R&&_.sandboxProviderKind!=="user-desktop")return!1;if(_.createdAt!==void 0&&typeof _.createdAt!=="number")return!1;if(_.startedWith!==void 0){if(!v(_.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 UP(_,x,u){if(!v(_))return null;let T=!1,C={};for(let[N,E]of Object.entries(_)){if(!v(E)){C[N]=E;continue}let K={};for(let[z,$]of Object.entries(E)){if(!v($)){K[z]=$;continue}let U={};for(let[Q,X]of Object.entries($)){if(Q===x){if(T=!0,!(u in $))U[u]=ru(X,x,u);else if(!D_($[u])&&D_(X))U[u]=ru(X,x,u);continue}let H=ru(X,x,u);if(H!==X)T=!0;if(Q===u&&Q in U&&D_(U[Q])&&!D_(H))continue;U[Q]=H}K[z]=U}C[N]=K}return{sandboxMap:C,changed:T}}async function pT(_,x,u){let T=await B`
|
|
903
903
|
SELECT id, metadata FROM connections
|
|
904
904
|
WHERE connection_type = 'VIRTUAL'
|
|
905
905
|
AND metadata IS NOT NULL
|
|
906
906
|
AND metadata LIKE ${"%"+x+"%"}
|
|
907
|
-
`.execute(_);for(let C of T.rows){if(!C.metadata)continue;let N;try{N=JSON.parse(C.metadata)}catch{continue}let E=
|
|
907
|
+
`.execute(_);for(let C of T.rows){if(!C.metadata)continue;let N;try{N=JSON.parse(C.metadata)}catch{continue}let E=UP(N.sandboxMap,x,u);if(!E?.changed)continue;N.sandboxMap=E.sandboxMap,await B`
|
|
908
908
|
UPDATE connections
|
|
909
909
|
SET metadata = ${JSON.stringify(N)}
|
|
910
910
|
WHERE id = ${C.id}
|
|
911
|
-
`.execute(_)}}async function
|
|
911
|
+
`.execute(_)}}async function JP(_){await B`
|
|
912
912
|
UPDATE threads
|
|
913
|
-
SET sandbox_provider_kind = ${
|
|
913
|
+
SET sandbox_provider_kind = ${R}
|
|
914
914
|
WHERE sandbox_provider_kind = ${F}
|
|
915
915
|
`.execute(_),await B`
|
|
916
916
|
UPDATE sandbox_runner_state canonical
|
|
@@ -918,7 +918,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
918
918
|
state = legacy.state,
|
|
919
919
|
updated_at = legacy.updated_at
|
|
920
920
|
FROM sandbox_runner_state legacy
|
|
921
|
-
WHERE canonical.sandbox_provider_kind = ${
|
|
921
|
+
WHERE canonical.sandbox_provider_kind = ${R}
|
|
922
922
|
AND legacy.sandbox_provider_kind = ${F}
|
|
923
923
|
AND canonical.user_id = legacy.user_id
|
|
924
924
|
AND canonical.project_ref = legacy.project_ref
|
|
@@ -931,16 +931,16 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
931
931
|
FROM sandbox_runner_state canonical
|
|
932
932
|
WHERE canonical.user_id = legacy.user_id
|
|
933
933
|
AND canonical.project_ref = legacy.project_ref
|
|
934
|
-
AND canonical.sandbox_provider_kind = ${
|
|
934
|
+
AND canonical.sandbox_provider_kind = ${R}
|
|
935
935
|
)
|
|
936
936
|
`.execute(_),await B`
|
|
937
937
|
UPDATE sandbox_runner_state
|
|
938
|
-
SET sandbox_provider_kind = ${
|
|
938
|
+
SET sandbox_provider_kind = ${R}
|
|
939
939
|
WHERE sandbox_provider_kind = ${F}
|
|
940
|
-
`.execute(_),await
|
|
940
|
+
`.execute(_),await pT(_,F,R)}async function XP(_){await B`
|
|
941
941
|
UPDATE threads
|
|
942
942
|
SET sandbox_provider_kind = ${F}
|
|
943
|
-
WHERE sandbox_provider_kind = ${
|
|
943
|
+
WHERE sandbox_provider_kind = ${R}
|
|
944
944
|
`.execute(_),await B`
|
|
945
945
|
UPDATE sandbox_runner_state legacy
|
|
946
946
|
SET handle = canonical.handle,
|
|
@@ -948,13 +948,13 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
948
948
|
updated_at = canonical.updated_at
|
|
949
949
|
FROM sandbox_runner_state canonical
|
|
950
950
|
WHERE legacy.sandbox_provider_kind = ${F}
|
|
951
|
-
AND canonical.sandbox_provider_kind = ${
|
|
951
|
+
AND canonical.sandbox_provider_kind = ${R}
|
|
952
952
|
AND legacy.user_id = canonical.user_id
|
|
953
953
|
AND legacy.project_ref = canonical.project_ref
|
|
954
954
|
AND canonical.updated_at > legacy.updated_at
|
|
955
955
|
`.execute(_),await B`
|
|
956
956
|
DELETE FROM sandbox_runner_state canonical
|
|
957
|
-
WHERE canonical.sandbox_provider_kind = ${
|
|
957
|
+
WHERE canonical.sandbox_provider_kind = ${R}
|
|
958
958
|
AND EXISTS (
|
|
959
959
|
SELECT 1
|
|
960
960
|
FROM sandbox_runner_state legacy
|
|
@@ -965,8 +965,8 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
965
965
|
`.execute(_),await B`
|
|
966
966
|
UPDATE sandbox_runner_state
|
|
967
967
|
SET sandbox_provider_kind = ${F}
|
|
968
|
-
WHERE sandbox_provider_kind = ${
|
|
969
|
-
`.execute(_),await
|
|
968
|
+
WHERE sandbox_provider_kind = ${R}
|
|
969
|
+
`.execute(_),await pT(_,R,F)}var lu={};m(lu,{up:()=>jP,down:()=>QP});import{sql as A}from"kysely";async function jP(_){await A`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(A`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(A`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(A`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 A`
|
|
970
970
|
CREATE INDEX idx_org_fs_entry_parent
|
|
971
971
|
ON org_fs_entry (organization_id, volume, parent)
|
|
972
972
|
WHERE deleted_at IS NULL
|
|
@@ -974,7 +974,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
974
974
|
CREATE INDEX idx_org_fs_entry_usage
|
|
975
975
|
ON org_fs_entry (organization_id, volume, size)
|
|
976
976
|
WHERE kind = 'file' AND deleted_at IS NULL
|
|
977
|
-
`.execute(_)}async function
|
|
977
|
+
`.execute(_)}async function QP(_){await _.schema.dropTable("org_fs_entry").execute(),await A`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(_)}var su={};m(su,{up:()=>WP,down:()=>ZP});async function WP(_){await _.schema.alterTable("automations").addColumn("tools","text").execute()}async function ZP(_){await _.schema.alterTable("automations").dropColumn("tools").execute()}var du={};m(du,{up:()=>LP,down:()=>DP});import{sql as tT}from"kysely";async function LP(_){await tT`
|
|
978
978
|
INSERT INTO "organization" (id, name, slug, "createdAt")
|
|
979
979
|
SELECT
|
|
980
980
|
'org_orgfs_public_skills',
|
|
@@ -988,13 +988,13 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
988
988
|
END,
|
|
989
989
|
now()
|
|
990
990
|
ON CONFLICT (id) DO NOTHING
|
|
991
|
-
`.execute(_)}async function
|
|
991
|
+
`.execute(_)}async function DP(_){await tT`
|
|
992
992
|
DELETE FROM "organization" WHERE id = 'org_orgfs_public_skills'
|
|
993
|
-
`.execute(_)}var
|
|
993
|
+
`.execute(_)}var bu={};m(bu,{up:()=>FP,down:()=>RP});async function FP(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function RP(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var _m={};m(_m,{up:()=>YP,down:()=>HP});import{sql as iT}from"kysely";async function YP(_){await iT`DROP INDEX IF EXISTS idx_tmp_run_seq`.execute(_)}async function HP(_){await iT`CREATE UNIQUE INDEX IF NOT EXISTS idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_)}var xm={};m(xm,{up:()=>nP,down:()=>BP});import{sql as MP}from"kysely";async function nP(_){await MP`
|
|
994
994
|
UPDATE downstream_tokens
|
|
995
995
|
SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
|
|
996
996
|
WHERE "expiresAt" IS NULL
|
|
997
|
-
`.execute(_)}async function
|
|
997
|
+
`.execute(_)}async function BP(_){}var um={};m(um,{up:()=>GP,down:()=>yP});async function GP(_){await _.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function yP(_){await _.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var mm={};m(mm,{up:()=>fP,down:()=>OP});async function fP(_){await _.schema.alterTable("org_file_configs").addColumn("credential_type","text",(x)=>x.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function OP(_){await _.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var Cm={};m(Cm,{up:()=>AP,down:()=>SP});async function AP(_){await _.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await _.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function SP(_){await _.schema.alterTable("threads").dropColumn("failure_kind").execute(),await _.schema.alterTable("threads").dropColumn("failure_reason").execute()}var Tm={};m(Tm,{up:()=>IP,down:()=>wP});async function IP(_){await _.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function wP(_){await _.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Nm={};m(Nm,{up:()=>VP,down:()=>kP});async function VP(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}async function kP(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}var Km={};m(Km,{up:()=>pP,down:()=>tP});import{sql as vT}from"kysely";async function pP(_){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(vT`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(vT`now()`)).execute(),await _.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function tP(_){await _.schema.dropTable("org_sites").execute()}var Em={};m(Em,{up:()=>iP,down:()=>vP});async function iP(_){await _.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function vP(_){await _.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var zm={};m(zm,{up:()=>qP,down:()=>gP});import{sql as Z}from"kysely";async function qP(_){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`
|
|
998
998
|
UPDATE organization_domains
|
|
999
999
|
SET
|
|
1000
1000
|
id = gen_random_uuid()::text,
|
|
@@ -1003,18 +1003,18 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1003
1003
|
verification_method = 'email',
|
|
1004
1004
|
verified_at = created_at
|
|
1005
1005
|
WHERE id IS NULL
|
|
1006
|
-
`.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
|
|
1006
|
+
`.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 gP(_){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`
|
|
1007
1007
|
UPDATE organization_domains
|
|
1008
1008
|
SET auto_join_enabled = (join_mode = 'auto')
|
|
1009
|
-
`.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
|
|
1009
|
+
`.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 Pm={};m(Pm,{up:()=>cP,down:()=>hP});import{sql as F_}from"kysely";async function cP(_){await _.schema.createTable("organization_join_requests").addColumn("id","text",(x)=>x.primaryKey().defaultTo(F_`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(F_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(F_`now()`)).execute(),await F_`
|
|
1010
1010
|
CREATE UNIQUE INDEX organization_join_requests_pending_unique
|
|
1011
1011
|
ON organization_join_requests (organization_id, user_id)
|
|
1012
1012
|
WHERE status = 'pending'
|
|
1013
|
-
`.execute(_),await _.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function
|
|
1013
|
+
`.execute(_),await _.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function hP(_){await _.schema.dropTable("organization_join_requests").execute()}var $m={};m($m,{up:()=>oP,down:()=>aP});async function oP(_){await _.schema.alterTable("org_fs_entry").addColumn("read_public","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function aP(_){await _.schema.alterTable("org_fs_entry").dropColumn("read_public").execute()}var Um={};m(Um,{up:()=>rP,down:()=>eP});async function rP(_){await _.schema.alterTable("org_fs_entry").addColumn("share_password_hash","text").addColumn("share_secret","text").execute()}async function eP(_){await _.schema.alterTable("org_fs_entry").dropColumn("share_password_hash").dropColumn("share_secret").execute()}var jm={};m(jm,{up:()=>dP,splitWebResearchTier:()=>Xm,down:()=>bP,__testing:()=>sP});function lP(_){return _.toLowerCase().replace(/[^a-z0-9]/g,"").includes("deepresearch")}function Jm(_){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 Xm(_){if(!_||Jm(_))return _;let x=_.tiers??{},u=x.web_research??null,{web_research:T,...C}=x,N=null,E=null;if(u)if(lP(u.modelId))E=u;else N=u;return{..._,tiers:{...C,web_search:N,deep_research:E}}}var sP={splitWebResearchTier:Xm,isAlreadySplit:Jm};async function dP(_){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(Jm(T))continue;let C=Xm(T);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(C)}).where("organizationId","=",u.organizationId).execute()}}async function bP(_){throw Error("122-split-web-research-tier is not reversible. Restore from snapshot.")}var Qm={};m(Qm,{up:()=>_$,down:()=>x$});import{sql as __}from"kysely";async function _$(_){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(__`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_workload_tokens_subject").on("connection_workload_tokens").columns(["organization_id","subject_connection_id"]).execute(),await __`
|
|
1014
1014
|
CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
|
|
1015
1015
|
ON connection_workload_tokens (organization_id, subject_connection_id, name)
|
|
1016
1016
|
WHERE revoked_at IS NULL
|
|
1017
|
-
`.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(__`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`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
|
|
1017
|
+
`.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(__`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`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 x$(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Wm={};m(Wm,{up:()=>u$,down:()=>m$});async function u$(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function m$(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var Zm={};m(Zm,{up:()=>C$,down:()=>T$});import{sql as V}from"kysely";async function C$(_){await V`
|
|
1018
1018
|
CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
|
|
1019
1019
|
RETURNS jsonb AS $fn$
|
|
1020
1020
|
BEGIN
|
|
@@ -1073,7 +1073,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1073
1073
|
BEFORE INSERT ON connection_aggregations
|
|
1074
1074
|
FOR EACH ROW
|
|
1075
1075
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1076
|
-
`.execute(_)}async function
|
|
1076
|
+
`.execute(_)}async function T$(_){await V`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await V`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_),await V`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(_)}var Dm={};m(Dm,{up:()=>N$,down:()=>K$});import{sql as Lm}from"kysely";async function N$(_){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(Lm`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Lm`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(Lm`false`)).execute()}async function K$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var Fm={};m(Fm,{up:()=>E$,down:()=>z$});async function E$(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function z$(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var Rm={};m(Rm,{up:()=>P$,down:()=>$$});async function P$(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function $$(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var Ym={};m(Ym,{up:()=>U$,down:()=>J$});async function U$(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function J$(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var Hm={};m(Hm,{up:()=>j$,down:()=>Q$});import{sql as X$}from"kysely";async function j$(_){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(X$`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 Q$(_){await _.schema.dropTable("task_board_item_threads").execute()}var Mm={};m(Mm,{up:()=>W$,down:()=>Z$});async function W$(_){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 Z$(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var nm={};m(nm,{up:()=>D$,down:()=>F$});import{sql as L$}from"kysely";async function D$(_){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(L$`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 F$(_){await _.schema.dropTable("task_board_item_prs").execute()}var Bm={};m(Bm,{up:()=>Y$,down:()=>H$});import{sql as R$}from"kysely";async function Y$(_){await R$`
|
|
1077
1077
|
DELETE FROM member
|
|
1078
1078
|
WHERE id IN (
|
|
1079
1079
|
SELECT id FROM (
|
|
@@ -1092,38 +1092,38 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1092
1092
|
) ranked
|
|
1093
1093
|
WHERE ranked.rn > 1
|
|
1094
1094
|
)
|
|
1095
|
-
`.execute(_)}async function
|
|
1095
|
+
`.execute(_)}async function H$(_){}var Gm={};m(Gm,{up:()=>M$,down:()=>n$});async function M$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function n$(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var ym={};m(ym,{up:()=>B$,down:()=>G$});async function B$(_){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 G$(_){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 fm={};m(fm,{up:()=>f$,down:()=>O$});import{sql as y$}from"kysely";async function f$(_){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(y$`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 O$(_){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 Om={};m(Om,{up:()=>S$,down:()=>I$});import{sql as A$}from"kysely";async function S$(_){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(A$`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 I$(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var Am={};m(Am,{up:()=>w$,down:()=>V$});import{sql as R_}from"kysely";async function w$(_){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(R_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(R_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",R_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",R_`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 V$(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var Sm={};m(Sm,{up:()=>k$,down:()=>p$});import{sql as Y_}from"kysely";async function k$(_){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(Y_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Y_`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(Y_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await Y_`
|
|
1096
1096
|
insert into organization_billing (organization_id, legacy)
|
|
1097
1097
|
select id, true from organization
|
|
1098
1098
|
on conflict (organization_id) do nothing
|
|
1099
|
-
`.execute(_)}async function
|
|
1099
|
+
`.execute(_)}async function p$(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var Im={};m(Im,{up:()=>t$,down:()=>i$});import{sql as qT}from"kysely";async function t$(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(qT`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(qT`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function i$(_){await _.schema.dropTable("seat_change_log").execute()}var wm={};m(wm,{up:()=>v$,down:()=>q$});async function v$(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function q$(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var Vm={};m(Vm,{up:()=>g$,down:()=>c$});import{sql as gT}from"kysely";async function g$(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await gT`
|
|
1100
1100
|
create unique index organization_billing_stripe_subscription_id_uq
|
|
1101
1101
|
on organization_billing (stripe_subscription_id)
|
|
1102
1102
|
where stripe_subscription_id is not null
|
|
1103
|
-
`.execute(_)}async function
|
|
1103
|
+
`.execute(_)}async function c$(_){await gT`drop index organization_billing_stripe_subscription_id_uq`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("last_stripe_event_at").execute()}var km={};m(km,{up:()=>h$,down:()=>o$});async function h$(_){await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute()}async function o$(_){await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute()}var pm={};m(pm,{up:()=>a$,down:()=>r$});import{sql as cT}from"kysely";async function a$(_){await cT`
|
|
1104
1104
|
create index idx_org_billing_benefits_pending
|
|
1105
1105
|
on organization_billing (updated_at)
|
|
1106
1106
|
where benefits_reference_id is not null
|
|
1107
|
-
`.execute(_)}async function
|
|
1107
|
+
`.execute(_)}async function r$(_){await cT`drop index if exists idx_org_billing_benefits_pending`.execute(_)}var tm={};m(tm,{up:()=>e$,down:()=>l$});import{sql as hT}from"kysely";async function e$(_){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(hT`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(hT`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 l$(_){await _.schema.dropTable("user_model_preferences").execute()}var im={};m(im,{up:()=>s$,down:()=>d$});async function s$(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function d$(_){await _.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var vm={};m(vm,{up:()=>b$,down:()=>_U});async function b$(_){await _.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await _.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function _U(_){}var qm={};m(qm,{up:()=>xU,down:()=>uU});import{sql as oT}from"kysely";async function xU(_){await _.schema.alterTable("organization_settings").addColumn("flags","jsonb").execute(),await oT`
|
|
1108
1108
|
UPDATE organization_settings
|
|
1109
1109
|
SET flags = jsonb_build_object('reports_only', reports_only)
|
|
1110
1110
|
WHERE reports_only IS NOT NULL
|
|
1111
|
-
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function
|
|
1111
|
+
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function uU(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute(),await oT`
|
|
1112
1112
|
UPDATE organization_settings
|
|
1113
1113
|
SET reports_only = (flags ->> 'reports_only')::boolean
|
|
1114
1114
|
WHERE flags ? 'reports_only'
|
|
1115
|
-
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var gm={};m(gm,{up:()=>
|
|
1115
|
+
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var gm={};m(gm,{up:()=>CU,down:()=>TU});import{sql as mU}from"kysely";async function CU(_){await _.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(x)=>x.notNull().defaultTo(0)).execute(),await mU`
|
|
1116
1116
|
update task_board_items
|
|
1117
1117
|
set sort_order = -extract(epoch from created_at)
|
|
1118
|
-
`.execute(_)}async function
|
|
1118
|
+
`.execute(_)}async function TU(_){await _.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var cm={};m(cm,{up:()=>NU,down:()=>KU,ACTIONS:()=>aT});import{sql as H_}from"kysely";var aT=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function NU(_){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(H_`now()`)).addCheckConstraint("chk_task_board_activity_action",H_`action IN (${H_.join(aT.map((x)=>H_.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 KU(_){await _.schema.dropIndex("idx_task_board_activity_item").execute(),await _.schema.dropTable("task_board_activity").execute()}var om={};m(om,{up:()=>EU,down:()=>zU,ACTIONS:()=>hm});import{sql as x_}from"kysely";var hm=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function EU(_){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(x_`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 rT(_,hm)}async function zU(_){await rT(_,hm.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 rT(_,x){await x_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await x_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${x_.join(x.map((u)=>x_.lit(u)))}))`.execute(_)}var rm={};m(rm,{up:()=>$U,down:()=>UU});import{sql as eT}from"kysely";function am(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function PU(_){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 am(T)}catch{return am(_.connection_url)}if(_.title)return am(_.title);return _.id}async function $U(_){let x=await eT`
|
|
1119
1119
|
SELECT id, app_name, connection_url, title, slug
|
|
1120
1120
|
FROM connections
|
|
1121
1121
|
WHERE connection_type != 'VIRTUAL'
|
|
1122
|
-
`.execute(_),u=0;for(let T of x.rows){let C=
|
|
1122
|
+
`.execute(_),u=0;for(let T of x.rows){let C=PU(T);if(C===T.slug)continue;await eT`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 UU(){}var em={};m(em,{up:()=>XU,down:()=>jU});import{sql as JU}from"kysely";async function XU(_){await JU`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 jU(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var sm={};m(sm,{up:()=>WU,down:()=>ZU,ACTIONS:()=>lm});import{sql as M_}from"kysely";var lm=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],QU=new Set(["review_requested","review_approved","review_changes_requested"]);async function WU(_){await lT(_,lm)}async function ZU(_){await lT(_,lm.filter((x)=>!QU.has(x)))}async function lT(_,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 dm={};m(dm,{up:()=>DU,down:()=>FU});import{sql as LU}from"kysely";async function DU(_){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(LU`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 FU(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var _C={};m(_C,{up:()=>YU,down:()=>HU,ACTIONS:()=>bm});import{sql as n_}from"kysely";var bm=["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"],RU=new Set(["merge_conflict_resolution"]);async function YU(_){await sT(_,bm)}async function HU(_){await sT(_,bm.filter((x)=>!RU.has(x)))}async function sT(_,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 xC={};m(xC,{up:()=>MU,down:()=>nU});import{sql as u_}from"kysely";async function MU(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await u_`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 nU(_){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 u_`
|
|
1123
1123
|
create index idx_org_billing_benefits_pending
|
|
1124
1124
|
on organization_billing (updated_at)
|
|
1125
1125
|
where benefits_reference_id is not null
|
|
1126
|
-
`.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(u_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pk",["organization_id","user_id"]).execute(),await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(u_`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(u_`now()`)).execute()}var
|
|
1126
|
+
`.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(u_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pk",["organization_id","user_id"]).execute(),await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(u_`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(u_`now()`)).execute()}var uC={};m(uC,{up:()=>BU,down:()=>GU});import{sql as B_}from"kysely";async function BU(_){await B_`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await B_`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_)}async function GU(_){await B_`
|
|
1127
1127
|
CREATE OR REPLACE FUNCTION enforce_repo_github_child_single_parent()
|
|
1128
1128
|
RETURNS trigger AS $fn$
|
|
1129
1129
|
BEGIN
|
|
@@ -1149,23 +1149,23 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1149
1149
|
BEFORE INSERT ON connection_aggregations
|
|
1150
1150
|
FOR EACH ROW
|
|
1151
1151
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1152
|
-
`.execute(_)}var
|
|
1152
|
+
`.execute(_)}var mC={};m(mC,{up:()=>yU,down:()=>fU});import{sql as dT}from"kysely";async function yU(_){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(dT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(dT`now()`)).execute(),await _.schema.createIndex("idx_task_board_comments_item").on("task_board_comments").columns(["task_board_item_id","created_at"]).execute()}async function fU(_){await _.schema.dropIndex("idx_task_board_comments_item").execute(),await _.schema.dropTable("task_board_comments").execute()}var CC={};m(CC,{up:()=>OU,down:()=>AU});import{sql as bT}from"kysely";async function OU(_){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(bT`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(bT`now()`)).execute()}async function AU(_){await _.schema.dropTable("subsidized_gateway_keys").ifExists().execute(),await _.schema.dropTable("task_quota_claims").ifExists().execute()}var NC={};m(NC,{up:()=>SU,down:()=>IU});import{sql as TC}from"kysely";async function SU(_){await _.schema.alterTable("task_quota_claims").addColumn("state","text",(x)=>x.notNull().defaultTo("held").check(TC`state in ('held', 'released')`)).execute(),await _.schema.dropIndex("idx_task_quota_claims_org_period").execute(),await TC`
|
|
1153
1153
|
create index idx_task_quota_claims_org_period_live
|
|
1154
1154
|
on task_quota_claims (organization_id, period_key)
|
|
1155
1155
|
where state <> 'released'
|
|
1156
|
-
`.execute(_)}async function
|
|
1156
|
+
`.execute(_)}async function IU(_){await TC`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 KC={};m(KC,{up:()=>wU,down:()=>VU});async function wU(_){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 VU(_){await _.schema.dropTable("claude_subscriptions").ifExists().execute()}var EC={};m(EC,{up:()=>kU,down:()=>pU});async function kU(_){await _.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function pU(_){await _.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var zC={};m(zC,{up:()=>tU,down:()=>iU});import{sql as _N}from"kysely";async function tU(_){await _.schema.alterTable("organization_billing").addColumn("free_task_executions","integer",(x)=>x.check(_N`free_task_executions > 0`)).addColumn("monthly_task_executions","integer",(x)=>x.check(_N`monthly_task_executions > 0`)).execute()}async function iU(_){await _.schema.alterTable("organization_billing").dropColumn("free_task_executions").dropColumn("monthly_task_executions").execute()}var PC={};m(PC,{up:()=>qU,down:()=>gU});import{sql as vU}from"kysely";async function qU(_){await vU`
|
|
1157
1157
|
CREATE INDEX idx_task_board_items_pending_review
|
|
1158
1158
|
ON task_board_items (updated_at, id)
|
|
1159
1159
|
WHERE status = 'in_review'
|
|
1160
1160
|
AND assignee_id = 'super-agent'
|
|
1161
1161
|
AND dismissed_at IS NULL
|
|
1162
|
-
`.execute(_)}async function
|
|
1162
|
+
`.execute(_)}async function gU(_){await _.schema.dropIndex("idx_task_board_items_pending_review").execute()}var $C={};m($C,{up:()=>cU,down:()=>hU});import{sql as xN}from"kysely";async function cU(_){await xN`
|
|
1163
1163
|
ALTER TABLE task_board_items
|
|
1164
1164
|
ADD COLUMN last_swept_at timestamptz
|
|
1165
|
-
`.execute(_)}async function
|
|
1165
|
+
`.execute(_)}async function hU(_){await xN`
|
|
1166
1166
|
ALTER TABLE task_board_items
|
|
1167
1167
|
DROP COLUMN last_swept_at
|
|
1168
|
-
`.execute(_)}var
|
|
1168
|
+
`.execute(_)}var UC={};m(UC,{up:()=>oU,down:()=>aU});import{sql as G_}from"kysely";async function oU(_){await G_`
|
|
1169
1169
|
ALTER TABLE task_board_items
|
|
1170
1170
|
ADD COLUMN retry_at timestamptz,
|
|
1171
1171
|
ADD COLUMN retry_attempts integer NOT NULL DEFAULT 0
|
|
@@ -1173,11 +1173,11 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1173
1173
|
CREATE INDEX idx_task_board_items_retry_due
|
|
1174
1174
|
ON task_board_items (retry_at)
|
|
1175
1175
|
WHERE retry_at IS NOT NULL
|
|
1176
|
-
`.execute(_)}async function
|
|
1176
|
+
`.execute(_)}async function aU(_){await G_`DROP INDEX IF EXISTS idx_task_board_items_retry_due`.execute(_),await G_`
|
|
1177
1177
|
ALTER TABLE task_board_items
|
|
1178
1178
|
DROP COLUMN retry_at,
|
|
1179
1179
|
DROP COLUMN retry_attempts
|
|
1180
|
-
`.execute(_)}var
|
|
1180
|
+
`.execute(_)}var XC={};m(XC,{up:()=>rU,down:()=>eU});import{sql as JC}from"kysely";async function rU(_){await JC`
|
|
1181
1181
|
CREATE TABLE org_repo_sync (
|
|
1182
1182
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1183
1183
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1195,11 +1195,11 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1195
1195
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
1196
1196
|
UNIQUE (organization_id, volume)
|
|
1197
1197
|
)
|
|
1198
|
-
`.execute(_),await
|
|
1198
|
+
`.execute(_),await JC`
|
|
1199
1199
|
CREATE INDEX idx_org_repo_sync_enabled
|
|
1200
1200
|
ON org_repo_sync (organization_id)
|
|
1201
1201
|
WHERE enabled
|
|
1202
|
-
`.execute(_)}async function
|
|
1202
|
+
`.execute(_)}async function eU(_){await JC`DROP TABLE IF EXISTS org_repo_sync`.execute(_)}var QC={};m(QC,{up:()=>sU,down:()=>dU,ACTIONS:()=>jC});import{sql as y_}from"kysely";var jC=["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"],lU=new Set(["merge_failed"]);async function sU(_){await uN(_,jC)}async function dU(_){await uN(_,jC.filter((x)=>!lU.has(x)))}async function uN(_,x){await y_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await y_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${y_.join(x.map((u)=>y_.lit(u)))}))`.execute(_)}var WC={};m(WC,{up:()=>bU,down:()=>_J});async function bU(_){await _.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function _J(_){await _.schema.alterTable("task_board_items").dropColumn("repo").execute()}var ZC={};m(ZC,{up:()=>xJ,down:()=>uJ});import{sql as q}from"kysely";async function xJ(_){await q`
|
|
1203
1203
|
CREATE TABLE org_jira_integrations (
|
|
1204
1204
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1205
1205
|
organization_id text NOT NULL UNIQUE REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1219,7 +1219,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1219
1219
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1220
1220
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
1221
1221
|
)
|
|
1222
|
-
`.execute(_),await
|
|
1222
|
+
`.execute(_),await q`
|
|
1223
1223
|
CREATE TABLE task_board_item_jira_links (
|
|
1224
1224
|
item_id text PRIMARY KEY REFERENCES task_board_items(id) ON DELETE CASCADE,
|
|
1225
1225
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1230,7 +1230,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1230
1230
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1231
1231
|
UNIQUE (organization_id, jira_issue_id)
|
|
1232
1232
|
)
|
|
1233
|
-
`.execute(_),await
|
|
1233
|
+
`.execute(_),await q`
|
|
1234
1234
|
CREATE TABLE task_board_comment_jira_links (
|
|
1235
1235
|
comment_id text PRIMARY KEY REFERENCES task_board_comments(id) ON DELETE CASCADE,
|
|
1236
1236
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1238,7 +1238,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1238
1238
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1239
1239
|
UNIQUE (organization_id, jira_comment_id)
|
|
1240
1240
|
)
|
|
1241
|
-
`.execute(_)}async function
|
|
1241
|
+
`.execute(_)}async function uJ(_){await q`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await q`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await q`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var LC={};m(LC,{up:()=>CJ,down:()=>TJ});import{sql as mJ}from"kysely";async function CJ(_){await _.schema.alterTable("task_board_items").addColumn("key_seq","integer").execute(),await mJ`
|
|
1242
1242
|
update task_board_items as t
|
|
1243
1243
|
set key_seq = numbered.seq
|
|
1244
1244
|
from (
|
|
@@ -1251,25 +1251,25 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1251
1251
|
from task_board_items
|
|
1252
1252
|
) as numbered
|
|
1253
1253
|
where t.id = numbered.id
|
|
1254
|
-
`.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
|
|
1254
|
+
`.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 TJ(_){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 DC={};m(DC,{up:()=>NJ,down:()=>KJ});import{sql as mN}from"kysely";async function NJ(_){await mN`
|
|
1255
1255
|
CREATE INDEX IF NOT EXISTS idx_threads_github_repo_connection_id
|
|
1256
1256
|
ON threads ((metadata -> 'githubRepo' ->> 'connectionId'))
|
|
1257
1257
|
WHERE metadata -> 'githubRepo' ->> 'connectionId' IS NOT NULL
|
|
1258
|
-
`.execute(_)}async function
|
|
1258
|
+
`.execute(_)}async function KJ(_){await mN`DROP INDEX IF EXISTS idx_threads_github_repo_connection_id`.execute(_)}var RC={};m(RC,{up:()=>EJ,down:()=>zJ});import{sql as FC}from"kysely";async function EJ(_){await FC`
|
|
1259
1259
|
ALTER TABLE thread_message_parts
|
|
1260
1260
|
ADD COLUMN IF NOT EXISTS persisted_at timestamptz
|
|
1261
|
-
`.execute(_),await
|
|
1261
|
+
`.execute(_),await FC`
|
|
1262
1262
|
ALTER TABLE thread_message_parts
|
|
1263
1263
|
ALTER COLUMN persisted_at SET DEFAULT now()
|
|
1264
|
-
`.execute(_)}async function
|
|
1264
|
+
`.execute(_)}async function zJ(_){await FC`
|
|
1265
1265
|
ALTER TABLE thread_message_parts DROP COLUMN IF EXISTS persisted_at
|
|
1266
|
-
`.execute(_)}var
|
|
1266
|
+
`.execute(_)}var YC={};m(YC,{up:()=>PJ,down:()=>$J});async function PJ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute()}async function $J(_){await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}var HC={};m(HC,{up:()=>JJ,down:()=>XJ});import{sql as UJ}from"kysely";async function JJ(_){await UJ`
|
|
1267
1267
|
CREATE INDEX idx_task_board_items_done_sweep
|
|
1268
1268
|
ON task_board_items (updated_at)
|
|
1269
1269
|
WHERE status = 'done' AND dismissed_at IS NULL
|
|
1270
|
-
`.execute(_)}async function
|
|
1270
|
+
`.execute(_)}async function XJ(_){await _.schema.dropIndex("idx_task_board_items_done_sweep").execute()}var MC={};m(MC,{up:()=>jJ,down:()=>QJ,TYPES:()=>CN});import{sql as S}from"kysely";var CN=["created","commented","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"];async function jJ(_){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(S`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(S`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(S`now()`)).addCheckConstraint("notifications_type_check",S`type IN (${S.join(CN.map((x)=>S.lit(x)))})`).execute(),await S`CREATE INDEX notifications_user_unread ON notifications
|
|
1271
1271
|
(user_id, organization_id, created_at DESC) WHERE read_at IS NULL`.execute(_),await S`CREATE INDEX notifications_digest ON notifications
|
|
1272
|
-
(created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function
|
|
1272
|
+
(created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function QJ(_){await _.schema.dropTable("notifications").execute(),await _.schema.dropTable("notification_subscriptions").execute()}var nC={};m(nC,{up:()=>WJ,down:()=>ZJ});import{sql as TN}from"kysely";async function WJ(_){await TN`
|
|
1273
1273
|
UPDATE org_jira_integrations
|
|
1274
1274
|
SET status_mapping = (
|
|
1275
1275
|
SELECT COALESCE(jsonb_object_agg(lane, statuses), '{}'::jsonb)
|
|
@@ -1284,7 +1284,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1284
1284
|
SELECT 1 FROM jsonb_each(status_mapping)
|
|
1285
1285
|
WHERE jsonb_typeof(value) = 'array'
|
|
1286
1286
|
)
|
|
1287
|
-
`.execute(_)}async function
|
|
1287
|
+
`.execute(_)}async function ZJ(_){await TN`
|
|
1288
1288
|
UPDATE org_jira_integrations
|
|
1289
1289
|
SET status_mapping = (
|
|
1290
1290
|
SELECT COALESCE(jsonb_object_agg(status, lane), '{}'::jsonb)
|
|
@@ -1299,7 +1299,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1299
1299
|
SELECT 1 FROM jsonb_each(status_mapping)
|
|
1300
1300
|
WHERE jsonb_typeof(value) = 'array'
|
|
1301
1301
|
)
|
|
1302
|
-
`.execute(_)}var
|
|
1302
|
+
`.execute(_)}var GC={};m(GC,{up:()=>DJ,down:()=>FJ,TYPES:()=>BC});import{sql as f_}from"kysely";var BC=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],LJ=new Set(["mentioned"]);async function DJ(_){await NN(_,BC)}async function FJ(_){await NN(_,BC.filter((x)=>!LJ.has(x)))}async function NN(_,x){await f_`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await f_`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${f_.join(x.map((u)=>f_.lit(u)))}))`.execute(_)}var fC={};m(fC,{up:()=>HJ,down:()=>MJ,ACTIONS:()=>yC});import{sql as I}from"kysely";var RJ=["bug","feature","chore","spike","security"],yC=["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"],YJ=new Set(["type_changed"]);async function HJ(_){await _.schema.alterTable("task_board_items").addColumn("type","text").execute(),await I`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${I.join(RJ.map((x)=>I.lit(x)))}))`.execute(_),await KN(_,yC)}async function MJ(_){await KN(_,yC.filter((x)=>!YJ.has(x))),await I`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("type").execute()}async function KN(_,x){await I`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await I`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${I.join(x.map((u)=>I.lit(u)))}))`.execute(_)}var OC={};m(OC,{up:()=>nJ,down:()=>BJ});import{sql as j}from"kysely";var zN=["bug","feature","chore","spike","security"],EN="chore";async function nJ(_){await j`UPDATE task_board_items SET type = ${j.lit(EN)} WHERE type IS NULL`.execute(_),await j`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${j.lit(EN)}`.execute(_),await j`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await j`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await j`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${j.join(zN.map((x)=>j.lit(x)))}))`.execute(_)}async function BJ(_){await j`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await j`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${j.join(zN.map((x)=>j.lit(x)))}))`.execute(_),await j`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await j`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var AC={};m(AC,{up:()=>GJ,down:()=>yJ});import{sql as g}from"kysely";async function GJ(_){await g`
|
|
1303
1303
|
CREATE TABLE task_board_sprints (
|
|
1304
1304
|
id text PRIMARY KEY,
|
|
1305
1305
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1314,44 +1314,44 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1314
1314
|
CHECK (state IN ('active', 'future', 'closed')),
|
|
1315
1315
|
UNIQUE (organization_id, jira_sprint_id)
|
|
1316
1316
|
)
|
|
1317
|
-
`.execute(_),await
|
|
1317
|
+
`.execute(_),await g`
|
|
1318
1318
|
CREATE INDEX idx_task_board_sprints_org
|
|
1319
1319
|
ON task_board_sprints (organization_id, starts_at)
|
|
1320
|
-
`.execute(_),await
|
|
1320
|
+
`.execute(_),await g`
|
|
1321
1321
|
ALTER TABLE task_board_items
|
|
1322
1322
|
ADD COLUMN sprint_id text REFERENCES task_board_sprints(id) ON DELETE SET NULL
|
|
1323
|
-
`.execute(_),await
|
|
1323
|
+
`.execute(_),await g`
|
|
1324
1324
|
CREATE INDEX idx_task_board_items_sprint
|
|
1325
1325
|
ON task_board_items (organization_id, sprint_id)
|
|
1326
1326
|
WHERE sprint_id IS NOT NULL
|
|
1327
|
-
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}async function
|
|
1327
|
+
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}async function yJ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute(),await g`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint_id").execute(),await g`DROP TABLE IF EXISTS task_board_sprints`.execute(_)}var SC={};m(SC,{up:()=>OJ,down:()=>AJ});import{sql as fJ}from"kysely";async function OJ(_){await _.schema.alterTable("org_jira_integrations").dropColumn("jql_filter").execute()}async function AJ(_){await fJ`ALTER TABLE org_jira_integrations ADD COLUMN jql_filter text`.execute(_)}var IC={};m(IC,{up:()=>IJ,down:()=>wJ});import{sql as SJ}from"kysely";async function IJ(_){await SJ`
|
|
1328
1328
|
UPDATE org_jira_integrations
|
|
1329
1329
|
SET last_synced_at = NULL,
|
|
1330
1330
|
last_sync_error = NULL
|
|
1331
1331
|
WHERE last_synced_at IS NOT NULL
|
|
1332
|
-
`.execute(_)}async function
|
|
1332
|
+
`.execute(_)}async function wJ(){}var wC={};m(wC,{up:()=>kJ,down:()=>pJ});import{sql as VJ}from"kysely";async function kJ(_){await VJ`
|
|
1333
1333
|
UPDATE org_jira_integrations
|
|
1334
1334
|
SET last_synced_at = NULL,
|
|
1335
1335
|
last_sync_error = NULL
|
|
1336
1336
|
WHERE last_synced_at IS NOT NULL
|
|
1337
|
-
`.execute(_)}async function
|
|
1337
|
+
`.execute(_)}async function pJ(){}var kC={};m(kC,{up:()=>tJ,down:()=>iJ});import{sql as VC}from"kysely";async function tJ(_){await VC`
|
|
1338
1338
|
ALTER TABLE org_jira_integrations
|
|
1339
1339
|
ADD COLUMN rescan_pending boolean NOT NULL DEFAULT false
|
|
1340
|
-
`.execute(_),await
|
|
1340
|
+
`.execute(_),await VC`
|
|
1341
1341
|
UPDATE org_jira_integrations
|
|
1342
1342
|
SET rescan_pending = true
|
|
1343
1343
|
WHERE last_synced_at IS NULL
|
|
1344
|
-
`.execute(_)}async function
|
|
1344
|
+
`.execute(_)}async function iJ(_){await VC`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var pC={};m(pC,{up:()=>vJ,down:()=>qJ});async function vJ(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function qJ(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var tC={};m(tC,{up:()=>gJ,down:()=>cJ});import{sql as PN}from"kysely";async function gJ(_){await PN`
|
|
1345
1345
|
ALTER TABLE invitation
|
|
1346
1346
|
ADD COLUMN "autoAccept" boolean NOT NULL DEFAULT false
|
|
1347
|
-
`.execute(_)}async function
|
|
1347
|
+
`.execute(_)}async function cJ(_){await PN`ALTER TABLE invitation DROP COLUMN "autoAccept"`.execute(_)}var vC={};m(vC,{up:()=>hJ,down:()=>oJ});import{sql as iC}from"kysely";async function hJ(_){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(iC`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(iC`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 iC`
|
|
1348
1348
|
INSERT INTO task_board_column_automations
|
|
1349
1349
|
(id, organization_id, column_key, prompt)
|
|
1350
1350
|
SELECT 'tbca_' || organization_id || '_todo', organization_id, 'todo', NULL
|
|
1351
1351
|
FROM org_jira_integrations
|
|
1352
1352
|
WHERE auto_delegate = true
|
|
1353
1353
|
ON CONFLICT DO NOTHING
|
|
1354
|
-
`.execute(_)}async function
|
|
1354
|
+
`.execute(_)}async function oJ(_){await _.schema.dropTable("task_board_column_automations").ifExists().execute()}var qC={};m(qC,{up:()=>aJ,down:()=>rJ});import{sql as m_}from"kysely";async function aJ(_){await _.schema.alterTable("task_board_items").addColumn("review_cycle_started_at","timestamptz").execute(),await m_`
|
|
1355
1355
|
UPDATE task_board_items i
|
|
1356
1356
|
SET review_cycle_started_at = (
|
|
1357
1357
|
SELECT max(a.occurred_at)
|
|
@@ -1367,13 +1367,13 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1367
1367
|
WHERE (review_cycle_started_at IS NOT NULL OR status = 'in_review')
|
|
1368
1368
|
AND assignee_id = 'super-agent'
|
|
1369
1369
|
AND dismissed_at IS NULL
|
|
1370
|
-
`.execute(_),await m_`DROP INDEX IF EXISTS idx_task_board_items_pending_review`.execute(_)}async function
|
|
1370
|
+
`.execute(_),await m_`DROP INDEX IF EXISTS idx_task_board_items_pending_review`.execute(_)}async function rJ(_){await m_`
|
|
1371
1371
|
CREATE INDEX idx_task_board_items_pending_review
|
|
1372
1372
|
ON task_board_items (updated_at, id)
|
|
1373
1373
|
WHERE status = 'in_review'
|
|
1374
1374
|
AND assignee_id = 'super-agent'
|
|
1375
1375
|
AND dismissed_at IS NULL
|
|
1376
|
-
`.execute(_),await m_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var gC={};m(gC,{up:()=>
|
|
1376
|
+
`.execute(_),await m_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var gC={};m(gC,{up:()=>eJ,down:()=>lJ});import{sql as $N}from"kysely";async function eJ(_){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($N`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo($N`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 lJ(_){await _.schema.dropTable("task_board_columns").ifExists().execute()}var hC={};m(hC,{up:()=>dJ,down:()=>bJ,ACTIONS:()=>cC});import{sql as O_}from"kysely";var cC=["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"],sJ=new Set(["review_verdict_requested"]);async function dJ(_){await UN(_,cC)}async function bJ(_){await UN(_,cC.filter((x)=>!sJ.has(x)))}async function UN(_,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 oC={};m(oC,{up:()=>_X,down:()=>xX});import{sql as A_}from"kysely";async function _X(_){await _.schema.alterTable("task_board_items").addColumn("board_column_org","text").execute(),await A_`
|
|
1377
1377
|
ALTER TABLE task_board_items
|
|
1378
1378
|
ADD CONSTRAINT chk_task_board_items_column_org
|
|
1379
1379
|
CHECK (board_column_org IS NULL OR board_column_org = organization_id)
|
|
@@ -1383,13 +1383,13 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1383
1383
|
FOREIGN KEY (board_column_org, status)
|
|
1384
1384
|
REFERENCES task_board_columns (organization_id, key)
|
|
1385
1385
|
ON DELETE RESTRICT
|
|
1386
|
-
`.execute(_)}async function
|
|
1386
|
+
`.execute(_)}async function xX(_){await A_`
|
|
1387
1387
|
ALTER TABLE task_board_items
|
|
1388
1388
|
DROP CONSTRAINT IF EXISTS task_board_items_board_column_fkey
|
|
1389
1389
|
`.execute(_),await A_`
|
|
1390
1390
|
ALTER TABLE task_board_items
|
|
1391
1391
|
DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org
|
|
1392
|
-
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var
|
|
1392
|
+
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var aC={};m(aC,{up:()=>uX,down:()=>mX});async function uX(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function mX(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var eC={};m(eC,{up:()=>TX,down:()=>NX,ACTIONS:()=>rC});import{sql as S_}from"kysely";var rC=["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"],CX=new Set(["sprint_changed"]);async function TX(_){await JN(_,rC)}async function NX(_){await JN(_,rC.filter((x)=>!CX.has(x)))}async function JN(_,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 lC={};m(lC,{up:()=>EX,down:()=>zX});import{sql as KX}from"kysely";async function EX(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(KX`'[]'::jsonb`)).execute()}async function zX(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var sC={};m(sC,{up:()=>PX,down:()=>$X});import{sql as XN}from"kysely";async function PX(_){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(XN`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(XN`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function $X(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var dC={};m(dC,{up:()=>JX,down:()=>XX});import{sql as UX}from"kysely";async function JX(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await UX`
|
|
1393
1393
|
UPDATE task_board_items i
|
|
1394
1394
|
SET external_url = t.url,
|
|
1395
1395
|
description = CASE
|
|
@@ -1408,11 +1408,11 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1408
1408
|
ON g.organization_id = l.organization_id
|
|
1409
1409
|
) t
|
|
1410
1410
|
WHERE t.item_id = i.id
|
|
1411
|
-
`.execute(_)}async function
|
|
1411
|
+
`.execute(_)}async function XX(_){await _.schema.alterTable("task_board_items").dropColumn("external_url").execute()}var bC={};m(bC,{up:()=>QX,down:()=>WX,ACTIONS:()=>jN});import{sql as J}from"kysely";var jX=["triage","todo","in_progress","in_review","approved","merged","post_deploy_validation","done","archived"],jN=["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 QX(_){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`
|
|
1412
1412
|
UPDATE task_board_items
|
|
1413
1413
|
SET status = 'triage'
|
|
1414
|
-
WHERE status NOT IN (${J.join(
|
|
1415
|
-
`.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
|
|
1414
|
+
WHERE status NOT IN (${J.join(jX.map((x)=>J.lit(x)))})
|
|
1415
|
+
`.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 ZX(_,jN),await J`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await J`
|
|
1416
1416
|
ALTER TABLE task_board_item_jira_links
|
|
1417
1417
|
DROP COLUMN IF EXISTS jira_updated_at,
|
|
1418
1418
|
DROP COLUMN IF EXISTS jira_status,
|
|
@@ -1424,7 +1424,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1424
1424
|
DROP COLUMN IF EXISTS last_synced_at,
|
|
1425
1425
|
DROP COLUMN IF EXISTS last_sync_error,
|
|
1426
1426
|
DROP COLUMN IF EXISTS rescan_pending
|
|
1427
|
-
`.execute(_)}async function
|
|
1427
|
+
`.execute(_)}async function WX(){}async function ZX(_,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 _T={};m(_T,{up:()=>LX,down:()=>DX});import{sql as c}from"kysely";async function LX(_){await c`
|
|
1428
1428
|
ALTER TABLE task_board_items
|
|
1429
1429
|
ADD COLUMN IF NOT EXISTS source text
|
|
1430
1430
|
CONSTRAINT chk_task_board_items_source CHECK (source IN ('jira'))
|
|
@@ -1445,24 +1445,24 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1445
1445
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1446
1446
|
PRIMARY KEY (organization_id, jira_issue_id, changelog_id)
|
|
1447
1447
|
)
|
|
1448
|
-
`.execute(_)}async function
|
|
1448
|
+
`.execute(_)}async function DX(_){await c`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await c`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await c`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var xT={};m(xT,{up:()=>FX,down:()=>RX});import{sql as C_}from"kysely";async function FX(_){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(C_`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(C_`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).execute(),await C_`
|
|
1449
1449
|
CREATE UNIQUE INDEX IF NOT EXISTS organization_notices_active_uniq
|
|
1450
1450
|
ON organization_notices (organization_id)
|
|
1451
1451
|
WHERE resolved_at IS NULL
|
|
1452
1452
|
`.execute(_),await C_`
|
|
1453
1453
|
CREATE INDEX IF NOT EXISTS organization_notices_org_created_idx
|
|
1454
1454
|
ON organization_notices (organization_id, created_at DESC)
|
|
1455
|
-
`.execute(_)}async function
|
|
1455
|
+
`.execute(_)}async function RX(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var mT={};m(mT,{up:()=>AX,down:()=>SX});import{sql as uT}from"kysely";import{sql as HW}from"kysely";var QN=50000000,YX=1e5;function HX(_,x){let u=0,T=0,C=[_];while(C.length>0){if(u>x||++T>YX)return 1/0;let N=C.pop();if(typeof N==="string")u+=N.length;else if(Array.isArray(N))for(let E of N)C.push(E);else if(N!==null&&typeof N==="object")for(let E of Object.values(N))C.push(E)}return u}var MX=/\u0000/g,nX=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,BX=/([a-z][a-z0-9+.-]{0,30}:\/\/)[^\s/@]{1,512}@/gi,GX=/\b(gh[pousr]_|github_pat_)[A-Za-z0-9_]{20,}/g,yX=/data:[a-z0-9.+-]{0,60}\/[a-z0-9.+-]{0,60};base64,[A-Za-z0-9+/=]{100,}/gi;function fX(_){return _.replace(MX,"").replace(nX,"\uFFFD").replace(BX,"$1***@").replace(GX,"$1***").replace(yX,"[base64 data omitted]")}function OX(_){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 WN(_){if(HX(_,QN)>QN)return JSON.stringify({truncated:!0,reason:"payload exceeds max stored size"});return JSON.stringify(_,(x,u)=>{if(typeof u==="string")return fX(u);if(OX(u))return{type:"text",text:"[image omitted]"};return u})}var ZN=20;async function AX(_){let x=await uT`
|
|
1456
1456
|
SELECT id FROM thread_message_parts
|
|
1457
1457
|
WHERE pg_column_size(payload) > 8192
|
|
1458
1458
|
AND (payload::text LIKE '%"type": "image"%' OR payload::text LIKE '%;base64,%')
|
|
1459
|
-
`.execute(_);for(let u=0;u<x.rows.length;u+=
|
|
1459
|
+
`.execute(_);for(let u=0;u<x.rows.length;u+=ZN){let T=x.rows.slice(u,u+ZN).map((N)=>N.id),C=await uT`
|
|
1460
1460
|
SELECT id, payload FROM thread_message_parts WHERE id = ANY(${T})
|
|
1461
|
-
`.execute(_);for(let N of C.rows){let E=
|
|
1461
|
+
`.execute(_);for(let N of C.rows){let E=WN(N.payload);if(E===JSON.stringify(N.payload))continue;await uT`
|
|
1462
1462
|
UPDATE thread_message_parts
|
|
1463
1463
|
SET payload = ${E}::jsonb
|
|
1464
1464
|
WHERE id = ${N.id}
|
|
1465
|
-
`.execute(_)}}}async function
|
|
1465
|
+
`.execute(_)}}}async function SX(){}var CT={};m(CT,{up:()=>IX,down:()=>wX});async function IX(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function wX(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var TT={};m(TT,{up:()=>VX,down:()=>kX});import{sql as P}from"kysely";async function VX(_){await P`
|
|
1466
1466
|
CREATE TABLE git_provider_accounts (
|
|
1467
1467
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1468
1468
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1706,11 +1706,11 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1706
1706
|
AND r.organization_id = s.organization_id
|
|
1707
1707
|
AND r.host = 'github.com'
|
|
1708
1708
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name)
|
|
1709
|
-
`.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function
|
|
1709
|
+
`.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function kX(_){await P`
|
|
1710
1710
|
ALTER TABLE org_repo_sync DROP CONSTRAINT IF EXISTS org_repo_sync_source_present
|
|
1711
1711
|
`.execute(_),await P`DELETE FROM org_repo_sync WHERE connection_id IS NULL`.execute(_),await P`
|
|
1712
1712
|
ALTER TABLE org_repo_sync ALTER COLUMN connection_id SET NOT NULL
|
|
1713
|
-
`.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
|
|
1713
|
+
`.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 NT={};m(NT,{up:()=>tX,down:()=>iX});import{sql as Y}from"kysely";var pX=Y`
|
|
1714
1714
|
CREATE OR REPLACE FUNCTION repo_ref_try_jsonb(value text)
|
|
1715
1715
|
RETURNS jsonb LANGUAGE plpgsql IMMUTABLE AS $$
|
|
1716
1716
|
BEGIN
|
|
@@ -1719,13 +1719,13 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1719
1719
|
RETURN NULL;
|
|
1720
1720
|
END;
|
|
1721
1721
|
$$
|
|
1722
|
-
`;async function
|
|
1722
|
+
`;async function tX(_){await pX.execute(_),await Y`
|
|
1723
1723
|
ALTER TABLE connections
|
|
1724
1724
|
ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
|
|
1725
|
-
`.execute(_),await
|
|
1725
|
+
`.execute(_),await Y`
|
|
1726
1726
|
CREATE INDEX idx_connections_repository
|
|
1727
1727
|
ON connections (repository_id) WHERE repository_id IS NOT NULL
|
|
1728
|
-
`.execute(_),await
|
|
1728
|
+
`.execute(_),await Y`
|
|
1729
1729
|
CREATE TABLE thread_repositories (
|
|
1730
1730
|
thread_id text NOT NULL REFERENCES threads(id) ON DELETE CASCADE,
|
|
1731
1731
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1733,10 +1733,10 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1733
1733
|
added_at timestamptz NOT NULL DEFAULT now(),
|
|
1734
1734
|
PRIMARY KEY (thread_id, repository_id)
|
|
1735
1735
|
)
|
|
1736
|
-
`.execute(_),await
|
|
1736
|
+
`.execute(_),await Y`
|
|
1737
1737
|
CREATE INDEX idx_thread_repositories_repo
|
|
1738
1738
|
ON thread_repositories (repository_id)
|
|
1739
|
-
`.execute(_),await
|
|
1739
|
+
`.execute(_),await Y`
|
|
1740
1740
|
UPDATE connections c
|
|
1741
1741
|
SET repository_id = r.id
|
|
1742
1742
|
FROM repositories r
|
|
@@ -1748,7 +1748,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1748
1748
|
|| '/' ||
|
|
1749
1749
|
(repo_ref_try_jsonb(c.metadata) #>> '{githubRepo,name}')
|
|
1750
1750
|
)
|
|
1751
|
-
`.execute(_),await
|
|
1751
|
+
`.execute(_),await Y`
|
|
1752
1752
|
INSERT INTO repositories (
|
|
1753
1753
|
organization_id, account_id, provider, host, path, web_url
|
|
1754
1754
|
)
|
|
@@ -1769,7 +1769,7 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1769
1769
|
AND e.name NOT LIKE '%/%'
|
|
1770
1770
|
ORDER BY t.organization_id, lower(e.owner || '/' || e.name)
|
|
1771
1771
|
ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
|
|
1772
|
-
`.execute(_),await
|
|
1772
|
+
`.execute(_),await Y`
|
|
1773
1773
|
INSERT INTO thread_repositories (thread_id, organization_id, repository_id)
|
|
1774
1774
|
SELECT DISTINCT t.id, t.organization_id, r.id
|
|
1775
1775
|
FROM threads t
|
|
@@ -1781,21 +1781,21 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1781
1781
|
AND r.host = 'github.com'
|
|
1782
1782
|
AND lower(r.path) = lower((entry ->> 'owner') || '/' || (entry ->> 'name'))
|
|
1783
1783
|
ON CONFLICT (thread_id, repository_id) DO NOTHING
|
|
1784
|
-
`.execute(_),await
|
|
1784
|
+
`.execute(_),await Y`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function iX(_){await Y`DROP TABLE IF EXISTS thread_repositories`.execute(_),await Y`
|
|
1785
1785
|
ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
|
|
1786
|
-
`.execute(_)}var pX={"001-initial-schema":q_,"002-organization-settings":c_,"003-connection-schema-align":h_,"004-remove-models-binding":o_,"005-connection-configuration":a_,"006-add-views-to-settings":r_,"007-monitoring-logs":e_,"008-event-bus":l_,"009-drop-audit-logs":s_,"010-gateways":d_,"011-gateway-icon":b_,"012-gateway-tool-selection-mode":_x,"013-monitoring-user-agent-gateway":xx,"014-gateway-resources-prompts":ux,"015-monitoring-properties":mx,"016-downstream-token-client-info":Cx,"017-downstream-token-remove-userid":Tx,"018-drop-gateway-tool-selection-strategy":Nx,"019-remove-gateway-is-default":Kx,"020-enabled-plugins":Ex,"021-threads":zx,"022-rename-gateway-to-virtual-mcp":Px,"023-optimize-thread-indexes":$x,"024-consolidate-virtual-mcp":Ux,"025-add-monitoring-virtual-mcp-id":Jx,"026-restrict-child-connection-delete":Xx,"027-update-management-mcp-url":Qx,"028-update-management-mcp-to-self":Zx,"029-add-updated-by-to-connections":Lx,"030-member-tags":Dx,"031-add-dependency-mode":Fx,"032-projects":nx,"033-thread-status":Rx,"034-monitoring-dashboards":Yx,"035-project-connections":Hx,"036-update-registry-url":Mx,"037-ai-provider-keys":Bx,"038-oauth-pkce-states":Gx,"039-automations":yx,"040-replace-next-run-at-with-last-run-at":fx,"041-ai-provider-keys-unique-constraint":Ox,"042-rename-mesh-mcp-to-cms-mcp":Ax,"043-rename-cms-mcp-to-deco-cms":Sx,"044-drop-connections-tools-column":Ix,"045-thread-context-start-message":wx,"046-remove-object-storage-plugin":kx,"047-add-next-run-at":px,"048-merge-projects-agents":ix,"049-remove-org-admin-projects":vx,"050-durable-agent-runs":gx,"051-org-sso":cx,"052-thread-agent-ids":hx,"053-registry-config":ox,"054-connection-slug":rx,"055-spaces":ex,"056-automation-project-scope":lx,"057-thread-virtual-mcp-id":sx,"058-trigger-callback-tokens":dx,"059-kv":bx,"060-member-index":_u,"061-downstream-token-connection-index":xu,"062-private-registry":uu,"063-event-subscriptions-enabled-boolean":mu,"064-brand-context":Cu,"065-organization-domains":Tu,"066-brand-context-structured":Nu,"067-threads-metadata":Ku,"068-threads-branch":Eu,"069-sandbox-runner-state":zu,"070-model-categories":Pu,"071-default-home-agents":$u,"072-ai-provider-key-preset-id":Uu,"073-backfill-basic-usage-roles":Ju,"074-sandbox-runner-state-handle-nonunique":Xu,"075-thread-inflight-async-jobs":ju,"076-automations-drop-agent-json":Qu,"077-tier-only-model-selection":Zu,"078-automation-tool-call-kind":Lu,"079-strip-legacy-freestyle-vm-map-entries":Du,"080-async-research-jobs":Fu,"081-async-research-jobs-result-content":nu,"082-secrets":Ru,"083-thread-run-locally":Yu,"084-drop-host-sandbox-rows":Hu,"085-rename-runner-kind":Mu,"086-thread-pins-and-vm-map-rekey":Bu,"087-fix-vm-map-rekey":Gu,"088-purge-cli-activate-keys":yu,"089-rename-remote-user-to-desktop":fu,"090-automation-webhook-triggers":Ou,"091-organization-domains-allow-multi":Au,"092-sandbox-naming-uniformization":Su,"093-backfill-global-search-basic-usage":Iu,"094-org-file-configs":Vu,"095-remove-automation-tool-call-kind":ku,"096-org-file-configs-public-url-base":pu,"097-drop-local-docker-sandbox-state":iu,"098-thread-message-parts":vu,"099-run-fence":gu,"100-link-transport":qu,"101-cancel-requested-at":cu,"102-observational-agent":hu,"103-revert-observational-agent":ou,"104-agent-sandbox-provider-kind":ru,"105-org-fs":eu,"106-automation-tools":lu,"107-org-fs-public-org":su,"108-automation-max-agent-steps":du,"109-thread-message-parts-per-message-seq":bu,"110-backfill-ghs-token-expiry":_m,"111-org-fs-thread-id":xm,"112-org-file-configs-credential-type":um,"113-thread-failure-reason":mm,"114-run-acked-seq":Cm,"115-thread-projected-seq":Tm,"116-org-sites":Nm,"117-org-file-configs-site-slug":Km,"118-organization-domains-multi-verify":Em,"119-organization-join-requests":zm,"120-org-fs-read-public":Pm,"121-org-fs-share-password":$m,"122-split-web-research-tier":Xm,"123-connection-credential-vault":jm,"124-drop-thread-projected-seq":Qm,"125-github-child-single-parent":Wm,"126-task-board":Lm,"127-task-board-due-date":Dm,"128-reports-only":Fm,"129-task-board-assigned-by":nm,"130-task-board-thread-id":Rm,"131-task-board-thread-link-cascade":Ym,"132-task-board-item-prs":Hm,"133-dedupe-duplicate-members":Mm,"134-drop-task-board-enabled":Bm,"135-task-board-item-fk-cascade":Gm,"136-task-board-import-idempotency":ym,"137-agent-sandbox-runner-state":fm,"138-agent-sandbox-sessions":Om,"139-organization-billing":Am,"140-seat-change-log":Sm,"141-benefits-sync-pending":Im,"142-stripe-event-watermark":wm,"143-armed-report-url":Vm,"144-benefits-pending-index":km,"145-user-model-preferences":pm,"146-organization-main-agent":tm,"147-drop-agent-sandbox-tables":im,"148-org-flags":vm,"149-task-board-item-sort-order":gm,"150-task-board-activity":qm,"151-task-board-tags":hm,"152-repair-connection-slug":am,"153-task-board-latest-assistant-part-index":rm,"154-task-board-qa-activity":lm,"155-task-board-review-claims":sm,"156-task-board-conflict-activity":bm,"157-drop-seat-billing":_C,"158-drop-github-child-single-parent":xC,"159-task-board-comments":uC,"160-task-quota-billing":mC,"161-task-quota-claim-state":TC,"162-claude-subscriptions":NC,"163-task-board-item-dismissed":KC,"164-per-org-task-quota":EC,"165-task-board-pending-review-index":zC,"166-task-board-last-swept-at":PC,"167-task-board-run-retry":$C,"168-org-repo-sync":JC,"169-task-board-merge-failed-activity":jC,"170-task-board-item-repo":QC,"171-jira-integration":WC,"172-task-board-item-key-seq":ZC,"173-thread-github-repo-connection-index":LC,"174-thread-message-parts-persisted-at":FC,"175-task-board-sprints":nC,"176-task-board-done-sweep-index":RC,"177-notifications":YC,"178-jira-status-mapping-array":HC,"179-notification-mentioned":BC,"180-task-board-item-type":yC,"181-task-board-item-type-required":fC,"182-task-board-sprints-entities":OC,"183-drop-jira-jql-filter":AC,"184-jira-rescan-after-scope-change":SC,"185-jira-rescan-existing-cards":IC,"186-jira-rescan-pending-flag":VC,"187-task-board-comment-thread":kC,"188-invitation-auto-accept":pC,"189-task-board-column-automations":iC,"190-task-board-review-cycle-started-at":vC,"191-task-board-columns":gC,"192-task-board-verdict-nudge-activity":cC,"193-task-board-status-column-fk":hC,"194-jira-link-sprint":oC,"195-task-board-sprint-activity":rC,"196-task-board-column-tracker-statuses":eC,"197-task-board-prompts":lC,"198-task-board-external-url":sC,"199-drop-jira-mirror-and-org-columns":dC,"200-jira-run-trigger":bC,"201-organization-notices":_T,"202-redact-base64-thread-parts":uT,"203-task-board-preview-routes":mT,"204-git-provider-accounts-and-repositories":CT,"205-repository-references":TT,"206-repository-consumers":g_,"207-task-board-prs-repo-idx":v_,"208-github-connect-flows":i_,"209-github-installation-authorization":t_},NT=pX;import{getMigrations as j6}from"better-auth/db";import{sso as Q6}from"@better-auth/sso";import{organization as W6}from"@decocms/better-auth/plugins";import{admin as Z6,apiKey as L6,jwt as D6,magicLink as F6,mcp as n6,openAPI as R6}from"better-auth/plugins";import{emailOTP as Y6}from"better-auth/plugins/email-otp";import{Kysely as E6,PostgresDialect as GN}from"kysely";import{Pool as yN}from"pg";import{homedir as tX}from"os";var iX=new Set(["all","worker","api"]);function vX(_){let x=(_??"").trim();return iX.has(x)?x:"all"}var gX=new Set(["production","development","test"]);function qX(_){let x=(_??"").trim();return gX.has(x)?x:"development"}function L(_){return _==="true"||_==="1"}function ET(_,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 G(_,x,u,T){return ET(_,x,T)??u}function cX(_,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 KT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function ZN(_){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 hX(_){return _===void 0||_===""||_==="true"||_==="1"}function T_(_,x){return _||x}function LN(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${tX()}/deco`,T=_.localMode,C=_.nodeEnv||qX(x.NODE_ENV),N=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:G("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:T_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:L(x.DATABASE_PG_SSL),databasePoolMax:G("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:G("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:T_(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),clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:ET("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:cX("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:L(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:G("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:G("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:G("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:KT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:G("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:G("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:KT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:G("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:hX(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:ET("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:vX(T_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:L(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:L(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:KT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:L(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:G("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:T_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:T_(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:ZN(x.DATABASE_URL),externalNatsUrl:ZN(N),skipMigrations:_.skipMigrations}}var I_=null;function h(){if(!I_)oX();return I_}function oX(){if(I_)return;let _={...process.env},x=LN({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},_);I_=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 dX,metrics as bX,propagation as iZ,ROOT_CONTEXT as vZ,SpanStatusCode as gZ,trace as _6}from"@opentelemetry/api";import{logs as x6,SeverityNumber as zT}from"@opentelemetry/api-logs";import{OTLPLogExporter as hZ}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as u6}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as rZ}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as lZ}from"@opentelemetry/instrumentation-runtime-node";import{context as IW,propagation as wW,SpanKind as VW,SpanStatusCode as kW}from"@opentelemetry/api";var tW=globalThis.fetch;import{ExportResultCode as sW}from"@opentelemetry/core";import{ExportResultCode as w_}from"@opentelemetry/core";import{mkdir as aX,rename as rX,writeFile as eX}from"fs/promises";import{join as V_}from"path";class k_{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:w_.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:w_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:w_.FAILED}});return Promise.resolve({code:w_.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?V_(this.basePath,x,...T):V_(this.basePath,...T);if(!this.knownDirs.has(C))await aX(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let N=`${crypto.randomUUID()}.ndjson`,E=V_(C,`.${N}.tmp`),K=V_(C,N),z=_.join(`
|
|
1786
|
+
`.execute(_)}var vX={"001-initial-schema":c_,"002-organization-settings":h_,"003-connection-schema-align":o_,"004-remove-models-binding":a_,"005-connection-configuration":r_,"006-add-views-to-settings":e_,"007-monitoring-logs":l_,"008-event-bus":s_,"009-drop-audit-logs":d_,"010-gateways":b_,"011-gateway-icon":_x,"012-gateway-tool-selection-mode":xx,"013-monitoring-user-agent-gateway":ux,"014-gateway-resources-prompts":mx,"015-monitoring-properties":Cx,"016-downstream-token-client-info":Tx,"017-downstream-token-remove-userid":Nx,"018-drop-gateway-tool-selection-strategy":Kx,"019-remove-gateway-is-default":Ex,"020-enabled-plugins":zx,"021-threads":Px,"022-rename-gateway-to-virtual-mcp":$x,"023-optimize-thread-indexes":Ux,"024-consolidate-virtual-mcp":Jx,"025-add-monitoring-virtual-mcp-id":Xx,"026-restrict-child-connection-delete":jx,"027-update-management-mcp-url":Wx,"028-update-management-mcp-to-self":Lx,"029-add-updated-by-to-connections":Dx,"030-member-tags":Fx,"031-add-dependency-mode":Rx,"032-projects":Yx,"033-thread-status":Hx,"034-monitoring-dashboards":Mx,"035-project-connections":nx,"036-update-registry-url":Bx,"037-ai-provider-keys":Gx,"038-oauth-pkce-states":yx,"039-automations":fx,"040-replace-next-run-at-with-last-run-at":Ox,"041-ai-provider-keys-unique-constraint":Ax,"042-rename-mesh-mcp-to-cms-mcp":Sx,"043-rename-cms-mcp-to-deco-cms":Ix,"044-drop-connections-tools-column":wx,"045-thread-context-start-message":Vx,"046-remove-object-storage-plugin":px,"047-add-next-run-at":tx,"048-merge-projects-agents":vx,"049-remove-org-admin-projects":qx,"050-durable-agent-runs":gx,"051-org-sso":hx,"052-thread-agent-ids":ox,"053-registry-config":ax,"054-connection-slug":ex,"055-spaces":lx,"056-automation-project-scope":sx,"057-thread-virtual-mcp-id":dx,"058-trigger-callback-tokens":bx,"059-kv":_u,"060-member-index":xu,"061-downstream-token-connection-index":uu,"062-private-registry":mu,"063-event-subscriptions-enabled-boolean":Cu,"064-brand-context":Tu,"065-organization-domains":Nu,"066-brand-context-structured":Ku,"067-threads-metadata":Eu,"068-threads-branch":zu,"069-sandbox-runner-state":Pu,"070-model-categories":$u,"071-default-home-agents":Uu,"072-ai-provider-key-preset-id":Ju,"073-backfill-basic-usage-roles":Xu,"074-sandbox-runner-state-handle-nonunique":ju,"075-thread-inflight-async-jobs":Qu,"076-automations-drop-agent-json":Wu,"077-tier-only-model-selection":Lu,"078-automation-tool-call-kind":Du,"079-strip-legacy-freestyle-vm-map-entries":Fu,"080-async-research-jobs":Ru,"081-async-research-jobs-result-content":Yu,"082-secrets":Hu,"083-thread-run-locally":Mu,"084-drop-host-sandbox-rows":nu,"085-rename-runner-kind":Bu,"086-thread-pins-and-vm-map-rekey":Gu,"087-fix-vm-map-rekey":yu,"088-purge-cli-activate-keys":fu,"089-rename-remote-user-to-desktop":Ou,"090-automation-webhook-triggers":Au,"091-organization-domains-allow-multi":Su,"092-sandbox-naming-uniformization":Iu,"093-backfill-global-search-basic-usage":wu,"094-org-file-configs":ku,"095-remove-automation-tool-call-kind":pu,"096-org-file-configs-public-url-base":tu,"097-drop-local-docker-sandbox-state":vu,"098-thread-message-parts":qu,"099-run-fence":gu,"100-link-transport":cu,"101-cancel-requested-at":hu,"102-observational-agent":ou,"103-revert-observational-agent":au,"104-agent-sandbox-provider-kind":eu,"105-org-fs":lu,"106-automation-tools":su,"107-org-fs-public-org":du,"108-automation-max-agent-steps":bu,"109-thread-message-parts-per-message-seq":_m,"110-backfill-ghs-token-expiry":xm,"111-org-fs-thread-id":um,"112-org-file-configs-credential-type":mm,"113-thread-failure-reason":Cm,"114-run-acked-seq":Tm,"115-thread-projected-seq":Nm,"116-org-sites":Km,"117-org-file-configs-site-slug":Em,"118-organization-domains-multi-verify":zm,"119-organization-join-requests":Pm,"120-org-fs-read-public":$m,"121-org-fs-share-password":Um,"122-split-web-research-tier":jm,"123-connection-credential-vault":Qm,"124-drop-thread-projected-seq":Wm,"125-github-child-single-parent":Zm,"126-task-board":Dm,"127-task-board-due-date":Fm,"128-reports-only":Rm,"129-task-board-assigned-by":Ym,"130-task-board-thread-id":Hm,"131-task-board-thread-link-cascade":Mm,"132-task-board-item-prs":nm,"133-dedupe-duplicate-members":Bm,"134-drop-task-board-enabled":Gm,"135-task-board-item-fk-cascade":ym,"136-task-board-import-idempotency":fm,"137-agent-sandbox-runner-state":Om,"138-agent-sandbox-sessions":Am,"139-organization-billing":Sm,"140-seat-change-log":Im,"141-benefits-sync-pending":wm,"142-stripe-event-watermark":Vm,"143-armed-report-url":km,"144-benefits-pending-index":pm,"145-user-model-preferences":tm,"146-organization-main-agent":im,"147-drop-agent-sandbox-tables":vm,"148-org-flags":qm,"149-task-board-item-sort-order":gm,"150-task-board-activity":cm,"151-task-board-tags":om,"152-repair-connection-slug":rm,"153-task-board-latest-assistant-part-index":em,"154-task-board-qa-activity":sm,"155-task-board-review-claims":dm,"156-task-board-conflict-activity":_C,"157-drop-seat-billing":xC,"158-drop-github-child-single-parent":uC,"159-task-board-comments":mC,"160-task-quota-billing":CC,"161-task-quota-claim-state":NC,"162-claude-subscriptions":KC,"163-task-board-item-dismissed":EC,"164-per-org-task-quota":zC,"165-task-board-pending-review-index":PC,"166-task-board-last-swept-at":$C,"167-task-board-run-retry":UC,"168-org-repo-sync":XC,"169-task-board-merge-failed-activity":QC,"170-task-board-item-repo":WC,"171-jira-integration":ZC,"172-task-board-item-key-seq":LC,"173-thread-github-repo-connection-index":DC,"174-thread-message-parts-persisted-at":RC,"175-task-board-sprints":YC,"176-task-board-done-sweep-index":HC,"177-notifications":MC,"178-jira-status-mapping-array":nC,"179-notification-mentioned":GC,"180-task-board-item-type":fC,"181-task-board-item-type-required":OC,"182-task-board-sprints-entities":AC,"183-drop-jira-jql-filter":SC,"184-jira-rescan-after-scope-change":IC,"185-jira-rescan-existing-cards":wC,"186-jira-rescan-pending-flag":kC,"187-task-board-comment-thread":pC,"188-invitation-auto-accept":tC,"189-task-board-column-automations":vC,"190-task-board-review-cycle-started-at":qC,"191-task-board-columns":gC,"192-task-board-verdict-nudge-activity":hC,"193-task-board-status-column-fk":oC,"194-jira-link-sprint":aC,"195-task-board-sprint-activity":eC,"196-task-board-column-tracker-statuses":lC,"197-task-board-prompts":sC,"198-task-board-external-url":dC,"199-drop-jira-mirror-and-org-columns":bC,"200-jira-run-trigger":_T,"201-organization-notices":xT,"202-redact-base64-thread-parts":mT,"203-task-board-preview-routes":CT,"204-git-provider-accounts-and-repositories":TT,"205-repository-references":NT,"206-repository-consumers":g_,"207-task-board-prs-repo-idx":q_,"208-github-connect-flows":v_,"209-github-installation-authorization":i_,"210-github-repository-authorization":t_},KT=vX;import{getMigrations as Z6}from"better-auth/db";import{sso as L6}from"@better-auth/sso";import{organization as D6}from"@decocms/better-auth/plugins";import{admin as F6,apiKey as R6,jwt as Y6,magicLink as H6,mcp as M6,openAPI as n6}from"better-auth/plugins";import{emailOTP as B6}from"better-auth/plugins/email-otp";import{Kysely as $6,PostgresDialect as yN}from"kysely";import{Pool as fN}from"pg";import{homedir as qX}from"os";var gX=new Set(["all","worker","api"]);function cX(_){let x=(_??"").trim();return gX.has(x)?x:"all"}var hX=new Set(["production","development","test"]);function oX(_){let x=(_??"").trim();return hX.has(x)?x:"development"}function L(_){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 G(_,x,u,T){return zT(_,x,T)??u}function aX(_,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 ET(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function LN(_){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 rX(_){return _===void 0||_===""||_==="true"||_==="1"}function T_(_,x){return _||x}function DN(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${qX()}/deco`,T=_.localMode,C=_.nodeEnv||oX(x.NODE_ENV),N=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:G("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:T_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:L(x.DATABASE_PG_SSL),databasePoolMax:G("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:G("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:T_(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),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: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:aX("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:L(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:G("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:G("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:G("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:ET(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:G("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:G("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:ET(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:G("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:rX(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:cX(T_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:L(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:L(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:ET(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:L(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:G("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:T_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:T_(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:LN(x.DATABASE_URL),externalNatsUrl:LN(N),skipMigrations:_.skipMigrations}}var I_=null;function h(){if(!I_)eX();return I_}function eX(){if(I_)return;let _={...process.env},x=DN({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},_);I_=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 x6,metrics as u6,propagation as gZ,ROOT_CONTEXT as cZ,SpanStatusCode as hZ,trace as m6}from"@opentelemetry/api";import{logs as C6,SeverityNumber as PT}from"@opentelemetry/api-logs";import{OTLPLogExporter as rZ}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as T6}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as sZ}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as bZ}from"@opentelemetry/instrumentation-runtime-node";import{context as kW,propagation as pW,SpanKind as tW,SpanStatusCode as iW}from"@opentelemetry/api";var qW=globalThis.fetch;import{ExportResultCode as _Z}from"@opentelemetry/core";import{ExportResultCode as w_}from"@opentelemetry/core";import{mkdir as lX,rename as sX,writeFile as dX}from"fs/promises";import{join as V_}from"path";class k_{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:w_.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:w_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:w_.FAILED}});return Promise.resolve({code:w_.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?V_(this.basePath,x,...T):V_(this.basePath,...T);if(!this.knownDirs.has(C))await lX(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let N=`${crypto.randomUUID()}.ndjson`,E=V_(C,`.${N}.tmp`),K=V_(C,N),z=_.join(`
|
|
1787
1787
|
`)+`
|
|
1788
|
-
`;await
|
|
1788
|
+
`;await dX(E,z,{mode:384}),await sX(E,K)}}import{ExportResultCode as TZ}from"@opentelemetry/core";import{AggregationTemporality as KZ,DataPointType as EZ}from"@opentelemetry/sdk-metrics";import{ExportResultCode as XZ}from"@opentelemetry/core";var ZZ=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as E4,LoggerProvider as z4}from"@opentelemetry/sdk-logs";import{detectResources as $4,envDetector as U4,hostDetector as J4,osDetector as X4,processDetector as j4,resourceFromAttributes as Q4}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Z4}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as FZ}from"@opentelemetry/api-logs";import{NodeSDK as F4}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as Y4,SamplingDecision as o}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as nZ}from"@opentelemetry/api";var N6="__d",K6=x6("Current request"),E6=1;var RN=(_)=>{let u=new URL(_.url).searchParams.get(N6);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class YN{inner;constructor(_){this.inner=_}shouldSample(_,x,u,T,C,N){let E=_.getValue(K6);if(!E){if(this.inner)return this.inner.shouldSample(_,x,u,T,C,N);return{decision:o.RECORD_AND_SAMPLED}}let K=RN(E);if(K)return{decision:o.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":K}};if(this.inner){let z=this.inner.shouldSample(_,x,u,T,C,N);if(z.decision===o.RECORD_AND_SAMPLED){let $=crypto.randomUUID();z.attributes={...z.attributes??{},"trace.debug.id":$}}return z}return{decision:o.NOT_RECORD}}toString(){return"DebugSampler"}}class HN{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:o.RECORD_AND_SAMPLED};return{decision:o.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var M4=new T6({preventServerStart:!0}),n4=new YN(new HN(E6));var FN=m6.getTracer("studio","1.0.0"),N_=u6.getMeter("studio","1.0.0"),z6=C6.getLogger("studio","1.0.0"),$T=(_,x,u)=>{let T={},C=u,N=u[u.length-1];if(N!==null&&typeof N==="object"&&!Array.isArray(N)&&!(N instanceof Error)&&Object.getPrototypeOf(N)===Object.prototype)T=N,C=u.slice(0,-1);let E=C.map((K)=>{if(K instanceof Error)return`${K.name}: ${K.message}`;if(typeof K==="object")try{return JSON.stringify(K)}catch{return"[Object]"}return String(K)}).join(" ");z6.emit({severityNumber:_,severityText:x,body:E,attributes:{"log.source":"console",...T}})},UT={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{$T(PT.ERROR,"ERROR",_),UT.error(..._)};console.warn=(..._)=>{$T(PT.WARN,"WARN",_),UT.warn(..._)};console.debug=(..._)=>{$T(PT.DEBUG,"DEBUG",_),UT.debug(..._)};var JT,MN=0,XT=500;function P6(){if(JT)return;let _=performance.now()+XT;JT=setInterval(()=>{let x=performance.now();MN=Math.max(0,x-_),_=x+XT},XT),JT.unref?.()}function nN(){return P6(),MN}var U6=()=>N_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),BN=()=>N_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),GN=400,J6=100,X6=(_)=>(x)=>{let u={"db.statement":x.query.sql,"db.status":x.level==="error"?"error":"success"};if(x.queryDurationMillis>GN){let T=nN(),C=T>GN/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:p_()}})}if(U6().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function j6(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let T=performance.now(),C=p_(),N=_.idleCount===0&&_.totalCount>=C,E=_.idleCount;return x().then((K)=>{let z=performance.now()-T;if(BN().record(z,{"db.pool.outcome":N?"contended":"available"}),z>J6)if(N)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 K},(K)=>{throw BN().record(performance.now()-T,{"db.pool.outcome":"error"}),K})},_}var ON={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function AN(){try{return h().databasePgSsl}catch{return!1}}function p_(){try{return h().databasePoolMax}catch{return 10}}function Q6(_){let x=j6(new fN({connectionString:_,max:p_(),ssl:AN(),...ON})),u=new yN({pool:x});return{type:"postgres",db:new $6({dialect:u,log:X6(x)}),pool:x}}function E_(){return h().databaseUrl}function SN(_){let x=_||E_();return new yN({pool:new fN({connectionString:x,max:p_(),ssl:AN(),...ON})})}function W6(_){let x=_||E_();return Q6(x)}async function IN(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===K_)K_=null}var K_=null;function jT(){if(!K_)K_=W6(E_());return K_}async function wN(_){let u={database:SN(_||E_()),plugins:[D6({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),F6(),R6(),Y6(),n6(),M6({loginPage:"/login"}),L6(),H6({sendMagicLink:async()=>{}}),B6({sendVerificationOTP:async()=>{}})]},{toBeAdded:T,toBeCreated:C,runMigrations:N}=await Z6(u);if(!T.length&&!C.length)return"up to date";return await N(),`${C.length+T.length} table(s) migrated`}async function kN(_,x){return(await a`
|
|
1789
1789
|
SELECT table_name FROM information_schema.tables
|
|
1790
1790
|
WHERE table_schema='public' AND table_name=${x}
|
|
1791
|
-
`.execute(_)).rows.length>0}async function
|
|
1791
|
+
`.execute(_)).rows.length>0}async function G6(_){if(await kN(_,"plugin_migrations"))return;await a`
|
|
1792
1792
|
CREATE TABLE plugin_migrations (
|
|
1793
1793
|
plugin_id TEXT NOT NULL,
|
|
1794
1794
|
name TEXT NOT NULL,
|
|
1795
1795
|
timestamp TEXT NOT NULL,
|
|
1796
1796
|
PRIMARY KEY (plugin_id, name)
|
|
1797
1797
|
)
|
|
1798
|
-
`.execute(_)}async function
|
|
1798
|
+
`.execute(_)}async function y6(_){if(!await kN(_,"kysely_migration"))return;let x=await a`
|
|
1799
1799
|
SELECT name, timestamp FROM kysely_migration
|
|
1800
1800
|
WHERE name LIKE '%/%'
|
|
1801
1801
|
`.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 N=C.indexOf("/");if(N===-1){console.warn(`Skipping malformed plugin migration: ${u}`);continue}let E=C.substring(0,N),K=C.substring(N+1);try{await a`
|
|
@@ -1806,4 +1806,4 @@ var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null
|
|
|
1806
1806
|
WHERE plugin_id = ${E} AND name = ${K}
|
|
1807
1807
|
`.execute(_);if(Number(z.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${E}/${K}, keeping in old table`);continue}}await a`
|
|
1808
1808
|
DELETE FROM kysely_migration WHERE name = ${u}
|
|
1809
|
-
`.execute(_)}}async function
|
|
1809
|
+
`.execute(_)}}async function f6(_){await G6(_),await y6(_);let x=new VN({db:_,provider:{getMigrations:()=>Promise.resolve(KT)}}),{error:u,results:T}=await x.migrateToLatest(),C=0;if(T?.forEach((N)=>{if(N.status==="Success")C++;else if(N.status==="Error")console.error(`Failed to execute migration "${N.migrationName}"`)}),u)throw console.error("Failed to migrate"),console.error(u),u;return C}async function O6(_){let{keepOpen:x=!1,database:u,skipBetterAuth:T=!1}=_??{},C="skipped";if(!T&&!u)C=await wN();let N=u??jT(),E=async()=>{if(!x&&!u)await IN(N).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await f6(N.db);return await E(),{betterAuth:C,kysely:K}}catch(K){throw await E(),K}}async function u2(){let _=jT(),x=new VN({db:_.db,provider:{getMigrations:()=>Promise.resolve(KT)}}),{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 O6(),console.log("Migrations completed."),process.exit(0)}catch(_){console.error("Migration failed:",_),process.exit(1)}})();export{f6 as runKyselyMigrations,O6 as migrateToLatest,u2 as migrateDown};
|