decocms 4.363.1 → 4.364.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/dist/client/assets/{AlertCircle-CgERhdh6.js → AlertCircle-EniJtD8E.js} +1 -1
  2. package/dist/client/assets/{AreaChart-kU4sTinA.js → AreaChart-DZpAPo6a.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-BVx6AQzq.js → ArrowLeft-Clu1mSdY.js} +1 -1
  4. package/dist/client/assets/{ArrowRight-DZQert3q.js → ArrowRight-Cu8UuHNR.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-lpfNBlP2.js → ArrowUp-C0eratGp.js} +1 -1
  6. package/dist/client/assets/{Check-DClZtAIP.js → Check-BWpBE9uf.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-BGqFZ8sM.js → CheckCircle-cinYKmPU.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-BNfU55ld.js → ChevronRight-DzRB-rdO.js} +1 -1
  9. package/dist/client/assets/{ChevronSelectorVertical-ilm76_0p.js → ChevronSelectorVertical-BiIbFU31.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-CbF1Gmeo.js → ChevronUp-DGrguvGW.js} +1 -1
  11. package/dist/client/assets/{Copy01-DiITYBuR.js → Copy01-DayLu0dF.js} +1 -1
  12. package/dist/client/assets/{CreditCard01-Zpy-4Wu9.js → CreditCard01-4OsjIT5f.js} +1 -1
  13. package/dist/client/assets/{Database01-zcGUPFsG.js → Database01-2gG_9E30.js} +1 -1
  14. package/dist/client/assets/{DotsVertical-LmkOTjL4.js → DotsVertical-CucJCL9y.js} +1 -1
  15. package/dist/client/assets/{Download01-C4blLpML.js → Download01-BC2rKbuh.js} +1 -1
  16. package/dist/client/assets/{ErrorBarContext-KbkdtIBU.js → ErrorBarContext-CRh7XbJc.js} +1 -1
  17. package/dist/client/assets/{Eye-Cd7v-liN.js → Eye-dnrP5DkM.js} +1 -1
  18. package/dist/client/assets/{File02-CceuR6rF.js → File02-BhckHV8N.js} +1 -1
  19. package/dist/client/assets/{GitBranch01-Dil6c2wv.js → GitBranch01-BBn4dN5f.js} +1 -1
  20. package/dist/client/assets/{Globe01-BVji6jXS.js → Globe01-SLAc63wC.js} +1 -1
  21. package/dist/client/assets/{HardDrive-B4UY5qYp.js → HardDrive-FlnOYA_8.js} +1 -1
  22. package/dist/client/assets/{Image01-CpXdMb8x.js → Image01-BrHSH-Vi.js} +1 -1
  23. package/dist/client/assets/{Key01-BsAAVoJx.js → Key01-CKcg8G1v.js} +1 -1
  24. package/dist/client/assets/{Link01-OqB-2yPE.js → Link01-3t9JrUgl.js} +1 -1
  25. package/dist/client/assets/{LinkExternal01-DobnLseV.js → LinkExternal01-Cp7uxK1i.js} +1 -1
  26. package/dist/client/assets/{Monitor01-BTqHf-K4.js → Monitor01-BUruMK2r.js} +1 -1
  27. package/dist/client/assets/{Package-CCkk0w5h.js → Package-CdfyZYxN.js} +1 -1
  28. package/dist/client/assets/{Palette-BBWt8owf.js → Palette-CglyAOTg.js} +1 -1
  29. package/dist/client/assets/{Play-CPeIBqH_.js → Play-rnw1eV52.js} +1 -1
  30. package/dist/client/assets/{Plus-DaErdsG1.js → Plus-Bxp02MWl.js} +1 -1
  31. package/dist/client/assets/{Printer-BG6NfeSZ.js → Printer-fz_zwxfT.js} +1 -1
  32. package/dist/client/assets/{SearchLg-DxQfk550.js → SearchLg-FC9suxna.js} +1 -1
  33. package/dist/client/assets/{SearchMd-BNXjQ2BV.js → SearchMd-DRRptSJN.js} +1 -1
  34. package/dist/client/assets/{Sector-D2wxgDkd.js → Sector-CJIPfQ5Z.js} +1 -1
  35. package/dist/client/assets/{Settings02-DL8f5fN1.js → Settings02-D2oiGU4q.js} +1 -1
  36. package/dist/client/assets/{Share07-D1Sv14jA.js → Share07-D_kiq5Fr.js} +1 -1
  37. package/dist/client/assets/{Shield01-BsobIEfQ.js → Shield01-CjyLhqlS.js} +1 -1
  38. package/dist/client/assets/{Stars01-f37Q7vDf.js → Stars01-COChWymR.js} +1 -1
  39. package/dist/client/assets/{Sun-DjKz3VjB.js → Sun-nKOZMh9n.js} +1 -1
  40. package/dist/client/assets/{SwitchHorizontal01-BIyO34Jw.js → SwitchHorizontal01-CxlKjkIX.js} +1 -1
  41. package/dist/client/assets/{Tool01-D6HOM_aJ.js → Tool01-BnKd95Y1.js} +1 -1
  42. package/dist/client/assets/{Tool02-BrfQeZRx.js → Tool02-C_xRWqQk.js} +1 -1
  43. package/dist/client/assets/{Trash01-DQjprOwc.js → Trash01-DqUm2RRh.js} +1 -1
  44. package/dist/client/assets/{TrendUp01-DIz6JZwT.js → TrendUp01-PFzYDizC.js} +1 -1
  45. package/dist/client/assets/{Upload01-BDeLrRhf.js → Upload01-CqWnAR1-.js} +1 -1
  46. package/dist/client/assets/{User01-B8a5ssx2.js → User01-BJoNdkjl.js} +1 -1
  47. package/dist/client/assets/{UserSquare-yIpHwPSn.js → UserSquare-CCDsU001.js} +1 -1
  48. package/dist/client/assets/{Users01-BCRhQsCX.js → Users01-DSQPwtP5.js} +1 -1
  49. package/dist/client/assets/{Users03-DWh3D2_T.js → Users03-CRtXqa1Q.js} +1 -1
  50. package/dist/client/assets/{XCircle-DudPVYQR.js → XCircle-9Cb0khfg.js} +1 -1
  51. package/dist/client/assets/{XClose-DpDcHm9Y.js → XClose-Cw4b4Uag.js} +1 -1
  52. package/dist/client/assets/{Zap-C5eiFR0N.js → Zap-ChVc0p76.js} +1 -1
  53. package/dist/client/assets/{ZoomOut-DdupjPFF.js → ZoomOut-BXPGwF_O.js} +1 -1
  54. package/dist/client/assets/{access-gate-Dnh0JyKy.js → access-gate-BZbNb1lq.js} +1 -1
  55. package/dist/client/assets/{add-connection-dialog-BSihy3_s.js → add-connection-dialog-s1GRGQ63.js} +1 -1
  56. package/dist/client/assets/{agent-analytics-C1OAYjbt.js → agent-analytics-C4aHsqYV.js} +1 -1
  57. package/dist/client/assets/agent-app-CzbKRw1_.js +1 -0
  58. package/dist/client/assets/{agent-assets-vYQq8qui.js → agent-assets-B6lPIA_2.js} +1 -1
  59. package/dist/client/assets/{agent-automation-BPNX454_.js → agent-automation-Bmdy2mNK.js} +1 -1
  60. package/dist/client/assets/{agent-automations-BLOXID0N.js → agent-automations-5exIOZ--.js} +1 -1
  61. package/dist/client/assets/{agent-connect-sources-BzEccd4r.js → agent-connect-sources-ozaEzrP4.js} +1 -1
  62. package/dist/client/assets/agent-deck-D5-mvZ5i.js +1 -0
  63. package/dist/client/assets/{agent-e2e-DM8adI3E.js → agent-e2e-s-Nk1F2Y.js} +1 -1
  64. package/dist/client/assets/agent-file-DkGApBvp.js +1 -0
  65. package/dist/client/assets/{agent-git-DarQSTRH.js → agent-git-Bu3r6tWp.js} +1 -1
  66. package/dist/client/assets/{agent-hosting-Dnr2S-TT.js → agent-hosting-CdYzW_dA.js} +1 -1
  67. package/dist/client/assets/{agent-icon-vDfwuZu4.js → agent-icon-DrlilhFJ.js} +1 -1
  68. package/dist/client/assets/agent-library-file-CK85m8fH.js +1 -0
  69. package/dist/client/assets/{agent-monitor-DpaaBIhL.js → agent-monitor-DEQ-34KF.js} +1 -1
  70. package/dist/client/assets/{agent-overview-D9IrP622.js → agent-overview-BQIF-rwN.js} +1 -1
  71. package/dist/client/assets/agent-settings-gb3smN_4.js +1 -0
  72. package/dist/client/assets/{agent-site-editor-DTFbZmEY.js → agent-site-editor-DtPpWjDD.js} +1 -1
  73. package/dist/client/assets/agent-site-editor-code-DkcL_YVi.js +2 -0
  74. package/dist/client/assets/{agent-site-editor-content-BE26aik7.js → agent-site-editor-content-6zQLGSyR.js} +2 -2
  75. package/dist/client/assets/{agent-site-editor-preview-ki_D8wtP.js → agent-site-editor-preview-D8mxBZIU.js} +3 -3
  76. package/dist/client/assets/agent-view-D9WzU94g.js +1 -0
  77. package/dist/client/assets/{agent-view-guard-DomQyuot.js → agent-view-guard-nj1TYVsk.js} +1 -1
  78. package/dist/client/assets/{agents-list-B0vnsITA.js → agents-list-hiZ_XS0O.js} +1 -1
  79. package/dist/client/assets/{ai-providers-CxaMjUP7.js → ai-providers-oY9ilqJZ.js} +1 -1
  80. package/dist/client/assets/{alert-DcFgIKLk.js → alert-D-emvPaG.js} +1 -1
  81. package/dist/client/assets/{alert-dialog-CiKfgw9r.js → alert-dialog-BE9ltHtr.js} +1 -1
  82. package/dist/client/assets/{api-keys-CEPWE1iS.js → api-keys-4NMR09V3.js} +1 -1
  83. package/dist/client/assets/api-keys-BQayHq-8.js +1 -0
  84. package/dist/client/assets/app-editor-DeI0TeES.js +1 -0
  85. package/dist/client/assets/{asset-utils-DJXdpjr9.js → asset-utils-CR65HphV.js} +1 -1
  86. package/dist/client/assets/{auth-ksbj4Esa.js → auth-RjDDTUUT.js} +1 -1
  87. package/dist/client/assets/{auth-catchall-DV5KEwZ2.js → auth-catchall-qxwSZGuB.js} +1 -1
  88. package/dist/client/assets/{auth-entry-Fe8qT_kq.js → auth-entry-ddblLMjc.js} +1 -1
  89. package/dist/client/assets/{auth-split-layout-CFJK_BXW.js → auth-split-layout-oGs_kK_4.js} +1 -1
  90. package/dist/client/assets/{authenticate-and-persist-oauth-DMvGjBUE.js → authenticate-and-persist-oauth-DXlrPDSv.js} +1 -1
  91. package/dist/client/assets/{automation-list-row-CkrObNhq.js → automation-list-row-XibuWgpW.js} +1 -1
  92. package/dist/client/assets/{automation-runs-C-5kRp10.js → automation-runs-nZP284NC.js} +1 -1
  93. package/dist/client/assets/automations-CDxxuCym.js +1 -0
  94. package/dist/client/assets/{autosend-BzUVLyEq.js → autosend-HdosN86x.js} +1 -1
  95. package/dist/client/assets/{avatar-CW4PxBuN.js → avatar-DcDvs8Zz.js} +1 -1
  96. package/dist/client/assets/{badge-C5Ilvf_J.js → badge-DJpaBl8u.js} +1 -1
  97. package/dist/client/assets/{block-document-Zfk-C1Kp.js → block-document-LCYQj9PJ.js} +1 -1
  98. package/dist/client/assets/{breadcrumb-BajFgW5V.js → breadcrumb-BOAVRiAa.js} +1 -1
  99. package/dist/client/assets/{buckets-CyNocIPE.js → buckets-Ze5fok7v.js} +1 -1
  100. package/dist/client/assets/{build-improve-prompt-doc-BrRLOIlw.js → build-improve-prompt-doc-Dn9xs_5X.js} +1 -1
  101. package/dist/client/assets/{bulk-category-panel-e217-dmm.js → bulk-category-panel-D-Hh71MB.js} +1 -1
  102. package/dist/client/assets/{calendar-DGiOuDgZ.js → calendar-DTnssie4.js} +1 -1
  103. package/dist/client/assets/{capability-load-error-DFv8gs5U.js → capability-load-error-CJ3e1sqb.js} +1 -1
  104. package/dist/client/assets/{cards-XHNjVWeh.js → cards-DTFINi5r.js} +1 -1
  105. package/dist/client/assets/category-editor-4KcN0JRt.js +1 -0
  106. package/dist/client/assets/{chart-C7CmtzOp.js → chart-Jb0gHMLD.js} +1 -1
  107. package/dist/client/assets/{chat-context-HB_KOUNM.js → chat-context-CXknhaDs.js} +1 -1
  108. package/dist/client/assets/{checkbox-Dg_GkeBT.js → checkbox-D8Ab2Vb-.js} +1 -1
  109. package/dist/client/assets/{choose-editor-DO1mGCL1.js → choose-editor-Chy2VB_F.js} +1 -1
  110. package/dist/client/assets/{cli-auth-success-e-RADpiN.js → cli-auth-success-B27gos5d.js} +1 -1
  111. package/dist/client/assets/{client-icons-tt6oaVA2.js → client-icons-CoIMqlIz.js} +1 -1
  112. package/dist/client/assets/{collapsible-CycyYnXe.js → collapsible-DH_CZdwE.js} +1 -1
  113. package/dist/client/assets/{collection-detail-DhtfN_Wl.js → collection-detail-D8Sq0PzS.js} +1 -1
  114. package/dist/client/assets/{collection-display-button-BRbx9UhH.js → collection-display-button-P_aK73Om.js} +1 -1
  115. package/dist/client/assets/{collection-search-j4HjYlys.js → collection-search-CzGq8Uso.js} +1 -1
  116. package/dist/client/assets/{collection-table-wrapper-0LZ9BKlr.js → collection-table-wrapper-ChqJqpKo.js} +1 -1
  117. package/dist/client/assets/{collection-tabs-Bc9QOlJ8.js → collection-tabs-BLgGMB42.js} +1 -1
  118. package/dist/client/assets/{command-BpjWfGyr.js → command-B6LMVdkQ.js} +1 -1
  119. package/dist/client/assets/{command-palette-store-D19nXDNm.js → command-palette-store-BwHku_Zt.js} +1 -1
  120. package/dist/client/assets/{commerce-onboarding-CdG4FfWS.js → commerce-onboarding-EmIMFBqV.js} +1 -1
  121. package/dist/client/assets/{companion-mcps-section-CVcicsr9.js → companion-mcps-section-BszDkkOp.js} +1 -1
  122. package/dist/client/assets/{connect-COU6F3Do.js → connect-CM-97gwN.js} +1 -1
  123. package/dist/client/assets/{connect-layout-Bl-ol5HH.js → connect-layout-C_MQVbrT.js} +1 -1
  124. package/dist/client/assets/{connection-By77bjvj.js → connection-OmoYXqZk.js} +1 -1
  125. package/dist/client/assets/{connection-card-Br8jDKgZ.js → connection-card-Cy-GdKQl.js} +1 -1
  126. package/dist/client/assets/{connection-detail-vVdPGlxv.js → connection-detail-CuBiFvjK.js} +1 -1
  127. package/dist/client/assets/{connection-form-helpers-CFXh6BoJ.js → connection-form-helpers-D3hdN_Pk.js} +1 -1
  128. package/dist/client/assets/{connections-BBNFmXEe.js → connections-BnO49Vti.js} +1 -1
  129. package/dist/client/assets/{create-organization-dialog-CRl8hry2.js → create-organization-dialog--p2RMsV5.js} +1 -1
  130. package/dist/client/assets/{decode-html-entities-Cf7wUEql.js → decode-html-entities-DDqE27I4.js} +1 -1
  131. package/dist/client/assets/{decopilot-sse-pool-D2Qtyl-A.js → decopilot-sse-pool-CfYFArSW.js} +1 -1
  132. package/dist/client/assets/{dialog-DJBpjJnY.js → dialog-otnvxVN0.js} +1 -1
  133. package/dist/client/assets/{discover-y7BsppSE.js → discover-BZKxvY_j.js} +1 -1
  134. package/dist/client/assets/{domain-settings-B_cuGCF0.js → domain-settings-QORwmdcG.js} +1 -1
  135. package/dist/client/assets/{download-app-dialog-DYhv8XsJ.js → download-app-dialog-BqNRF4Sn.js} +1 -1
  136. package/dist/client/assets/{drawer-B5NRhNfW.js → drawer-s7gtDrb4.js} +1 -1
  137. package/dist/client/assets/{dropdown-menu-DzwCPltk.js → dropdown-menu-BxKUbUkE.js} +1 -1
  138. package/dist/client/assets/{editor-BHnwprUT.js → editor-DCxsAs7o.js} +1 -1
  139. package/dist/client/assets/{empty-state-CJ95hR0w.js → empty-state-CL4F2BS4.js} +1 -1
  140. package/dist/client/assets/{empty-state-CXolWOTn.js → empty-state-Cz1DkYZE.js} +1 -1
  141. package/dist/client/assets/{extract-connection-data-B1nPGa4h.js → extract-connection-data-CqGCTPdZ.js} +1 -1
  142. package/dist/client/assets/{file-explorer-Dj1zqDxa.js → file-explorer-Uvp7ogK8.js} +1 -1
  143. package/dist/client/assets/{file-preview-kRDXQYfi.js → file-preview-18IJQMnU.js} +1 -1
  144. package/dist/client/assets/{file-share-button-P5GnoZYM.js → file-share-button-Cef5f1VZ.js} +1 -1
  145. package/dist/client/assets/{file-type-icon-Cg81au_Z.js → file-type-icon-DGllFDOf.js} +1 -1
  146. package/dist/client/assets/{folder-icon-Bey_C_xd.js → folder-icon-p8jB76CU.js} +1 -1
  147. package/dist/client/assets/{form-EGCuUtdG.js → form-KjPevg0A.js} +1 -1
  148. package/dist/client/assets/{general-BJ_Ksgnn.js → general-t-IB2WC3.js} +1 -1
  149. package/dist/client/assets/{github-icon-CiNkodR8.js → github-icon-D51q_6S8.js} +1 -1
  150. package/dist/client/assets/{home-Cmddezu3.js → home-Bhl8U_ph.js} +1 -1
  151. package/dist/client/assets/{hooks-Bb9SArul.js → hooks-BhviOOpn.js} +1 -1
  152. package/dist/client/assets/{hooks-BSkeWBV7.js → hooks-k1OxvonE.js} +1 -1
  153. package/dist/client/assets/{index-6GXqHE0w.js → index-B3yBTWEk.js} +4 -4
  154. package/dist/client/assets/{index-BVRQ9yUZ.js → index-Bwc7J041.js} +1 -1
  155. package/dist/client/assets/{index-CY40-aHW.js → index-C1N-CFMR.js} +1 -1
  156. package/dist/client/assets/{index-BaItIL-_.js → index-C7WIaN4y.js} +1 -1
  157. package/dist/client/assets/{index-DCQ3taiG.js → index-CRCvoACn.js} +1 -1
  158. package/dist/client/assets/{index-B9bOVdMd.js → index-D4YJGrDI.js} +3 -3
  159. package/dist/client/assets/{index-hC6VOnUm.js → index-DD-r2o4M.js} +1 -1
  160. package/dist/client/assets/{index-CUa7fAjf.js → index-DOk05MCp.js} +1 -1
  161. package/dist/client/assets/{index-B7ENeoW4.js → index-DlQKfvnq.js} +1 -1
  162. package/dist/client/assets/{index-Cu77hgR2.js → index-DqX9hbqM.js} +1 -1
  163. package/dist/client/assets/{index-Dg14Zpi9.js → index-fTs6ROSj.js} +1 -1
  164. package/dist/client/assets/{index-qEipD_7S.js → index-m01im2kT.js} +1 -1
  165. package/dist/client/assets/{index-redirect-BRL1uQPT.js → index-redirect-e7Kr1hOd.js} +1 -1
  166. package/dist/client/assets/{index-cEqwHhEg.js → index-w1d_dmEj.js} +1 -1
  167. package/dist/client/assets/{index-9FQARZdh.js → index-xVQnUsdi.js} +1 -1
  168. package/dist/client/assets/{infiniteQueryObserver-C7FrFXuf.js → infiniteQueryObserver-DgAoAIrN.js} +1 -1
  169. package/dist/client/assets/{infra-billing-B0e93_qz.js → infra-billing-B2HwpfSN.js} +1 -1
  170. package/dist/client/assets/{input-D8xrvlz-.js → input-BnbYz5_9.js} +1 -1
  171. package/dist/client/assets/{input-BRqLi1TH.js → input-DxAgQLPa.js} +1 -1
  172. package/dist/client/assets/{input-TvernbmY.js → input-HFOrJf5B.js} +1 -1
  173. package/dist/client/assets/{integration-icon-B6H5J7sl.js → integration-icon-BPwWRlNG.js} +1 -1
  174. package/dist/client/assets/{invite-member-dialog-CsolElt3.js → invite-member-dialog-vPcEYe6v.js} +1 -1
  175. package/dist/client/assets/{label-aWEsDmHM.js → label-CqlSWrLn.js} +1 -1
  176. package/dist/client/assets/{layout-CAwe_kK2.js → layout-aU1eoqDA.js} +1 -1
  177. package/dist/client/assets/{legacy-agents-deep-DJ_t0QLc.js → legacy-agents-deep-CpKjJlPs.js} +1 -1
  178. package/dist/client/assets/{legacy-main-redirect-CySqEohs.js → legacy-main-redirect-ZPChWdtD.js} +1 -1
  179. package/dist/client/assets/{library-DRmbr8Ht.js → library-uYIcEGdr.js} +1 -1
  180. package/dist/client/assets/{login-DQDbHhI7.js → login-CfxNz6kc.js} +1 -1
  181. package/dist/client/assets/{markdown-CBvmi8AF.js → markdown-B1038zFJ.js} +1 -1
  182. package/dist/client/assets/{mcp-app-renderer-BQ7hPzlx.js → mcp-app-renderer-Cb8Ud-E7.js} +1 -1
  183. package/dist/client/assets/{mcp-oauth-DhRKpyTH.js → mcp-oauth-D6isOO_s.js} +1 -1
  184. package/dist/client/assets/{members-NHaXKGgP.js → members-DHLsomPg.js} +1 -1
  185. package/dist/client/assets/{mini-report-page-BcG9QHwQ.js → mini-report-page-iTjakIrU.js} +1 -1
  186. package/dist/client/assets/{monaco-editor-C5zvkMO4.js → monaco-editor-WNMTPDp9.js} +1 -1
  187. package/dist/client/assets/{monitoring-stats-row-CWqusnLf.js → monitoring-stats-row-B_mR1zw-.js} +1 -1
  188. package/dist/client/assets/{multi-select-CvACpZbb.js → multi-select-D54pM3d4.js} +1 -1
  189. package/dist/client/assets/{mustache-DQXz9E52.js → mustache-r9snVmI4.js} +1 -1
  190. package/dist/client/assets/{oauth-callback-BHJTnNxG.js → oauth-callback-GAK1H0Is.js} +1 -1
  191. package/dist/client/assets/{oauth-callback-ai-provider-wF0_7wc5.js → oauth-callback-ai-provider-sdaHeEFx.js} +1 -1
  192. package/dist/client/assets/{onboarding-20FUHLvO.js → onboarding-BKPW4du6.js} +1 -1
  193. package/dist/client/assets/{optimistic-project-sidebar-views-DKtRXqQ0.js → optimistic-project-sidebar-views-yrtk59Mo.js} +1 -1
  194. package/dist/client/assets/{org-layout-DRrVivAL.js → org-layout-BNIg984j.js} +1 -1
  195. package/dist/client/assets/{organization-choice-BmSYuBSE.js → organization-choice-DvXG7tgx.js} +1 -1
  196. package/dist/client/assets/{orgs-1ZlqeM-y.js → orgs-NTyzCYi-.js} +1 -1
  197. package/dist/client/assets/{page-seo-form-Cpi2Oike.js → page-seo-form-DAkbVQPg.js} +1 -1
  198. package/dist/client/assets/{pair-CD8Vxcvs.js → pair-C08OPQNP.js} +1 -1
  199. package/dist/client/assets/{popover-Ci-k968-.js → popover-DIqZ2IKF.js} +1 -1
  200. package/dist/client/assets/{post-calendar-CgTLYrrU.js → post-calendar-DuH_hA9y.js} +1 -1
  201. package/dist/client/assets/{post-editor-DyayPm7u.js → post-editor-BAf6FqSQ.js} +1 -1
  202. package/dist/client/assets/{preview-content-DhEgigNG.js → preview-content-B5xB74fu.js} +1 -1
  203. package/dist/client/assets/{preview-dialog-CKWnRekk.js → preview-dialog-b2QyOGzU.js} +1 -1
  204. package/dist/client/assets/{primitives-1lR28duD.js → primitives-4_D03rJK.js} +1 -1
  205. package/dist/client/assets/{profile-DixSbE4L.js → profile-COT-hKKD.js} +1 -1
  206. package/dist/client/assets/{project-app-view-DBHiU3Rg.js → project-app-view-DJ_q7UHg.js} +1 -1
  207. package/dist/client/assets/{project-feed-boKgu_TR.js → project-feed-DJ_jJM3E.js} +1 -1
  208. package/dist/client/assets/{project-icon-DIXBuD-A.js → project-icon-Bl3bXnhv.js} +1 -1
  209. package/dist/client/assets/project-reports-q4w3pT5T.js +1 -0
  210. package/dist/client/assets/project-tasks-DqlAyIfE.js +1 -0
  211. package/dist/client/assets/{prompts-BROxvafI.js → prompts-CI44HEcf.js} +1 -1
  212. package/dist/client/assets/record-editor-n0M7yiQw.js +1 -0
  213. package/dist/client/assets/redirect-editor-CK3YSOdb.js +1 -0
  214. package/dist/client/assets/registry-DkzCUqTc.js +2 -0
  215. package/dist/client/assets/{registry-layout-BUEF9YqP.js → registry-layout-CvRfdld3.js} +1 -1
  216. package/dist/client/assets/{reports-B1C9NU2m.js → reports-C-eaYxW3.js} +1 -1
  217. package/dist/client/assets/reports-C2LVTrmJ.js +1 -0
  218. package/dist/client/assets/{reports-tab-uLMivl2p.js → reports-tab-qffeKlGd.js} +2 -2
  219. package/dist/client/assets/repositories-ao250fUH.js +1 -0
  220. package/dist/client/assets/{repository-import-picker-DVnadPZ8.js → repository-import-picker-Bg_h8YsG.js} +1 -1
  221. package/dist/client/assets/repository-picker-BDWGy2xY.js +1 -0
  222. package/dist/client/assets/{require-capability-DSFKKTc-.js → require-capability-CmR_46yt.js} +1 -1
  223. package/dist/client/assets/{required-auth-layout-DMNBbcf3.js → required-auth-layout-BEc3NUsQ.js} +1 -1
  224. package/dist/client/assets/{reset-password-GCDcBOjo.js → reset-password-BlF157J6.js} +1 -1
  225. package/dist/client/assets/{review-settings-VwYzzjCc.js → review-settings-BBciVvfB.js} +1 -1
  226. package/dist/client/assets/{rich-text-link-control-C6A8Q9Jd.js → rich-text-link-control-CrwbAR31.js} +1 -1
  227. package/dist/client/assets/{roles-PgEO9KN-.js → roles-CuHUTdKb.js} +1 -1
  228. package/dist/client/assets/{runnable-block-editor-Db2XbJYi.js → runnable-block-editor-2CMWc-S3.js} +1 -1
  229. package/dist/client/assets/{sandbox-lifecycle-context-DxbfUbxP.js → sandbox-lifecycle-context-CXd9Um8u.js} +1 -1
  230. package/dist/client/assets/{schema-Cnskrzk1.js → schema-BQbhQoxs.js} +1 -1
  231. package/dist/client/assets/{scroll-area-CaE3a4_T.js → scroll-area-BgZjjLM3.js} +1 -1
  232. package/dist/client/assets/{search-input-lFP9sD3O.js → search-input-uXtJ6IU8.js} +1 -1
  233. package/dist/client/assets/{secrets-BU_daRxy.js → secrets-C1mCKV1g.js} +1 -1
  234. package/dist/client/assets/{sections-editor-D-W8vM7g.js → sections-editor-Bv2odcBq.js} +1 -1
  235. package/dist/client/assets/{select-Ce9NznPv.js → select-Bc5UZb4n.js} +1 -1
  236. package/dist/client/assets/{select-model-CjTijsS7.js → select-model-BDGEzt-Y.js} +1 -1
  237. package/dist/client/assets/{seo-editor-O94He1NF.js → seo-editor-DJw3ydvJ.js} +1 -1
  238. package/dist/client/assets/settings-layout-DlH0gQXK.js +1 -0
  239. package/dist/client/assets/{settings-sidebar-BcAe-WS4.js → settings-sidebar-DswZBMwm.js} +1 -1
  240. package/dist/client/assets/{settings-tab-Cg5CqTki.js → settings-tab-Ru2atFmZ.js} +1 -1
  241. package/dist/client/assets/{shell-controls-gkZZS07l.js → shell-controls-DkLEUvEw.js} +1 -1
  242. package/dist/client/assets/{shell-layout-C3IRibnI.js → shell-layout-1dFmVwYI.js} +1 -1
  243. package/dist/client/assets/{skill-preview-MIddvDZe.js → skill-preview-CGe8kUoa.js} +1 -1
  244. package/dist/client/assets/{skills-hRnVKZ5K.js → skills-BGdKR-aF.js} +1 -1
  245. package/dist/client/assets/{sso-BePH_NId.js → sso-M-OsbEtw.js} +1 -1
  246. package/dist/client/assets/{store-CqeIEwHN.js → store-BY4ZRY7y.js} +1 -1
  247. package/dist/client/assets/store-registry-DQHLJpOA.js +2 -0
  248. package/dist/client/assets/{switch-D5GcuD9Z.js → switch-CJ5Ir2Zx.js} +1 -1
  249. package/dist/client/assets/{synced-repos-Cnp4m7yg.js → synced-repos-9D-CfhL7.js} +1 -1
  250. package/dist/client/assets/{table-O0SpY8ZO.js → table-Di_WRNkb.js} +1 -1
  251. package/dist/client/assets/{tabs-DQoXHeZr.js → tabs-DV8akPGb.js} +1 -1
  252. package/dist/client/assets/{task-board-DyZE7mH1.js → task-board-CXsHf2Zn.js} +1 -1
  253. package/dist/client/assets/{task-route-CayeX6cv.js → task-route-D79aS9d_.js} +1 -1
  254. package/dist/client/assets/{task-status-CyTozLxL.js → task-status-DIr_2V94.js} +1 -1
  255. package/dist/client/assets/tasks-C6DyE2q-.js +1 -0
  256. package/dist/client/assets/{tasks-Da-h-zLm.js → tasks-CiIHA5f1.js} +1 -1
  257. package/dist/client/assets/{textarea-BpFOmm9_.js → textarea-CneoU2lJ.js} +1 -1
  258. package/dist/client/assets/{thread-intent-AJKohiRy.js → thread-intent-DVKldCEq.js} +1 -1
  259. package/dist/client/assets/{thread-route-CEvVLI2K.js → thread-route-CKY-dKC0.js} +1 -1
  260. package/dist/client/assets/{thread-sheet-body-Bs4b4fMK.js → thread-sheet-body-CcUGPZXB.js} +1 -1
  261. package/dist/client/assets/{toggle-group-Cs1yIHkK.js → toggle-group-9HQCpj-q.js} +1 -1
  262. package/dist/client/assets/{tool-namespace-ySa3S1AM.js → tool-namespace-BVMQcKlk.js} +1 -1
  263. package/dist/client/assets/{toolbar-DOOz2W24.js → toolbar-D0oe2g2b.js} +1 -1
  264. package/dist/client/assets/{toolbar-icon-button-Dp-AbzNZ.js → toolbar-icon-button-EOE8J-Ai.js} +1 -1
  265. package/dist/client/assets/{track-Dns1NpdC.js → track-BzMi8kcZ.js} +1 -1
  266. package/dist/client/assets/{types-C1gRrnQe.js → types-Csu6Ims7.js} +1 -1
  267. package/dist/client/assets/{usage-stats-D5mXC24B.js → usage-stats-BNse37Wk.js} +1 -1
  268. package/dist/client/assets/{use-ai-providers-Bg_y9f3x.js → use-ai-providers-qnkcjapR.js} +1 -1
  269. package/dist/client/assets/{use-automations-BI_yIok-.js → use-automations-CYOC_eS5.js} +1 -1
  270. package/dist/client/assets/{use-autosave-BB0U2eiK.js → use-autosave-CCprSQ13.js} +1 -1
  271. package/dist/client/assets/{use-commerce-diagnostic-DqKipeip.js → use-commerce-diagnostic-mdvL2BW-.js} +1 -1
  272. package/dist/client/assets/{use-connect-companion-Mci4Y6hu.js → use-connect-companion-2fL060lG.js} +1 -1
  273. package/dist/client/assets/{use-connection-DCUpGmsb.js → use-connection-DCLPda2h.js} +1 -1
  274. package/dist/client/assets/{use-copy-GVBAvo9n.js → use-copy-14DzRp8J.js} +1 -1
  275. package/dist/client/assets/{use-create-virtual-mcp-CizXpVyQ.js → use-create-virtual-mcp-DoCSQs95.js} +1 -1
  276. package/dist/client/assets/{use-date-fns-locale-CcPpBz8y.js → use-date-fns-locale-DYzMvrWB.js} +1 -1
  277. package/dist/client/assets/{use-debounced-autosave-wCEzYUZh.js → use-debounced-autosave-BRAVEUZc.js} +1 -1
  278. package/dist/client/assets/{use-debounced-value-D0SYNQsR.js → use-debounced-value-Cud3o3Fq.js} +1 -1
  279. package/dist/client/assets/{use-deco-credits-DjxZxHMq.js → use-deco-credits-rwNQ1gMg.js} +1 -1
  280. package/dist/client/assets/{use-decopilot-events-zpeu2MCG.js → use-decopilot-events-DYRVevWg.js} +1 -1
  281. package/dist/client/assets/{use-delete-connection-B-DNpbCU.js → use-delete-connection-ueGIYWMK.js} +1 -1
  282. package/dist/client/assets/{use-deployment-admin-Dpkh4HgH.js → use-deployment-admin-D6IzoXV0.js} +1 -1
  283. package/dist/client/assets/{use-file-configs-B1FdrMZJ.js → use-file-configs-BwD1CaWo.js} +1 -1
  284. package/dist/client/assets/{use-infinite-scroll-BXOEU8Y7.js → use-infinite-scroll-DkLPxlOu.js} +1 -1
  285. package/dist/client/assets/{use-join-requests-1Ow065Yq.js → use-join-requests-DTGTfD21.js} +1 -1
  286. package/dist/client/assets/{use-main-panel-tabs-CeyJWpQP.js → use-main-panel-tabs-EW6rbxam.js} +1 -1
  287. package/dist/client/assets/{use-mcp-auth-status-CSQiZCDG.js → use-mcp-auth-status-CPh3Lmzs.js} +1 -1
  288. package/dist/client/assets/{use-mcp-client-Bq-mjhw3.js → use-mcp-client-DsJzBus3.js} +1 -1
  289. package/dist/client/assets/{use-mcp-prompts-CWmeNLXn.js → use-mcp-prompts-i0LZ2nQA.js} +1 -1
  290. package/dist/client/assets/{use-mcp-tools-DGdyHn8U.js → use-mcp-tools-Dc3F6Krl.js} +1 -1
  291. package/dist/client/assets/{use-members-Dnee1tF2.js → use-members-C0MdJrYz.js} +1 -1
  292. package/dist/client/assets/{use-navigate-to-agent-Drdqs1cr.js → use-navigate-to-agent-Bbq0oQ0Y.js} +1 -1
  293. package/dist/client/assets/{use-open-billing-url-Cju1isPI.js → use-open-billing-url-DvTk9GH0.js} +1 -1
  294. package/dist/client/assets/{use-org-auth-client-CVFBkaiI.js → use-org-auth-client-4o0wRx2Q.js} +1 -1
  295. package/dist/client/assets/{use-org-fs-DG1oJieK.js → use-org-fs-BEoPvlnI.js} +1 -1
  296. package/dist/client/assets/{use-org-notice-PUfO84YR.js → use-org-notice-CXYMfMUq.js} +1 -1
  297. package/dist/client/assets/{use-org-sso-uleG21Aq.js → use-org-sso-CdSz0xa8.js} +1 -1
  298. package/dist/client/assets/{use-organization-roles-yO3kgQbK.js → use-organization-roles-DzWM9Nv-.js} +1 -1
  299. package/dist/client/assets/{use-organization-settings-DrJN-E78.js → use-organization-settings-BAVHurZk.js} +1 -1
  300. package/dist/client/assets/{use-panel-navigate-CCqZdv2O.js → use-panel-navigate-Byvx0cbx.js} +1 -1
  301. package/dist/client/assets/{use-project-native-view-presence-01L5j4lu.js → use-project-native-view-presence-D-AyEulW.js} +1 -1
  302. package/dist/client/assets/{use-project-scope-DZ9tacAx.js → use-project-scope-B2cuvtTy.js} +1 -1
  303. package/dist/client/assets/{use-registry-connections-cro5WL6A.js → use-registry-connections-DikbDR8w.js} +1 -1
  304. package/dist/client/assets/{use-secrets-w6G8jtp4.js → use-secrets-D-c1ciPZ.js} +1 -1
  305. package/dist/client/assets/{use-section-preview-base-lro_p1nx.js → use-section-preview-base-CwIWGkgy.js} +1 -1
  306. package/dist/client/assets/{use-session-runtime-TS34dEJv.js → use-session-runtime-BHahDP0E.js} +1 -1
  307. package/dist/client/assets/{use-status-sounds-DQ2pMmh0.js → use-status-sounds-CnCb1h48.js} +1 -1
  308. package/dist/client/assets/{use-tags-B6zE47mm.js → use-tags-C2LhenRb.js} +1 -1
  309. package/dist/client/assets/{use-task-metadata-C4MfiHBQ.js → use-task-metadata-CB3EJ29f.js} +1 -1
  310. package/dist/client/assets/{use-thread-outputs-CpCqTMOi.js → use-thread-outputs-9oZhiYbB.js} +1 -1
  311. package/dist/client/assets/{use-view-mode-B9wUn2ad.js → use-view-mode-BvOL5I4W.js} +1 -1
  312. package/dist/client/assets/{use-virtual-mcp-CMlCV8Oj.js → use-virtual-mcp-Bk09OpEg.js} +1 -1
  313. package/dist/client/assets/useInfiniteQuery-GKCP1c_7.js +1 -0
  314. package/dist/client/assets/{useQueries-C6OAJOs7.js → useQueries-qr8TAkZc.js} +1 -1
  315. package/dist/client/assets/useSuspenseInfiniteQuery-DmEiIBI4.js +1 -0
  316. package/dist/client/assets/{users-CYflDdFv.js → users-C1ExMDuM.js} +1 -1
  317. package/dist/client/assets/{utils-B-5U5Z26.js → utils-B14U8IKK.js} +1 -1
  318. package/dist/client/assets/{variant-calendar-BsFwTl3D.js → variant-calendar-urd0wE-3.js} +1 -1
  319. package/dist/client/assets/{variant-matcher-override-CRlEf4IL.js → variant-matcher-override-DvY-JiuY.js} +1 -1
  320. package/dist/client/assets/{view-mode-toggle-kY4gR8CN.js → view-mode-toggle-swSorpD7.js} +1 -1
  321. package/dist/client/assets/{virtual-mcp-CKi1xJsO.js → virtual-mcp-DGQbDtgM.js} +1 -1
  322. package/dist/client/index.html +1 -1
  323. package/dist/server/cli.js +678 -668
  324. package/dist/server/migrate.js +171 -161
  325. package/dist/server/server.js +418 -418
  326. package/package.json +1 -1
  327. package/dist/client/assets/agent-app-62cavSHy.js +0 -1
  328. package/dist/client/assets/agent-deck-DVW32bsA.js +0 -1
  329. package/dist/client/assets/agent-file-C7nywZCe.js +0 -1
  330. package/dist/client/assets/agent-library-file-D4p-8dXS.js +0 -1
  331. package/dist/client/assets/agent-settings-CxGAsqqN.js +0 -1
  332. package/dist/client/assets/agent-site-editor-code-Dcgjtfwk.js +0 -2
  333. package/dist/client/assets/agent-view-DYYYDEW_.js +0 -1
  334. package/dist/client/assets/api-keys-DoGNEUpY.js +0 -1
  335. package/dist/client/assets/app-editor-CRjlYU-M.js +0 -1
  336. package/dist/client/assets/automations-CKhgbURI.js +0 -1
  337. package/dist/client/assets/category-editor-zLRtagcy.js +0 -1
  338. package/dist/client/assets/project-reports-ChLta7_v.js +0 -1
  339. package/dist/client/assets/project-tasks-nUWazd1g.js +0 -1
  340. package/dist/client/assets/record-editor-FqHaN2k4.js +0 -1
  341. package/dist/client/assets/redirect-editor-CWYZom_C.js +0 -1
  342. package/dist/client/assets/registry-C3_EEMj-.js +0 -2
  343. package/dist/client/assets/reports-BY7Ca1Ey.js +0 -1
  344. package/dist/client/assets/repositories-BgD13VwL.js +0 -1
  345. package/dist/client/assets/repository-picker-BGpoa_g_.js +0 -1
  346. package/dist/client/assets/settings-layout-CWQI71Tg.js +0 -1
  347. package/dist/client/assets/store-registry-BCokMLik.js +0 -2
  348. package/dist/client/assets/tasks-DGTMeQBa.js +0 -1
  349. package/dist/client/assets/useInfiniteQuery-CM35R0yt.js +0 -1
  350. package/dist/client/assets/useSuspenseInfiniteQuery-DWyGwvh9.js +0 -1
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null,x)}var m=(_,x)=>{for(var u in x)rN(_,u,{get:x[u],enumerable:!0,configurable:!0,set:lN.bind(x,u)})};import{Migrator as oN,sql as r}from"kysely";var v_={};m(v_,{up:()=>dN,down:()=>sN});import{sql as YT}from"kysely";async function dN(_){await YT`CREATE INDEX idx_connections_sanitized_id ON connections (replace(id, '-', '_'))`.execute(_)}async function sN(_){await YT`DROP INDEX IF EXISTS idx_connections_sanitized_id`.execute(_)}var q_={};m(q_,{up:()=>bN,down:()=>_K});import{sql as D}from"kysely";async function bN(_){await D`
2
+ var lK=Object.defineProperty;var dK=(_)=>_;function sK(_,x){this[_]=dK.bind(null,x)}var m=(_,x)=>{for(var u in x)lK(_,u,{get:x[u],enumerable:!0,configurable:!0,set:sK.bind(x,u)})};import{Migrator as rK,sql as r}from"kysely";var v_={};m(v_,{up:()=>bK,down:()=>_N});import{sql as MT}from"kysely";async function bK(_){await MT`CREATE INDEX idx_connections_sanitized_id ON connections (replace(id, '-', '_'))`.execute(_)}async function _N(_){await MT`DROP INDEX IF EXISTS idx_connections_sanitized_id`.execute(_)}var q_={};m(q_,{up:()=>xN,down:()=>uN});import{sql as L}from"kysely";async function xN(_){await L`
3
3
  CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
4
4
  RETURNS jsonb AS $fn$
5
5
  BEGIN
@@ -8,7 +8,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
8
8
  RETURN NULL;
9
9
  END;
10
10
  $fn$ LANGUAGE plpgsql IMMUTABLE;
11
- `.execute(_),await D`
11
+ `.execute(_),await L`
12
12
  CREATE OR REPLACE VIEW cd_repo_picks AS
13
13
  SELECT
14
14
  c.id AS connection_id,
@@ -18,7 +18,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
18
18
  WHERE c.id = c.organization_id || '_commerce-discovery'
19
19
  AND cd_repo_try_jsonb(c.configuration_state) ->> 'github_repo'
20
20
  ~ '^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$'
21
- `.execute(_),await D`
21
+ `.execute(_),await L`
22
22
  INSERT INTO repositories (
23
23
  organization_id, account_id, provider, host, path, web_url
24
24
  )
@@ -28,7 +28,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
28
28
  FROM cd_repo_picks p
29
29
  ORDER BY p.organization_id, lower(p.path)
30
30
  ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
31
- `.execute(_),await D`
31
+ `.execute(_),await L`
32
32
  UPDATE connections c
33
33
  SET configuration_state = (
34
34
  cd_repo_try_jsonb(c.configuration_state) || jsonb_build_object(
@@ -49,7 +49,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
49
49
  AND lower(r.path) = lower(p.path)
50
50
  WHERE c.id = p.connection_id
51
51
  AND cd_repo_try_jsonb(c.configuration_state) -> 'repository' IS NULL
52
- `.execute(_),await D`
52
+ `.execute(_),await L`
53
53
  UPDATE connections a
54
54
  SET
55
55
  repository_id = r.id,
@@ -73,7 +73,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
73
73
  || '/' ||
74
74
  coalesce(cd_repo_try_jsonb(a.metadata) #>> '{githubRepo,name}', '')
75
75
  ) = lower(p.path)
76
- `.execute(_),await D`DROP VIEW IF EXISTS cd_repo_picks`.execute(_),await D`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}async function _K(_){await D`
76
+ `.execute(_),await L`DROP VIEW IF EXISTS cd_repo_picks`.execute(_),await L`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}async function uN(_){await L`
77
77
  CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
78
78
  RETURNS jsonb AS $fn$
79
79
  BEGIN
@@ -82,13 +82,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
82
82
  RETURN NULL;
83
83
  END;
84
84
  $fn$ LANGUAGE plpgsql IMMUTABLE;
85
- `.execute(_),await D`
85
+ `.execute(_),await L`
86
86
  UPDATE connections c
87
87
  SET configuration_state =
88
88
  (cd_repo_try_jsonb(c.configuration_state) - 'repository')::text
89
89
  WHERE c.id = c.organization_id || '_commerce-discovery'
90
90
  AND cd_repo_try_jsonb(c.configuration_state) -> 'repository' IS NOT NULL
91
- `.execute(_),await D`
91
+ `.execute(_),await L`
92
92
  UPDATE connections a
93
93
  SET
94
94
  repository_id = NULL,
@@ -100,7 +100,17 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
100
100
  )::text
101
101
  WHERE a.id = 'commerce-discovery_' || a.organization_id
102
102
  AND cd_repo_try_jsonb(a.metadata) #> '{githubRepo,repositoryId}' IS NOT NULL
103
- `.execute(_),await D`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}var g_={};m(g_,{up:()=>xK,down:()=>uK});import{sql as HT}from"kysely";async function xK(_){await HT`
103
+ `.execute(_),await L`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}var c_={};m(c_,{up:()=>mN,down:()=>CN});import{sql as g_}from"kysely";async function mN(_){await g_`ALTER TABLE git_provider_accounts
104
+ DROP CONSTRAINT git_provider_accounts_auth_kind_check,
105
+ ADD CONSTRAINT git_provider_accounts_auth_kind_check
106
+ CHECK (auth_kind IN ('github_app', 'oauth', 'token', 'github_cli')),
107
+ ADD CONSTRAINT git_provider_accounts_cli_check
108
+ CHECK (auth_kind <> 'github_cli' OR
109
+ (type = 'github' AND host = 'github.com' AND installation_id IS NULL))`.execute(_)}async function CN(_){await g_`DELETE FROM git_provider_accounts WHERE auth_kind = 'github_cli'`.execute(_),await g_`ALTER TABLE git_provider_accounts
110
+ DROP CONSTRAINT git_provider_accounts_cli_check,
111
+ DROP CONSTRAINT git_provider_accounts_auth_kind_check,
112
+ ADD CONSTRAINT git_provider_accounts_auth_kind_check
113
+ CHECK (auth_kind IN ('github_app', 'oauth', 'token'))`.execute(_)}var h_={};m(h_,{up:()=>TN,down:()=>KN});import{sql as BT}from"kysely";async function TN(_){await BT`
104
114
  INSERT INTO "organization" (id, name, slug, "createdAt")
105
115
  SELECT
106
116
  'org_user_fs',
@@ -114,9 +124,9 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
114
124
  END,
115
125
  now()
116
126
  ON CONFLICT (id) DO NOTHING
117
- `.execute(_)}async function uK(_){await HT`
127
+ `.execute(_)}async function KN(_){await BT`
118
128
  DELETE FROM "organization" WHERE id = 'org_user_fs'
119
- `.execute(_)}var c_={};m(c_,{up:()=>mK,down:()=>CK});async function mK(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_repository_ids","jsonb").execute()}async function CK(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_repository_ids").execute()}var h_={};m(h_,{up:()=>TK,down:()=>NK});async function TK(_){await _.schema.alterTable("organization_settings").addColumn("coding_agent_mcp_excluded","text").execute()}async function NK(_){await _.schema.alterTable("organization_settings").dropColumn("coding_agent_mcp_excluded").execute()}var o_={};m(o_,{up:()=>EK,down:()=>zK});import{sql as e}from"kysely";var KK=[{table:"git_provider_accounts",column:"type"},{table:"git_provider_oauth_states",column:"provider"},{table:"repositories",column:"provider"}];async function MT(_,x){for(let{table:u,column:T}of KK){let C=`${u}_${T}_check`,N=x.map((E)=>`'${E}'`).join(", ");await e.raw(`ALTER TABLE ${u} DROP CONSTRAINT IF EXISTS ${C}`).execute(_),await e.raw(`ALTER TABLE ${u} ADD CONSTRAINT ${C} CHECK (${T} IN (${N}))`).execute(_)}}async function EK(_){await MT(_,["github","gitlab","bitbucket"])}async function zK(_){await e`DELETE FROM repositories WHERE provider = 'bitbucket'`.execute(_),await e`DELETE FROM git_provider_oauth_states WHERE provider = 'bitbucket'`.execute(_),await e`DELETE FROM git_provider_accounts WHERE type = 'bitbucket'`.execute(_),await MT(_,["github","gitlab"])}var a_={};m(a_,{up:()=>PK,down:()=>$K});async function PK(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_authorized_by","text").execute()}async function $K(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_authorized_by").execute()}var r_={};m(r_,{up:()=>JK,down:()=>XK});import{sql as UK}from"kysely";async function JK(_){await UK`
129
+ `.execute(_)}var o_={};m(o_,{up:()=>NN,down:()=>EN});async function NN(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_repository_ids","jsonb").execute()}async function EN(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_repository_ids").execute()}var a_={};m(a_,{up:()=>zN,down:()=>PN});async function zN(_){await _.schema.alterTable("organization_settings").addColumn("coding_agent_mcp_excluded","text").execute()}async function PN(_){await _.schema.alterTable("organization_settings").dropColumn("coding_agent_mcp_excluded").execute()}var r_={};m(r_,{up:()=>UN,down:()=>JN});import{sql as e}from"kysely";var $N=[{table:"git_provider_accounts",column:"type"},{table:"git_provider_oauth_states",column:"provider"},{table:"repositories",column:"provider"}];async function GT(_,x){for(let{table:u,column:T}of $N){let C=`${u}_${T}_check`,K=x.map((E)=>`'${E}'`).join(", ");await e.raw(`ALTER TABLE ${u} DROP CONSTRAINT IF EXISTS ${C}`).execute(_),await e.raw(`ALTER TABLE ${u} ADD CONSTRAINT ${C} CHECK (${T} IN (${K}))`).execute(_)}}async function UN(_){await GT(_,["github","gitlab","bitbucket"])}async function JN(_){await e`DELETE FROM repositories WHERE provider = 'bitbucket'`.execute(_),await e`DELETE FROM git_provider_oauth_states WHERE provider = 'bitbucket'`.execute(_),await e`DELETE FROM git_provider_accounts WHERE type = 'bitbucket'`.execute(_),await GT(_,["github","gitlab"])}var e_={};m(e_,{up:()=>XN,down:()=>QN});async function XN(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_authorized_by","text").execute()}async function QN(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_authorized_by").execute()}var l_={};m(l_,{up:()=>WN,down:()=>ZN});import{sql as jN}from"kysely";async function WN(_){await jN`
120
130
  CREATE TABLE github_connect_flows (
121
131
  id text PRIMARY KEY,
122
132
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -126,7 +136,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
126
136
  );
127
137
  CREATE UNIQUE INDEX github_connect_flows_owner ON github_connect_flows(organization_id, user_id);
128
138
  CREATE INDEX github_connect_flows_expiry ON github_connect_flows(expires_at);
129
- `.execute(_)}async function XK(_){await _.schema.dropTable("github_connect_flows").execute()}var e_={};m(e_,{up:()=>QK,down:()=>jK});async function QK(_){await _.schema.createIndex("task_board_item_prs_repo_idx").on("task_board_item_prs").columns(["repo_owner","repo_name","pr_number"]).execute()}async function jK(_){await _.schema.dropIndex("task_board_item_prs_repo_idx").execute()}var l_={};m(l_,{up:()=>WK,down:()=>ZK});import{sql as $_}from"kysely";async function WK(_){await $_`
139
+ `.execute(_)}async function ZN(_){await _.schema.dropTable("github_connect_flows").execute()}var d_={};m(d_,{up:()=>DN,down:()=>LN});async function DN(_){await _.schema.createIndex("task_board_item_prs_repo_idx").on("task_board_item_prs").columns(["repo_owner","repo_name","pr_number"]).execute()}async function LN(_){await _.schema.dropIndex("task_board_item_prs_repo_idx").execute()}var s_={};m(s_,{up:()=>FN,down:()=>RN});import{sql as $_}from"kysely";async function FN(_){await $_`
130
140
  CREATE FUNCTION adopt_legacy_repository() RETURNS trigger AS $$
131
141
  DECLARE
132
142
  metadata_json jsonb;
@@ -182,19 +192,19 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
182
192
  FROM repositories r WHERE s.repository_id IS NULL
183
193
  AND r.organization_id = s.organization_id AND r.host = 'github.com'
184
194
  AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name);
185
- `.execute(_)}async function ZK(_){await $_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await $_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var d_={};m(d_,{up:()=>LK,down:()=>DK});import{sql as B}from"kysely";async function LK(_){await _.schema.createTable("connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(x)=>x.notNull()).addColumn("connectionUrl","text",(x)=>x.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("api_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("hashedKey","text",(x)=>x.notNull().unique()).addColumn("permissions","text",(x)=>x.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("audit_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createTable("oauth_clients").addColumn("id","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(x)=>x.notNull()).addColumn("redirectUris","text",(x)=>x.notNull()).addColumn("grantTypes","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_authorization_codes").addColumn("code","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(x)=>x.notNull()).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("downstream_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("connectionId","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(x)=>x.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function DK(_){await _.schema.dropTable("downstream_tokens").execute(),await _.schema.dropTable("oauth_refresh_tokens").execute(),await _.schema.dropTable("oauth_authorization_codes").execute(),await _.schema.dropTable("oauth_clients").execute(),await _.schema.dropTable("audit_logs").execute(),await _.schema.dropTable("api_keys").execute(),await _.schema.dropTable("connections").execute()}var s_={};m(s_,{up:()=>FK,down:()=>RK});import{sql as BT}from"kysely";async function FK(_){await _.schema.createTable("organization_settings").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(BT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(BT`CURRENT_TIMESTAMP`)).execute()}async function RK(_){await _.schema.dropTable("organization_settings").execute()}var b_={};m(b_,{up:()=>YK,down:()=>HK});async function YK(_){await _.schema.alterTable("connections").renameColumn("name","title").execute(),await _.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await _.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await _.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await _.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await _.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await _.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await _.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await _.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await _.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await _.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await _.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function HK(_){await _.schema.alterTable("connections").renameColumn("title","name").execute(),await _.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await _.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await _.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await _.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await _.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await _.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await _.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await _.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await _.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await _.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await _.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var _x={};m(_x,{up:()=>MK,down:()=>BK});async function MK(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function BK(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId",x.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var xx={};m(xx,{up:()=>GK,down:()=>nK});async function GK(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function nK(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var ux={};m(ux,{up:()=>fK,down:()=>OK});import{sql as yK}from"kysely";async function fK(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",yK`text`).execute()}async function OK(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var mx={};m(mx,{up:()=>AK,down:()=>SK});async function AK(_){await _.schema.createTable("monitoring_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(x)=>x.notNull()).addColumn("tool_name","text",(x)=>x.notNull()).addColumn("input","text",(x)=>x.notNull()).addColumn("output","text",(x)=>x.notNull()).addColumn("is_error","integer",(x)=>x.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(x)=>x.notNull()).addColumn("timestamp","text",(x)=>x.notNull()).addColumn("user_id","text").addColumn("request_id","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function SK(_){await _.schema.dropIndex("monitoring_logs_is_error").execute(),await _.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await _.schema.dropTable("monitoring_logs").execute()}var Cx={};m(Cx,{up:()=>IK,down:()=>wK});import{sql as l}from"kysely";async function IK(_){await _.schema.createTable("events").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("source","text",(x)=>x.notNull()).addColumn("specversion","text",(x)=>x.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(x)=>x.notNull()).addColumn("datacontenttype","text",(x)=>x.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(x)=>x.notNull()).addColumn("filter","text").addColumn("enabled","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_deliveries").addColumn("id","text",(x)=>x.primaryKey()).addColumn("event_id","text",(x)=>x.notNull()).addColumn("subscription_id","text",(x)=>x.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await _.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await _.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await _.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await _.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await _.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await _.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await _.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await _.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function wK(_){await _.schema.dropIndex("idx_deliveries_retry").execute(),await _.schema.dropIndex("idx_deliveries_subscription_status").execute(),await _.schema.dropIndex("idx_deliveries_event").execute(),await _.schema.dropIndex("idx_subscriptions_unique").execute(),await _.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await _.schema.dropIndex("idx_subscriptions_type").execute(),await _.schema.dropIndex("idx_subscriptions_connection").execute(),await _.schema.dropIndex("idx_events_retry").execute(),await _.schema.dropIndex("idx_events_type").execute(),await _.schema.dropIndex("idx_events_source").execute(),await _.schema.dropIndex("idx_events_org_status").execute(),await _.schema.dropTable("event_deliveries").execute(),await _.schema.dropTable("event_subscriptions").execute(),await _.schema.dropTable("events").execute()}var Tx={};m(Tx,{up:()=>kK,down:()=>pK});import{sql as VK}from"kysely";async function kK(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function pK(_){await _.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(VK`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Nx={};m(Nx,{up:()=>iK,down:()=>tK});import{sql as U_}from"kysely";async function iK(_){await _.schema.createTable("gateways").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("gateway_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("gateway_id","text",(x)=>x.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await U_`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function tK(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_default_per_org").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropTable("gateway_connections").execute(),await _.schema.dropTable("gateways").execute()}var Kx={};m(Kx,{up:()=>vK,down:()=>qK});async function vK(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function qK(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var Ex={};m(Ex,{up:()=>gK,down:()=>cK});import{sql as J_}from"kysely";async function gK(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await J_`
195
+ `.execute(_)}async function RN(_){await $_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await $_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var b_={};m(b_,{up:()=>YN,down:()=>HN});import{sql as B}from"kysely";async function YN(_){await _.schema.createTable("connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(x)=>x.notNull()).addColumn("connectionUrl","text",(x)=>x.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("api_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("hashedKey","text",(x)=>x.notNull().unique()).addColumn("permissions","text",(x)=>x.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("audit_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createTable("oauth_clients").addColumn("id","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(x)=>x.notNull()).addColumn("redirectUris","text",(x)=>x.notNull()).addColumn("grantTypes","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_authorization_codes").addColumn("code","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(x)=>x.notNull()).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("downstream_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("connectionId","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(x)=>x.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(B`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function HN(_){await _.schema.dropTable("downstream_tokens").execute(),await _.schema.dropTable("oauth_refresh_tokens").execute(),await _.schema.dropTable("oauth_authorization_codes").execute(),await _.schema.dropTable("oauth_clients").execute(),await _.schema.dropTable("audit_logs").execute(),await _.schema.dropTable("api_keys").execute(),await _.schema.dropTable("connections").execute()}var _x={};m(_x,{up:()=>MN,down:()=>BN});import{sql as nT}from"kysely";async function MN(_){await _.schema.createTable("organization_settings").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(nT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(nT`CURRENT_TIMESTAMP`)).execute()}async function BN(_){await _.schema.dropTable("organization_settings").execute()}var xx={};m(xx,{up:()=>GN,down:()=>nN});async function GN(_){await _.schema.alterTable("connections").renameColumn("name","title").execute(),await _.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await _.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await _.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await _.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await _.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await _.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await _.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await _.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await _.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await _.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await _.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function nN(_){await _.schema.alterTable("connections").renameColumn("title","name").execute(),await _.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await _.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await _.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await _.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await _.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await _.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await _.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await _.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await _.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await _.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await _.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var ux={};m(ux,{up:()=>yN,down:()=>fN});async function yN(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function fN(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId",x.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var mx={};m(mx,{up:()=>ON,down:()=>AN});async function ON(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function AN(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Cx={};m(Cx,{up:()=>IN,down:()=>wN});import{sql as SN}from"kysely";async function IN(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",SN`text`).execute()}async function wN(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Tx={};m(Tx,{up:()=>VN,down:()=>kN});async function VN(_){await _.schema.createTable("monitoring_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(x)=>x.notNull()).addColumn("tool_name","text",(x)=>x.notNull()).addColumn("input","text",(x)=>x.notNull()).addColumn("output","text",(x)=>x.notNull()).addColumn("is_error","integer",(x)=>x.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(x)=>x.notNull()).addColumn("timestamp","text",(x)=>x.notNull()).addColumn("user_id","text").addColumn("request_id","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function kN(_){await _.schema.dropIndex("monitoring_logs_is_error").execute(),await _.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await _.schema.dropTable("monitoring_logs").execute()}var Kx={};m(Kx,{up:()=>pN,down:()=>iN});import{sql as l}from"kysely";async function pN(_){await _.schema.createTable("events").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("source","text",(x)=>x.notNull()).addColumn("specversion","text",(x)=>x.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(x)=>x.notNull()).addColumn("datacontenttype","text",(x)=>x.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(x)=>x.notNull()).addColumn("filter","text").addColumn("enabled","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_deliveries").addColumn("id","text",(x)=>x.primaryKey()).addColumn("event_id","text",(x)=>x.notNull()).addColumn("subscription_id","text",(x)=>x.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(l`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await _.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await _.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await _.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await _.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await _.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await _.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await _.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await _.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function iN(_){await _.schema.dropIndex("idx_deliveries_retry").execute(),await _.schema.dropIndex("idx_deliveries_subscription_status").execute(),await _.schema.dropIndex("idx_deliveries_event").execute(),await _.schema.dropIndex("idx_subscriptions_unique").execute(),await _.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await _.schema.dropIndex("idx_subscriptions_type").execute(),await _.schema.dropIndex("idx_subscriptions_connection").execute(),await _.schema.dropIndex("idx_events_retry").execute(),await _.schema.dropIndex("idx_events_type").execute(),await _.schema.dropIndex("idx_events_source").execute(),await _.schema.dropIndex("idx_events_org_status").execute(),await _.schema.dropTable("event_deliveries").execute(),await _.schema.dropTable("event_subscriptions").execute(),await _.schema.dropTable("events").execute()}var Nx={};m(Nx,{up:()=>vN,down:()=>qN});import{sql as tN}from"kysely";async function vN(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function qN(_){await _.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(tN`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Ex={};m(Ex,{up:()=>gN,down:()=>cN});import{sql as U_}from"kysely";async function gN(_){await _.schema.createTable("gateways").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("gateway_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("gateway_id","text",(x)=>x.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await U_`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function cN(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_default_per_org").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropTable("gateway_connections").execute(),await _.schema.dropTable("gateways").execute()}var zx={};m(zx,{up:()=>hN,down:()=>oN});async function hN(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function oN(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var Px={};m(Px,{up:()=>aN,down:()=>rN});import{sql as J_}from"kysely";async function aN(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await J_`
186
196
  UPDATE gateways
187
197
  SET tool_selection_mode = CASE
188
198
  WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
189
199
  ELSE 'inclusion'
190
200
  END
191
- `.execute(_),await J_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _old_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute(),await _.schema.alterTable("gateways").dropColumn("_old_tool_selection_strategy").execute()}async function cK(_){await J_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _new_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text").execute(),await J_`
201
+ `.execute(_),await J_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _old_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute(),await _.schema.alterTable("gateways").dropColumn("_old_tool_selection_strategy").execute()}async function rN(_){await J_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _new_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text").execute(),await J_`
192
202
  UPDATE gateways
193
203
  SET tool_selection_strategy = CASE
194
204
  WHEN tool_selection_mode = 'exclusion' THEN 'exclusion'
195
205
  ELSE NULL
196
206
  END
197
- `.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var zx={};m(zx,{up:()=>hK,down:()=>oK});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 oK(_){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 Px={};m(Px,{up:()=>aK,down:()=>rK});async function aK(_){await _.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await _.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function rK(_){await _.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await _.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var $x={};m($x,{up:()=>eK,down:()=>lK});async function eK(_){await _.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function lK(_){await _.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var Ux={};m(Ux,{up:()=>dK,down:()=>sK});async function dK(_){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 sK(_){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 Jx={};m(Jx,{up:()=>_E,down:()=>xE});import{sql as bK}from"kysely";async function _E(_){await bK`
207
+ `.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var $x={};m($x,{up:()=>eN,down:()=>lN});async function eN(_){await _.schema.alterTable("monitoring_logs").addColumn("user_agent","text").execute(),await _.schema.alterTable("monitoring_logs").addColumn("gateway_id","text").execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}async function lN(_){await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("gateway_id").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("user_agent").execute()}var Ux={};m(Ux,{up:()=>dN,down:()=>sN});async function dN(_){await _.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await _.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function sN(_){await _.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await _.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var Jx={};m(Jx,{up:()=>bN,down:()=>_E});async function bN(_){await _.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function _E(_){await _.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var Xx={};m(Xx,{up:()=>xE,down:()=>uE});async function xE(_){await _.schema.alterTable("downstream_tokens").addColumn("clientId","text").execute(),await _.schema.alterTable("downstream_tokens").addColumn("clientSecret","text").execute(),await _.schema.alterTable("downstream_tokens").addColumn("tokenEndpoint","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}async function uE(_){await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("tokenEndpoint").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("clientSecret").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("clientId").execute()}var Qx={};m(Qx,{up:()=>CE,down:()=>TE});import{sql as mE}from"kysely";async function CE(_){await mE`
198
208
  DELETE FROM downstream_tokens
199
209
  WHERE id NOT IN (
200
210
  SELECT id FROM (
@@ -204,7 +214,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
204
214
  ) ranked
205
215
  WHERE rn = 1
206
216
  )
207
- `.execute(_),await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await _.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function xE(_){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 Xx={};m(Xx,{up:()=>uE,down:()=>mE});async function uE(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function mE(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var Qx={};m(Qx,{up:()=>CE,down:()=>TE});import{sql as GT}from"kysely";async function CE(_){await GT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function TE(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await GT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var jx={};m(jx,{up:()=>NE,down:()=>KE});async function NE(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function KE(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Wx={};m(Wx,{up:()=>EE,down:()=>zE});import{sql as X_}from"kysely";async function EE(_){await _.schema.createTable("threads").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("hidden","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("thread_messages").addColumn("id","text",(x)=>x.primaryKey()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function zE(_){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 Zx={};m(Zx,{up:()=>PE,down:()=>$E});async function PE(_){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 $E(_){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 Lx={};m(Lx,{up:()=>UE,down:()=>JE});async function UE(_){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 JE(_){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 Dx={};m(Dx,{up:()=>XE,down:()=>QE});import{sql as W}from"kysely";async function XE(_){await W`
217
+ `.execute(_),await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await _.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function TE(_){await _.schema.dropIndex("idx_downstream_tokens_connection").execute(),await _.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var jx={};m(jx,{up:()=>KE,down:()=>NE});async function KE(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function NE(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var Wx={};m(Wx,{up:()=>EE,down:()=>zE});import{sql as yT}from"kysely";async function EE(_){await yT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function zE(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await yT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var Zx={};m(Zx,{up:()=>PE,down:()=>$E});async function PE(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function $E(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Dx={};m(Dx,{up:()=>UE,down:()=>JE});import{sql as X_}from"kysely";async function UE(_){await _.schema.createTable("threads").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("hidden","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("thread_messages").addColumn("id","text",(x)=>x.primaryKey()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(X_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function JE(_){await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropTable("thread_messages").execute(),await _.schema.dropTable("threads").execute()}var Lx={};m(Lx,{up:()=>XE,down:()=>QE});async function XE(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await _.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function QE(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await _.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var Fx={};m(Fx,{up:()=>jE,down:()=>WE});async function jE(_){await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await _.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function WE(_){await _.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await _.schema.dropIndex("idx_threads_created_by_updated").execute(),await _.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var Rx={};m(Rx,{up:()=>ZE,down:()=>DE});import{sql as W}from"kysely";async function ZE(_){await W`
208
218
  INSERT INTO connections (
209
219
  id,
210
220
  organization_id,
@@ -251,7 +261,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
251
261
  created_at,
252
262
  updated_at
253
263
  FROM virtual_mcps
254
- `.execute(_),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let x=await W`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(_);if(await _.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),x)await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_);await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.dropTable("virtual_mcps").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function QE(_){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`
264
+ `.execute(_),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let x=await W`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(_);if(await _.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),x)await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_);await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.dropTable("virtual_mcps").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function DE(_){await _.schema.createTable("virtual_mcps").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).addColumn("icon","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await W`
255
265
  INSERT INTO virtual_mcps (
256
266
  id, organization_id, title, description, icon, status,
257
267
  created_at, updated_at, created_by, updated_by, tool_selection_mode
@@ -261,7 +271,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
261
271
  created_at, updated_at, created_by, NULL, 'inclusion'
262
272
  FROM connections
263
273
  WHERE connection_type = 'VIRTUAL'
264
- `.execute(_),await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await _.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await W`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(_),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var Fx={};m(Fx,{up:()=>jE,down:()=>WE});async function jE(_){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 WE(_){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 Rx={};m(Rx,{up:()=>ZE,down:()=>LE});import{sql as G}from"kysely";async function ZE(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await G`
274
+ `.execute(_),await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await _.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await W`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(_),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var Yx={};m(Yx,{up:()=>LE,down:()=>FE});async function LE(_){await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_id").on("monitoring_logs").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function FE(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute()}var Hx={};m(Hx,{up:()=>RE,down:()=>YE});import{sql as G}from"kysely";async function RE(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await G`
265
275
  INSERT INTO connection_aggregations_new (
266
276
  id, parent_connection_id, child_connection_id,
267
277
  selected_tools, selected_resources, selected_prompts, created_at
@@ -270,7 +280,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
270
280
  id, parent_connection_id, child_connection_id,
271
281
  selected_tools, selected_resources, selected_prompts, created_at
272
282
  FROM connection_aggregations
273
- `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await G`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function LE(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await G`
283
+ `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await G`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function YE(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await G`
274
284
  INSERT INTO connection_aggregations_new (
275
285
  id, parent_connection_id, child_connection_id,
276
286
  selected_tools, selected_resources, selected_prompts, created_at
@@ -279,7 +289,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
279
289
  id, parent_connection_id, child_connection_id,
280
290
  selected_tools, selected_resources, selected_prompts, created_at
281
291
  FROM connection_aggregations
282
- `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await G`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var Hx={};m(Hx,{up:()=>DE,down:()=>FE});import{sql as Yx}from"kysely";async function DE(_){await Yx`
292
+ `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await G`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await G`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var Bx={};m(Bx,{up:()=>HE,down:()=>ME});import{sql as Mx}from"kysely";async function HE(_){await Mx`
283
293
  UPDATE connections
284
294
  SET connection_url = connection_url || '/management',
285
295
  tools = NULL,
@@ -287,42 +297,42 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
287
297
  WHERE connection_url LIKE '%/mcp'
288
298
  AND connection_url NOT LIKE '%/mcp/management'
289
299
  AND app_name = '@deco/management-mcp'
290
- `.execute(_),await Yx`
300
+ `.execute(_),await Mx`
291
301
  UPDATE connections
292
302
  SET tools = NULL,
293
303
  updated_at = CURRENT_TIMESTAMP
294
304
  WHERE app_name = '@deco/management-mcp'
295
305
  AND tools IS NOT NULL
296
- `.execute(_)}async function FE(_){await Yx`
306
+ `.execute(_)}async function ME(_){await Mx`
297
307
  UPDATE connections
298
308
  SET connection_url = SUBSTR(connection_url, 1, LENGTH(connection_url) - LENGTH('/management')),
299
309
  updated_at = CURRENT_TIMESTAMP
300
310
  WHERE connection_url LIKE '%/mcp/management'
301
311
  AND app_name = '@deco/management-mcp'
302
- `.execute(_)}var Bx={};m(Bx,{up:()=>RE,down:()=>YE});import{sql as Mx}from"kysely";async function RE(_){await Mx`
312
+ `.execute(_)}var nx={};m(nx,{up:()=>BE,down:()=>GE});import{sql as Gx}from"kysely";async function BE(_){await Gx`
303
313
  UPDATE connections
304
314
  SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
305
315
  tools = NULL,
306
316
  updated_at = CURRENT_TIMESTAMP
307
317
  WHERE connection_url LIKE '%/mcp/management'
308
318
  AND app_name = '@deco/management-mcp'
309
- `.execute(_),await Mx`
319
+ `.execute(_),await Gx`
310
320
  UPDATE connections
311
321
  SET tools = NULL,
312
322
  updated_at = CURRENT_TIMESTAMP
313
323
  WHERE connection_url LIKE '%/mcp/self'
314
324
  AND app_name = '@deco/management-mcp'
315
325
  AND tools IS NOT NULL
316
- `.execute(_)}async function YE(_){await Mx`
326
+ `.execute(_)}async function GE(_){await Gx`
317
327
  UPDATE connections
318
328
  SET connection_url = REPLACE(connection_url, '/mcp/self', '/mcp/management'),
319
329
  updated_at = CURRENT_TIMESTAMP
320
330
  WHERE connection_url LIKE '%/mcp/self'
321
331
  AND app_name = '@deco/management-mcp'
322
- `.execute(_)}var Gx={};m(Gx,{up:()=>HE,down:()=>ME});async function HE(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function ME(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var nx={};m(nx,{up:()=>BE,down:()=>GE});import{sql as nT}from"kysely";async function BE(_){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(nT`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(nT`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 GE(_){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 yx={};m(yx,{up:()=>nE,down:()=>yE});import{sql as d}from"kysely";async function nE(_){await d`
332
+ `.execute(_)}var yx={};m(yx,{up:()=>nE,down:()=>yE});async function nE(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function yE(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var fx={};m(fx,{up:()=>fE,down:()=>OE});import{sql as fT}from"kysely";async function fE(_){await _.schema.createTable("organization_tags").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(fT`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("member_tags").addColumn("id","text",(x)=>x.primaryKey()).addColumn("member_id","text",(x)=>x.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(fT`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await _.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await _.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await _.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function OE(_){await _.schema.dropIndex("idx_member_tags_unique").execute(),await _.schema.dropIndex("idx_member_tags_tag").execute(),await _.schema.dropIndex("idx_member_tags_member").execute(),await _.schema.dropIndex("idx_organization_tags_unique_name").execute(),await _.schema.dropIndex("idx_organization_tags_org").execute(),await _.schema.dropTable("member_tags").execute(),await _.schema.dropTable("organization_tags").execute()}var Ox={};m(Ox,{up:()=>AE,down:()=>SE});import{sql as d}from"kysely";async function AE(_){await d`
323
333
  ALTER TABLE connection_aggregations
324
334
  ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
325
- `.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function yE(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await d`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await d`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(_);else await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await d`
335
+ `.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function SE(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await d`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await d`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(_);else await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await d`
326
336
  INSERT INTO connection_aggregations_new (
327
337
  id, parent_connection_id, child_connection_id,
328
338
  selected_tools, selected_resources, selected_prompts, created_at
@@ -331,42 +341,42 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
331
341
  id, parent_connection_id, child_connection_id,
332
342
  selected_tools, selected_resources, selected_prompts, created_at
333
343
  FROM connection_aggregations
334
- `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var fx={};m(fx,{up:()=>IE,down:()=>wE});import{webcrypto as fT}from"crypto";var yT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var fE=128,V,p;function OE(_){if(!V||V.length<_)V=Buffer.allocUnsafe(_*fE),fT.getRandomValues(V),p=0;else if(p+_>V.length)fT.getRandomValues(V),p=0;p+=_}function i(_=21){OE(_|=0);let x="";for(let u=p-_;u<p;u++)x+=yT[V[u]&63];return x}var AE="org-admin",SE="Organization Admin";async function IE(_){await _.schema.createTable("projects").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(u)=>u.notNull()).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await _.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await _.schema.createTable("project_plugin_configs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("project_id","text",(u)=>u.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(u)=>u.notNull()).addColumn("connection_id","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let x=await _.selectFrom("organization").select(["id"]).execute();for(let u of x){let T=new Date().toISOString(),C=`proj_${i()}`,N=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:C,organization_id:u.id,slug:AE,name:SE,description:null,enabled_plugins:N?.enabled_plugins??null,ui:null,created_at:T,updated_at:T}).execute()}}async function wE(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var Ox={};m(Ox,{up:()=>VE,down:()=>kE});async function VE(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function kE(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var Ax={};m(Ax,{up:()=>pE,down:()=>iE});async function pE(_){}async function iE(_){}var Sx={};m(Sx,{up:()=>tE,down:()=>vE});async function tE(_){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 vE(_){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 Ix={};m(Ix,{up:()=>qE,down:()=>gE});import{sql as OT}from"kysely";async function qE(_){await OT`
344
+ `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var Ax={};m(Ax,{up:()=>pE,down:()=>iE});import{webcrypto as AT}from"crypto";var OT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var IE=128,V,p;function wE(_){if(!V||V.length<_)V=Buffer.allocUnsafe(_*IE),AT.getRandomValues(V),p=0;else if(p+_>V.length)AT.getRandomValues(V),p=0;p+=_}function i(_=21){wE(_|=0);let x="";for(let u=p-_;u<p;u++)x+=OT[V[u]&63];return x}var VE="org-admin",kE="Organization Admin";async function pE(_){await _.schema.createTable("projects").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(u)=>u.notNull()).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await _.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await _.schema.createTable("project_plugin_configs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("project_id","text",(u)=>u.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(u)=>u.notNull()).addColumn("connection_id","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let x=await _.selectFrom("organization").select(["id"]).execute();for(let u of x){let T=new Date().toISOString(),C=`proj_${i()}`,K=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:C,organization_id:u.id,slug:VE,name:kE,description:null,enabled_plugins:K?.enabled_plugins??null,ui:null,created_at:T,updated_at:T}).execute()}}async function iE(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var Sx={};m(Sx,{up:()=>tE,down:()=>vE});async function tE(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function vE(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var Ix={};m(Ix,{up:()=>qE,down:()=>gE});async function qE(_){}async function gE(_){}var wx={};m(wx,{up:()=>cE,down:()=>hE});async function cE(_){await _.schema.createTable("project_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("project_id","text",(x)=>x.notNull().references("projects.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("created_at","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("project_connections_project_conn_unique").on("project_connections").columns(["project_id","connection_id"]).unique().execute(),await _.schema.createIndex("project_connections_project_id_idx").on("project_connections").columns(["project_id"]).execute()}async function hE(_){await _.schema.dropIndex("project_connections_project_id_idx").execute(),await _.schema.dropIndex("project_connections_project_conn_unique").execute(),await _.schema.dropTable("project_connections").execute()}var Vx={};m(Vx,{up:()=>oE,down:()=>aE});import{sql as ST}from"kysely";async function oE(_){await ST`
335
345
  UPDATE connections
336
346
  SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
337
347
  tools = NULL,
338
348
  updated_at = CURRENT_TIMESTAMP
339
349
  WHERE connection_url = 'https://api.decocms.com/mcp/registry'
340
350
  AND app_name = 'deco-registry'
341
- `.execute(_)}async function gE(_){await OT`
351
+ `.execute(_)}async function aE(_){await ST`
342
352
  UPDATE connections
343
353
  SET connection_url = 'https://api.decocms.com/mcp/registry',
344
354
  updated_at = CURRENT_TIMESTAMP
345
355
  WHERE connection_url = 'https://studio.decocms.com/org/deco/registry/mcp'
346
356
  AND app_name = 'deco-registry'
347
- `.execute(_)}var wx={};m(wx,{up:()=>hE,down:()=>oE});import{sql as cE}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(cE`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 oE(_){await _.schema.dropTable("ai_provider_keys").execute()}var Vx={};m(Vx,{up:()=>rE,down:()=>eE});import{sql as aE}from"kysely";async function rE(_){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(aE`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function eE(_){await _.schema.dropTable("oauth_pkce_states").execute()}var kx={};m(kx,{up:()=>lE,down:()=>dE});import{sql as A}from"kysely";async function lE(_){await _.schema.createTable("automations").addColumn("id","text",(x)=>x.primaryKey().defaultTo(A`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull()).addColumn("active","boolean",(x)=>x.notNull().defaultTo(!0)).addColumn("created_by","text",(x)=>x.notNull()).addColumn("agent","text",(x)=>x.notNull()).addColumn("messages","text",(x)=>x.notNull()).addColumn("models","text",(x)=>x.notNull()).addColumn("temperature","real",(x)=>x.notNull().defaultTo(0.5)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_automations_org").on("automations").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_automations_active").on("automations").columns(["organization_id","active"]).execute(),await _.schema.createTable("automation_triggers").addColumn("id","text",(x)=>x.primaryKey().defaultTo(A`gen_random_uuid()`)).addColumn("automation_id","text",(x)=>x.notNull().references("automations.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("cron_expression","text").addColumn("connection_id","text").addColumn("event_type","text").addColumn("params","text").addColumn("next_run_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).execute(),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(_),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_event_trigger CHECK (type != 'event' OR (connection_id IS NOT NULL AND event_type IS NOT NULL))`.execute(_),await _.schema.createIndex("idx_automation_triggers_automation").on("automation_triggers").columns(["automation_id"]).execute(),await _.schema.createIndex("idx_automation_triggers_event").on("automation_triggers").columns(["connection_id","event_type"]).execute(),await _.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute(),await _.schema.alterTable("threads").addColumn("trigger_id","text",(x)=>x.references("automation_triggers.id").onDelete("set null")).execute(),await _.schema.createIndex("idx_threads_trigger_status").on("threads").columns(["trigger_id","status"]).execute()}async function dE(_){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 px={};m(px,{up:()=>sE,down:()=>bE});async function sE(_){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 bE(_){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 ix={};m(ix,{up:()=>_z,down:()=>xz});async function _z(_){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 xz(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var tx={};m(tx,{up:()=>uz,down:()=>mz});import{sql as AT}from"kysely";async function uz(_){await AT`
357
+ `.execute(_)}var kx={};m(kx,{up:()=>eE,down:()=>lE});import{sql as rE}from"kysely";async function eE(_){await _.schema.createTable("ai_provider_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("provider_id","text",(x)=>x.notNull()).addColumn("label","text",(x)=>x.notNull()).addColumn("encrypted_api_key","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(rE`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_ai_provider_keys_org").on("ai_provider_keys").column("organization_id").execute(),await _.schema.createIndex("idx_ai_provider_keys_org_provider").on("ai_provider_keys").columns(["organization_id","provider_id"]).execute()}async function lE(_){await _.schema.dropTable("ai_provider_keys").execute()}var px={};m(px,{up:()=>sE,down:()=>bE});import{sql as dE}from"kysely";async function sE(_){await _.schema.createTable("oauth_pkce_states").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.notNull()).addColumn("code_verifier","text",(x)=>x.notNull()).addColumn("expires_at","timestamptz",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(dE`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function bE(_){await _.schema.dropTable("oauth_pkce_states").execute()}var ix={};m(ix,{up:()=>_z,down:()=>xz});import{sql as A}from"kysely";async function _z(_){await _.schema.createTable("automations").addColumn("id","text",(x)=>x.primaryKey().defaultTo(A`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull()).addColumn("active","boolean",(x)=>x.notNull().defaultTo(!0)).addColumn("created_by","text",(x)=>x.notNull()).addColumn("agent","text",(x)=>x.notNull()).addColumn("messages","text",(x)=>x.notNull()).addColumn("models","text",(x)=>x.notNull()).addColumn("temperature","real",(x)=>x.notNull().defaultTo(0.5)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_automations_org").on("automations").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_automations_active").on("automations").columns(["organization_id","active"]).execute(),await _.schema.createTable("automation_triggers").addColumn("id","text",(x)=>x.primaryKey().defaultTo(A`gen_random_uuid()`)).addColumn("automation_id","text",(x)=>x.notNull().references("automations.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("cron_expression","text").addColumn("connection_id","text").addColumn("event_type","text").addColumn("params","text").addColumn("next_run_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).execute(),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(_),await A`ALTER TABLE automation_triggers ADD CONSTRAINT chk_event_trigger CHECK (type != 'event' OR (connection_id IS NOT NULL AND event_type IS NOT NULL))`.execute(_),await _.schema.createIndex("idx_automation_triggers_automation").on("automation_triggers").columns(["automation_id"]).execute(),await _.schema.createIndex("idx_automation_triggers_event").on("automation_triggers").columns(["connection_id","event_type"]).execute(),await _.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute(),await _.schema.alterTable("threads").addColumn("trigger_id","text",(x)=>x.references("automation_triggers.id").onDelete("set null")).execute(),await _.schema.createIndex("idx_threads_trigger_status").on("threads").columns(["trigger_id","status"]).execute()}async function xz(_){await _.schema.dropIndex("idx_threads_trigger_status").execute(),await _.schema.alterTable("threads").dropColumn("trigger_id").execute(),await _.schema.dropIndex("idx_automation_triggers_cron").execute(),await _.schema.dropIndex("idx_automation_triggers_event").execute(),await _.schema.dropIndex("idx_automation_triggers_automation").execute(),await _.schema.dropTable("automation_triggers").execute(),await _.schema.dropIndex("idx_automations_active").execute(),await _.schema.dropIndex("idx_automations_org").execute(),await _.schema.dropTable("automations").execute()}var tx={};m(tx,{up:()=>uz,down:()=>mz});async function uz(_){await _.schema.dropIndex("idx_automation_triggers_cron").execute(),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute(),await _.schema.alterTable("automation_triggers").addColumn("last_run_at","text").execute()}async function mz(_){await _.schema.alterTable("automation_triggers").dropColumn("last_run_at").execute(),await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await _.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute()}var vx={};m(vx,{up:()=>Cz,down:()=>Tz});async function Cz(_){await _.schema.alterTable("ai_provider_keys").addColumn("key_hash","text").execute(),await _.schema.createIndex("idx_ai_provider_keys_unique_hash").unique().on("ai_provider_keys").columns(["organization_id","provider_id","key_hash"]).execute()}async function Tz(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var qx={};m(qx,{up:()=>Kz,down:()=>Nz});import{sql as IT}from"kysely";async function Kz(_){await IT`
348
358
  UPDATE connections
349
359
  SET title = 'CMS MCP',
350
360
  tools = NULL,
351
361
  updated_at = CURRENT_TIMESTAMP
352
362
  WHERE app_name = '@deco/management-mcp'
353
- `.execute(_)}async function mz(_){await AT`
363
+ `.execute(_)}async function Nz(_){await IT`
354
364
  UPDATE connections
355
365
  SET title = 'Mesh MCP',
356
366
  updated_at = CURRENT_TIMESTAMP
357
367
  WHERE app_name = '@deco/management-mcp'
358
- `.execute(_)}var vx={};m(vx,{up:()=>Cz,down:()=>Tz});import{sql as ST}from"kysely";async function Cz(_){await ST`
368
+ `.execute(_)}var gx={};m(gx,{up:()=>Ez,down:()=>zz});import{sql as wT}from"kysely";async function Ez(_){await wT`
359
369
  UPDATE connections
360
370
  SET title = 'Deco CMS',
361
371
  tools = NULL,
362
372
  updated_at = CURRENT_TIMESTAMP
363
373
  WHERE app_name = '@deco/management-mcp'
364
- `.execute(_)}async function Tz(_){await ST`
374
+ `.execute(_)}async function zz(_){await wT`
365
375
  UPDATE connections
366
376
  SET title = 'CMS MCP',
367
377
  updated_at = CURRENT_TIMESTAMP
368
378
  WHERE app_name = '@deco/management-mcp'
369
- `.execute(_)}var qx={};m(qx,{up:()=>Nz,down:()=>Kz});async function Nz(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function Kz(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var gx={};m(gx,{up:()=>Ez,down:()=>zz});async function Ez(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function zz(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var hx={};m(hx,{up:()=>Pz,down:()=>$z});import{sql as cx}from"kysely";async function Pz(_){await cx`
379
+ `.execute(_)}var cx={};m(cx,{up:()=>Pz,down:()=>$z});async function Pz(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function $z(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var hx={};m(hx,{up:()=>Uz,down:()=>Jz});async function Uz(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function Jz(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var ax={};m(ax,{up:()=>Xz,down:()=>Qz});import{sql as ox}from"kysely";async function Xz(_){await ox`
370
380
  UPDATE organization_settings
371
381
  SET enabled_plugins = (
372
382
  SELECT COALESCE(json_agg(elem), '[]'::json)::text
@@ -375,7 +385,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
375
385
  )
376
386
  WHERE enabled_plugins IS NOT NULL
377
387
  AND enabled_plugins LIKE '%object-storage%'
378
- `.execute(_),await cx`
388
+ `.execute(_),await ox`
379
389
  UPDATE projects
380
390
  SET enabled_plugins = (
381
391
  SELECT COALESCE(json_agg(elem), '[]'::json)::text
@@ -384,28 +394,28 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
384
394
  )
385
395
  WHERE enabled_plugins IS NOT NULL
386
396
  AND enabled_plugins LIKE '%object-storage%'
387
- `.execute(_),await cx`
397
+ `.execute(_),await ox`
388
398
  DELETE FROM project_plugin_configs
389
399
  WHERE plugin_id = 'object-storage'
390
- `.execute(_)}async function $z(_){}var ox={};m(ox,{up:()=>Uz,down:()=>Jz});import{sql as IT}from"kysely";async function Uz(_){await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await IT`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(_)}async function Jz(_){await IT`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(_),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var rx={};m(rx,{up:()=>Xz,down:()=>Qz});import{sql as ax}from"kysely";async function Xz(_){await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await ax`
400
+ `.execute(_)}async function Qz(_){}var rx={};m(rx,{up:()=>jz,down:()=>Wz});import{sql as VT}from"kysely";async function jz(_){await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await VT`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(_)}async function Wz(_){await VT`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(_),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var lx={};m(lx,{up:()=>Zz,down:()=>Dz});import{sql as ex}from"kysely";async function Zz(_){await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await ex`
391
401
  ALTER TABLE connections
392
402
  ADD CONSTRAINT chk_connections_subtype
393
403
  CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
394
- `.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await ax`
404
+ `.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await ex`
395
405
  UPDATE connections
396
406
  SET subtype = 'agent'
397
407
  WHERE connection_type = 'VIRTUAL'
398
- `.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(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_${i()}`;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}),j=T.get(K.organization_id);if(!j)continue;await _.insertInto("connections").values({id:z,organization_id:K.organization_id,created_by:j,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_${i()}`,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_${i()}`,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 Qz(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await ax`
408
+ `.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(N)=>N.primaryKey()).addColumn("virtual_mcp_id","text",(N)=>N.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(N)=>N.notNull()).addColumn("connection_id","text",(N)=>N.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(N)=>N.notNull()).addColumn("updated_at","text",(N)=>N.notNull()).execute(),await _.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await _.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let x=await _.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await _.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),T=new Map;for(let N of u)T.set(N.organizationId,N.userId);let C=new Map;for(let N of x){let z=`vir_${i()}`;C.set(N.id,z);let $=N.ui?JSON.parse(N.ui):null,U=JSON.stringify({enabled_plugins:N.enabled_plugins?JSON.parse(N.enabled_plugins):null,ui:$,migrated_from_project:N.id,migrated_project_slug:N.slug}),j=T.get(N.organization_id);if(!j)continue;await _.insertInto("connections").values({id:z,organization_id:N.organization_id,created_by:j,updated_by:null,title:N.name,description:N.description,icon:$?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${z}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:U,bindings:null,status:"active",subtype:"project",created_at:N.created_at,updated_at:N.updated_at}).execute()}let K=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let N of K){let z=C.get(N.project_id);if(!z)continue;await _.insertInto("connection_aggregations").values({id:`agg_${i()}`,parent_connection_id:z,child_connection_id:N.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:N.created_at}).onConflict(($)=>$.doNothing()).execute()}let E=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let N of E){let z=C.get(N.project_id);if(!z)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${i()}`,virtual_mcp_id:z,plugin_id:N.plugin_id,connection_id:N.connection_id,settings:N.settings,created_at:N.created_at,updated_at:N.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function Dz(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await ex`
399
409
  ALTER TABLE connections
400
410
  DROP CONSTRAINT IF EXISTS chk_connections_subtype
401
- `.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var ex={};m(ex,{up:()=>Wz,down:()=>Zz});import{sql as jz}from"kysely";async function Wz(_){await jz`
411
+ `.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var dx={};m(dx,{up:()=>Fz,down:()=>Rz});import{sql as Lz}from"kysely";async function Fz(_){await Lz`
402
412
  DELETE FROM connections
403
413
  WHERE connection_type = 'VIRTUAL'
404
414
  AND subtype = 'project'
405
415
  AND metadata::json->>'migrated_project_slug' = 'org-admin'
406
- `.execute(_)}async function Zz(_){}var lx={};m(lx,{up:()=>Dz,down:()=>Fz});import{sql as Lz}from"kysely";async function Dz(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await Lz`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function Fz(_){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 sx={};m(sx,{up:()=>Rz,down:()=>Yz});import{sql as dx}from"kysely";async function Rz(_){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(dx`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(dx`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(dx`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 Yz(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var bx={};m(bx,{up:()=>Hz,down:()=>Mz});async function Hz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function Mz(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var _u={};m(_u,{up:()=>Bz,down:()=>Gz});async function Bz(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function Gz(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var uu={};m(uu,{up:()=>yz,down:()=>fz});import{sql as wT}from"kysely";function xu(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function nz(_){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 xu(T)}catch{return xu(_.connection_url)}if(_.title)return xu(_.title);return _.id}async function yz(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await wT`
416
+ `.execute(_)}async function Rz(_){}var sx={};m(sx,{up:()=>Hz,down:()=>Mz});import{sql as Yz}from"kysely";async function Hz(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await Yz`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function Mz(_){await _.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await _.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var _u={};m(_u,{up:()=>Bz,down:()=>Gz});import{sql as bx}from"kysely";async function Bz(_){await _.schema.createTable("org_sso_config").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(x)=>x.notNull()).addColumn("client_id","text",(x)=>x.notNull()).addColumn("client_secret","text",(x)=>x.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(x)=>x.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(x)=>x.notNull()).addColumn("enforced","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(bx`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(bx`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await _.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await _.schema.createTable("org_sso_sessions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(x)=>x.notNull()).addColumn("expires_at","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(bx`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function Gz(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var xu={};m(xu,{up:()=>nz,down:()=>yz});async function nz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function yz(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var uu={};m(uu,{up:()=>fz,down:()=>Oz});async function fz(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function Oz(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var Cu={};m(Cu,{up:()=>Sz,down:()=>Iz});import{sql as kT}from"kysely";function mu(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Az(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),T=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return mu(T)}catch{return mu(_.connection_url)}if(_.title)return mu(_.title);return _.id}async function Sz(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await kT`
407
417
  SELECT id, app_name, connection_url, title FROM connections
408
- `.execute(_);for(let u of x.rows){let T=nz(u);await wT`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 fz(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var mu={};m(mu,{up:()=>Oz,down:()=>Az});import{sql as s}from"kysely";async function Oz(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await s`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await s`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute(),await _.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function Az(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await s`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await s`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await s`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await _.schema.alterTable("connections").dropColumn("pinned").execute()}var Cu={};m(Cu,{up:()=>Sz,down:()=>Iz});async function Sz(_){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 Iz(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var Tu={};m(Tu,{up:()=>wz,down:()=>Vz});import{sql as Q_}from"kysely";async function wz(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await Q_`
418
+ `.execute(_);for(let u of x.rows){let T=Az(u);await kT`UPDATE connections SET slug = ${T} WHERE id = ${u.id}`.execute(_)}await _.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function Iz(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var Tu={};m(Tu,{up:()=>wz,down:()=>Vz});import{sql as s}from"kysely";async function wz(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await s`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await s`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute(),await _.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function Vz(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await s`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await s`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await s`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await _.schema.alterTable("connections").dropColumn("pinned").execute()}var Ku={};m(Ku,{up:()=>kz,down:()=>pz});async function kz(_){await _.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await _.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function pz(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var Nu={};m(Nu,{up:()=>iz,down:()=>tz});import{sql as Q_}from"kysely";async function iz(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await Q_`
409
419
  UPDATE threads
410
420
  SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
411
421
  WHERE agent_ids IS NOT NULL
@@ -415,14 +425,14 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
415
425
  `.execute(_),await Q_`
416
426
  CREATE INDEX idx_threads_virtual_mcp_id
417
427
  ON threads (organization_id, virtual_mcp_id, hidden, updated_at DESC)
418
- `.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function Vz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute(),await Q_`
428
+ `.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function tz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute(),await Q_`
419
429
  UPDATE threads
420
430
  SET agent_ids = CASE
421
431
  WHEN virtual_mcp_id IS NOT NULL AND virtual_mcp_id != ''
422
432
  THEN jsonb_build_array(virtual_mcp_id)::text
423
433
  ELSE '[]'
424
434
  END
425
- `.execute(_),await Q_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var Nu={};m(Nu,{up:()=>kz,down:()=>pz});async function kz(_){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 pz(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var Ku={};m(Ku,{up:()=>iz,down:()=>tz});async function iz(_){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 tz(_){await _.schema.dropTable("kv").execute()}var Eu={};m(Eu,{up:()=>vz,down:()=>qz});async function vz(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function qz(_){await _.schema.dropIndex("idx_member_user_org").execute()}var zu={};m(zu,{up:()=>gz,down:()=>cz});async function gz(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function cz(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var Pu={};m(Pu,{up:()=>hz,down:()=>oz});import{sql as F}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(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.references("user.id").onDelete("set null")).execute(),await _.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await _.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await F`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(_),await _.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("server_json","text",(x)=>x.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await F`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(_),await _.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("key_hash","text",(x)=>x.notNull()).addColumn("prefix","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await _.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tested_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("passed_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("failed_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("skipped_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await _.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("run_id","text",(x)=>x.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(x)=>x.notNull()).addColumn("item_title","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tools_listed","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(x)=>x.notNull().defaultTo(0)).addColumn("action_taken","text",(x)=>x.notNull().defaultTo("none")).addColumn("tested_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await _.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await _.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(x)=>x.notNull().defaultTo("none")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function oz(_){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 $u={};m($u,{up:()=>az,down:()=>rz});import{sql as t}from"kysely";async function az(_){await t`
435
+ `.execute(_),await Q_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var Eu={};m(Eu,{up:()=>vz,down:()=>qz});async function vz(_){await _.schema.createTable("trigger_callback_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(x)=>x.notNull().unique()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).execute(),await _.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function qz(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var zu={};m(zu,{up:()=>gz,down:()=>cz});async function gz(_){await _.schema.createTable("kv").addColumn("organization_id","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("value","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function cz(_){await _.schema.dropTable("kv").execute()}var Pu={};m(Pu,{up:()=>hz,down:()=>oz});async function hz(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function oz(_){await _.schema.dropIndex("idx_member_user_org").execute()}var $u={};m($u,{up:()=>az,down:()=>rz});async function az(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function rz(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var Uu={};m(Uu,{up:()=>ez,down:()=>lz});import{sql as F}from"kysely";async function ez(_){await _.schema.createTable("private_registry_item").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("server_json","text",(x)=>x.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.references("user.id").onDelete("set null")).execute(),await _.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await _.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await F`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(_),await _.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("server_json","text",(x)=>x.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await F`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(_),await _.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("key_hash","text",(x)=>x.notNull()).addColumn("prefix","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await _.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tested_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("passed_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("failed_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("skipped_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await _.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("run_id","text",(x)=>x.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(x)=>x.notNull()).addColumn("item_title","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tools_listed","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(x)=>x.notNull().defaultTo(0)).addColumn("action_taken","text",(x)=>x.notNull().defaultTo("none")).addColumn("tested_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await _.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await _.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(x)=>x.notNull().defaultTo("none")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(F`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function lz(_){await _.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_run").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await _.schema.dropTable("private_registry_publish_api_key").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await _.schema.dropTable("private_registry_publish_request").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await _.schema.dropTable("private_registry_item").ifExists().execute()}var Ju={};m(Ju,{up:()=>dz,down:()=>sz});import{sql as t}from"kysely";async function dz(_){await t`
426
436
  ALTER TABLE event_subscriptions
427
437
  ALTER COLUMN enabled DROP DEFAULT
428
438
  `.execute(_),await t`
@@ -432,7 +442,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
432
442
  `.execute(_),await t`
433
443
  ALTER TABLE event_subscriptions
434
444
  ALTER COLUMN enabled SET DEFAULT true
435
- `.execute(_)}async function rz(_){await t`
445
+ `.execute(_)}async function sz(_){await t`
436
446
  ALTER TABLE event_subscriptions
437
447
  ALTER COLUMN enabled DROP DEFAULT
438
448
  `.execute(_),await t`
@@ -442,28 +452,28 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
442
452
  `.execute(_),await t`
443
453
  ALTER TABLE event_subscriptions
444
454
  ALTER COLUMN enabled SET DEFAULT 1
445
- `.execute(_)}var Uu={};m(Uu,{up:()=>ez,down:()=>lz});import{sql as VT}from"kysely";async function ez(_){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(VT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(VT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function lz(_){await _.schema.dropTable("brand_context").execute()}var Ju={};m(Ju,{up:()=>dz,down:()=>sz});import{sql as kT}from"kysely";async function dz(_){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(kT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(kT`now()`)).execute()}async function sz(_){await _.schema.dropTable("organization_domains").execute()}var Xu={};m(Xu,{up:()=>u0,down:()=>m0});import{sql as pT}from"kysely";var j_=new Set(["primary","secondary","accent","background","foreground"]),bz={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function _0(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((C)=>j_.has(C))){let C={};for(let[N,E]of Object.entries(u)){if(typeof E!=="string")continue;if(j_.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(j_.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(j_.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 x0(_){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=bz[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 u0(_){let x=await pT`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=_0($);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=x0($),C=!0}catch{}if(T||C||N){let $=N?JSON.stringify(z):u.metadata;await pT`
455
+ `.execute(_)}var Xu={};m(Xu,{up:()=>bz,down:()=>_0});import{sql as pT}from"kysely";async function bz(_){await _.schema.createTable("brand_context").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("domain","text",(x)=>x.notNull()).addColumn("overview","text",(x)=>x.notNull()).addColumn("logo","text").addColumn("favicon","text").addColumn("og_image","text").addColumn("fonts","text").addColumn("colors","text").addColumn("images","text").addColumn("metadata","text").addColumn("archived_at","timestamptz").addColumn("is_default","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(pT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(pT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function _0(_){await _.schema.dropTable("brand_context").execute()}var Qu={};m(Qu,{up:()=>x0,down:()=>u0});import{sql as iT}from"kysely";async function x0(_){await _.schema.createTable("organization_domains").addColumn("organization_id","text",(x)=>x.primaryKey().notNull().references("organization.id").onDelete("cascade")).addColumn("domain","text",(x)=>x.notNull().unique()).addColumn("auto_join_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(iT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(iT`now()`)).execute()}async function u0(_){await _.schema.dropTable("organization_domains").execute()}var ju={};m(ju,{up:()=>K0,down:()=>N0});import{sql as tT}from"kysely";var j_=new Set(["primary","secondary","accent","background","foreground"]),m0={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function C0(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((C)=>j_.has(C))){let C={};for(let[K,E]of Object.entries(u)){if(typeof E!=="string")continue;if(j_.has(K))C[K]=E;else x[K]=E}return{structured:Object.keys(C).length>0?JSON.stringify(C):null,extra:x}}let T={};for(let[C,K]of Object.entries(u)){if(typeof K!=="string")continue;if(j_.has(C.toLowerCase()))T[C.toLowerCase()]=K;else x[C]=K}return{structured:Object.keys(T).length>0?JSON.stringify(T):null,extra:x}}if(Array.isArray(_)){let u={};for(let T of _){let C=T,K=C.label?.toLowerCase?.(),E=C.value;if(!K||!E)continue;if(j_.has(K))u[K]=E;else x[K]=E}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:x}}return{structured:null,extra:x}}function T0(_){if(!_)return null;if(!Array.isArray(_)&&typeof _==="object"){let x=_;if(typeof x.heading==="string"||typeof x.body==="string"||typeof x.code==="string")return JSON.stringify(x);return null}if(Array.isArray(_)){let x={},u=[];for(let T of _){let C=T,K=C.name??C.family??void 0,E=C.role?.toLowerCase?.()??"";if(!K)continue;let N=m0[E];if(N&&!x[N])x[N]=K;else u.push(K)}if(!x.body&&u[0])x.body=u[0];return Object.keys(x).length>0?JSON.stringify(x):null}return null}async function K0(_){let x=await tT`SELECT id, colors, fonts, metadata FROM brand_context`.execute(_);for(let u of x.rows){let T=!1,C=!1,K=!1,E=u.colors,N=u.fonts,z={};try{z=u.metadata?JSON.parse(u.metadata):{}}catch{}if(u.colors)try{let $=JSON.parse(u.colors);if(Array.isArray($)){let U=C0($);if(E=U.structured,T=!0,Object.keys(U.extra).length>0)z.extraColors=U.extra,K=!0}}catch{}if(u.fonts)try{let $=JSON.parse(u.fonts);if(Array.isArray($))N=T0($),C=!0}catch{}if(T||C||K){let $=K?JSON.stringify(z):u.metadata;await tT`
446
456
  UPDATE brand_context
447
457
  SET
448
458
  colors = ${E},
449
- fonts = ${K},
459
+ fonts = ${N},
450
460
  metadata = ${$},
451
461
  updated_at = NOW()
452
462
  WHERE id = ${u.id}
453
- `.execute(_)}}}async function m0(_){}var Qu={};m(Qu,{up:()=>T0,down:()=>N0});import{sql as C0}from"kysely";async function T0(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(C0`'{}'::jsonb`)).execute()}async function N0(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var ju={};m(ju,{up:()=>K0,down:()=>E0});async function K0(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function E0(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var Wu={};m(Wu,{up:()=>z0,down:()=>P0});async function z0(_){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 P0(_){await _.schema.dropTable("sandbox_runner_state").execute()}var Zu={};m(Zu,{up:()=>$0,down:()=>U0});async function $0(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function U0(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var Lu={};m(Lu,{up:()=>J0,down:()=>X0});async function J0(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function X0(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var Du={};m(Du,{up:()=>Q0,down:()=>j0});async function Q0(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function j0(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var Fu={};m(Fu,{up:()=>Z0,down:()=>L0});import{sql as iT}from"kysely";var W0=["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 Z0(_){let x=await iT`
463
+ `.execute(_)}}}async function N0(_){}var Wu={};m(Wu,{up:()=>z0,down:()=>P0});import{sql as E0}from"kysely";async function z0(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(E0`'{}'::jsonb`)).execute()}async function P0(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var Zu={};m(Zu,{up:()=>$0,down:()=>U0});async function $0(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function U0(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var Du={};m(Du,{up:()=>J0,down:()=>X0});async function J0(_){await _.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(x)=>x.notNull()).addColumn("project_ref","text",(x)=>x.notNull()).addColumn("runner_kind","text",(x)=>x.notNull()).addColumn("handle","text",(x)=>x.notNull()).addColumn("state","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function X0(_){await _.schema.dropTable("sandbox_runner_state").execute()}var Lu={};m(Lu,{up:()=>Q0,down:()=>j0});async function Q0(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function j0(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var Fu={};m(Fu,{up:()=>W0,down:()=>Z0});async function W0(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function Z0(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var Ru={};m(Ru,{up:()=>D0,down:()=>L0});async function D0(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function L0(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var Yu={};m(Yu,{up:()=>R0,down:()=>Y0});import{sql as vT}from"kysely";var F0=["COLLECTION_CONNECTIONS_LIST","COLLECTION_CONNECTIONS_GET","CONNECTION_TEST","COLLECTION_VIRTUAL_MCP_LIST","COLLECTION_VIRTUAL_MCP_GET","VIRTUAL_MCP_PLUGIN_CONFIG_GET","AUTOMATION_GET","AUTOMATION_LIST","AI_PROVIDERS_LIST","AI_PROVIDERS_LIST_MODELS","AI_PROVIDERS_ACTIVE","LIST_OBJECTS","GET_OBJECT_METADATA","GET_PRESIGNED_URL","PUT_PRESIGNED_URL","VM_START","VM_DELETE"];async function R0(_){let x=await vT`
454
464
  SELECT id, permission FROM "organizationRole"
455
- `.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let N=C,E=Array.from(new Set([...N,...W0]));if(E.length===N.length)continue;T.self=E;let K=JSON.stringify(T);await iT`
465
+ `.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let K=C,E=Array.from(new Set([...K,...F0]));if(E.length===K.length)continue;T.self=E;let N=JSON.stringify(T);await vT`
456
466
  UPDATE "organizationRole"
457
- SET permission = ${K}
467
+ SET permission = ${N}
458
468
  WHERE id = ${u.id}
459
- `.execute(_)}}async function L0(_){}var Ru={};m(Ru,{up:()=>D0,down:()=>F0});async function D0(_){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 F0(_){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 Yu={};m(Yu,{up:()=>R0,down:()=>Y0});async function R0(_){await _.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function Y0(_){await _.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var Hu={};m(Hu,{up:()=>H0,down:()=>M0});import{sql as b}from"kysely";async function H0(_){await b`
469
+ `.execute(_)}}async function Y0(_){}var Hu={};m(Hu,{up:()=>H0,down:()=>M0});async function H0(_){await _.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").execute()}async function M0(_){await _.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}var Mu={};m(Mu,{up:()=>B0,down:()=>G0});async function B0(_){await _.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function G0(_){await _.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var Bu={};m(Bu,{up:()=>n0,down:()=>y0});import{sql as b}from"kysely";async function n0(_){await b`
460
470
  UPDATE automations
461
471
  SET virtual_mcp_id = (agent::json ->> 'id')
462
472
  WHERE virtual_mcp_id IS NULL
463
473
  `.execute(_),await b`
464
474
  ALTER TABLE automations
465
475
  ALTER COLUMN virtual_mcp_id SET NOT NULL
466
- `.execute(_),await _.schema.alterTable("automations").dropColumn("agent").execute()}async function M0(_){await _.schema.alterTable("automations").addColumn("agent","text").execute(),await b`
476
+ `.execute(_),await _.schema.alterTable("automations").dropColumn("agent").execute()}async function y0(_){await _.schema.alterTable("automations").addColumn("agent","text").execute(),await b`
467
477
  UPDATE automations
468
478
  SET agent = json_build_object('id', virtual_mcp_id)::text
469
479
  `.execute(_),await b`
@@ -472,7 +482,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
472
482
  `.execute(_),await b`
473
483
  ALTER TABLE automations
474
484
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
475
- `.execute(_)}var Bu={};m(Bu,{up:()=>y0,reshapeSimpleMode:()=>tT,inferAutomationTier:()=>vT,down:()=>f0,__testing:()=>n0});var B0={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},G0=["fast","smart","thinking","image","web_research"];function Mu(_){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 G0.some((T)=>(T in u))}function tT(_){if(Mu(_))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 B0;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 vT(_){if(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking")return _.tier;if(_.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function qT(_){if(!(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((T)=>_[T]===void 0)}var n0={isAlreadyReshapedSimpleMode:Mu,isAlreadyReshapedAutomationModels:qT};async function y0(_){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(Mu(C))continue;let N=tT(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(qT(C))continue;let N=vT(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 f0(_){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var Gu={};m(Gu,{up:()=>O0,down:()=>A0});import{sql as f}from"kysely";async function O0(_){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`
485
+ `.execute(_)}var nu={};m(nu,{up:()=>S0,reshapeSimpleMode:()=>qT,inferAutomationTier:()=>gT,down:()=>I0,__testing:()=>A0});var f0={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},O0=["fast","smart","thinking","image","web_research"];function Gu(_){if(!_||typeof _!=="object")return!1;let x=_;if(!("tiers"in x))return!1;let u=x.tiers;if(!u||typeof u!=="object")return!1;return O0.some((T)=>(T in u))}function qT(_){if(Gu(_))return _;let x=_,u=x?.enabled===!0,T=(C)=>C&&C.keyId&&C.modelId?{keyId:C.keyId,modelId:C.modelId,title:C.title}:null;if(!u)return f0;return{tiers:{fast:T(x?.chat?.fast),smart:T(x?.chat?.smart),thinking:T(x?.chat?.thinking),image:T(x?.image),web_research:T(x?.webResearch)}}}function gT(_){if(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking")return _.tier;if(_.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function cT(_){if(!(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((T)=>_[T]===void 0)}var A0={isAlreadyReshapedSimpleMode:Gu,isAlreadyReshapedAutomationModels:cT};async function S0(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let T of x){let C=T.simple_mode?typeof T.simple_mode==="string"?JSON.parse(T.simple_mode):T.simple_mode:null;if(Gu(C))continue;let K=qT(C);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(K)}).where("organizationId","=",T.organizationId).execute()}let u=await _.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let T of u){let C;try{C=typeof T.models==="string"?JSON.parse(T.models):T.models}catch{C={}}if(cT(C))continue;let K=gT(C);if(await _.updateTable("automations").set({models:JSON.stringify({tier:K})}).where("id","=",T.id).execute(),C.thinking?.capabilities?.image)console.log(`[migration 077] automation ${T.id} previously used an image-only model; mapped to "${K}"`)}}async function I0(_){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var yu={};m(yu,{up:()=>w0,down:()=>V0});import{sql as f}from"kysely";async function w0(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await f`
476
486
  ALTER TABLE automations
477
487
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
478
488
  `.execute(_),await f`
@@ -494,19 +504,19 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
494
504
  AND tool_input IS NOT NULL
495
505
  )
496
506
  )
497
- `.execute(_)}async function A0(_){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`
507
+ `.execute(_)}async function V0(_){await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await f`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await f`
498
508
  ALTER TABLE automations
499
509
  ALTER COLUMN virtual_mcp_id SET NOT NULL
500
- `.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var nu={};m(nu,{up:()=>I0,down:()=>w0});import{sql as gT}from"kysely";var S0=new Set(["host","docker","agent-sandbox"]);async function I0(_){let x=await gT`
510
+ `.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var fu={};m(fu,{up:()=>p0,down:()=>i0});import{sql as hT}from"kysely";var k0=new Set(["host","docker","agent-sandbox"]);async function p0(_){let x=await hT`
501
511
  SELECT id, metadata FROM "connections"
502
512
  WHERE connection_type = 'VIRTUAL'
503
513
  AND metadata IS NOT NULL
504
514
  AND metadata LIKE '%vmMap%'
505
- `.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.vmMap;if(!C||typeof C!=="object")continue;let N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[j,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}let M=X.runnerKind;if(M!==void 0&&!S0.has(M)){N=!0;continue}U[j]=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 gT`
515
+ `.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.vmMap;if(!C||typeof C!=="object")continue;let K=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){K=!0;continue}let U={};for(let[j,X]of Object.entries($)){if(!X||typeof X!=="object"){K=!0;continue}let M=X.runnerKind;if(M!==void 0&&!k0.has(M)){K=!0;continue}U[j]=X}if(Object.keys(U).length>0)E[z]=U;else K=!0}if(!K)continue;T.vmMap=E;let N=JSON.stringify(T);await hT`
506
516
  UPDATE "connections"
507
- SET metadata = ${K}
517
+ SET metadata = ${N}
508
518
  WHERE id = ${u.id}
509
- `.execute(_)}}async function w0(_){}var yu={};m(yu,{up:()=>V0,down:()=>k0});import{sql as __}from"kysely";async function V0(_){await _.schema.createTable("async_research_jobs").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(__`gen_random_uuid()`)).addColumn("interaction_id","text").addColumn("tool_call_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull()).addColumn("message_id","text").addColumn("provider","text",(x)=>x.notNull()).addColumn("model_id","text",(x)=>x.notNull()).addColumn("query","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull()).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_polled_at","timestamptz").addColumn("last_error","text").addColumn("input_tokens","integer").addColumn("output_tokens","integer").addColumn("citations","jsonb").addColumn("result_uri","text").addColumn("result_preview","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(__`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`now()`)).addColumn("completed_at","timestamptz").execute(),await _.schema.createIndex("async_research_jobs_org_tool_call_unique").on("async_research_jobs").columns(["organization_id","tool_call_id"]).unique().execute(),await _.schema.createIndex("async_research_jobs_thread_created_idx").on("async_research_jobs").columns(["thread_id","created_at desc"]).execute(),await __`
519
+ `.execute(_)}}async function i0(_){}var Ou={};m(Ou,{up:()=>t0,down:()=>v0});import{sql as __}from"kysely";async function t0(_){await _.schema.createTable("async_research_jobs").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(__`gen_random_uuid()`)).addColumn("interaction_id","text").addColumn("tool_call_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull()).addColumn("message_id","text").addColumn("provider","text",(x)=>x.notNull()).addColumn("model_id","text",(x)=>x.notNull()).addColumn("query","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull()).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_polled_at","timestamptz").addColumn("last_error","text").addColumn("input_tokens","integer").addColumn("output_tokens","integer").addColumn("citations","jsonb").addColumn("result_uri","text").addColumn("result_preview","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(__`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`now()`)).addColumn("completed_at","timestamptz").execute(),await _.schema.createIndex("async_research_jobs_org_tool_call_unique").on("async_research_jobs").columns(["organization_id","tool_call_id"]).unique().execute(),await _.schema.createIndex("async_research_jobs_thread_created_idx").on("async_research_jobs").columns(["thread_id","created_at desc"]).execute(),await __`
510
520
  CREATE INDEX async_research_jobs_active_idx
511
521
  ON async_research_jobs (status, last_polled_at)
512
522
  WHERE status IN ('pending', 'polling')
@@ -514,7 +524,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
514
524
  ALTER TABLE async_research_jobs
515
525
  ADD CONSTRAINT chk_async_research_jobs_status
516
526
  CHECK (status IN ('pending','polling','completed','failed','cancelled','abandoned'))
517
- `.execute(_)}async function k0(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var fu={};m(fu,{up:()=>p0,down:()=>i0});async function p0(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function i0(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Ou={};m(Ou,{up:()=>t0,down:()=>v0});import{sql as v}from"kysely";async function t0(_){await _.schema.createTable("secrets").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("encrypted_value","text",(x)=>x.notNull()).addColumn("description","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).execute(),await v`
527
+ `.execute(_)}async function v0(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var Au={};m(Au,{up:()=>q0,down:()=>g0});async function q0(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function g0(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Su={};m(Su,{up:()=>c0,down:()=>h0});import{sql as v}from"kysely";async function c0(_){await _.schema.createTable("secrets").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("encrypted_value","text",(x)=>x.notNull()).addColumn("description","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(v`CURRENT_TIMESTAMP`)).execute(),await v`
518
528
  ALTER TABLE secrets
519
529
  ADD CONSTRAINT chk_secrets_scope CHECK (scope IN ('user', 'organization'))
520
530
  `.execute(_),await v`
@@ -531,7 +541,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
531
541
  CREATE UNIQUE INDEX idx_secrets_org_name
532
542
  ON secrets (organization_id, lower(name))
533
543
  WHERE scope = 'organization'
534
- `.execute(_)}async function v0(_){await _.schema.dropTable("secrets").execute()}var Au={};m(Au,{up:()=>q0,down:()=>g0});async function q0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function g0(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var Su={};m(Su,{up:()=>h0,down:()=>o0});import{sql as c0}from"kysely";async function h0(_){await c0`delete from sandbox_runner_state where runner_kind = 'host'`.execute(_)}async function o0(_){}var Iu={};m(Iu,{up:()=>a0,down:()=>r0});import{sql as W_}from"kysely";async function a0(_){await W_`
544
+ `.execute(_)}async function h0(_){await _.schema.dropTable("secrets").execute()}var Iu={};m(Iu,{up:()=>o0,down:()=>a0});async function o0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function a0(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var wu={};m(wu,{up:()=>e0,down:()=>l0});import{sql as r0}from"kysely";async function e0(_){await r0`delete from sandbox_runner_state where runner_kind = 'host'`.execute(_)}async function l0(_){}var Vu={};m(Vu,{up:()=>d0,down:()=>s0});import{sql as W_}from"kysely";async function d0(_){await W_`
535
545
  ALTER TABLE sandbox_runner_state
536
546
  RENAME COLUMN runner_kind TO sandbox_provider_kind
537
547
  `.execute(_),await W_`
@@ -569,7 +579,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
569
579
  EXCEPTION WHEN undefined_table THEN
570
580
  NULL;
571
581
  END; $$
572
- `.execute(_),await _.schema.alterTable("threads").dropColumn("run_locally").execute()}async function r0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await W_`
582
+ `.execute(_),await _.schema.alterTable("threads").dropColumn("run_locally").execute()}async function s0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await W_`
573
583
  ALTER TABLE sandbox_runner_state
574
584
  RENAME COLUMN sandbox_provider_kind TO runner_kind
575
585
  `.execute(_),await W_`
@@ -607,7 +617,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
607
617
  EXCEPTION WHEN undefined_table THEN
608
618
  NULL;
609
619
  END; $$
610
- `.execute(_)}var wu={};m(wu,{up:()=>e0,down:()=>l0});import{sql as cT}from"kysely";async function e0(_){await _.schema.alterTable("threads").addColumn("sandbox_provider_kind","text").execute(),await _.schema.alterTable("threads").addColumn("harness_id","text").execute(),await cT`
620
+ `.execute(_)}var ku={};m(ku,{up:()=>b0,down:()=>_P});import{sql as oT}from"kysely";async function b0(_){await _.schema.alterTable("threads").addColumn("sandbox_provider_kind","text").execute(),await _.schema.alterTable("threads").addColumn("harness_id","text").execute(),await oT`
611
621
  DO $$ BEGIN
612
622
  UPDATE virtualmcps v
613
623
  SET metadata = jsonb_set(
@@ -646,7 +656,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
646
656
  -- PGlite migration order: virtualmcps not yet created. Safe no-op.
647
657
  NULL;
648
658
  END; $$
649
- `.execute(_)}async function l0(_){await _.schema.alterTable("threads").dropColumn("harness_id").execute(),await _.schema.alterTable("threads").dropColumn("sandbox_provider_kind").execute(),await cT`
659
+ `.execute(_)}async function _P(_){await _.schema.alterTable("threads").dropColumn("harness_id").execute(),await _.schema.alterTable("threads").dropColumn("sandbox_provider_kind").execute(),await oT`
650
660
  DO $$ BEGIN
651
661
  UPDATE virtualmcps v
652
662
  SET metadata = jsonb_set(
@@ -679,7 +689,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
679
689
  EXCEPTION WHEN undefined_table THEN
680
690
  NULL;
681
691
  END; $$
682
- `.execute(_)}var Vu={};m(Vu,{up:()=>d0,down:()=>s0});import{sql as hT}from"kysely";async function d0(_){await hT`
692
+ `.execute(_)}var pu={};m(pu,{up:()=>xP,down:()=>uP});import{sql as aT}from"kysely";async function xP(_){await aT`
683
693
  UPDATE connections c
684
694
  SET metadata = (
685
695
  jsonb_set(
@@ -723,7 +733,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
723
733
  JOIN jsonb_each(user_map) AS branches(branch_key, entry) ON true
724
734
  WHERE entry ? 'vmId'
725
735
  );
726
- `.execute(_),await hT`
736
+ `.execute(_),await aT`
727
737
  UPDATE connections c
728
738
  SET metadata = (
729
739
  jsonb_set(
@@ -777,10 +787,10 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
777
787
  JOIN jsonb_each(branch_entry) AS kinds(kind_key, inner_entry) ON true
778
788
  WHERE inner_entry ? 'runnerKind'
779
789
  );
780
- `.execute(_)}async function s0(_){}var ku={};m(ku,{up:()=>_P,down:()=>xP});import{sql as b0}from"kysely";async function _P(_){await b0`
790
+ `.execute(_)}async function uP(_){}var iu={};m(iu,{up:()=>CP,down:()=>TP});import{sql as mP}from"kysely";async function CP(_){await mP`
781
791
  DELETE FROM ai_provider_keys
782
792
  WHERE provider_id IN ('claude-code', 'codex')
783
- `.execute(_)}async function xP(_){}var pu={};m(pu,{up:()=>uP,down:()=>mP});import{sql as Z_}from"kysely";async function uP(_){await Z_`
793
+ `.execute(_)}async function TP(_){}var tu={};m(tu,{up:()=>KP,down:()=>NP});import{sql as Z_}from"kysely";async function KP(_){await Z_`
784
794
  UPDATE sandbox_runner_state
785
795
  SET sandbox_provider_kind = 'desktop'
786
796
  WHERE sandbox_provider_kind = 'remote-user'
@@ -878,13 +888,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
878
888
  UPDATE threads
879
889
  SET sandbox_provider_kind = 'desktop'
880
890
  WHERE sandbox_provider_kind = 'remote-user'
881
- `.execute(_)}async function mP(_){}var iu={};m(iu,{up:()=>CP,down:()=>TP});import{sql as x_}from"kysely";async function CP(_){await x_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await x_`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event', 'webhook'))`.execute(_),await _.schema.alterTable("automation_triggers").addColumn("api_key_id","text").execute()}async function TP(_){await _.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await x_`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(_),await x_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await x_`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_)}var tu={};m(tu,{up:()=>NP,down:()=>KP});import{sql as oT}from"kysely";async function NP(_){await oT`
891
+ `.execute(_)}async function NP(_){}var vu={};m(vu,{up:()=>EP,down:()=>zP});import{sql as x_}from"kysely";async function EP(_){await x_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await x_`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event', 'webhook'))`.execute(_),await _.schema.alterTable("automation_triggers").addColumn("api_key_id","text").execute()}async function zP(_){await _.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await x_`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(_),await x_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await x_`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_)}var qu={};m(qu,{up:()=>PP,down:()=>$P});import{sql as rT}from"kysely";async function PP(_){await rT`
882
892
  ALTER TABLE organization_domains
883
893
  DROP CONSTRAINT IF EXISTS organization_domains_domain_key
884
- `.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function KP(_){await _.schema.dropIndex("organization_domains_domain_idx").ifExists().execute(),await oT`
894
+ `.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function $P(_){await _.schema.dropIndex("organization_domains_domain_idx").ifExists().execute(),await rT`
885
895
  ALTER TABLE organization_domains
886
896
  ADD CONSTRAINT organization_domains_domain_key UNIQUE (domain)
887
- `.execute(_)}var vu={};m(vu,{up:()=>EP,down:()=>zP});import{sql as L_}from"kysely";async function EP(_){await L_`
897
+ `.execute(_)}var gu={};m(gu,{up:()=>UP,down:()=>JP});import{sql as D_}from"kysely";async function UP(_){await D_`
888
898
  UPDATE sandbox_runner_state
889
899
  SET sandbox_provider_kind = CASE sandbox_provider_kind
890
900
  WHEN 'docker' THEN 'local-docker'
@@ -894,7 +904,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
894
904
  ELSE sandbox_provider_kind
895
905
  END
896
906
  WHERE sandbox_provider_kind IN ('docker','agent-sandbox','desktop','remote-user')
897
- `.execute(_),await L_`
907
+ `.execute(_),await D_`
898
908
  UPDATE connections c
899
909
  SET metadata = (
900
910
  (c.metadata::jsonb - 'vmMap')
@@ -903,7 +913,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
903
913
  WHERE c.connection_type = 'VIRTUAL'
904
914
  AND c.metadata IS NOT NULL
905
915
  AND c.metadata::jsonb ? 'vmMap'
906
- `.execute(_),await L_`
916
+ `.execute(_),await D_`
907
917
  UPDATE connections c
908
918
  SET metadata = (
909
919
  jsonb_set(
@@ -964,7 +974,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
964
974
  WHERE kind_key IN ('docker','agent-sandbox','desktop','remote-user','host','freestyle')
965
975
  OR inner_entry->>'sandboxProviderKind' IN ('docker','agent-sandbox','desktop','remote-user')
966
976
  );
967
- `.execute(_),await L_`
977
+ `.execute(_),await D_`
968
978
  UPDATE connections c
969
979
  SET metadata = REPLACE(
970
980
  REPLACE(c.metadata, '"VM_START"', '"SANDBOX_START"'),
@@ -973,19 +983,19 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
973
983
  WHERE c.connection_type = 'VIRTUAL'
974
984
  AND c.metadata IS NOT NULL
975
985
  AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
976
- `.execute(_)}async function zP(_){}var qu={};m(qu,{up:()=>$P,down:()=>UP});import{sql as aT}from"kysely";var PP=["GLOBAL_SEARCH"];async function $P(_){let x=await aT`
986
+ `.execute(_)}async function JP(_){}var cu={};m(cu,{up:()=>QP,down:()=>jP});import{sql as eT}from"kysely";var XP=["GLOBAL_SEARCH"];async function QP(_){let x=await eT`
977
987
  SELECT id, permission FROM "organizationRole"
978
- `.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let N=C,E=Array.from(new Set([...N,...PP]));if(E.length===N.length)continue;T.self=E;let K=JSON.stringify(T);await aT`
988
+ `.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let K=C,E=Array.from(new Set([...K,...XP]));if(E.length===K.length)continue;T.self=E;let N=JSON.stringify(T);await eT`
979
989
  UPDATE "organizationRole"
980
- SET permission = ${K}
990
+ SET permission = ${N}
981
991
  WHERE id = ${u.id}
982
- `.execute(_)}}async function UP(_){}var cu={};m(cu,{up:()=>JP,down:()=>XP});import{sql as gu}from"kysely";async function JP(_){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(gu`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(gu`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await gu`
992
+ `.execute(_)}}async function jP(_){}var ou={};m(ou,{up:()=>WP,down:()=>ZP});import{sql as hu}from"kysely";async function WP(_){await _.schema.createTable("org_file_configs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("bucket","text",(x)=>x.notNull()).addColumn("region","text",(x)=>x.notNull()).addColumn("endpoint","text").addColumn("force_path_style","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("prefix","text").addColumn("encrypted_credentials","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(hu`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(hu`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await hu`
983
993
  CREATE UNIQUE INDEX idx_org_file_configs_org_name
984
994
  ON org_file_configs (organization_id, lower(name))
985
- `.execute(_)}async function XP(_){await _.schema.dropTable("org_file_configs").execute()}var hu={};m(hu,{up:()=>QP,down:()=>jP});import{sql as O}from"kysely";async function QP(_){await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await O`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await O`
995
+ `.execute(_)}async function ZP(_){await _.schema.dropTable("org_file_configs").execute()}var au={};m(au,{up:()=>DP,down:()=>LP});import{sql as O}from"kysely";async function DP(_){await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await O`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await O`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await O`
986
996
  ALTER TABLE automations
987
997
  ALTER COLUMN virtual_mcp_id SET NOT NULL
988
- `.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function jP(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await O`
998
+ `.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function LP(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await O`
989
999
  ALTER TABLE automations
990
1000
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
991
1001
  `.execute(_),await O`
@@ -1007,25 +1017,25 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1007
1017
  AND tool_input IS NOT NULL
1008
1018
  )
1009
1019
  )
1010
- `.execute(_)}var ou={};m(ou,{up:()=>WP,down:()=>ZP});async function WP(_){await _.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function ZP(_){await _.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var ru={};m(ru,{up:()=>LP,down:()=>DP});import{sql as au}from"kysely";var D_="local-docker";async function LP(_){await au`delete from sandbox_runner_state where sandbox_provider_kind = ${D_}`.execute(_);let x=await au`
1020
+ `.execute(_)}var ru={};m(ru,{up:()=>FP,down:()=>RP});async function FP(_){await _.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function RP(_){await _.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var lu={};m(lu,{up:()=>YP,down:()=>HP});import{sql as eu}from"kysely";var L_="local-docker";async function YP(_){await eu`delete from sandbox_runner_state where sandbox_provider_kind = ${L_}`.execute(_);let x=await eu`
1011
1021
  SELECT id, metadata FROM "connections"
1012
1022
  WHERE connection_type = 'VIRTUAL'
1013
1023
  AND metadata IS NOT NULL
1014
- AND metadata LIKE ${"%"+D_+"%"}
1015
- `.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.sandboxMap;if(!C||typeof C!=="object")continue;let N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[j,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}if(D_ in X){N=!0;let M={...X};if(delete M[D_],Object.keys(M).length>0)U[j]=M}else U[j]=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 au`
1024
+ AND metadata LIKE ${"%"+L_+"%"}
1025
+ `.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.sandboxMap;if(!C||typeof C!=="object")continue;let K=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){K=!0;continue}let U={};for(let[j,X]of Object.entries($)){if(!X||typeof X!=="object"){K=!0;continue}if(L_ in X){K=!0;let M={...X};if(delete M[L_],Object.keys(M).length>0)U[j]=M}else U[j]=X}if(Object.keys(U).length>0)E[z]=U;else K=!0}if(!K)continue;T.sandboxMap=E;let N=JSON.stringify(T);await eu`
1016
1026
  UPDATE "connections"
1017
- SET metadata = ${K}
1027
+ SET metadata = ${N}
1018
1028
  WHERE id = ${u.id}
1019
- `.execute(_)}}async function DP(_){}var eu={};m(eu,{up:()=>FP,down:()=>RP});import{sql as F_}from"kysely";async function FP(_){await _.schema.createTable("thread_message_parts").addColumn("id","text",(x)=>x.primaryKey()).addColumn("seq","integer",(x)=>x.notNull()).addColumn("org_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(x)=>x.notNull()).addColumn("message_id","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull()).addColumn("payload","jsonb",(x)=>x.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(x)=>x.notNull()).execute(),await F_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await F_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await F_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await F_`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(_),await _.schema.alterTable("threads").addColumn("message_storage_version","integer",(x)=>x.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function RP(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var lu={};m(lu,{up:()=>YP,down:()=>HP});async function YP(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function HP(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var du={};m(du,{up:()=>MP,down:()=>BP});async function MP(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function BP(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var su={};m(su,{up:()=>GP,down:()=>nP});async function GP(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function nP(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var bu={};m(bu,{up:()=>yP,down:()=>fP});async function yP(_){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 fP(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var _m={};m(_m,{up:()=>OP,down:()=>AP});async function OP(_){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 AP(_){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 um={};m(um,{up:()=>IP,down:()=>wP});import{sql as n}from"kysely";var R="cluster",Y="agent-sandbox";function q(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function xm(_,x,u){if(!q(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function R_(_){if(!q(_))return!1;if(typeof _.sandboxHandle!=="string")return!1;if(_.previewUrl!==null&&typeof _.previewUrl!=="string")return!1;if(_.sandboxApiUrl!==void 0&&_.sandboxApiUrl!==null&&typeof _.sandboxApiUrl!=="string")return!1;if(_.sandboxProviderKind!==void 0&&_.sandboxProviderKind!==R&&_.sandboxProviderKind!==Y&&_.sandboxProviderKind!=="user-desktop")return!1;if(_.createdAt!==void 0&&typeof _.createdAt!=="number")return!1;if(_.startedWith!==void 0){if(!q(_.startedWith))return!1;for(let x of["packageManager","port","path"]){let u=_.startedWith[x];if(u!==void 0&&u!==null&&typeof u!=="string")return!1}}return!0}function SP(_,x,u){if(!q(_))return null;let T=!1,C={};for(let[N,E]of Object.entries(_)){if(!q(E)){C[N]=E;continue}let K={};for(let[z,$]of Object.entries(E)){if(!q($)){K[z]=$;continue}let U={};for(let[j,X]of Object.entries($)){if(j===x){if(T=!0,!(u in $))U[u]=xm(X,x,u);else if(!R_($[u])&&R_(X))U[u]=xm(X,x,u);continue}let M=xm(X,x,u);if(M!==X)T=!0;if(j===u&&j in U&&R_(U[j])&&!R_(M))continue;U[j]=M}K[z]=U}C[N]=K}return{sandboxMap:C,changed:T}}async function rT(_,x,u){let T=await n`
1029
+ `.execute(_)}}async function HP(_){}var du={};m(du,{up:()=>MP,down:()=>BP});import{sql as F_}from"kysely";async function MP(_){await _.schema.createTable("thread_message_parts").addColumn("id","text",(x)=>x.primaryKey()).addColumn("seq","integer",(x)=>x.notNull()).addColumn("org_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(x)=>x.notNull()).addColumn("message_id","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull()).addColumn("payload","jsonb",(x)=>x.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(x)=>x.notNull()).execute(),await F_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await F_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await F_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await F_`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(_),await _.schema.alterTable("threads").addColumn("message_storage_version","integer",(x)=>x.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function BP(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var su={};m(su,{up:()=>GP,down:()=>nP});async function GP(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function nP(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var bu={};m(bu,{up:()=>yP,down:()=>fP});async function yP(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function fP(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var _m={};m(_m,{up:()=>OP,down:()=>AP});async function OP(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function AP(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var xm={};m(xm,{up:()=>SP,down:()=>IP});async function SP(_){await _.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await _.schema.alterTable("threads").addColumn("is_observation","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.createTable("thread_observations").addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(x)=>x.notNull()).addColumn("last_observed_at","text",(x)=>x.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function IP(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var um={};m(um,{up:()=>wP,down:()=>VP});async function wP(_){await _.schema.dropTable("thread_observations").ifExists().execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function VP(_){await _.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await _.schema.alterTable("threads").addColumn("is_observation","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.createTable("thread_observations").addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(x)=>x.notNull()).addColumn("last_observed_at","text",(x)=>x.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var Cm={};m(Cm,{up:()=>pP,down:()=>iP});import{sql as n}from"kysely";var R="cluster",Y="agent-sandbox";function q(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function mm(_,x,u){if(!q(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function R_(_){if(!q(_))return!1;if(typeof _.sandboxHandle!=="string")return!1;if(_.previewUrl!==null&&typeof _.previewUrl!=="string")return!1;if(_.sandboxApiUrl!==void 0&&_.sandboxApiUrl!==null&&typeof _.sandboxApiUrl!=="string")return!1;if(_.sandboxProviderKind!==void 0&&_.sandboxProviderKind!==R&&_.sandboxProviderKind!==Y&&_.sandboxProviderKind!=="user-desktop")return!1;if(_.createdAt!==void 0&&typeof _.createdAt!=="number")return!1;if(_.startedWith!==void 0){if(!q(_.startedWith))return!1;for(let x of["packageManager","port","path"]){let u=_.startedWith[x];if(u!==void 0&&u!==null&&typeof u!=="string")return!1}}return!0}function kP(_,x,u){if(!q(_))return null;let T=!1,C={};for(let[K,E]of Object.entries(_)){if(!q(E)){C[K]=E;continue}let N={};for(let[z,$]of Object.entries(E)){if(!q($)){N[z]=$;continue}let U={};for(let[j,X]of Object.entries($)){if(j===x){if(T=!0,!(u in $))U[u]=mm(X,x,u);else if(!R_($[u])&&R_(X))U[u]=mm(X,x,u);continue}let M=mm(X,x,u);if(M!==X)T=!0;if(j===u&&j in U&&R_(U[j])&&!R_(M))continue;U[j]=M}N[z]=U}C[K]=N}return{sandboxMap:C,changed:T}}async function lT(_,x,u){let T=await n`
1020
1030
  SELECT id, metadata FROM connections
1021
1031
  WHERE connection_type = 'VIRTUAL'
1022
1032
  AND metadata IS NOT NULL
1023
1033
  AND metadata LIKE ${"%"+x+"%"}
1024
- `.execute(_);for(let C of T.rows){if(!C.metadata)continue;let N;try{N=JSON.parse(C.metadata)}catch{continue}let E=SP(N.sandboxMap,x,u);if(!E?.changed)continue;N.sandboxMap=E.sandboxMap,await n`
1034
+ `.execute(_);for(let C of T.rows){if(!C.metadata)continue;let K;try{K=JSON.parse(C.metadata)}catch{continue}let E=kP(K.sandboxMap,x,u);if(!E?.changed)continue;K.sandboxMap=E.sandboxMap,await n`
1025
1035
  UPDATE connections
1026
- SET metadata = ${JSON.stringify(N)}
1036
+ SET metadata = ${JSON.stringify(K)}
1027
1037
  WHERE id = ${C.id}
1028
- `.execute(_)}}async function IP(_){await n`
1038
+ `.execute(_)}}async function pP(_){await n`
1029
1039
  UPDATE threads
1030
1040
  SET sandbox_provider_kind = ${Y}
1031
1041
  WHERE sandbox_provider_kind = ${R}
@@ -1054,7 +1064,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1054
1064
  UPDATE sandbox_runner_state
1055
1065
  SET sandbox_provider_kind = ${Y}
1056
1066
  WHERE sandbox_provider_kind = ${R}
1057
- `.execute(_),await rT(_,R,Y)}async function wP(_){await n`
1067
+ `.execute(_),await lT(_,R,Y)}async function iP(_){await n`
1058
1068
  UPDATE threads
1059
1069
  SET sandbox_provider_kind = ${R}
1060
1070
  WHERE sandbox_provider_kind = ${Y}
@@ -1083,7 +1093,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1083
1093
  UPDATE sandbox_runner_state
1084
1094
  SET sandbox_provider_kind = ${R}
1085
1095
  WHERE sandbox_provider_kind = ${Y}
1086
- `.execute(_),await rT(_,Y,R)}var mm={};m(mm,{up:()=>VP,down:()=>kP});import{sql as S}from"kysely";async function VP(_){await S`CREATE SEQUENCE IF NOT EXISTS org_fs_entry_seq`.execute(_),await _.schema.createTable("org_fs_entry").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("volume","text",(x)=>x.notNull()).addColumn("path","text",(x)=>x.notNull()).addColumn("parent","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull().check(S`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(S`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("org_fs_entry_pk",["organization_id","volume","path"]).execute(),await _.schema.createIndex("idx_org_fs_entry_changes").on("org_fs_entry").columns(["organization_id","volume","seq"]).execute(),await S`
1096
+ `.execute(_),await lT(_,Y,R)}var Tm={};m(Tm,{up:()=>tP,down:()=>vP});import{sql as S}from"kysely";async function tP(_){await S`CREATE SEQUENCE IF NOT EXISTS org_fs_entry_seq`.execute(_),await _.schema.createTable("org_fs_entry").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("volume","text",(x)=>x.notNull()).addColumn("path","text",(x)=>x.notNull()).addColumn("parent","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull().check(S`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(S`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(S`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("org_fs_entry_pk",["organization_id","volume","path"]).execute(),await _.schema.createIndex("idx_org_fs_entry_changes").on("org_fs_entry").columns(["organization_id","volume","seq"]).execute(),await S`
1087
1097
  CREATE INDEX idx_org_fs_entry_parent
1088
1098
  ON org_fs_entry (organization_id, volume, parent)
1089
1099
  WHERE deleted_at IS NULL
@@ -1091,7 +1101,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1091
1101
  CREATE INDEX idx_org_fs_entry_usage
1092
1102
  ON org_fs_entry (organization_id, volume, size)
1093
1103
  WHERE kind = 'file' AND deleted_at IS NULL
1094
- `.execute(_)}async function kP(_){await _.schema.dropTable("org_fs_entry").execute(),await S`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(_)}var Cm={};m(Cm,{up:()=>pP,down:()=>iP});async function pP(_){await _.schema.alterTable("automations").addColumn("tools","text").execute()}async function iP(_){await _.schema.alterTable("automations").dropColumn("tools").execute()}var Tm={};m(Tm,{up:()=>tP,down:()=>vP});import{sql as eT}from"kysely";async function tP(_){await eT`
1104
+ `.execute(_)}async function vP(_){await _.schema.dropTable("org_fs_entry").execute(),await S`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(_)}var Km={};m(Km,{up:()=>qP,down:()=>gP});async function qP(_){await _.schema.alterTable("automations").addColumn("tools","text").execute()}async function gP(_){await _.schema.alterTable("automations").dropColumn("tools").execute()}var Nm={};m(Nm,{up:()=>cP,down:()=>hP});import{sql as dT}from"kysely";async function cP(_){await dT`
1095
1105
  INSERT INTO "organization" (id, name, slug, "createdAt")
1096
1106
  SELECT
1097
1107
  'org_orgfs_public_skills',
@@ -1105,13 +1115,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1105
1115
  END,
1106
1116
  now()
1107
1117
  ON CONFLICT (id) DO NOTHING
1108
- `.execute(_)}async function vP(_){await eT`
1118
+ `.execute(_)}async function hP(_){await dT`
1109
1119
  DELETE FROM "organization" WHERE id = 'org_orgfs_public_skills'
1110
- `.execute(_)}var Nm={};m(Nm,{up:()=>qP,down:()=>gP});async function qP(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function gP(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var Km={};m(Km,{up:()=>cP,down:()=>hP});import{sql as lT}from"kysely";async function cP(_){await lT`DROP INDEX IF EXISTS idx_tmp_run_seq`.execute(_)}async function hP(_){await lT`CREATE UNIQUE INDEX IF NOT EXISTS idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_)}var Em={};m(Em,{up:()=>aP,down:()=>rP});import{sql as oP}from"kysely";async function aP(_){await oP`
1120
+ `.execute(_)}var Em={};m(Em,{up:()=>oP,down:()=>aP});async function oP(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function aP(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var zm={};m(zm,{up:()=>rP,down:()=>eP});import{sql as sT}from"kysely";async function rP(_){await sT`DROP INDEX IF EXISTS idx_tmp_run_seq`.execute(_)}async function eP(_){await sT`CREATE UNIQUE INDEX IF NOT EXISTS idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_)}var Pm={};m(Pm,{up:()=>dP,down:()=>sP});import{sql as lP}from"kysely";async function dP(_){await lP`
1111
1121
  UPDATE downstream_tokens
1112
1122
  SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
1113
1123
  WHERE "expiresAt" IS NULL
1114
- `.execute(_)}async function rP(_){}var zm={};m(zm,{up:()=>eP,down:()=>lP});async function eP(_){await _.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function lP(_){await _.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var Pm={};m(Pm,{up:()=>dP,down:()=>sP});async function dP(_){await _.schema.alterTable("org_file_configs").addColumn("credential_type","text",(x)=>x.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function sP(_){await _.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var $m={};m($m,{up:()=>bP,down:()=>_$});async function bP(_){await _.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await _.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function _$(_){await _.schema.alterTable("threads").dropColumn("failure_kind").execute(),await _.schema.alterTable("threads").dropColumn("failure_reason").execute()}var Um={};m(Um,{up:()=>x$,down:()=>u$});async function x$(_){await _.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function u$(_){await _.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Jm={};m(Jm,{up:()=>m$,down:()=>C$});async function m$(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}async function C$(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}var Xm={};m(Xm,{up:()=>T$,down:()=>N$});import{sql as dT}from"kysely";async function T$(_){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(dT`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(dT`now()`)).execute(),await _.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function N$(_){await _.schema.dropTable("org_sites").execute()}var Qm={};m(Qm,{up:()=>K$,down:()=>E$});async function K$(_){await _.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function E$(_){await _.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var jm={};m(jm,{up:()=>z$,down:()=>P$});import{sql as Z}from"kysely";async function z$(_){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`
1124
+ `.execute(_)}async function sP(_){}var $m={};m($m,{up:()=>bP,down:()=>_$});async function bP(_){await _.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function _$(_){await _.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var Um={};m(Um,{up:()=>x$,down:()=>u$});async function x$(_){await _.schema.alterTable("org_file_configs").addColumn("credential_type","text",(x)=>x.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function u$(_){await _.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var Jm={};m(Jm,{up:()=>m$,down:()=>C$});async function m$(_){await _.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await _.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function C$(_){await _.schema.alterTable("threads").dropColumn("failure_kind").execute(),await _.schema.alterTable("threads").dropColumn("failure_reason").execute()}var Xm={};m(Xm,{up:()=>T$,down:()=>K$});async function T$(_){await _.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function K$(_){await _.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Qm={};m(Qm,{up:()=>N$,down:()=>E$});async function N$(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}async function E$(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}var jm={};m(jm,{up:()=>z$,down:()=>P$});import{sql as bT}from"kysely";async function z$(_){await _.schema.createTable("org_sites").addColumn("slug","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(x)=>x.notNull().defaultTo("deco-import")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(bT`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(bT`now()`)).execute(),await _.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function P$(_){await _.schema.dropTable("org_sites").execute()}var Wm={};m(Wm,{up:()=>$$,down:()=>U$});async function $$(_){await _.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function U$(_){await _.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var Zm={};m(Zm,{up:()=>J$,down:()=>X$});import{sql as Z}from"kysely";async function J$(_){await _.schema.alterTable("organization_domains").addColumn("id","text").addColumn("join_mode","text").addColumn("verification_status","text").addColumn("verification_method","text").addColumn("verification_token","text").addColumn("verified_at","timestamptz").execute(),await Z`
1115
1125
  UPDATE organization_domains
1116
1126
  SET
1117
1127
  id = gen_random_uuid()::text,
@@ -1120,18 +1130,18 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1120
1130
  verification_method = 'email',
1121
1131
  verified_at = created_at
1122
1132
  WHERE id IS NULL
1123
- `.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await _.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function P$(_){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`
1133
+ `.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await _.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function X$(_){await _.schema.dropIndex("organization_domains_org_domain_idx").ifExists().execute(),await _.schema.alterTable("organization_domains").addColumn("auto_join_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await Z`
1124
1134
  UPDATE organization_domains
1125
1135
  SET auto_join_enabled = (join_mode = 'auto')
1126
- `.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var Wm={};m(Wm,{up:()=>$$,down:()=>U$});import{sql as Y_}from"kysely";async function $$(_){await _.schema.createTable("organization_join_requests").addColumn("id","text",(x)=>x.primaryKey().defaultTo(Y_`gen_random_uuid()::text`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("decided_by","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("decided_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(Y_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Y_`now()`)).execute(),await Y_`
1136
+ `.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var Dm={};m(Dm,{up:()=>Q$,down:()=>j$});import{sql as Y_}from"kysely";async function Q$(_){await _.schema.createTable("organization_join_requests").addColumn("id","text",(x)=>x.primaryKey().defaultTo(Y_`gen_random_uuid()::text`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("decided_by","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("decided_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(Y_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Y_`now()`)).execute(),await Y_`
1127
1137
  CREATE UNIQUE INDEX organization_join_requests_pending_unique
1128
1138
  ON organization_join_requests (organization_id, user_id)
1129
1139
  WHERE status = 'pending'
1130
- `.execute(_),await _.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function U$(_){await _.schema.dropTable("organization_join_requests").execute()}var Zm={};m(Zm,{up:()=>J$,down:()=>X$});async function J$(_){await _.schema.alterTable("org_fs_entry").addColumn("read_public","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function X$(_){await _.schema.alterTable("org_fs_entry").dropColumn("read_public").execute()}var Lm={};m(Lm,{up:()=>Q$,down:()=>j$});async function Q$(_){await _.schema.alterTable("org_fs_entry").addColumn("share_password_hash","text").addColumn("share_secret","text").execute()}async function j$(_){await _.schema.alterTable("org_fs_entry").dropColumn("share_password_hash").dropColumn("share_secret").execute()}var Rm={};m(Rm,{up:()=>L$,splitWebResearchTier:()=>Fm,down:()=>D$,__testing:()=>Z$});function W$(_){return _.toLowerCase().replace(/[^a-z0-9]/g,"").includes("deepresearch")}function Dm(_){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 Fm(_){if(!_||Dm(_))return _;let x=_.tiers??{},u=x.web_research??null,{web_research:T,...C}=x,N=null,E=null;if(u)if(W$(u.modelId))E=u;else N=u;return{..._,tiers:{...C,web_search:N,deep_research:E}}}var Z$={splitWebResearchTier:Fm,isAlreadySplit:Dm};async function L$(_){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(Dm(T))continue;let C=Fm(T);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(C)}).where("organizationId","=",u.organizationId).execute()}}async function D$(_){throw Error("122-split-web-research-tier is not reversible. Restore from snapshot.")}var Ym={};m(Ym,{up:()=>F$,down:()=>R$});import{sql as u_}from"kysely";async function F$(_){await _.schema.createTable("connection_workload_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(x)=>x.notNull().unique()).addColumn("token_prefix","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull().defaultTo("default")).addColumn("revoked_at","timestamptz").addColumn("last_used_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_workload_tokens_subject").on("connection_workload_tokens").columns(["organization_id","subject_connection_id"]).execute(),await u_`
1140
+ `.execute(_),await _.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function j$(_){await _.schema.dropTable("organization_join_requests").execute()}var Lm={};m(Lm,{up:()=>W$,down:()=>Z$});async function W$(_){await _.schema.alterTable("org_fs_entry").addColumn("read_public","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function Z$(_){await _.schema.alterTable("org_fs_entry").dropColumn("read_public").execute()}var Fm={};m(Fm,{up:()=>D$,down:()=>L$});async function D$(_){await _.schema.alterTable("org_fs_entry").addColumn("share_password_hash","text").addColumn("share_secret","text").execute()}async function L$(_){await _.schema.alterTable("org_fs_entry").dropColumn("share_password_hash").dropColumn("share_secret").execute()}var Hm={};m(Hm,{up:()=>Y$,splitWebResearchTier:()=>Ym,down:()=>H$,__testing:()=>R$});function F$(_){return _.toLowerCase().replace(/[^a-z0-9]/g,"").includes("deepresearch")}function Rm(_){if(!_||typeof _!=="object")return!1;let x=_.tiers;if(!x||typeof x!=="object")return!1;return"web_search"in x||"deep_research"in x}function Ym(_){if(!_||Rm(_))return _;let x=_.tiers??{},u=x.web_research??null,{web_research:T,...C}=x,K=null,E=null;if(u)if(F$(u.modelId))E=u;else K=u;return{..._,tiers:{...C,web_search:K,deep_research:E}}}var R$={splitWebResearchTier:Ym,isAlreadySplit:Rm};async function Y$(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let u of x){if(!u.simple_mode)continue;let T=typeof u.simple_mode==="string"?JSON.parse(u.simple_mode):u.simple_mode;if(Rm(T))continue;let C=Ym(T);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(C)}).where("organizationId","=",u.organizationId).execute()}}async function H$(_){throw Error("122-split-web-research-tier is not reversible. Restore from snapshot.")}var Mm={};m(Mm,{up:()=>M$,down:()=>B$});import{sql as u_}from"kysely";async function M$(_){await _.schema.createTable("connection_workload_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(x)=>x.notNull().unique()).addColumn("token_prefix","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull().defaultTo("default")).addColumn("revoked_at","timestamptz").addColumn("last_used_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_workload_tokens_subject").on("connection_workload_tokens").columns(["organization_id","subject_connection_id"]).execute(),await u_`
1131
1141
  CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
1132
1142
  ON connection_workload_tokens (organization_id, subject_connection_id, name)
1133
1143
  WHERE revoked_at IS NULL
1134
- `.execute(_),await _.schema.createTable("connection_credential_grants").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function R$(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Hm={};m(Hm,{up:()=>Y$,down:()=>H$});async function Y$(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function H$(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var Mm={};m(Mm,{up:()=>M$,down:()=>B$});import{sql as k}from"kysely";async function M$(_){await k`
1144
+ `.execute(_),await _.schema.createTable("connection_credential_grants").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(u_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function B$(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Bm={};m(Bm,{up:()=>G$,down:()=>n$});async function G$(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function n$(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var Gm={};m(Gm,{up:()=>y$,down:()=>f$});import{sql as k}from"kysely";async function y$(_){await k`
1135
1145
  CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
1136
1146
  RETURNS jsonb AS $fn$
1137
1147
  BEGIN
@@ -1190,7 +1200,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1190
1200
  BEFORE INSERT ON connection_aggregations
1191
1201
  FOR EACH ROW
1192
1202
  EXECUTE FUNCTION enforce_repo_github_child_single_parent();
1193
- `.execute(_)}async function B$(_){await k`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await k`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_),await k`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(_)}var Gm={};m(Gm,{up:()=>G$,down:()=>n$});import{sql as Bm}from"kysely";async function G$(_){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(Bm`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Bm`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(Bm`false`)).execute()}async function n$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var nm={};m(nm,{up:()=>y$,down:()=>f$});async function y$(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function f$(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var ym={};m(ym,{up:()=>O$,down:()=>A$});async function O$(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function A$(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var fm={};m(fm,{up:()=>S$,down:()=>I$});async function S$(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function I$(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var Om={};m(Om,{up:()=>V$,down:()=>k$});import{sql as w$}from"kysely";async function V$(_){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(w$`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 k$(_){await _.schema.dropTable("task_board_item_threads").execute()}var Am={};m(Am,{up:()=>p$,down:()=>i$});async function p$(_){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 i$(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var Sm={};m(Sm,{up:()=>v$,down:()=>q$});import{sql as t$}from"kysely";async function v$(_){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(t$`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 q$(_){await _.schema.dropTable("task_board_item_prs").execute()}var Im={};m(Im,{up:()=>c$,down:()=>h$});import{sql as g$}from"kysely";async function c$(_){await g$`
1203
+ `.execute(_)}async function f$(_){await k`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await k`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_),await k`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(_)}var ym={};m(ym,{up:()=>O$,down:()=>A$});import{sql as nm}from"kysely";async function O$(_){await _.schema.createTable("task_board_items").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("status","text",(x)=>x.notNull().defaultTo("triage")).addColumn("priority","text",(x)=>x.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(nm`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(nm`now()`)).execute(),await _.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(nm`false`)).execute()}async function A$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var fm={};m(fm,{up:()=>S$,down:()=>I$});async function S$(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function I$(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var Om={};m(Om,{up:()=>w$,down:()=>V$});async function w$(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function V$(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var Am={};m(Am,{up:()=>k$,down:()=>p$});async function k$(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function p$(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var Sm={};m(Sm,{up:()=>t$,down:()=>v$});import{sql as i$}from"kysely";async function t$(_){await _.schema.createTable("task_board_item_threads").addColumn("task_board_item_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(i$`now()`)).addPrimaryKeyConstraint("task_board_item_threads_pkey",["task_board_item_id","thread_id"]).execute(),await _.schema.createIndex("task_board_item_threads_item_idx").on("task_board_item_threads").columns(["organization_id","task_board_item_id"]).execute(),await _.schema.createIndex("task_board_item_threads_thread_idx").on("task_board_item_threads").column("thread_id").execute()}async function v$(_){await _.schema.dropTable("task_board_item_threads").execute()}var Im={};m(Im,{up:()=>q$,down:()=>g$});async function q$(_){await _.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_thread_id_fkey",["thread_id"],"threads",["id"],(x)=>x.onDelete("cascade")).execute()}async function g$(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var wm={};m(wm,{up:()=>h$,down:()=>o$});import{sql as c$}from"kysely";async function h$(_){await _.schema.createTable("task_board_item_prs").addColumn("task_board_item_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("url","text",(x)=>x.notNull()).addColumn("pr_number","integer",(x)=>x.notNull()).addColumn("repo_owner","text",(x)=>x.notNull()).addColumn("repo_name","text",(x)=>x.notNull()).addColumn("connection_id","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(c$`now()`)).addPrimaryKeyConstraint("task_board_item_prs_pkey",["task_board_item_id","url"]).execute(),await _.schema.createIndex("task_board_item_prs_item_idx").on("task_board_item_prs").columns(["organization_id","task_board_item_id"]).execute()}async function o$(_){await _.schema.dropTable("task_board_item_prs").execute()}var Vm={};m(Vm,{up:()=>r$,down:()=>e$});import{sql as a$}from"kysely";async function r$(_){await a$`
1194
1204
  DELETE FROM member
1195
1205
  WHERE id IN (
1196
1206
  SELECT id FROM (
@@ -1209,38 +1219,38 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1209
1219
  ) ranked
1210
1220
  WHERE ranked.rn > 1
1211
1221
  )
1212
- `.execute(_)}async function h$(_){}var wm={};m(wm,{up:()=>o$,down:()=>a$});async function o$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function a$(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var Vm={};m(Vm,{up:()=>r$,down:()=>e$});async function r$(_){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 e$(_){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 km={};m(km,{up:()=>d$,down:()=>s$});import{sql as l$}from"kysely";async function d$(_){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(l$`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 s$(_){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 pm={};m(pm,{up:()=>_U,down:()=>xU});import{sql as b$}from"kysely";async function _U(_){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(b$`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 xU(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var im={};m(im,{up:()=>uU,down:()=>mU});import{sql as H_}from"kysely";async function uU(_){await _.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(x)=>x.notNull()).addColumn("branch","text",(x)=>x.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(x)=>x.notNull().defaultTo("running")).addColumn("status","text",(x)=>x.notNull().defaultTo("provisioning")).addColumn("generation","integer",(x)=>x.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("last_started_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(H_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(H_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",H_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",H_`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await _.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await _.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function mU(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var tm={};m(tm,{up:()=>CU,down:()=>TU});import{sql as M_}from"kysely";async function CU(_){await _.schema.createTable("organization_billing").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("legacy","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("billing_mode","text",(x)=>x.notNull().defaultTo("self_serve")).addColumn("status","text",(x)=>x.notNull().defaultTo("none")).addColumn("stripe_customer_id","text").addColumn("stripe_subscription_id","text").addColumn("current_period_end","timestamptz").addColumn("included_report_url","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).execute(),await _.schema.createTable("organization_paid_seat").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await M_`
1222
+ `.execute(_)}async function e$(_){}var km={};m(km,{up:()=>l$,down:()=>d$});async function l$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function d$(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var pm={};m(pm,{up:()=>s$,down:()=>b$});async function s$(_){await _.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(x)=>x.onDelete("cascade")).execute(),await _.schema.alterTable("task_board_item_prs").addForeignKeyConstraint("task_board_item_prs_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(x)=>x.onDelete("cascade")).execute()}async function b$(_){await _.schema.alterTable("task_board_item_prs").dropConstraint("task_board_item_prs_task_board_item_id_fkey").execute(),await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_task_board_item_id_fkey").execute()}var im={};m(im,{up:()=>xU,down:()=>uU});import{sql as _U}from"kysely";async function xU(_){await _.schema.createTable("task_board_import_runs").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("run_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(_U`now()`)).addPrimaryKeyConstraint("task_board_import_runs_pkey",["organization_id","run_id"]).execute(),await _.schema.alterTable("task_board_items").addColumn("external_key","text").execute(),await _.schema.createIndex("idx_task_board_items_org_external_key").on("task_board_items").columns(["organization_id","external_key"]).execute()}async function uU(_){await _.schema.dropIndex("idx_task_board_items_org_external_key").execute(),await _.schema.alterTable("task_board_items").dropColumn("external_key").execute(),await _.schema.dropTable("task_board_import_runs").execute()}var tm={};m(tm,{up:()=>CU,down:()=>TU});import{sql as mU}from"kysely";async function CU(_){await _.schema.createTable("agent_sandbox_runner_state").addColumn("project_ref","text",(x)=>x.notNull()).addColumn("sandbox_provider_kind","text",(x)=>x.notNull()).addColumn("handle","text",(x)=>x.notNull()).addColumn("state","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(mU`now()`)).addPrimaryKeyConstraint("agent_sandbox_runner_state_pkey",["project_ref","sandbox_provider_kind"]).execute(),await _.schema.createIndex("agent_sandbox_runner_state_handle_idx").on("agent_sandbox_runner_state").column("handle").execute()}async function TU(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var vm={};m(vm,{up:()=>KU,down:()=>NU});import{sql as H_}from"kysely";async function KU(_){await _.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(x)=>x.notNull()).addColumn("branch","text",(x)=>x.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(x)=>x.notNull().defaultTo("running")).addColumn("status","text",(x)=>x.notNull().defaultTo("provisioning")).addColumn("generation","integer",(x)=>x.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("last_started_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(H_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(H_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",H_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",H_`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await _.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await _.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function NU(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var qm={};m(qm,{up:()=>EU,down:()=>zU});import{sql as M_}from"kysely";async function EU(_){await _.schema.createTable("organization_billing").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("legacy","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("billing_mode","text",(x)=>x.notNull().defaultTo("self_serve")).addColumn("status","text",(x)=>x.notNull().defaultTo("none")).addColumn("stripe_customer_id","text").addColumn("stripe_subscription_id","text").addColumn("current_period_end","timestamptz").addColumn("included_report_url","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).execute(),await _.schema.createTable("organization_paid_seat").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(M_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await M_`
1213
1223
  insert into organization_billing (organization_id, legacy)
1214
1224
  select id, true from organization
1215
1225
  on conflict (organization_id) do nothing
1216
- `.execute(_)}async function TU(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var vm={};m(vm,{up:()=>NU,down:()=>KU});import{sql as sT}from"kysely";async function NU(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(sT`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(sT`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function KU(_){await _.schema.dropTable("seat_change_log").execute()}var qm={};m(qm,{up:()=>EU,down:()=>zU});async function EU(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function zU(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var gm={};m(gm,{up:()=>PU,down:()=>$U});import{sql as bT}from"kysely";async function PU(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await bT`
1226
+ `.execute(_)}async function zU(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var gm={};m(gm,{up:()=>PU,down:()=>$U});import{sql as _K}from"kysely";async function PU(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(_K`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(_K`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function $U(_){await _.schema.dropTable("seat_change_log").execute()}var cm={};m(cm,{up:()=>UU,down:()=>JU});async function UU(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function JU(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var hm={};m(hm,{up:()=>XU,down:()=>QU});import{sql as xK}from"kysely";async function XU(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await xK`
1217
1227
  create unique index organization_billing_stripe_subscription_id_uq
1218
1228
  on organization_billing (stripe_subscription_id)
1219
1229
  where stripe_subscription_id is not null
1220
- `.execute(_)}async function $U(_){await bT`drop index organization_billing_stripe_subscription_id_uq`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("last_stripe_event_at").execute()}var cm={};m(cm,{up:()=>UU,down:()=>JU});async function UU(_){await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute()}async function JU(_){await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute()}var hm={};m(hm,{up:()=>XU,down:()=>QU});import{sql as _N}from"kysely";async function XU(_){await _N`
1230
+ `.execute(_)}async function QU(_){await xK`drop index organization_billing_stripe_subscription_id_uq`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("last_stripe_event_at").execute()}var om={};m(om,{up:()=>jU,down:()=>WU});async function jU(_){await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute()}async function WU(_){await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute()}var am={};m(am,{up:()=>ZU,down:()=>DU});import{sql as uK}from"kysely";async function ZU(_){await uK`
1221
1231
  create index idx_org_billing_benefits_pending
1222
1232
  on organization_billing (updated_at)
1223
1233
  where benefits_reference_id is not null
1224
- `.execute(_)}async function QU(_){await _N`drop index if exists idx_org_billing_benefits_pending`.execute(_)}var om={};m(om,{up:()=>jU,down:()=>WU});import{sql as xN}from"kysely";async function jU(_){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(xN`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(xN`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 WU(_){await _.schema.dropTable("user_model_preferences").execute()}var am={};m(am,{up:()=>ZU,down:()=>LU});async function ZU(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function LU(_){await _.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var rm={};m(rm,{up:()=>DU,down:()=>FU});async function DU(_){await _.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await _.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function FU(_){}var em={};m(em,{up:()=>RU,down:()=>YU});import{sql as uN}from"kysely";async function RU(_){await _.schema.alterTable("organization_settings").addColumn("flags","jsonb").execute(),await uN`
1234
+ `.execute(_)}async function DU(_){await uK`drop index if exists idx_org_billing_benefits_pending`.execute(_)}var rm={};m(rm,{up:()=>LU,down:()=>FU});import{sql as mK}from"kysely";async function LU(_){await _.schema.createTable("user_model_preferences").addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("tiers","jsonb",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(mK`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(mK`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await _.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function FU(_){await _.schema.dropTable("user_model_preferences").execute()}var em={};m(em,{up:()=>RU,down:()=>YU});async function RU(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function YU(_){await _.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var lm={};m(lm,{up:()=>HU,down:()=>MU});async function HU(_){await _.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await _.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function MU(_){}var dm={};m(dm,{up:()=>BU,down:()=>GU});import{sql as CK}from"kysely";async function BU(_){await _.schema.alterTable("organization_settings").addColumn("flags","jsonb").execute(),await CK`
1225
1235
  UPDATE organization_settings
1226
1236
  SET flags = jsonb_build_object('reports_only', reports_only)
1227
1237
  WHERE reports_only IS NOT NULL
1228
- `.execute(_),await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function YU(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute(),await uN`
1238
+ `.execute(_),await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function GU(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute(),await CK`
1229
1239
  UPDATE organization_settings
1230
1240
  SET reports_only = (flags ->> 'reports_only')::boolean
1231
1241
  WHERE flags ? 'reports_only'
1232
- `.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var lm={};m(lm,{up:()=>MU,down:()=>BU});import{sql as HU}from"kysely";async function MU(_){await _.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(x)=>x.notNull().defaultTo(0)).execute(),await HU`
1242
+ `.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var sm={};m(sm,{up:()=>yU,down:()=>fU});import{sql as nU}from"kysely";async function yU(_){await _.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(x)=>x.notNull().defaultTo(0)).execute(),await nU`
1233
1243
  update task_board_items
1234
1244
  set sort_order = -extract(epoch from created_at)
1235
- `.execute(_)}async function BU(_){await _.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var dm={};m(dm,{up:()=>GU,down:()=>nU,ACTIONS:()=>mN});import{sql as B_}from"kysely";var mN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function GU(_){await _.schema.createTable("task_board_activity").addColumn("id","text",(x)=>x.primaryKey()).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("action","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb").addColumn("occurred_at","timestamptz",(x)=>x.notNull().defaultTo(B_`now()`)).addCheckConstraint("chk_task_board_activity_action",B_`action IN (${B_.join(mN.map((x)=>B_.lit(x)))})`).execute(),await _.schema.createIndex("idx_task_board_activity_item").on("task_board_activity").columns(["task_board_item_id","occurred_at"]).execute()}async function nU(_){await _.schema.dropIndex("idx_task_board_activity_item").execute(),await _.schema.dropTable("task_board_activity").execute()}var bm={};m(bm,{up:()=>yU,down:()=>fU,ACTIONS:()=>sm});import{sql as m_}from"kysely";var sm=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function yU(_){await _.schema.alterTable("organization_tags").addColumn("color","text").execute(),await _.schema.createTable("task_board_item_tags").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(m_`now()`)).addPrimaryKeyConstraint("task_board_item_tags_pkey",["task_board_item_id","id"]).execute(),await _.schema.createIndex("idx_task_board_item_tags_tag").on("task_board_item_tags").columns(["id"]).execute(),await CN(_,sm)}async function fU(_){await CN(_,sm.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 CN(_,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 xC={};m(xC,{up:()=>AU,down:()=>SU});import{sql as TN}from"kysely";function _C(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function OU(_){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 _C(T)}catch{return _C(_.connection_url)}if(_.title)return _C(_.title);return _.id}async function AU(_){let x=await TN`
1245
+ `.execute(_)}async function fU(_){await _.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var bm={};m(bm,{up:()=>OU,down:()=>AU,ACTIONS:()=>TK});import{sql as B_}from"kysely";var TK=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function OU(_){await _.schema.createTable("task_board_activity").addColumn("id","text",(x)=>x.primaryKey()).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("action","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb").addColumn("occurred_at","timestamptz",(x)=>x.notNull().defaultTo(B_`now()`)).addCheckConstraint("chk_task_board_activity_action",B_`action IN (${B_.join(TK.map((x)=>B_.lit(x)))})`).execute(),await _.schema.createIndex("idx_task_board_activity_item").on("task_board_activity").columns(["task_board_item_id","occurred_at"]).execute()}async function AU(_){await _.schema.dropIndex("idx_task_board_activity_item").execute(),await _.schema.dropTable("task_board_activity").execute()}var xC={};m(xC,{up:()=>SU,down:()=>IU,ACTIONS:()=>_C});import{sql as m_}from"kysely";var _C=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function SU(_){await _.schema.alterTable("organization_tags").addColumn("color","text").execute(),await _.schema.createTable("task_board_item_tags").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(m_`now()`)).addPrimaryKeyConstraint("task_board_item_tags_pkey",["task_board_item_id","id"]).execute(),await _.schema.createIndex("idx_task_board_item_tags_tag").on("task_board_item_tags").columns(["id"]).execute(),await KK(_,_C)}async function IU(_){await KK(_,_C.filter((x)=>x!=="tags_changed")),await _.schema.dropIndex("idx_task_board_item_tags_tag").execute(),await _.schema.dropTable("task_board_item_tags").execute(),await _.schema.alterTable("organization_tags").dropColumn("color").execute()}async function KK(_,x){await m_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await m_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${m_.join(x.map((u)=>m_.lit(u)))}))`.execute(_)}var mC={};m(mC,{up:()=>VU,down:()=>kU});import{sql as NK}from"kysely";function uC(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function wU(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),T=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return uC(T)}catch{return uC(_.connection_url)}if(_.title)return uC(_.title);return _.id}async function VU(_){let x=await NK`
1236
1246
  SELECT id, app_name, connection_url, title, slug
1237
1247
  FROM connections
1238
1248
  WHERE connection_type != 'VIRTUAL'
1239
- `.execute(_),u=0;for(let T of x.rows){let C=OU(T);if(C===T.slug)continue;await TN`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 SU(){}var uC={};m(uC,{up:()=>wU,down:()=>VU});import{sql as IU}from"kysely";async function wU(_){await IU`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 VU(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var CC={};m(CC,{up:()=>pU,down:()=>iU,ACTIONS:()=>mC});import{sql as G_}from"kysely";var mC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],kU=new Set(["review_requested","review_approved","review_changes_requested"]);async function pU(_){await NN(_,mC)}async function iU(_){await NN(_,mC.filter((x)=>!kU.has(x)))}async function NN(_,x){await G_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await G_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${G_.join(x.map((u)=>G_.lit(u)))}))`.execute(_)}var TC={};m(TC,{up:()=>vU,down:()=>qU});import{sql as tU}from"kysely";async function vU(_){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(tU`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 qU(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var KC={};m(KC,{up:()=>cU,down:()=>hU,ACTIONS:()=>NC});import{sql as n_}from"kysely";var NC=["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"],gU=new Set(["merge_conflict_resolution"]);async function cU(_){await KN(_,NC)}async function hU(_){await KN(_,NC.filter((x)=>!gU.has(x)))}async function KN(_,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 EC={};m(EC,{up:()=>oU,down:()=>aU});import{sql as C_}from"kysely";async function oU(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await C_`drop index if exists idx_org_billing_benefits_pending`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("billing_mode").execute(),await _.schema.alterTable("organization_billing").dropColumn("legacy").execute(),await _.schema.alterTable("organization_billing").dropColumn("included_report_url").execute(),await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute(),await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}async function aU(_){await _.schema.alterTable("organization_billing").addColumn("legacy","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.alterTable("organization_billing").addColumn("billing_mode","text",(x)=>x.notNull().defaultTo("self_serve")).execute(),await _.schema.alterTable("organization_billing").addColumn("included_report_url","text").execute(),await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute(),await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute(),await C_`
1249
+ `.execute(_),u=0;for(let T of x.rows){let C=wU(T);if(C===T.slug)continue;await NK`UPDATE connections SET slug = ${C} WHERE id = ${T.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function kU(){}var CC={};m(CC,{up:()=>iU,down:()=>tU});import{sql as pU}from"kysely";async function iU(_){await pU`CREATE INDEX idx_tmp_latest_assistant_text ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE role = 'assistant' AND kind = 'text'`.execute(_)}async function tU(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var KC={};m(KC,{up:()=>qU,down:()=>gU,ACTIONS:()=>TC});import{sql as G_}from"kysely";var TC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],vU=new Set(["review_requested","review_approved","review_changes_requested"]);async function qU(_){await EK(_,TC)}async function gU(_){await EK(_,TC.filter((x)=>!vU.has(x)))}async function EK(_,x){await G_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await G_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${G_.join(x.map((u)=>G_.lit(u)))}))`.execute(_)}var NC={};m(NC,{up:()=>hU,down:()=>oU});import{sql as cU}from"kysely";async function hU(_){await _.schema.createTable("task_board_review_claims").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("reviewer","text",(x)=>x.notNull()).addColumn("cycle_at","timestamptz",(x)=>x.notNull()).addColumn("token","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(cU`now()`)).addPrimaryKeyConstraint("task_board_review_claims_pkey",["task_board_item_id","reviewer","cycle_at"]).execute(),await _.schema.createIndex("idx_task_board_review_claims_token").on("task_board_review_claims").columns(["task_board_item_id","token"]).execute()}async function oU(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var zC={};m(zC,{up:()=>rU,down:()=>eU,ACTIONS:()=>EC});import{sql as n_}from"kysely";var EC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution"],aU=new Set(["merge_conflict_resolution"]);async function rU(_){await zK(_,EC)}async function eU(_){await zK(_,EC.filter((x)=>!aU.has(x)))}async function zK(_,x){await n_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await n_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${n_.join(x.map((u)=>n_.lit(u)))}))`.execute(_)}var PC={};m(PC,{up:()=>lU,down:()=>dU});import{sql as C_}from"kysely";async function lU(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await C_`drop index if exists idx_org_billing_benefits_pending`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("billing_mode").execute(),await _.schema.alterTable("organization_billing").dropColumn("legacy").execute(),await _.schema.alterTable("organization_billing").dropColumn("included_report_url").execute(),await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute(),await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}async function dU(_){await _.schema.alterTable("organization_billing").addColumn("legacy","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.alterTable("organization_billing").addColumn("billing_mode","text",(x)=>x.notNull().defaultTo("self_serve")).execute(),await _.schema.alterTable("organization_billing").addColumn("included_report_url","text").execute(),await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute(),await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute(),await C_`
1240
1250
  create index idx_org_billing_benefits_pending
1241
1251
  on organization_billing (updated_at)
1242
1252
  where benefits_reference_id is not null
1243
- `.execute(_),await _.schema.createTable("organization_paid_seat").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pk",["organization_id","user_id"]).execute(),await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(C_`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).execute()}var zC={};m(zC,{up:()=>rU,down:()=>eU});import{sql as y_}from"kysely";async function rU(_){await y_`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await y_`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_)}async function eU(_){await y_`
1253
+ `.execute(_),await _.schema.createTable("organization_paid_seat").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pk",["organization_id","user_id"]).execute(),await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(C_`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).execute()}var $C={};m($C,{up:()=>sU,down:()=>bU});import{sql as y_}from"kysely";async function sU(_){await y_`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await y_`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_)}async function bU(_){await y_`
1244
1254
  CREATE OR REPLACE FUNCTION enforce_repo_github_child_single_parent()
1245
1255
  RETURNS trigger AS $fn$
1246
1256
  BEGIN
@@ -1266,23 +1276,23 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1266
1276
  BEFORE INSERT ON connection_aggregations
1267
1277
  FOR EACH ROW
1268
1278
  EXECUTE FUNCTION enforce_repo_github_child_single_parent();
1269
- `.execute(_)}var PC={};m(PC,{up:()=>lU,down:()=>dU});import{sql as EN}from"kysely";async function lU(_){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(EN`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(EN`now()`)).execute(),await _.schema.createIndex("idx_task_board_comments_item").on("task_board_comments").columns(["task_board_item_id","created_at"]).execute()}async function dU(_){await _.schema.dropIndex("idx_task_board_comments_item").execute(),await _.schema.dropTable("task_board_comments").execute()}var $C={};m($C,{up:()=>sU,down:()=>bU});import{sql as zN}from"kysely";async function sU(_){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(zN`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(zN`now()`)).execute()}async function bU(_){await _.schema.dropTable("subsidized_gateway_keys").ifExists().execute(),await _.schema.dropTable("task_quota_claims").ifExists().execute()}var JC={};m(JC,{up:()=>_J,down:()=>xJ});import{sql as UC}from"kysely";async function _J(_){await _.schema.alterTable("task_quota_claims").addColumn("state","text",(x)=>x.notNull().defaultTo("held").check(UC`state in ('held', 'released')`)).execute(),await _.schema.dropIndex("idx_task_quota_claims_org_period").execute(),await UC`
1279
+ `.execute(_)}var UC={};m(UC,{up:()=>_J,down:()=>xJ});import{sql as PK}from"kysely";async function _J(_){await _.schema.createTable("task_board_comments").addColumn("id","text",(x)=>x.primaryKey()).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("parent_id","text",(x)=>x.references("task_board_comments.id").onDelete("cascade")).addColumn("author_id","text",(x)=>x.notNull()).addColumn("body","text",(x)=>x.notNull()).addColumn("resolved","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(PK`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(PK`now()`)).execute(),await _.schema.createIndex("idx_task_board_comments_item").on("task_board_comments").columns(["task_board_item_id","created_at"]).execute()}async function xJ(_){await _.schema.dropIndex("idx_task_board_comments_item").execute(),await _.schema.dropTable("task_board_comments").execute()}var JC={};m(JC,{up:()=>uJ,down:()=>mJ});import{sql as $K}from"kysely";async function uJ(_){await _.schema.createTable("task_quota_claims").addColumn("task_board_item_id","text",(x)=>x.primaryKey().references("task_board_items.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("period_key","text",(x)=>x.notNull()).addColumn("run_count","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo($K`now()`)).execute(),await _.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await _.schema.createTable("subsidized_gateway_keys").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("encrypted_key","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo($K`now()`)).execute()}async function mJ(_){await _.schema.dropTable("subsidized_gateway_keys").ifExists().execute(),await _.schema.dropTable("task_quota_claims").ifExists().execute()}var QC={};m(QC,{up:()=>CJ,down:()=>TJ});import{sql as XC}from"kysely";async function CJ(_){await _.schema.alterTable("task_quota_claims").addColumn("state","text",(x)=>x.notNull().defaultTo("held").check(XC`state in ('held', 'released')`)).execute(),await _.schema.dropIndex("idx_task_quota_claims_org_period").execute(),await XC`
1270
1280
  create index idx_task_quota_claims_org_period_live
1271
1281
  on task_quota_claims (organization_id, period_key)
1272
1282
  where state <> 'released'
1273
- `.execute(_)}async function xJ(_){await UC`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 XC={};m(XC,{up:()=>uJ,down:()=>mJ});async function uJ(_){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 mJ(_){await _.schema.dropTable("claude_subscriptions").ifExists().execute()}var QC={};m(QC,{up:()=>CJ,down:()=>TJ});async function CJ(_){await _.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function TJ(_){await _.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var jC={};m(jC,{up:()=>NJ,down:()=>KJ});import{sql as PN}from"kysely";async function NJ(_){await _.schema.alterTable("organization_billing").addColumn("free_task_executions","integer",(x)=>x.check(PN`free_task_executions > 0`)).addColumn("monthly_task_executions","integer",(x)=>x.check(PN`monthly_task_executions > 0`)).execute()}async function KJ(_){await _.schema.alterTable("organization_billing").dropColumn("free_task_executions").dropColumn("monthly_task_executions").execute()}var WC={};m(WC,{up:()=>zJ,down:()=>PJ});import{sql as EJ}from"kysely";async function zJ(_){await EJ`
1283
+ `.execute(_)}async function TJ(_){await XC`drop index if exists idx_task_quota_claims_org_period_live`.execute(_),await _.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await _.schema.alterTable("task_quota_claims").dropColumn("state").execute()}var jC={};m(jC,{up:()=>KJ,down:()=>NJ});async function KJ(_){await _.schema.createTable("claude_subscriptions").addColumn("user_id","text",(x)=>x.primaryKey()).addColumn("encrypted_access_token","text",(x)=>x.notNull()).addColumn("expires_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull()).execute()}async function NJ(_){await _.schema.dropTable("claude_subscriptions").ifExists().execute()}var WC={};m(WC,{up:()=>EJ,down:()=>zJ});async function EJ(_){await _.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function zJ(_){await _.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var ZC={};m(ZC,{up:()=>PJ,down:()=>$J});import{sql as UK}from"kysely";async function PJ(_){await _.schema.alterTable("organization_billing").addColumn("free_task_executions","integer",(x)=>x.check(UK`free_task_executions > 0`)).addColumn("monthly_task_executions","integer",(x)=>x.check(UK`monthly_task_executions > 0`)).execute()}async function $J(_){await _.schema.alterTable("organization_billing").dropColumn("free_task_executions").dropColumn("monthly_task_executions").execute()}var DC={};m(DC,{up:()=>JJ,down:()=>XJ});import{sql as UJ}from"kysely";async function JJ(_){await UJ`
1274
1284
  CREATE INDEX idx_task_board_items_pending_review
1275
1285
  ON task_board_items (updated_at, id)
1276
1286
  WHERE status = 'in_review'
1277
1287
  AND assignee_id = 'super-agent'
1278
1288
  AND dismissed_at IS NULL
1279
- `.execute(_)}async function PJ(_){await _.schema.dropIndex("idx_task_board_items_pending_review").execute()}var ZC={};m(ZC,{up:()=>$J,down:()=>UJ});import{sql as $N}from"kysely";async function $J(_){await $N`
1289
+ `.execute(_)}async function XJ(_){await _.schema.dropIndex("idx_task_board_items_pending_review").execute()}var LC={};m(LC,{up:()=>QJ,down:()=>jJ});import{sql as JK}from"kysely";async function QJ(_){await JK`
1280
1290
  ALTER TABLE task_board_items
1281
1291
  ADD COLUMN last_swept_at timestamptz
1282
- `.execute(_)}async function UJ(_){await $N`
1292
+ `.execute(_)}async function jJ(_){await JK`
1283
1293
  ALTER TABLE task_board_items
1284
1294
  DROP COLUMN last_swept_at
1285
- `.execute(_)}var LC={};m(LC,{up:()=>JJ,down:()=>XJ});import{sql as f_}from"kysely";async function JJ(_){await f_`
1295
+ `.execute(_)}var FC={};m(FC,{up:()=>WJ,down:()=>ZJ});import{sql as f_}from"kysely";async function WJ(_){await f_`
1286
1296
  ALTER TABLE task_board_items
1287
1297
  ADD COLUMN retry_at timestamptz,
1288
1298
  ADD COLUMN retry_attempts integer NOT NULL DEFAULT 0
@@ -1290,11 +1300,11 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1290
1300
  CREATE INDEX idx_task_board_items_retry_due
1291
1301
  ON task_board_items (retry_at)
1292
1302
  WHERE retry_at IS NOT NULL
1293
- `.execute(_)}async function XJ(_){await f_`DROP INDEX IF EXISTS idx_task_board_items_retry_due`.execute(_),await f_`
1303
+ `.execute(_)}async function ZJ(_){await f_`DROP INDEX IF EXISTS idx_task_board_items_retry_due`.execute(_),await f_`
1294
1304
  ALTER TABLE task_board_items
1295
1305
  DROP COLUMN retry_at,
1296
1306
  DROP COLUMN retry_attempts
1297
- `.execute(_)}var FC={};m(FC,{up:()=>QJ,down:()=>jJ});import{sql as DC}from"kysely";async function QJ(_){await DC`
1307
+ `.execute(_)}var YC={};m(YC,{up:()=>DJ,down:()=>LJ});import{sql as RC}from"kysely";async function DJ(_){await RC`
1298
1308
  CREATE TABLE org_repo_sync (
1299
1309
  id text PRIMARY KEY DEFAULT gen_random_uuid(),
1300
1310
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -1312,11 +1322,11 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1312
1322
  updated_at timestamptz NOT NULL DEFAULT now(),
1313
1323
  UNIQUE (organization_id, volume)
1314
1324
  )
1315
- `.execute(_),await DC`
1325
+ `.execute(_),await RC`
1316
1326
  CREATE INDEX idx_org_repo_sync_enabled
1317
1327
  ON org_repo_sync (organization_id)
1318
1328
  WHERE enabled
1319
- `.execute(_)}async function jJ(_){await DC`DROP TABLE IF EXISTS org_repo_sync`.execute(_)}var YC={};m(YC,{up:()=>ZJ,down:()=>LJ,ACTIONS:()=>RC});import{sql as O_}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","merge_conflict_resolution","merge_failed"],WJ=new Set(["merge_failed"]);async function ZJ(_){await UN(_,RC)}async function LJ(_){await UN(_,RC.filter((x)=>!WJ.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 HC={};m(HC,{up:()=>DJ,down:()=>FJ});async function DJ(_){await _.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function FJ(_){await _.schema.alterTable("task_board_items").dropColumn("repo").execute()}var MC={};m(MC,{up:()=>RJ,down:()=>YJ});import{sql as g}from"kysely";async function RJ(_){await g`
1329
+ `.execute(_)}async function LJ(_){await RC`DROP TABLE IF EXISTS org_repo_sync`.execute(_)}var MC={};m(MC,{up:()=>RJ,down:()=>YJ,ACTIONS:()=>HC});import{sql as O_}from"kysely";var HC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution","merge_failed"],FJ=new Set(["merge_failed"]);async function RJ(_){await XK(_,HC)}async function YJ(_){await XK(_,HC.filter((x)=>!FJ.has(x)))}async function XK(_,x){await O_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await O_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${O_.join(x.map((u)=>O_.lit(u)))}))`.execute(_)}var BC={};m(BC,{up:()=>HJ,down:()=>MJ});async function HJ(_){await _.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function MJ(_){await _.schema.alterTable("task_board_items").dropColumn("repo").execute()}var GC={};m(GC,{up:()=>BJ,down:()=>GJ});import{sql as g}from"kysely";async function BJ(_){await g`
1320
1330
  CREATE TABLE org_jira_integrations (
1321
1331
  id text PRIMARY KEY DEFAULT gen_random_uuid(),
1322
1332
  organization_id text NOT NULL UNIQUE REFERENCES organization(id) ON DELETE CASCADE,
@@ -1355,7 +1365,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1355
1365
  created_at timestamptz NOT NULL DEFAULT now(),
1356
1366
  UNIQUE (organization_id, jira_comment_id)
1357
1367
  )
1358
- `.execute(_)}async function YJ(_){await g`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await g`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await g`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var BC={};m(BC,{up:()=>MJ,down:()=>BJ});import{sql as HJ}from"kysely";async function MJ(_){await _.schema.alterTable("task_board_items").addColumn("key_seq","integer").execute(),await HJ`
1368
+ `.execute(_)}async function GJ(_){await g`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await g`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await g`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var nC={};m(nC,{up:()=>yJ,down:()=>fJ});import{sql as nJ}from"kysely";async function yJ(_){await _.schema.alterTable("task_board_items").addColumn("key_seq","integer").execute(),await nJ`
1359
1369
  update task_board_items as t
1360
1370
  set key_seq = numbered.seq
1361
1371
  from (
@@ -1368,25 +1378,25 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1368
1378
  from task_board_items
1369
1379
  ) as numbered
1370
1380
  where t.id = numbered.id
1371
- `.execute(_),await _.schema.alterTable("task_board_items").alterColumn("key_seq",(x)=>x.setNotNull()).execute(),await _.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function BJ(_){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 GC={};m(GC,{up:()=>GJ,down:()=>nJ});import{sql as JN}from"kysely";async function GJ(_){await JN`
1381
+ `.execute(_),await _.schema.alterTable("task_board_items").alterColumn("key_seq",(x)=>x.setNotNull()).execute(),await _.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function fJ(_){await _.schema.dropIndex("task_board_items_org_key_seq_unique").on("task_board_items").execute(),await _.schema.alterTable("task_board_items").dropColumn("key_seq").execute()}var yC={};m(yC,{up:()=>OJ,down:()=>AJ});import{sql as QK}from"kysely";async function OJ(_){await QK`
1372
1382
  CREATE INDEX IF NOT EXISTS idx_threads_github_repo_connection_id
1373
1383
  ON threads ((metadata -> 'githubRepo' ->> 'connectionId'))
1374
1384
  WHERE metadata -> 'githubRepo' ->> 'connectionId' IS NOT NULL
1375
- `.execute(_)}async function nJ(_){await JN`DROP INDEX IF EXISTS idx_threads_github_repo_connection_id`.execute(_)}var yC={};m(yC,{up:()=>yJ,down:()=>fJ});import{sql as nC}from"kysely";async function yJ(_){await nC`
1385
+ `.execute(_)}async function AJ(_){await QK`DROP INDEX IF EXISTS idx_threads_github_repo_connection_id`.execute(_)}var OC={};m(OC,{up:()=>SJ,down:()=>IJ});import{sql as fC}from"kysely";async function SJ(_){await fC`
1376
1386
  ALTER TABLE thread_message_parts
1377
1387
  ADD COLUMN IF NOT EXISTS persisted_at timestamptz
1378
- `.execute(_),await nC`
1388
+ `.execute(_),await fC`
1379
1389
  ALTER TABLE thread_message_parts
1380
1390
  ALTER COLUMN persisted_at SET DEFAULT now()
1381
- `.execute(_)}async function fJ(_){await nC`
1391
+ `.execute(_)}async function IJ(_){await fC`
1382
1392
  ALTER TABLE thread_message_parts DROP COLUMN IF EXISTS persisted_at
1383
- `.execute(_)}var fC={};m(fC,{up:()=>OJ,down:()=>AJ});async function OJ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute()}async function AJ(_){await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}var OC={};m(OC,{up:()=>IJ,down:()=>wJ});import{sql as SJ}from"kysely";async function IJ(_){await SJ`
1393
+ `.execute(_)}var AC={};m(AC,{up:()=>wJ,down:()=>VJ});async function wJ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute()}async function VJ(_){await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}var SC={};m(SC,{up:()=>pJ,down:()=>iJ});import{sql as kJ}from"kysely";async function pJ(_){await kJ`
1384
1394
  CREATE INDEX idx_task_board_items_done_sweep
1385
1395
  ON task_board_items (updated_at)
1386
1396
  WHERE status = 'done' AND dismissed_at IS NULL
1387
- `.execute(_)}async function wJ(_){await _.schema.dropIndex("idx_task_board_items_done_sweep").execute()}var AC={};m(AC,{up:()=>VJ,down:()=>kJ,TYPES:()=>XN});import{sql as I}from"kysely";var XN=["created","commented","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"];async function VJ(_){await _.schema.createTable("notification_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("subscribed","boolean",(x)=>x.notNull().defaultTo(!0)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addUniqueConstraint("notification_subscriptions_user_item",["user_id","task_board_item_id"]).execute(),await _.schema.createTable("notifications").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb",(x)=>x.notNull()).addColumn("read_at","timestamptz").addColumn("emailed_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addCheckConstraint("notifications_type_check",I`type IN (${I.join(XN.map((x)=>I.lit(x)))})`).execute(),await I`CREATE INDEX notifications_user_unread ON notifications
1397
+ `.execute(_)}async function iJ(_){await _.schema.dropIndex("idx_task_board_items_done_sweep").execute()}var IC={};m(IC,{up:()=>tJ,down:()=>vJ,TYPES:()=>jK});import{sql as I}from"kysely";var jK=["created","commented","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"];async function tJ(_){await _.schema.createTable("notification_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("subscribed","boolean",(x)=>x.notNull().defaultTo(!0)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addUniqueConstraint("notification_subscriptions_user_item",["user_id","task_board_item_id"]).execute(),await _.schema.createTable("notifications").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb",(x)=>x.notNull()).addColumn("read_at","timestamptz").addColumn("emailed_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(I`now()`)).addCheckConstraint("notifications_type_check",I`type IN (${I.join(jK.map((x)=>I.lit(x)))})`).execute(),await I`CREATE INDEX notifications_user_unread ON notifications
1388
1398
  (user_id, organization_id, created_at DESC) WHERE read_at IS NULL`.execute(_),await I`CREATE INDEX notifications_digest ON notifications
1389
- (created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function kJ(_){await _.schema.dropTable("notifications").execute(),await _.schema.dropTable("notification_subscriptions").execute()}var SC={};m(SC,{up:()=>pJ,down:()=>iJ});import{sql as QN}from"kysely";async function pJ(_){await QN`
1399
+ (created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function vJ(_){await _.schema.dropTable("notifications").execute(),await _.schema.dropTable("notification_subscriptions").execute()}var wC={};m(wC,{up:()=>qJ,down:()=>gJ});import{sql as WK}from"kysely";async function qJ(_){await WK`
1390
1400
  UPDATE org_jira_integrations
1391
1401
  SET status_mapping = (
1392
1402
  SELECT COALESCE(jsonb_object_agg(lane, statuses), '{}'::jsonb)
@@ -1401,7 +1411,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1401
1411
  SELECT 1 FROM jsonb_each(status_mapping)
1402
1412
  WHERE jsonb_typeof(value) = 'array'
1403
1413
  )
1404
- `.execute(_)}async function iJ(_){await QN`
1414
+ `.execute(_)}async function gJ(_){await WK`
1405
1415
  UPDATE org_jira_integrations
1406
1416
  SET status_mapping = (
1407
1417
  SELECT COALESCE(jsonb_object_agg(status, lane), '{}'::jsonb)
@@ -1416,7 +1426,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1416
1426
  SELECT 1 FROM jsonb_each(status_mapping)
1417
1427
  WHERE jsonb_typeof(value) = 'array'
1418
1428
  )
1419
- `.execute(_)}var wC={};m(wC,{up:()=>vJ,down:()=>qJ,TYPES:()=>IC});import{sql as A_}from"kysely";var IC=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],tJ=new Set(["mentioned"]);async function vJ(_){await jN(_,IC)}async function qJ(_){await jN(_,IC.filter((x)=>!tJ.has(x)))}async function jN(_,x){await A_`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await A_`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${A_.join(x.map((u)=>A_.lit(u)))}))`.execute(_)}var kC={};m(kC,{up:()=>hJ,down:()=>oJ,ACTIONS:()=>VC});import{sql as w}from"kysely";var gJ=["bug","feature","chore","spike","security"],VC=["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"],cJ=new Set(["type_changed"]);async function hJ(_){await _.schema.alterTable("task_board_items").addColumn("type","text").execute(),await w`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${w.join(gJ.map((x)=>w.lit(x)))}))`.execute(_),await WN(_,VC)}async function oJ(_){await WN(_,VC.filter((x)=>!cJ.has(x))),await w`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("type").execute()}async function WN(_,x){await w`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await w`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${w.join(x.map((u)=>w.lit(u)))}))`.execute(_)}var pC={};m(pC,{up:()=>aJ,down:()=>rJ});import{sql as Q}from"kysely";var LN=["bug","feature","chore","spike","security"],ZN="chore";async function aJ(_){await Q`UPDATE task_board_items SET type = ${Q.lit(ZN)} WHERE type IS NULL`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${Q.lit(ZN)}`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await Q`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Q`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${Q.join(LN.map((x)=>Q.lit(x)))}))`.execute(_)}async function rJ(_){await Q`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Q`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${Q.join(LN.map((x)=>Q.lit(x)))}))`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var iC={};m(iC,{up:()=>eJ,down:()=>lJ});import{sql as c}from"kysely";async function eJ(_){await c`
1429
+ `.execute(_)}var kC={};m(kC,{up:()=>hJ,down:()=>oJ,TYPES:()=>VC});import{sql as A_}from"kysely";var VC=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],cJ=new Set(["mentioned"]);async function hJ(_){await ZK(_,VC)}async function oJ(_){await ZK(_,VC.filter((x)=>!cJ.has(x)))}async function ZK(_,x){await A_`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await A_`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${A_.join(x.map((u)=>A_.lit(u)))}))`.execute(_)}var iC={};m(iC,{up:()=>eJ,down:()=>lJ,ACTIONS:()=>pC});import{sql as w}from"kysely";var aJ=["bug","feature","chore","spike","security"],pC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution","merge_failed","type_changed"],rJ=new Set(["type_changed"]);async function eJ(_){await _.schema.alterTable("task_board_items").addColumn("type","text").execute(),await w`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${w.join(aJ.map((x)=>w.lit(x)))}))`.execute(_),await DK(_,pC)}async function lJ(_){await DK(_,pC.filter((x)=>!rJ.has(x))),await w`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("type").execute()}async function DK(_,x){await w`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await w`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${w.join(x.map((u)=>w.lit(u)))}))`.execute(_)}var tC={};m(tC,{up:()=>dJ,down:()=>sJ});import{sql as Q}from"kysely";var FK=["bug","feature","chore","spike","security"],LK="chore";async function dJ(_){await Q`UPDATE task_board_items SET type = ${Q.lit(LK)} WHERE type IS NULL`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${Q.lit(LK)}`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await Q`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Q`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${Q.join(FK.map((x)=>Q.lit(x)))}))`.execute(_)}async function sJ(_){await Q`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Q`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${Q.join(FK.map((x)=>Q.lit(x)))}))`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await Q`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var vC={};m(vC,{up:()=>bJ,down:()=>_X});import{sql as c}from"kysely";async function bJ(_){await c`
1420
1430
  CREATE TABLE task_board_sprints (
1421
1431
  id text PRIMARY KEY,
1422
1432
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -1441,34 +1451,34 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1441
1451
  CREATE INDEX idx_task_board_items_sprint
1442
1452
  ON task_board_items (organization_id, sprint_id)
1443
1453
  WHERE sprint_id IS NOT NULL
1444
- `.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}async function lJ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute(),await c`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint_id").execute(),await c`DROP TABLE IF EXISTS task_board_sprints`.execute(_)}var tC={};m(tC,{up:()=>sJ,down:()=>bJ});import{sql as dJ}from"kysely";async function sJ(_){await _.schema.alterTable("org_jira_integrations").dropColumn("jql_filter").execute()}async function bJ(_){await dJ`ALTER TABLE org_jira_integrations ADD COLUMN jql_filter text`.execute(_)}var vC={};m(vC,{up:()=>xX,down:()=>uX});import{sql as _X}from"kysely";async function xX(_){await _X`
1454
+ `.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}async function _X(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute(),await c`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint_id").execute(),await c`DROP TABLE IF EXISTS task_board_sprints`.execute(_)}var qC={};m(qC,{up:()=>uX,down:()=>mX});import{sql as xX}from"kysely";async function uX(_){await _.schema.alterTable("org_jira_integrations").dropColumn("jql_filter").execute()}async function mX(_){await xX`ALTER TABLE org_jira_integrations ADD COLUMN jql_filter text`.execute(_)}var gC={};m(gC,{up:()=>TX,down:()=>KX});import{sql as CX}from"kysely";async function TX(_){await CX`
1445
1455
  UPDATE org_jira_integrations
1446
1456
  SET last_synced_at = NULL,
1447
1457
  last_sync_error = NULL
1448
1458
  WHERE last_synced_at IS NOT NULL
1449
- `.execute(_)}async function uX(){}var qC={};m(qC,{up:()=>CX,down:()=>TX});import{sql as mX}from"kysely";async function CX(_){await mX`
1459
+ `.execute(_)}async function KX(){}var cC={};m(cC,{up:()=>EX,down:()=>zX});import{sql as NX}from"kysely";async function EX(_){await NX`
1450
1460
  UPDATE org_jira_integrations
1451
1461
  SET last_synced_at = NULL,
1452
1462
  last_sync_error = NULL
1453
1463
  WHERE last_synced_at IS NOT NULL
1454
- `.execute(_)}async function TX(){}var cC={};m(cC,{up:()=>NX,down:()=>KX});import{sql as gC}from"kysely";async function NX(_){await gC`
1464
+ `.execute(_)}async function zX(){}var oC={};m(oC,{up:()=>PX,down:()=>$X});import{sql as hC}from"kysely";async function PX(_){await hC`
1455
1465
  ALTER TABLE org_jira_integrations
1456
1466
  ADD COLUMN rescan_pending boolean NOT NULL DEFAULT false
1457
- `.execute(_),await gC`
1467
+ `.execute(_),await hC`
1458
1468
  UPDATE org_jira_integrations
1459
1469
  SET rescan_pending = true
1460
1470
  WHERE last_synced_at IS NULL
1461
- `.execute(_)}async function KX(_){await gC`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var hC={};m(hC,{up:()=>EX,down:()=>zX});async function EX(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function zX(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var oC={};m(oC,{up:()=>PX,down:()=>$X});import{sql as DN}from"kysely";async function PX(_){await DN`
1471
+ `.execute(_)}async function $X(_){await hC`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var aC={};m(aC,{up:()=>UX,down:()=>JX});async function UX(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function JX(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var rC={};m(rC,{up:()=>XX,down:()=>QX});import{sql as RK}from"kysely";async function XX(_){await RK`
1462
1472
  ALTER TABLE invitation
1463
1473
  ADD COLUMN "autoAccept" boolean NOT NULL DEFAULT false
1464
- `.execute(_)}async function $X(_){await DN`ALTER TABLE invitation DROP COLUMN "autoAccept"`.execute(_)}var rC={};m(rC,{up:()=>UX,down:()=>JX});import{sql as aC}from"kysely";async function UX(_){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(aC`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(aC`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 aC`
1474
+ `.execute(_)}async function QX(_){await RK`ALTER TABLE invitation DROP COLUMN "autoAccept"`.execute(_)}var lC={};m(lC,{up:()=>jX,down:()=>WX});import{sql as eC}from"kysely";async function jX(_){await _.schema.createTable("task_board_column_automations").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("column_key","text",(x)=>x.notNull()).addColumn("prompt","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(eC`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(eC`now()`)).execute(),await _.schema.createIndex("task_board_column_automations_org_column_uniq").ifNotExists().on("task_board_column_automations").columns(["organization_id","column_key"]).unique().execute(),await eC`
1465
1475
  INSERT INTO task_board_column_automations
1466
1476
  (id, organization_id, column_key, prompt)
1467
1477
  SELECT 'tbca_' || organization_id || '_todo', organization_id, 'todo', NULL
1468
1478
  FROM org_jira_integrations
1469
1479
  WHERE auto_delegate = true
1470
1480
  ON CONFLICT DO NOTHING
1471
- `.execute(_)}async function JX(_){await _.schema.dropTable("task_board_column_automations").ifExists().execute()}var eC={};m(eC,{up:()=>XX,down:()=>QX});import{sql as T_}from"kysely";async function XX(_){await _.schema.alterTable("task_board_items").addColumn("review_cycle_started_at","timestamptz").execute(),await T_`
1481
+ `.execute(_)}async function WX(_){await _.schema.dropTable("task_board_column_automations").ifExists().execute()}var dC={};m(dC,{up:()=>ZX,down:()=>DX});import{sql as T_}from"kysely";async function ZX(_){await _.schema.alterTable("task_board_items").addColumn("review_cycle_started_at","timestamptz").execute(),await T_`
1472
1482
  UPDATE task_board_items i
1473
1483
  SET review_cycle_started_at = (
1474
1484
  SELECT max(a.occurred_at)
@@ -1484,13 +1494,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1484
1494
  WHERE (review_cycle_started_at IS NOT NULL OR status = 'in_review')
1485
1495
  AND assignee_id = 'super-agent'
1486
1496
  AND dismissed_at IS NULL
1487
- `.execute(_),await T_`DROP INDEX IF EXISTS idx_task_board_items_pending_review`.execute(_)}async function QX(_){await T_`
1497
+ `.execute(_),await T_`DROP INDEX IF EXISTS idx_task_board_items_pending_review`.execute(_)}async function DX(_){await T_`
1488
1498
  CREATE INDEX idx_task_board_items_pending_review
1489
1499
  ON task_board_items (updated_at, id)
1490
1500
  WHERE status = 'in_review'
1491
1501
  AND assignee_id = 'super-agent'
1492
1502
  AND dismissed_at IS NULL
1493
- `.execute(_),await T_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var lC={};m(lC,{up:()=>jX,down:()=>WX});import{sql as FN}from"kysely";async function jX(_){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(FN`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(FN`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 WX(_){await _.schema.dropTable("task_board_columns").ifExists().execute()}var sC={};m(sC,{up:()=>LX,down:()=>DX,ACTIONS:()=>dC});import{sql as S_}from"kysely";var dC=["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"],ZX=new Set(["review_verdict_requested"]);async function LX(_){await RN(_,dC)}async function DX(_){await RN(_,dC.filter((x)=>!ZX.has(x)))}async function RN(_,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 bC={};m(bC,{up:()=>FX,down:()=>RX});import{sql as I_}from"kysely";async function FX(_){await _.schema.alterTable("task_board_items").addColumn("board_column_org","text").execute(),await I_`
1503
+ `.execute(_),await T_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var sC={};m(sC,{up:()=>LX,down:()=>FX});import{sql as YK}from"kysely";async function LX(_){await _.schema.createTable("task_board_columns").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("title","text",(x)=>x.notNull()).addColumn("position","integer",(x)=>x.notNull()).addColumn("role","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(YK`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(YK`now()`)).execute(),await _.schema.createIndex("task_board_columns_org_key_uniq").ifNotExists().on("task_board_columns").columns(["organization_id","key"]).unique().execute(),await _.schema.createIndex("task_board_columns_org_position_idx").ifNotExists().on("task_board_columns").columns(["organization_id","position"]).execute()}async function FX(_){await _.schema.dropTable("task_board_columns").ifExists().execute()}var _T={};m(_T,{up:()=>YX,down:()=>HX,ACTIONS:()=>bC});import{sql as S_}from"kysely";var bC=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed"],RX=new Set(["review_verdict_requested"]);async function YX(_){await HK(_,bC)}async function HX(_){await HK(_,bC.filter((x)=>!RX.has(x)))}async function HK(_,x){await S_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await S_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${S_.join(x.map((u)=>S_.lit(u)))}))`.execute(_)}var xT={};m(xT,{up:()=>MX,down:()=>BX});import{sql as I_}from"kysely";async function MX(_){await _.schema.alterTable("task_board_items").addColumn("board_column_org","text").execute(),await I_`
1494
1504
  ALTER TABLE task_board_items
1495
1505
  ADD CONSTRAINT chk_task_board_items_column_org
1496
1506
  CHECK (board_column_org IS NULL OR board_column_org = organization_id)
@@ -1500,13 +1510,13 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1500
1510
  FOREIGN KEY (board_column_org, status)
1501
1511
  REFERENCES task_board_columns (organization_id, key)
1502
1512
  ON DELETE RESTRICT
1503
- `.execute(_)}async function RX(_){await I_`
1513
+ `.execute(_)}async function BX(_){await I_`
1504
1514
  ALTER TABLE task_board_items
1505
1515
  DROP CONSTRAINT IF EXISTS task_board_items_board_column_fkey
1506
1516
  `.execute(_),await I_`
1507
1517
  ALTER TABLE task_board_items
1508
1518
  DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org
1509
- `.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var _T={};m(_T,{up:()=>YX,down:()=>HX});async function YX(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function HX(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var uT={};m(uT,{up:()=>BX,down:()=>GX,ACTIONS:()=>xT});import{sql as w_}from"kysely";var xT=["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"],MX=new Set(["sprint_changed"]);async function BX(_){await YN(_,xT)}async function GX(_){await YN(_,xT.filter((x)=>!MX.has(x)))}async function YN(_,x){await w_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await w_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${w_.join(x.map((u)=>w_.lit(u)))}))`.execute(_)}var mT={};m(mT,{up:()=>yX,down:()=>fX});import{sql as nX}from"kysely";async function yX(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(nX`'[]'::jsonb`)).execute()}async function fX(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var CT={};m(CT,{up:()=>OX,down:()=>AX});import{sql as HN}from"kysely";async function OX(_){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(HN`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(HN`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function AX(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var TT={};m(TT,{up:()=>IX,down:()=>wX});import{sql as SX}from"kysely";async function IX(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await SX`
1519
+ `.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var uT={};m(uT,{up:()=>GX,down:()=>nX});async function GX(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function nX(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var CT={};m(CT,{up:()=>fX,down:()=>OX,ACTIONS:()=>mT});import{sql as w_}from"kysely";var mT=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed","sprint_changed"],yX=new Set(["sprint_changed"]);async function fX(_){await MK(_,mT)}async function OX(_){await MK(_,mT.filter((x)=>!yX.has(x)))}async function MK(_,x){await w_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await w_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${w_.join(x.map((u)=>w_.lit(u)))}))`.execute(_)}var TT={};m(TT,{up:()=>SX,down:()=>IX});import{sql as AX}from"kysely";async function SX(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(AX`'[]'::jsonb`)).execute()}async function IX(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var KT={};m(KT,{up:()=>wX,down:()=>VX});import{sql as BK}from"kysely";async function wX(_){await _.schema.createTable("task_board_prompts").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("column_key","text").addColumn("prompt","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(BK`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(BK`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function VX(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var NT={};m(NT,{up:()=>pX,down:()=>iX});import{sql as kX}from"kysely";async function pX(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await kX`
1510
1520
  UPDATE task_board_items i
1511
1521
  SET external_url = t.url,
1512
1522
  description = CASE
@@ -1525,11 +1535,11 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1525
1535
  ON g.organization_id = l.organization_id
1526
1536
  ) t
1527
1537
  WHERE t.item_id = i.id
1528
- `.execute(_)}async function wX(_){await _.schema.alterTable("task_board_items").dropColumn("external_url").execute()}var NT={};m(NT,{up:()=>kX,down:()=>pX,ACTIONS:()=>MN});import{sql as J}from"kysely";var VX=["triage","todo","in_progress","in_review","approved","merged","post_deploy_validation","done","archived"],MN=["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 kX(_){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`
1538
+ `.execute(_)}async function iX(_){await _.schema.alterTable("task_board_items").dropColumn("external_url").execute()}var ET={};m(ET,{up:()=>vX,down:()=>qX,ACTIONS:()=>GK});import{sql as J}from"kysely";var tX=["triage","todo","in_progress","in_review","approved","merged","post_deploy_validation","done","archived"],GK=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed"];async function vX(_){await J`ALTER TABLE task_board_items DROP CONSTRAINT IF EXISTS task_board_items_board_column_fkey`.execute(_),await J`ALTER TABLE task_board_items DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS board_column_org`.execute(_),await J`DROP TABLE IF EXISTS task_board_columns`.execute(_),await J`
1529
1539
  UPDATE task_board_items
1530
1540
  SET status = 'triage'
1531
- WHERE status NOT IN (${J.join(VX.map((x)=>J.lit(x)))})
1532
- `.execute(_),await J`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await J`DROP TABLE IF EXISTS task_board_sprints`.execute(_),await iX(_,MN),await J`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await J`
1541
+ WHERE status NOT IN (${J.join(tX.map((x)=>J.lit(x)))})
1542
+ `.execute(_),await J`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await J`DROP TABLE IF EXISTS task_board_sprints`.execute(_),await gX(_,GK),await J`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await J`
1533
1543
  ALTER TABLE task_board_item_jira_links
1534
1544
  DROP COLUMN IF EXISTS jira_updated_at,
1535
1545
  DROP COLUMN IF EXISTS jira_status,
@@ -1541,7 +1551,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1541
1551
  DROP COLUMN IF EXISTS last_synced_at,
1542
1552
  DROP COLUMN IF EXISTS last_sync_error,
1543
1553
  DROP COLUMN IF EXISTS rescan_pending
1544
- `.execute(_)}async function pX(){}async function iX(_,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 KT={};m(KT,{up:()=>tX,down:()=>vX});import{sql as h}from"kysely";async function tX(_){await h`
1554
+ `.execute(_)}async function qX(){}async function gX(_,x){await J`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await J`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${J.join(x.map((u)=>J.lit(u)))}))`.execute(_)}var zT={};m(zT,{up:()=>cX,down:()=>hX});import{sql as h}from"kysely";async function cX(_){await h`
1545
1555
  ALTER TABLE task_board_items
1546
1556
  ADD COLUMN IF NOT EXISTS source text
1547
1557
  CONSTRAINT chk_task_board_items_source CHECK (source IN ('jira'))
@@ -1562,24 +1572,24 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1562
1572
  created_at timestamptz NOT NULL DEFAULT now(),
1563
1573
  PRIMARY KEY (organization_id, jira_issue_id, changelog_id)
1564
1574
  )
1565
- `.execute(_)}async function vX(_){await h`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await h`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await h`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var ET={};m(ET,{up:()=>qX,down:()=>gX});import{sql as N_}from"kysely";async function qX(_){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(N_`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(N_`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(N_`now()`)).execute(),await N_`
1575
+ `.execute(_)}async function hX(_){await h`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await h`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await h`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var PT={};m(PT,{up:()=>oX,down:()=>aX});import{sql as K_}from"kysely";async function oX(_){await _.schema.createTable("organization_notices").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("severity","text",(x)=>x.notNull().check(K_`severity IN ('warn', 'block')`)).addColumn("title","text",(x)=>x.notNull()).addColumn("message","text",(x)=>x.notNull()).addColumn("cta_label","text").addColumn("cta_url","text").addColumn("source","text",(x)=>x.notNull().defaultTo("manual")).addColumn("resolved_at","timestamptz").addColumn("resolved_by","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(K_`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(K_`now()`)).execute(),await K_`
1566
1576
  CREATE UNIQUE INDEX IF NOT EXISTS organization_notices_active_uniq
1567
1577
  ON organization_notices (organization_id)
1568
1578
  WHERE resolved_at IS NULL
1569
- `.execute(_),await N_`
1579
+ `.execute(_),await K_`
1570
1580
  CREATE INDEX IF NOT EXISTS organization_notices_org_created_idx
1571
1581
  ON organization_notices (organization_id, created_at DESC)
1572
- `.execute(_)}async function gX(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var PT={};m(PT,{up:()=>bX,down:()=>_Q});import{sql as zT}from"kysely";import{sql as lW}from"kysely";var BN=50000000,cX=1e5;function hX(_,x){let u=0,T=0,C=[_];while(C.length>0){if(u>x||++T>cX)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 oX=/\u0000/g,aX=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,rX=/([a-z][a-z0-9+.-]{0,30}:\/\/)[^\s/@]{1,512}@/gi,eX=/\b(gh[pousr]_|github_pat_)[A-Za-z0-9_]{20,}/g,lX=/data:[a-z0-9.+-]{0,60}\/[a-z0-9.+-]{0,60};base64,[A-Za-z0-9+/=]{100,}/gi;function dX(_){return _.replace(oX,"").replace(aX,"\uFFFD").replace(rX,"$1***@").replace(eX,"$1***").replace(lX,"[base64 data omitted]")}function sX(_){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 GN(_){if(hX(_,BN)>BN)return JSON.stringify({truncated:!0,reason:"payload exceeds max stored size"});return JSON.stringify(_,(x,u)=>{if(typeof u==="string")return dX(u);if(sX(u))return{type:"text",text:"[image omitted]"};return u})}var nN=20;async function bX(_){let x=await zT`
1582
+ `.execute(_)}async function aX(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var UT={};m(UT,{up:()=>mQ,down:()=>CQ});import{sql as $T}from"kysely";import{sql as xZ}from"kysely";var nK=50000000,rX=1e5;function eX(_,x){let u=0,T=0,C=[_];while(C.length>0){if(u>x||++T>rX)return 1/0;let K=C.pop();if(typeof K==="string")u+=K.length;else if(Array.isArray(K))for(let E of K)C.push(E);else if(K!==null&&typeof K==="object")for(let E of Object.values(K))C.push(E)}return u}var lX=/\u0000/g,dX=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,sX=/([a-z][a-z0-9+.-]{0,30}:\/\/)[^\s/@]{1,512}@/gi,bX=/\b(gh[pousr]_|github_pat_)[A-Za-z0-9_]{20,}/g,_Q=/data:[a-z0-9.+-]{0,60}\/[a-z0-9.+-]{0,60};base64,[A-Za-z0-9+/=]{100,}/gi;function xQ(_){return _.replace(lX,"").replace(dX,"\uFFFD").replace(sX,"$1***@").replace(bX,"$1***").replace(_Q,"[base64 data omitted]")}function uQ(_){if(typeof _!=="object"||_===null)return!1;let x=_;if(x.type!=="image")return!1;if(typeof x.data==="string")return!0;let u=x.source;return typeof u==="object"&&u!==null&&typeof u.data==="string"}function yK(_){if(eX(_,nK)>nK)return JSON.stringify({truncated:!0,reason:"payload exceeds max stored size"});return JSON.stringify(_,(x,u)=>{if(typeof u==="string")return xQ(u);if(uQ(u))return{type:"text",text:"[image omitted]"};return u})}var fK=20;async function mQ(_){let x=await $T`
1573
1583
  SELECT id FROM thread_message_parts
1574
1584
  WHERE pg_column_size(payload) > 8192
1575
1585
  AND (payload::text LIKE '%"type": "image"%' OR payload::text LIKE '%;base64,%')
1576
- `.execute(_);for(let u=0;u<x.rows.length;u+=nN){let T=x.rows.slice(u,u+nN).map((N)=>N.id),C=await zT`
1586
+ `.execute(_);for(let u=0;u<x.rows.length;u+=fK){let T=x.rows.slice(u,u+fK).map((K)=>K.id),C=await $T`
1577
1587
  SELECT id, payload FROM thread_message_parts WHERE id = ANY(${T})
1578
- `.execute(_);for(let N of C.rows){let E=GN(N.payload);if(E===JSON.stringify(N.payload))continue;await zT`
1588
+ `.execute(_);for(let K of C.rows){let E=yK(K.payload);if(E===JSON.stringify(K.payload))continue;await $T`
1579
1589
  UPDATE thread_message_parts
1580
1590
  SET payload = ${E}::jsonb
1581
- WHERE id = ${N.id}
1582
- `.execute(_)}}}async function _Q(){}var $T={};m($T,{up:()=>xQ,down:()=>uQ});async function xQ(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function uQ(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var UT={};m(UT,{up:()=>mQ,down:()=>CQ});import{sql as P}from"kysely";async function mQ(_){await P`
1591
+ WHERE id = ${K.id}
1592
+ `.execute(_)}}}async function CQ(){}var JT={};m(JT,{up:()=>TQ,down:()=>KQ});async function TQ(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function KQ(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var XT={};m(XT,{up:()=>NQ,down:()=>EQ});import{sql as P}from"kysely";async function NQ(_){await P`
1583
1593
  CREATE TABLE git_provider_accounts (
1584
1594
  id text PRIMARY KEY DEFAULT gen_random_uuid(),
1585
1595
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -1823,11 +1833,11 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1823
1833
  AND r.organization_id = s.organization_id
1824
1834
  AND r.host = 'github.com'
1825
1835
  AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name)
1826
- `.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function CQ(_){await P`
1836
+ `.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function EQ(_){await P`
1827
1837
  ALTER TABLE org_repo_sync DROP CONSTRAINT IF EXISTS org_repo_sync_source_present
1828
1838
  `.execute(_),await P`DELETE FROM org_repo_sync WHERE connection_id IS NULL`.execute(_),await P`
1829
1839
  ALTER TABLE org_repo_sync ALTER COLUMN connection_id SET NOT NULL
1830
- `.execute(_),await P`ALTER TABLE org_repo_sync DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_item_prs DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_items DROP COLUMN IF EXISTS repository_id`.execute(_),await P`DROP TABLE IF EXISTS repositories`.execute(_),await P`DROP TABLE IF EXISTS git_provider_oauth_states`.execute(_),await P`DROP TABLE IF EXISTS git_provider_account_credentials`.execute(_),await P`DROP TABLE IF EXISTS git_provider_accounts`.execute(_)}var JT={};m(JT,{up:()=>NQ,down:()=>KQ});import{sql as H}from"kysely";var TQ=H`
1840
+ `.execute(_),await P`ALTER TABLE org_repo_sync DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_item_prs DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_items DROP COLUMN IF EXISTS repository_id`.execute(_),await P`DROP TABLE IF EXISTS repositories`.execute(_),await P`DROP TABLE IF EXISTS git_provider_oauth_states`.execute(_),await P`DROP TABLE IF EXISTS git_provider_account_credentials`.execute(_),await P`DROP TABLE IF EXISTS git_provider_accounts`.execute(_)}var QT={};m(QT,{up:()=>PQ,down:()=>$Q});import{sql as H}from"kysely";var zQ=H`
1831
1841
  CREATE OR REPLACE FUNCTION repo_ref_try_jsonb(value text)
1832
1842
  RETURNS jsonb LANGUAGE plpgsql IMMUTABLE AS $$
1833
1843
  BEGIN
@@ -1836,7 +1846,7 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1836
1846
  RETURN NULL;
1837
1847
  END;
1838
1848
  $$
1839
- `;async function NQ(_){await TQ.execute(_),await H`
1849
+ `;async function PQ(_){await zQ.execute(_),await H`
1840
1850
  ALTER TABLE connections
1841
1851
  ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
1842
1852
  `.execute(_),await H`
@@ -1898,29 +1908,29 @@ var rN=Object.defineProperty;var eN=(_)=>_;function lN(_,x){this[_]=eN.bind(null
1898
1908
  AND r.host = 'github.com'
1899
1909
  AND lower(r.path) = lower((entry ->> 'owner') || '/' || (entry ->> 'name'))
1900
1910
  ON CONFLICT (thread_id, repository_id) DO NOTHING
1901
- `.execute(_),await H`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function KQ(_){await H`DROP TABLE IF EXISTS thread_repositories`.execute(_),await H`
1911
+ `.execute(_),await H`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function $Q(_){await H`DROP TABLE IF EXISTS thread_repositories`.execute(_),await H`
1902
1912
  ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
1903
- `.execute(_)}var EQ={"001-initial-schema":d_,"002-organization-settings":s_,"003-connection-schema-align":b_,"004-remove-models-binding":_x,"005-connection-configuration":xx,"006-add-views-to-settings":ux,"007-monitoring-logs":mx,"008-event-bus":Cx,"009-drop-audit-logs":Tx,"010-gateways":Nx,"011-gateway-icon":Kx,"012-gateway-tool-selection-mode":Ex,"013-monitoring-user-agent-gateway":zx,"014-gateway-resources-prompts":Px,"015-monitoring-properties":$x,"016-downstream-token-client-info":Ux,"017-downstream-token-remove-userid":Jx,"018-drop-gateway-tool-selection-strategy":Xx,"019-remove-gateway-is-default":Qx,"020-enabled-plugins":jx,"021-threads":Wx,"022-rename-gateway-to-virtual-mcp":Zx,"023-optimize-thread-indexes":Lx,"024-consolidate-virtual-mcp":Dx,"025-add-monitoring-virtual-mcp-id":Fx,"026-restrict-child-connection-delete":Rx,"027-update-management-mcp-url":Hx,"028-update-management-mcp-to-self":Bx,"029-add-updated-by-to-connections":Gx,"030-member-tags":nx,"031-add-dependency-mode":yx,"032-projects":fx,"033-thread-status":Ox,"034-monitoring-dashboards":Ax,"035-project-connections":Sx,"036-update-registry-url":Ix,"037-ai-provider-keys":wx,"038-oauth-pkce-states":Vx,"039-automations":kx,"040-replace-next-run-at-with-last-run-at":px,"041-ai-provider-keys-unique-constraint":ix,"042-rename-mesh-mcp-to-cms-mcp":tx,"043-rename-cms-mcp-to-deco-cms":vx,"044-drop-connections-tools-column":qx,"045-thread-context-start-message":gx,"046-remove-object-storage-plugin":hx,"047-add-next-run-at":ox,"048-merge-projects-agents":rx,"049-remove-org-admin-projects":ex,"050-durable-agent-runs":lx,"051-org-sso":sx,"052-thread-agent-ids":bx,"053-registry-config":_u,"054-connection-slug":uu,"055-spaces":mu,"056-automation-project-scope":Cu,"057-thread-virtual-mcp-id":Tu,"058-trigger-callback-tokens":Nu,"059-kv":Ku,"060-member-index":Eu,"061-downstream-token-connection-index":zu,"062-private-registry":Pu,"063-event-subscriptions-enabled-boolean":$u,"064-brand-context":Uu,"065-organization-domains":Ju,"066-brand-context-structured":Xu,"067-threads-metadata":Qu,"068-threads-branch":ju,"069-sandbox-runner-state":Wu,"070-model-categories":Zu,"071-default-home-agents":Lu,"072-ai-provider-key-preset-id":Du,"073-backfill-basic-usage-roles":Fu,"074-sandbox-runner-state-handle-nonunique":Ru,"075-thread-inflight-async-jobs":Yu,"076-automations-drop-agent-json":Hu,"077-tier-only-model-selection":Bu,"078-automation-tool-call-kind":Gu,"079-strip-legacy-freestyle-vm-map-entries":nu,"080-async-research-jobs":yu,"081-async-research-jobs-result-content":fu,"082-secrets":Ou,"083-thread-run-locally":Au,"084-drop-host-sandbox-rows":Su,"085-rename-runner-kind":Iu,"086-thread-pins-and-vm-map-rekey":wu,"087-fix-vm-map-rekey":Vu,"088-purge-cli-activate-keys":ku,"089-rename-remote-user-to-desktop":pu,"090-automation-webhook-triggers":iu,"091-organization-domains-allow-multi":tu,"092-sandbox-naming-uniformization":vu,"093-backfill-global-search-basic-usage":qu,"094-org-file-configs":cu,"095-remove-automation-tool-call-kind":hu,"096-org-file-configs-public-url-base":ou,"097-drop-local-docker-sandbox-state":ru,"098-thread-message-parts":eu,"099-run-fence":lu,"100-link-transport":du,"101-cancel-requested-at":su,"102-observational-agent":bu,"103-revert-observational-agent":_m,"104-agent-sandbox-provider-kind":um,"105-org-fs":mm,"106-automation-tools":Cm,"107-org-fs-public-org":Tm,"108-automation-max-agent-steps":Nm,"109-thread-message-parts-per-message-seq":Km,"110-backfill-ghs-token-expiry":Em,"111-org-fs-thread-id":zm,"112-org-file-configs-credential-type":Pm,"113-thread-failure-reason":$m,"114-run-acked-seq":Um,"115-thread-projected-seq":Jm,"116-org-sites":Xm,"117-org-file-configs-site-slug":Qm,"118-organization-domains-multi-verify":jm,"119-organization-join-requests":Wm,"120-org-fs-read-public":Zm,"121-org-fs-share-password":Lm,"122-split-web-research-tier":Rm,"123-connection-credential-vault":Ym,"124-drop-thread-projected-seq":Hm,"125-github-child-single-parent":Mm,"126-task-board":Gm,"127-task-board-due-date":nm,"128-reports-only":ym,"129-task-board-assigned-by":fm,"130-task-board-thread-id":Om,"131-task-board-thread-link-cascade":Am,"132-task-board-item-prs":Sm,"133-dedupe-duplicate-members":Im,"134-drop-task-board-enabled":wm,"135-task-board-item-fk-cascade":Vm,"136-task-board-import-idempotency":km,"137-agent-sandbox-runner-state":pm,"138-agent-sandbox-sessions":im,"139-organization-billing":tm,"140-seat-change-log":vm,"141-benefits-sync-pending":qm,"142-stripe-event-watermark":gm,"143-armed-report-url":cm,"144-benefits-pending-index":hm,"145-user-model-preferences":om,"146-organization-main-agent":am,"147-drop-agent-sandbox-tables":rm,"148-org-flags":em,"149-task-board-item-sort-order":lm,"150-task-board-activity":dm,"151-task-board-tags":bm,"152-repair-connection-slug":xC,"153-task-board-latest-assistant-part-index":uC,"154-task-board-qa-activity":CC,"155-task-board-review-claims":TC,"156-task-board-conflict-activity":KC,"157-drop-seat-billing":EC,"158-drop-github-child-single-parent":zC,"159-task-board-comments":PC,"160-task-quota-billing":$C,"161-task-quota-claim-state":JC,"162-claude-subscriptions":XC,"163-task-board-item-dismissed":QC,"164-per-org-task-quota":jC,"165-task-board-pending-review-index":WC,"166-task-board-last-swept-at":ZC,"167-task-board-run-retry":LC,"168-org-repo-sync":FC,"169-task-board-merge-failed-activity":YC,"170-task-board-item-repo":HC,"171-jira-integration":MC,"172-task-board-item-key-seq":BC,"173-thread-github-repo-connection-index":GC,"174-thread-message-parts-persisted-at":yC,"175-task-board-sprints":fC,"176-task-board-done-sweep-index":OC,"177-notifications":AC,"178-jira-status-mapping-array":SC,"179-notification-mentioned":wC,"180-task-board-item-type":kC,"181-task-board-item-type-required":pC,"182-task-board-sprints-entities":iC,"183-drop-jira-jql-filter":tC,"184-jira-rescan-after-scope-change":vC,"185-jira-rescan-existing-cards":qC,"186-jira-rescan-pending-flag":cC,"187-task-board-comment-thread":hC,"188-invitation-auto-accept":oC,"189-task-board-column-automations":rC,"190-task-board-review-cycle-started-at":eC,"191-task-board-columns":lC,"192-task-board-verdict-nudge-activity":sC,"193-task-board-status-column-fk":bC,"194-jira-link-sprint":_T,"195-task-board-sprint-activity":uT,"196-task-board-column-tracker-statuses":mT,"197-task-board-prompts":CT,"198-task-board-external-url":TT,"199-drop-jira-mirror-and-org-columns":NT,"200-jira-run-trigger":KT,"201-organization-notices":ET,"202-redact-base64-thread-parts":PT,"203-task-board-preview-routes":$T,"204-git-provider-accounts-and-repositories":UT,"205-repository-references":JT,"206-repository-consumers":l_,"207-task-board-prs-repo-idx":e_,"208-github-connect-flows":r_,"209-github-installation-authorization":a_,"210-github-repository-authorization":c_,"211-user-fs-org":g_,"212-coding-agent-mcp-excluded":h_,"213-bitbucket-git-provider":o_,"214-connections-sanitized-id-idx":v_,"215-commerce-discovery-repository":q_},XT=EQ;import{getMigrations as iQ}from"better-auth/db";import{sso as tQ}from"@better-auth/sso";import{organization as vQ}from"@decocms/better-auth/plugins";import{admin as qQ,apiKey as gQ,jwt as cQ,magicLink as hQ,mcp as oQ,openAPI as aQ}from"better-auth/plugins";import{emailOTP as rQ}from"better-auth/plugins/email-otp";import{Kysely as AQ,PostgresDialect as iN}from"kysely";import{Pool as tN}from"pg";import{homedir as zQ}from"os";var PQ=new Set(["all","worker","api"]);function $Q(_){let x=(_??"").trim();return PQ.has(x)?x:"all"}var UQ=new Set(["production","development","test"]);function JQ(_){let x=(_??"").trim();return UQ.has(x)?x:"development"}function L(_){return _==="true"||_==="1"}function jT(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function y(_,x,u,T){return jT(_,x,T)??u}function XQ(_,x,u,T){if(x===void 0||x==="")return u;let C=Number(x);if(!Number.isSafeInteger(C)||C<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&C>T)throw Error(`${_} must be at most ${T}`);return C}function QT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function yN(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function QQ(_){return _===void 0||_===""||_==="true"||_==="1"}function K_(_,x){return _||x}function fN(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${zQ()}/deco`,T=_.localMode,C=_.nodeEnv||JQ(x.NODE_ENV),N=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:y("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:K_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:L(x.DATABASE_PG_SSL),databasePoolMax:y("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:y("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:K_(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:L(x.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:L(x.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((K)=>K.trim().toLowerCase()).filter(Boolean),deploymentAdminToken:x.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:jT("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:L(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:XQ("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:L(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:y("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:y("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:y("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:L(x.ENABLE_DECO_IMPORT),hostingControlPlaneGa:L(x.HOSTING_CONTROL_PLANE_GA),monitorGa:L(x.MONITOR_GA),mcpCacheEnabled:QT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:y("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:y("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:QT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:y("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:QQ(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:jT("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:$Q(K_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:L(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:L(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:QT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:L(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:y("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,controlplaneRestUrl:x.CONTROLPLANE_REST_URL,controlplaneServiceToken:x.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:x.ANALYTICS_URL,analyticsMasterToken:x.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:K_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:K_(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:yN(x.DATABASE_URL),externalNatsUrl:yN(N),skipMigrations:_.skipMigrations}}var V_=null;function o(){if(!V_)jQ();return V_}function jQ(){if(V_)return;let _={...process.env},x=fN({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);V_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as RQ,metrics as YQ,propagation as Q4,ROOT_CONTEXT as j4,SpanStatusCode as W4,trace as HQ}from"@opentelemetry/api";import{logs as MQ,SeverityNumber as WT}from"@opentelemetry/api-logs";import{OTLPLogExporter as D4}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as BQ}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Y4}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as M4}from"@opentelemetry/instrumentation-runtime-node";import{context as zZ,propagation as PZ,SpanKind as $Z,SpanStatusCode as UZ}from"@opentelemetry/api";var XZ=globalThis.fetch;import{ExportResultCode as BZ}from"@opentelemetry/core";import{ExportResultCode as k_}from"@opentelemetry/core";import{mkdir as WQ,rename as ZQ,writeFile as LQ}from"fs/promises";import{join as p_}from"path";class i_{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:k_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:k_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:k_.FAILED}});return Promise.resolve({code:k_.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let C of _){let N=x.get(C.partition);if(!N)N=[],x.set(C.partition,N);N.push(C.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([C,N])=>this.writeNDJSON(N,C).then(()=>C))),T=u.find((C)=>C.status==="rejected");if(T){let C=new Set;for(let E of u)if(E.status==="fulfilled")C.add(E.value);let N=_.filter((E)=>!C.has(E.partition));this.bufferItems=N.concat(this.bufferItems),this.bufferBytes=0;for(let E of this.bufferItems)this.bufferBytes+=Buffer.byteLength(E.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],C=x?p_(this.basePath,x,...T):p_(this.basePath,...T);if(!this.knownDirs.has(C))await WQ(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let N=`${crypto.randomUUID()}.ndjson`,E=p_(C,`.${N}.tmp`),K=p_(C,N),z=_.join(`
1913
+ `.execute(_)}var UQ={"001-initial-schema":b_,"002-organization-settings":_x,"003-connection-schema-align":xx,"004-remove-models-binding":ux,"005-connection-configuration":mx,"006-add-views-to-settings":Cx,"007-monitoring-logs":Tx,"008-event-bus":Kx,"009-drop-audit-logs":Nx,"010-gateways":Ex,"011-gateway-icon":zx,"012-gateway-tool-selection-mode":Px,"013-monitoring-user-agent-gateway":$x,"014-gateway-resources-prompts":Ux,"015-monitoring-properties":Jx,"016-downstream-token-client-info":Xx,"017-downstream-token-remove-userid":Qx,"018-drop-gateway-tool-selection-strategy":jx,"019-remove-gateway-is-default":Wx,"020-enabled-plugins":Zx,"021-threads":Dx,"022-rename-gateway-to-virtual-mcp":Lx,"023-optimize-thread-indexes":Fx,"024-consolidate-virtual-mcp":Rx,"025-add-monitoring-virtual-mcp-id":Yx,"026-restrict-child-connection-delete":Hx,"027-update-management-mcp-url":Bx,"028-update-management-mcp-to-self":nx,"029-add-updated-by-to-connections":yx,"030-member-tags":fx,"031-add-dependency-mode":Ox,"032-projects":Ax,"033-thread-status":Sx,"034-monitoring-dashboards":Ix,"035-project-connections":wx,"036-update-registry-url":Vx,"037-ai-provider-keys":kx,"038-oauth-pkce-states":px,"039-automations":ix,"040-replace-next-run-at-with-last-run-at":tx,"041-ai-provider-keys-unique-constraint":vx,"042-rename-mesh-mcp-to-cms-mcp":qx,"043-rename-cms-mcp-to-deco-cms":gx,"044-drop-connections-tools-column":cx,"045-thread-context-start-message":hx,"046-remove-object-storage-plugin":ax,"047-add-next-run-at":rx,"048-merge-projects-agents":lx,"049-remove-org-admin-projects":dx,"050-durable-agent-runs":sx,"051-org-sso":_u,"052-thread-agent-ids":xu,"053-registry-config":uu,"054-connection-slug":Cu,"055-spaces":Tu,"056-automation-project-scope":Ku,"057-thread-virtual-mcp-id":Nu,"058-trigger-callback-tokens":Eu,"059-kv":zu,"060-member-index":Pu,"061-downstream-token-connection-index":$u,"062-private-registry":Uu,"063-event-subscriptions-enabled-boolean":Ju,"064-brand-context":Xu,"065-organization-domains":Qu,"066-brand-context-structured":ju,"067-threads-metadata":Wu,"068-threads-branch":Zu,"069-sandbox-runner-state":Du,"070-model-categories":Lu,"071-default-home-agents":Fu,"072-ai-provider-key-preset-id":Ru,"073-backfill-basic-usage-roles":Yu,"074-sandbox-runner-state-handle-nonunique":Hu,"075-thread-inflight-async-jobs":Mu,"076-automations-drop-agent-json":Bu,"077-tier-only-model-selection":nu,"078-automation-tool-call-kind":yu,"079-strip-legacy-freestyle-vm-map-entries":fu,"080-async-research-jobs":Ou,"081-async-research-jobs-result-content":Au,"082-secrets":Su,"083-thread-run-locally":Iu,"084-drop-host-sandbox-rows":wu,"085-rename-runner-kind":Vu,"086-thread-pins-and-vm-map-rekey":ku,"087-fix-vm-map-rekey":pu,"088-purge-cli-activate-keys":iu,"089-rename-remote-user-to-desktop":tu,"090-automation-webhook-triggers":vu,"091-organization-domains-allow-multi":qu,"092-sandbox-naming-uniformization":gu,"093-backfill-global-search-basic-usage":cu,"094-org-file-configs":ou,"095-remove-automation-tool-call-kind":au,"096-org-file-configs-public-url-base":ru,"097-drop-local-docker-sandbox-state":lu,"098-thread-message-parts":du,"099-run-fence":su,"100-link-transport":bu,"101-cancel-requested-at":_m,"102-observational-agent":xm,"103-revert-observational-agent":um,"104-agent-sandbox-provider-kind":Cm,"105-org-fs":Tm,"106-automation-tools":Km,"107-org-fs-public-org":Nm,"108-automation-max-agent-steps":Em,"109-thread-message-parts-per-message-seq":zm,"110-backfill-ghs-token-expiry":Pm,"111-org-fs-thread-id":$m,"112-org-file-configs-credential-type":Um,"113-thread-failure-reason":Jm,"114-run-acked-seq":Xm,"115-thread-projected-seq":Qm,"116-org-sites":jm,"117-org-file-configs-site-slug":Wm,"118-organization-domains-multi-verify":Zm,"119-organization-join-requests":Dm,"120-org-fs-read-public":Lm,"121-org-fs-share-password":Fm,"122-split-web-research-tier":Hm,"123-connection-credential-vault":Mm,"124-drop-thread-projected-seq":Bm,"125-github-child-single-parent":Gm,"126-task-board":ym,"127-task-board-due-date":fm,"128-reports-only":Om,"129-task-board-assigned-by":Am,"130-task-board-thread-id":Sm,"131-task-board-thread-link-cascade":Im,"132-task-board-item-prs":wm,"133-dedupe-duplicate-members":Vm,"134-drop-task-board-enabled":km,"135-task-board-item-fk-cascade":pm,"136-task-board-import-idempotency":im,"137-agent-sandbox-runner-state":tm,"138-agent-sandbox-sessions":vm,"139-organization-billing":qm,"140-seat-change-log":gm,"141-benefits-sync-pending":cm,"142-stripe-event-watermark":hm,"143-armed-report-url":om,"144-benefits-pending-index":am,"145-user-model-preferences":rm,"146-organization-main-agent":em,"147-drop-agent-sandbox-tables":lm,"148-org-flags":dm,"149-task-board-item-sort-order":sm,"150-task-board-activity":bm,"151-task-board-tags":xC,"152-repair-connection-slug":mC,"153-task-board-latest-assistant-part-index":CC,"154-task-board-qa-activity":KC,"155-task-board-review-claims":NC,"156-task-board-conflict-activity":zC,"157-drop-seat-billing":PC,"158-drop-github-child-single-parent":$C,"159-task-board-comments":UC,"160-task-quota-billing":JC,"161-task-quota-claim-state":QC,"162-claude-subscriptions":jC,"163-task-board-item-dismissed":WC,"164-per-org-task-quota":ZC,"165-task-board-pending-review-index":DC,"166-task-board-last-swept-at":LC,"167-task-board-run-retry":FC,"168-org-repo-sync":YC,"169-task-board-merge-failed-activity":MC,"170-task-board-item-repo":BC,"171-jira-integration":GC,"172-task-board-item-key-seq":nC,"173-thread-github-repo-connection-index":yC,"174-thread-message-parts-persisted-at":OC,"175-task-board-sprints":AC,"176-task-board-done-sweep-index":SC,"177-notifications":IC,"178-jira-status-mapping-array":wC,"179-notification-mentioned":kC,"180-task-board-item-type":iC,"181-task-board-item-type-required":tC,"182-task-board-sprints-entities":vC,"183-drop-jira-jql-filter":qC,"184-jira-rescan-after-scope-change":gC,"185-jira-rescan-existing-cards":cC,"186-jira-rescan-pending-flag":oC,"187-task-board-comment-thread":aC,"188-invitation-auto-accept":rC,"189-task-board-column-automations":lC,"190-task-board-review-cycle-started-at":dC,"191-task-board-columns":sC,"192-task-board-verdict-nudge-activity":_T,"193-task-board-status-column-fk":xT,"194-jira-link-sprint":uT,"195-task-board-sprint-activity":CT,"196-task-board-column-tracker-statuses":TT,"197-task-board-prompts":KT,"198-task-board-external-url":NT,"199-drop-jira-mirror-and-org-columns":ET,"200-jira-run-trigger":zT,"201-organization-notices":PT,"202-redact-base64-thread-parts":UT,"203-task-board-preview-routes":JT,"204-git-provider-accounts-and-repositories":XT,"205-repository-references":QT,"206-repository-consumers":s_,"207-task-board-prs-repo-idx":d_,"208-github-connect-flows":l_,"209-github-installation-authorization":e_,"210-github-repository-authorization":o_,"211-user-fs-org":h_,"212-coding-agent-mcp-excluded":a_,"213-bitbucket-git-provider":r_,"214-connections-sanitized-id-idx":v_,"215-commerce-discovery-repository":q_,"216-github-cli-auth":c_},jT=UQ;import{getMigrations as gQ}from"better-auth/db";import{sso as cQ}from"@better-auth/sso";import{organization as hQ}from"@decocms/better-auth/plugins";import{admin as oQ,apiKey as aQ,jwt as rQ,magicLink as eQ,mcp as lQ,openAPI as dQ}from"better-auth/plugins";import{emailOTP as sQ}from"better-auth/plugins/email-otp";import{Kysely as VQ,PostgresDialect as vK}from"kysely";import{Pool as qK}from"pg";import{homedir as JQ}from"os";var XQ=new Set(["all","worker","api"]);function QQ(_){let x=(_??"").trim();return XQ.has(x)?x:"all"}var jQ=new Set(["production","development","test"]);function WQ(_){let x=(_??"").trim();return jQ.has(x)?x:"development"}function D(_){return _==="true"||_==="1"}function ZT(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function y(_,x,u,T){return ZT(_,x,T)??u}function ZQ(_,x,u,T){if(x===void 0||x==="")return u;let C=Number(x);if(!Number.isSafeInteger(C)||C<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&C>T)throw Error(`${_} must be at most ${T}`);return C}function WT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function OK(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function DQ(_){return _===void 0||_===""||_==="true"||_==="1"}function N_(_,x){return _||x}function AK(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${JQ()}/deco`,T=_.localMode,C=_.nodeEnv||WQ(x.NODE_ENV),K=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:y("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:N_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:D(x.DATABASE_PG_SSL),databasePoolMax:y("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:y("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:N_(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:D(x.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:D(x.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((N)=>N.trim().toLowerCase()).filter(Boolean),deploymentAdminToken:x.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:ZT("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:D(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:ZQ("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:D(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:y("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:y("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:y("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:D(x.ENABLE_DECO_IMPORT),hostingControlPlaneGa:D(x.HOSTING_CONTROL_PLANE_GA),monitorGa:D(x.MONITOR_GA),mcpCacheEnabled:WT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:D(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:y("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:y("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:WT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:y("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:DQ(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:ZT("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:QQ(N_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:D(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:D(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:WT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:D(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:y("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,controlplaneRestUrl:x.CONTROLPLANE_REST_URL,controlplaneServiceToken:x.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:x.ANALYTICS_URL,analyticsMasterToken:x.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:N_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:N_(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:OK(x.DATABASE_URL),externalNatsUrl:OK(K),skipMigrations:_.skipMigrations}}var V_=null;function o(){if(!V_)LQ();return V_}function LQ(){if(V_)return;let _={...process.env},x=AK({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);V_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as BQ,metrics as GQ,propagation as L4,ROOT_CONTEXT as F4,SpanStatusCode as R4,trace as nQ}from"@opentelemetry/api";import{logs as yQ,SeverityNumber as DT}from"@opentelemetry/api-logs";import{OTLPLogExporter as M4}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as fQ}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as n4}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as f4}from"@opentelemetry/instrumentation-runtime-node";import{context as XZ,propagation as QZ,SpanKind as jZ,SpanStatusCode as WZ}from"@opentelemetry/api";var DZ=globalThis.fetch;import{ExportResultCode as OZ}from"@opentelemetry/core";import{ExportResultCode as k_}from"@opentelemetry/core";import{mkdir as FQ,rename as RQ,writeFile as YQ}from"fs/promises";import{join as p_}from"path";class i_{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:k_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:k_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:k_.FAILED}});return Promise.resolve({code:k_.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let C of _){let K=x.get(C.partition);if(!K)K=[],x.set(C.partition,K);K.push(C.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([C,K])=>this.writeNDJSON(K,C).then(()=>C))),T=u.find((C)=>C.status==="rejected");if(T){let C=new Set;for(let E of u)if(E.status==="fulfilled")C.add(E.value);let K=_.filter((E)=>!C.has(E.partition));this.bufferItems=K.concat(this.bufferItems),this.bufferBytes=0;for(let E of this.bufferItems)this.bufferBytes+=Buffer.byteLength(E.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],C=x?p_(this.basePath,x,...T):p_(this.basePath,...T);if(!this.knownDirs.has(C))await FQ(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let K=`${crypto.randomUUID()}.ndjson`,E=p_(C,`.${K}.tmp`),N=p_(C,K),z=_.join(`
1904
1914
  `)+`
1905
- `;await LQ(E,z,{mode:384}),await ZQ(E,K)}}import{ExportResultCode as OZ}from"@opentelemetry/core";import{AggregationTemporality as SZ,DataPointType as IZ}from"@opentelemetry/sdk-metrics";import{ExportResultCode as tZ}from"@opentelemetry/core";var cZ=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as I4,LoggerProvider as w4}from"@opentelemetry/sdk-logs";import{detectResources as k4,envDetector as p4,hostDetector as i4,osDetector as t4,processDetector as v4,resourceFromAttributes as q4}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as c4}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as aZ}from"@opentelemetry/api-logs";import{NodeSDK as a4}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as e4,SamplingDecision as a}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as sZ}from"@opentelemetry/api";var GQ="__d",nQ=RQ("Current request"),yQ=1;var AN=(_)=>{let u=new URL(_.url).searchParams.get(GQ);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class SN{inner;constructor(_){this.inner=_}shouldSample(_,x,u,T,C,N){let E=_.getValue(nQ);if(!E){if(this.inner)return this.inner.shouldSample(_,x,u,T,C,N);return{decision:a.RECORD_AND_SAMPLED}}let K=AN(E);if(K)return{decision:a.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":K}};if(this.inner){let z=this.inner.shouldSample(_,x,u,T,C,N);if(z.decision===a.RECORD_AND_SAMPLED){let $=crypto.randomUUID();z.attributes={...z.attributes??{},"trace.debug.id":$}}return z}return{decision:a.NOT_RECORD}}toString(){return"DebugSampler"}}class IN{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:a.RECORD_AND_SAMPLED};return{decision:a.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var d4=new BQ({preventServerStart:!0}),s4=new SN(new IN(yQ));var ON=HQ.getTracer("studio","1.0.0"),E_=YQ.getMeter("studio","1.0.0"),fQ=MQ.getLogger("studio","1.0.0"),ZT=(_,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(" ");fQ.emit({severityNumber:_,severityText:x,body:E,attributes:{"log.source":"console",...T}})},LT={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{ZT(WT.ERROR,"ERROR",_),LT.error(..._)};console.warn=(..._)=>{ZT(WT.WARN,"WARN",_),LT.warn(..._)};console.debug=(..._)=>{ZT(WT.DEBUG,"DEBUG",_),LT.debug(..._)};var DT,wN=0,FT=500;function OQ(){if(DT)return;let _=performance.now()+FT;DT=setInterval(()=>{let x=performance.now();wN=Math.max(0,x-_),_=x+FT},FT),DT.unref?.()}function VN(){return OQ(),wN}var SQ=()=>E_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),kN=()=>E_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),pN=400,IQ=100,wQ=(_)=>(x)=>{let u={"db.statement":x.query.sql,"db.status":x.level==="error"?"error":"success"};if(x.queryDurationMillis>pN){let T=VN(),C=T>pN/2;console.error(C?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(T),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:t_()}})}if(SQ().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function VQ(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let T=performance.now(),C=t_(),N=_.idleCount===0&&_.totalCount>=C,E=_.idleCount;return x().then((K)=>{let z=performance.now()-T;if(kN().record(z,{"db.pool.outcome":N?"contended":"available"}),z>IQ)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 kN().record(performance.now()-T,{"db.pool.outcome":"error"}),K})},_}var vN={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function qN(){try{return o().databasePgSsl}catch{return!1}}function t_(){try{return o().databasePoolMax}catch{return 10}}function kQ(_){let x=VQ(new tN({connectionString:_,max:t_(),ssl:qN(),...vN})),u=new iN({pool:x});return{type:"postgres",db:new AQ({dialect:u,log:wQ(x)}),pool:x}}function P_(){return o().databaseUrl}function gN(_){let x=_||P_();return new iN({pool:new tN({connectionString:x,max:t_(),ssl:qN(),...vN})})}function pQ(_){let x=_||P_();return kQ(x)}async function cN(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===z_)z_=null}var z_=null;function RT(){if(!z_)z_=pQ(P_());return z_}async function hN(_){let u={database:gN(_||P_()),plugins:[vQ({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),qQ(),gQ(),cQ(),aQ(),oQ({loginPage:"/login"}),tQ(),hQ({sendMagicLink:async()=>{}}),rQ({sendVerificationOTP:async()=>{}})]},{toBeAdded:T,toBeCreated:C,runMigrations:N}=await iQ(u);if(!T.length&&!C.length)return"up to date";return await N(),`${C.length+T.length} table(s) migrated`}async function aN(_,x){return(await r`
1915
+ `;await YQ(E,z,{mode:384}),await RQ(E,N)}}import{ExportResultCode as VZ}from"@opentelemetry/core";import{AggregationTemporality as pZ,DataPointType as iZ}from"@opentelemetry/sdk-metrics";import{ExportResultCode as hZ}from"@opentelemetry/core";var eZ=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as i4,LoggerProvider as t4}from"@opentelemetry/sdk-logs";import{detectResources as q4,envDetector as g4,hostDetector as c4,osDetector as h4,processDetector as o4,resourceFromAttributes as a4}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as e4}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as sZ}from"@opentelemetry/api-logs";import{NodeSDK as s4}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as _2,SamplingDecision as a}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as m4}from"@opentelemetry/api";var OQ="__d",AQ=BQ("Current request"),SQ=1;var IK=(_)=>{let u=new URL(_.url).searchParams.get(OQ);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class wK{inner;constructor(_){this.inner=_}shouldSample(_,x,u,T,C,K){let E=_.getValue(AQ);if(!E){if(this.inner)return this.inner.shouldSample(_,x,u,T,C,K);return{decision:a.RECORD_AND_SAMPLED}}let N=IK(E);if(N)return{decision:a.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":N}};if(this.inner){let z=this.inner.shouldSample(_,x,u,T,C,K);if(z.decision===a.RECORD_AND_SAMPLED){let $=crypto.randomUUID();z.attributes={...z.attributes??{},"trace.debug.id":$}}return z}return{decision:a.NOT_RECORD}}toString(){return"DebugSampler"}}class VK{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:a.RECORD_AND_SAMPLED};return{decision:a.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var u2=new fQ({preventServerStart:!0}),m2=new wK(new VK(SQ));var SK=nQ.getTracer("studio","1.0.0"),E_=GQ.getMeter("studio","1.0.0"),IQ=yQ.getLogger("studio","1.0.0"),LT=(_,x,u)=>{let T={},C=u,K=u[u.length-1];if(K!==null&&typeof K==="object"&&!Array.isArray(K)&&!(K instanceof Error)&&Object.getPrototypeOf(K)===Object.prototype)T=K,C=u.slice(0,-1);let E=C.map((N)=>{if(N instanceof Error)return`${N.name}: ${N.message}`;if(typeof N==="object")try{return JSON.stringify(N)}catch{return"[Object]"}return String(N)}).join(" ");IQ.emit({severityNumber:_,severityText:x,body:E,attributes:{"log.source":"console",...T}})},FT={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{LT(DT.ERROR,"ERROR",_),FT.error(..._)};console.warn=(..._)=>{LT(DT.WARN,"WARN",_),FT.warn(..._)};console.debug=(..._)=>{LT(DT.DEBUG,"DEBUG",_),FT.debug(..._)};var RT,kK=0,YT=500;function wQ(){if(RT)return;let _=performance.now()+YT;RT=setInterval(()=>{let x=performance.now();kK=Math.max(0,x-_),_=x+YT},YT),RT.unref?.()}function pK(){return wQ(),kK}var kQ=()=>E_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),iK=()=>E_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),tK=400,pQ=100,iQ=(_)=>(x)=>{let u={"db.statement":x.query.sql,"db.status":x.level==="error"?"error":"success"};if(x.queryDurationMillis>tK){let T=pK(),C=T>tK/2;console.error(C?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(T),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:t_()}})}if(kQ().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function tQ(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let T=performance.now(),C=t_(),K=_.idleCount===0&&_.totalCount>=C,E=_.idleCount;return x().then((N)=>{let z=performance.now()-T;if(iK().record(z,{"db.pool.outcome":K?"contended":"available"}),z>pQ)if(K)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:z,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:C});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:z,idleAtStart:E,total:_.totalCount,max:C});return N},(N)=>{throw iK().record(performance.now()-T,{"db.pool.outcome":"error"}),N})},_}var gK={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function cK(){try{return o().databasePgSsl}catch{return!1}}function t_(){try{return o().databasePoolMax}catch{return 10}}function vQ(_){let x=tQ(new qK({connectionString:_,max:t_(),ssl:cK(),...gK})),u=new vK({pool:x});return{type:"postgres",db:new VQ({dialect:u,log:iQ(x)}),pool:x}}function P_(){return o().databaseUrl}function hK(_){let x=_||P_();return new vK({pool:new qK({connectionString:x,max:t_(),ssl:cK(),...gK})})}function qQ(_){let x=_||P_();return vQ(x)}async function oK(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===z_)z_=null}var z_=null;function HT(){if(!z_)z_=qQ(P_());return z_}async function aK(_){let u={database:hK(_||P_()),plugins:[hQ({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),oQ(),aQ(),rQ(),dQ(),lQ({loginPage:"/login"}),cQ(),eQ({sendMagicLink:async()=>{}}),sQ({sendVerificationOTP:async()=>{}})]},{toBeAdded:T,toBeCreated:C,runMigrations:K}=await gQ(u);if(!T.length&&!C.length)return"up to date";return await K(),`${C.length+T.length} table(s) migrated`}async function eK(_,x){return(await r`
1906
1916
  SELECT table_name FROM information_schema.tables
1907
1917
  WHERE table_schema='public' AND table_name=${x}
1908
- `.execute(_)).rows.length>0}async function eQ(_){if(await aN(_,"plugin_migrations"))return;await r`
1918
+ `.execute(_)).rows.length>0}async function bQ(_){if(await eK(_,"plugin_migrations"))return;await r`
1909
1919
  CREATE TABLE plugin_migrations (
1910
1920
  plugin_id TEXT NOT NULL,
1911
1921
  name TEXT NOT NULL,
1912
1922
  timestamp TEXT NOT NULL,
1913
1923
  PRIMARY KEY (plugin_id, name)
1914
1924
  )
1915
- `.execute(_)}async function lQ(_){if(!await aN(_,"kysely_migration"))return;let x=await r`
1925
+ `.execute(_)}async function _6(_){if(!await eK(_,"kysely_migration"))return;let x=await r`
1916
1926
  SELECT name, timestamp FROM kysely_migration
1917
1927
  WHERE name LIKE '%/%'
1918
- `.execute(_);if(x.rows.length===0)return;for(let{name:u,timestamp:T}of x.rows){let C=u;if(u.includes("~plugins/"))C=u.substring(u.indexOf("~plugins/")+9);let 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 r`
1928
+ `.execute(_);if(x.rows.length===0)return;for(let{name:u,timestamp:T}of x.rows){let C=u;if(u.includes("~plugins/"))C=u.substring(u.indexOf("~plugins/")+9);let K=C.indexOf("/");if(K===-1){console.warn(`Skipping malformed plugin migration: ${u}`);continue}let E=C.substring(0,K),N=C.substring(K+1);try{await r`
1919
1929
  INSERT INTO plugin_migrations (plugin_id, name, timestamp)
1920
- VALUES (${E}, ${K}, ${T})
1930
+ VALUES (${E}, ${N}, ${T})
1921
1931
  `.execute(_)}catch{let z=await r`
1922
1932
  SELECT COUNT(*) as cnt FROM plugin_migrations
1923
- WHERE plugin_id = ${E} AND name = ${K}
1924
- `.execute(_);if(Number(z.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${E}/${K}, keeping in old table`);continue}}await r`
1933
+ WHERE plugin_id = ${E} AND name = ${N}
1934
+ `.execute(_);if(Number(z.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${E}/${N}, keeping in old table`);continue}}await r`
1925
1935
  DELETE FROM kysely_migration WHERE name = ${u}
1926
- `.execute(_)}}async function dQ(_){await eQ(_),await lQ(_);let x=new oN({db:_,provider:{getMigrations:()=>Promise.resolve(XT)}}),{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 sQ(_){let{keepOpen:x=!1,database:u,skipBetterAuth:T=!1}=_??{},C="skipped";if(!T&&!u)C=await hN();let N=u??RT(),E=async()=>{if(!x&&!u)await cN(N).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await dQ(N.db);return await E(),{betterAuth:C,kysely:K}}catch(K){throw await E(),K}}async function nL(){let _=RT(),x=new oN({db:_.db,provider:{getMigrations:()=>Promise.resolve(XT)}}),{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 sQ(),console.log("Migrations completed."),process.exit(0)}catch(_){console.error("Migration failed:",_),process.exit(1)}})();export{dQ as runKyselyMigrations,sQ as migrateToLatest,nL as migrateDown};
1936
+ `.execute(_)}}async function x6(_){await bQ(_),await _6(_);let x=new rK({db:_,provider:{getMigrations:()=>Promise.resolve(jT)}}),{error:u,results:T}=await x.migrateToLatest(),C=0;if(T?.forEach((K)=>{if(K.status==="Success")C++;else if(K.status==="Error")console.error(`Failed to execute migration "${K.migrationName}"`)}),u)throw console.error("Failed to migrate"),console.error(u),u;return C}async function u6(_){let{keepOpen:x=!1,database:u,skipBetterAuth:T=!1}=_??{},C="skipped";if(!T&&!u)C=await aK();let K=u??HT(),E=async()=>{if(!x&&!u)await oK(K).catch((N)=>{console.warn("Warning: Error closing database:",N)})};try{let N=await x6(K.db);return await E(),{betterAuth:C,kysely:N}}catch(N){throw await E(),N}}async function S2(){let _=HT(),x=new rK({db:_.db,provider:{getMigrations:()=>Promise.resolve(jT)}}),{error:u,results:T}=await x.migrateDown();if(T?.forEach((C)=>{if(C.status==="Success")console.log(`\u2705 Migration "${C.migrationName}" rolled back successfully`);else if(C.status==="Error")console.error(`\u274C Failed to rollback migration "${C.migrationName}"`)}),u)throw console.error("Failed to rollback migration"),console.error(u),u}if(import.meta.main)(async()=>{try{await u6(),console.log("Migrations completed."),process.exit(0)}catch(_){console.error("Migration failed:",_),process.exit(1)}})();export{x6 as runKyselyMigrations,u6 as migrateToLatest,S2 as migrateDown};