decocms 4.532.4 → 4.532.5

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 (411) hide show
  1. package/dist/client/assets/{ActiveShapeUtils-ChPJqGh0.js → ActiveShapeUtils-DBB_x8Gs.js} +1 -1
  2. package/dist/client/assets/{AlertCircle-BtpKz4PT.js → AlertCircle-BgO0RShT.js} +1 -1
  3. package/dist/client/assets/{AreaChart-DZmHXkAp.js → AreaChart-DKpy9mUx.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-ahbogFmz.js → ArrowLeft-CLIbFvcM.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-DyCjG74a.js → ArrowUp-DGj1a1JQ.js} +1 -1
  6. package/dist/client/assets/{BarChart-CiE4pEf-.js → BarChart-D7kmxRhA.js} +1 -1
  7. package/dist/client/assets/{Building02-DxaGdtc9.js → Building02-DTlG5UDd.js} +1 -1
  8. package/dist/client/assets/{CartesianChart-cDuBYvE7.js → CartesianChart-BAgzcFkw.js} +1 -1
  9. package/dist/client/assets/{CategoricalChart-DZHmxzzH.js → CategoricalChart-1w257zDj.js} +1 -1
  10. package/dist/client/assets/{CheckCircle-D-aNr7ni.js → CheckCircle-BoFFOiJR.js} +1 -1
  11. package/dist/client/assets/{ChevronSelectorVertical-JCtUtQXM.js → ChevronSelectorVertical-DYan7Eqw.js} +1 -1
  12. package/dist/client/assets/{ChevronUp-DI2ULEH1.js → ChevronUp-DQBYMpqT.js} +1 -1
  13. package/dist/client/assets/{Copy01-CVi-tdIV.js → Copy01-BPOEtZ0I.js} +1 -1
  14. package/dist/client/assets/{CreditCard01-C0r7pxEe.js → CreditCard01-BgcDg6Po.js} +1 -1
  15. package/dist/client/assets/{DotsVertical-BRA2E5SW.js → DotsVertical-bVrzKljT.js} +1 -1
  16. package/dist/client/assets/{ErrorBarContext-C64evHjm.js → ErrorBarContext-F07hkAp5.js} +1 -1
  17. package/dist/client/assets/{Globe04-Cte1L_TC.js → Globe04-DROK8sB6.js} +1 -1
  18. package/dist/client/assets/{Image01-D1k8qTMT.js → Image01-CYMd4B2w.js} +1 -1
  19. package/dist/client/assets/{Key01-BpgHOWui.js → Key01-CcnI3N_J.js} +1 -1
  20. package/dist/client/assets/{Link01-DcuF2PJG.js → Link01-BaCE2stQ.js} +1 -1
  21. package/dist/client/assets/{LinkBroken01-CQNo32Ja.js → LinkBroken01-BCegKYMu.js} +1 -1
  22. package/dist/client/assets/{Minus-Dhc5_Uny.js → Minus-YbXjN_Ds.js} +1 -1
  23. package/dist/client/assets/{Monitor01-oUm4kh2W.js → Monitor01-aloCOxdR.js} +1 -1
  24. package/dist/client/assets/{Play-DxsyIVJU.js → Play-CKfAabLj.js} +1 -1
  25. package/dist/client/assets/{Plus-wcBLBnsy.js → Plus-DifrnWDP.js} +1 -1
  26. package/dist/client/assets/{ReferenceLine-Ba0KUpi7.js → ReferenceLine-BjTHivV7.js} +1 -1
  27. package/dist/client/assets/{SearchMd-Cd6S_AYP.js → SearchMd-OM6lL3Xq.js} +1 -1
  28. package/dist/client/assets/{Sector-Dx1I-dh1.js → Sector-aZQlOyVI.js} +1 -1
  29. package/dist/client/assets/{ShoppingBag01-sYpo9zdq.js → ShoppingBag01-EO0f4EEB.js} +1 -1
  30. package/dist/client/assets/{Sun-DU3-MXlo.js → Sun-tqaV4Ycc.js} +1 -1
  31. package/dist/client/assets/{SwitchHorizontal01-BwIaA5sf.js → SwitchHorizontal01-VCz6eoXn.js} +1 -1
  32. package/dist/client/assets/{Tool01-BhJrBqSS.js → Tool01-CDUtHuFU.js} +1 -1
  33. package/dist/client/assets/{Trash01-Bl9OvMDc.js → Trash01-VJJht0QK.js} +1 -1
  34. package/dist/client/assets/{Upload01-CxLN401G.js → Upload01-Dxk-zD3u.js} +1 -1
  35. package/dist/client/assets/{UserSquare-BijqROcb.js → UserSquare-DoHQfmRI.js} +1 -1
  36. package/dist/client/assets/{Users01-D1Fzq2jH.js → Users01-CS7GcqAQ.js} +1 -1
  37. package/dist/client/assets/{XClose-DvAqSZdS.js → XClose-B88tJS8W.js} +1 -1
  38. package/dist/client/assets/{ZoomOut-Cp1NVjXu.js → ZoomOut-Dg4JYL36.js} +1 -1
  39. package/dist/client/assets/{access-gate-DKM36wx_.js → access-gate-DE8upkjE.js} +1 -1
  40. package/dist/client/assets/{add-connection-dialog-DE2gX_vu.js → add-connection-dialog-DxVAYgn3.js} +1 -1
  41. package/dist/client/assets/{agent-analytics-YzDARsvg.js → agent-analytics-CxXcJA46.js} +1 -1
  42. package/dist/client/assets/agent-app-C7973U1b.js +1 -0
  43. package/dist/client/assets/agent-assets-2QbtIHgO.js +1 -0
  44. package/dist/client/assets/{agent-automation-3AtSkd1J.js → agent-automation-Dw4OjqvF.js} +1 -1
  45. package/dist/client/assets/{agent-automations-CpuaAPmm.js → agent-automations-CZq7e0tO.js} +1 -1
  46. package/dist/client/assets/agent-calendar-CGPFAwP8.js +1 -0
  47. package/dist/client/assets/{agent-connect-sources-B8hXnUh-.js → agent-connect-sources-CwNcGkc9.js} +1 -1
  48. package/dist/client/assets/agent-deck-DO5ISfla.js +1 -0
  49. package/dist/client/assets/{agent-e2e-BI6_Y2Qm.js → agent-e2e-tTccsl2f.js} +1 -1
  50. package/dist/client/assets/agent-experiments-ZN8qK48q.js +1 -0
  51. package/dist/client/assets/{agent-file-SiqvdxDu.js → agent-file-BXmbhJ0A.js} +1 -1
  52. package/dist/client/assets/{agent-hosting-B2zNelvZ.js → agent-hosting-DFmxpM7m.js} +1 -1
  53. package/dist/client/assets/{agent-icon-BA0wSxVc.js → agent-icon-CA2ls6V4.js} +1 -1
  54. package/dist/client/assets/agent-library-CZ7enUY0.js +1 -0
  55. package/dist/client/assets/agent-library-file-Isa4z3AB.js +1 -0
  56. package/dist/client/assets/agent-monitor-C2K3A6Za.js +1 -0
  57. package/dist/client/assets/agent-overview-DMIGbWhh.js +1 -0
  58. package/dist/client/assets/agent-releases-TfhRok_k.js +2 -0
  59. package/dist/client/assets/agent-settings-ChMTEbgI.js +1 -0
  60. package/dist/client/assets/agent-site-editor-code-C_tlYT7V.js +2 -0
  61. package/dist/client/assets/agent-site-editor-content-BacOmakn.js +1 -0
  62. package/dist/client/assets/agent-site-editor-preview-WL-FCHY4.js +1 -0
  63. package/dist/client/assets/{agent-site-editor-CTyNCNF-.js → agent-site-editor-vIA92dqf.js} +2 -2
  64. package/dist/client/assets/agent-view-BkMQ3DXr.js +1 -0
  65. package/dist/client/assets/{agent-view-guard-BpSQOXQJ.js → agent-view-guard-CTViio6x.js} +1 -1
  66. package/dist/client/assets/{agents-list-DHHipu9N.js → agents-list-DF0DX580.js} +1 -1
  67. package/dist/client/assets/ai-providers-CQbH_x8n.js +6 -0
  68. package/dist/client/assets/{alert-BRAPjpyd.js → alert-D3Vs7Hmm.js} +1 -1
  69. package/dist/client/assets/{analytics-sections-BalaLoX8.js → analytics-sections-C4W8AGNp.js} +1 -1
  70. package/dist/client/assets/api-keys-BDj5b6nN.js +1 -0
  71. package/dist/client/assets/{api-keys-Cf4NzzlF.js → api-keys-CxMUc2ge.js} +1 -1
  72. package/dist/client/assets/{app-editor-CqYdTBdQ.js → app-editor-BmqQZaqc.js} +1 -1
  73. package/dist/client/assets/{asset-utils-DfcCDt_8.js → asset-utils-O6X_dwt-.js} +1 -1
  74. package/dist/client/assets/{auth-Cq02D4nn.js → auth-B2v1KOAc.js} +1 -1
  75. package/dist/client/assets/{auth-catchall-DSSPM0vv.js → auth-catchall-BGsoBMku.js} +1 -1
  76. package/dist/client/assets/{auth-entry-DnT8rRES.js → auth-entry-CAB8qpvf.js} +1 -1
  77. package/dist/client/assets/{auth-split-layout-D4wlm7YR.js → auth-split-layout-Baxd24ro.js} +1 -1
  78. package/dist/client/assets/{authenticate-and-persist-oauth-BBrRZnWN.js → authenticate-and-persist-oauth-UWCdGiT0.js} +1 -1
  79. package/dist/client/assets/{automation-list-row-CHZWDcvt.js → automation-list-row-DLHQbxMG.js} +1 -1
  80. package/dist/client/assets/{automation-runs-B6QZ0ROW.js → automation-runs-DUVVTfNU.js} +1 -1
  81. package/dist/client/assets/{automations-BcM3w1v2.js → automations-B9kCc45C.js} +1 -1
  82. package/dist/client/assets/{autosend-Co5xz8Gi.js → autosend-BUHDH46M.js} +1 -1
  83. package/dist/client/assets/{badge-gZsmT22J.js → badge-B275lbPZ.js} +1 -1
  84. package/dist/client/assets/{block-document-2K7R3kCf.js → block-document-Ud-Pjgh_.js} +1 -1
  85. package/dist/client/assets/{blocks-preview-workspace-context-Pg-1gGNK.js → blocks-preview-workspace-context-Cfqwt0fl.js} +1 -1
  86. package/dist/client/assets/{blocks-tab-states-BtE_pKjX.js → blocks-tab-states-DhPO3927.js} +1 -1
  87. package/dist/client/assets/{blog-schema-DPqkYVXa.js → blog-schema-CxYprLcJ.js} +1 -1
  88. package/dist/client/assets/{buckets-B6n9Srkv.js → buckets-Ctl6DyfN.js} +1 -1
  89. package/dist/client/assets/{build-improve-prompt-doc-COJilRIS.js → build-improve-prompt-doc-B1ctgI5i.js} +1 -1
  90. package/dist/client/assets/{calendar-XpraAwVM.js → calendar-BF6y0Z9x.js} +1 -1
  91. package/dist/client/assets/{capability-load-error-BWJxAmDU.js → capability-load-error-DLAPLAgw.js} +1 -1
  92. package/dist/client/assets/{category-editor-D9WstmCu.js → category-editor-BWhnsKFl.js} +1 -1
  93. package/dist/client/assets/{cdn-tab-CvUbabiJ.js → cdn-tab-DNzFiD5m.js} +1 -1
  94. package/dist/client/assets/{chart-CwYqQLKp.js → chart-BV2fH_6W.js} +1 -1
  95. package/dist/client/assets/{chat-context-CLLbJGXj.js → chat-context-CRAqcBEA.js} +1 -1
  96. package/dist/client/assets/chat-draft-D8MxxmMn.js +1 -0
  97. package/dist/client/assets/{checkbox-C9UULR8k.js → checkbox-z1yY0VbG.js} +1 -1
  98. package/dist/client/assets/{choose-editor-BbrK1J6q.js → choose-editor-BfJ_uy-r.js} +1 -1
  99. package/dist/client/assets/{cli-auth-success-017xXJSi.js → cli-auth-success-BXP6hdAw.js} +1 -1
  100. package/dist/client/assets/{client-icons-DC2uTuOI.js → client-icons-CZJL6jbw.js} +1 -1
  101. package/dist/client/assets/{cms-settings-editor-Db-HeJmw.js → cms-settings-editor-CykKSUR_.js} +1 -1
  102. package/dist/client/assets/{collapsible-SvWPym8d.js → collapsible-TgXdzaTW.js} +1 -1
  103. package/dist/client/assets/{collection-detail-BlKohPLw.js → collection-detail-C50ZKf3h.js} +1 -1
  104. package/dist/client/assets/{collection-display-button-BywO1R2t.js → collection-display-button-C1BGad1J.js} +1 -1
  105. package/dist/client/assets/{collection-search-DtdoGA9K.js → collection-search-Dxv0FJfh.js} +1 -1
  106. package/dist/client/assets/{collection-table-wrapper-BrBXdd-g.js → collection-table-wrapper-BQz4wQv6.js} +1 -1
  107. package/dist/client/assets/{collection-tabs-CTyTx68t.js → collection-tabs-k2c4oB2_.js} +1 -1
  108. package/dist/client/assets/{column-rules-KE9740K5.js → column-rules-IZdAS5gT.js} +1 -1
  109. package/dist/client/assets/{combobox-CKuPCd5z.js → combobox-CXI3q8SD.js} +1 -1
  110. package/dist/client/assets/{command-p6B9RH3h.js → command-6ewscZzU.js} +1 -1
  111. package/dist/client/assets/{companion-mcps-section-BCMOAnvk.js → companion-mcps-section-DoFZott1.js} +1 -1
  112. package/dist/client/assets/{config-BpSR7fZ-.js → config-DvYJzFe4.js} +1 -1
  113. package/dist/client/assets/{connect-B8AXFjdY.js → connect-D2juww-N.js} +1 -1
  114. package/dist/client/assets/{connect-layout-6-TUS84W.js → connect-layout-DSU6EVHj.js} +1 -1
  115. package/dist/client/assets/{connect-source-dialog-FYlss7nI.js → connect-source-dialog-BYzD_cCd.js} +1 -1
  116. package/dist/client/assets/{connection-B_vJ6T29.js → connection--HCyemnh.js} +1 -1
  117. package/dist/client/assets/{connection-card-DVkZvaM-.js → connection-card-CJzQ1R1a.js} +1 -1
  118. package/dist/client/assets/{connection-detail-Bzl_oJx2.js → connection-detail-DwxIR5Sg.js} +1 -1
  119. package/dist/client/assets/{connection-form-helpers-lSHy9dtX.js → connection-form-helpers-BhmC9tzU.js} +1 -1
  120. package/dist/client/assets/{connections-BvgIlAU9.js → connections-BbTMsfM2.js} +1 -1
  121. package/dist/client/assets/{content-tab-BVHV6dPn.js → content-tab-C4xTdHdc.js} +3 -3
  122. package/dist/client/assets/{context-DZ-o1G_r.js → context-BpAOIYxL.js} +1 -1
  123. package/dist/client/assets/{context-menu-4iKJivEI.js → context-menu-ClCy32tB.js} +1 -1
  124. package/dist/client/assets/{context-shell-D-Byl_hS.js → context-shell-AlLqYzkU.js} +3 -3
  125. package/dist/client/assets/{core.esm-DJ7xaMj8.js → core.esm-BXQfTZkM.js} +1 -1
  126. package/dist/client/assets/{create-organization-dialog-upyyqwAS.js → create-organization-dialog-BY6IHR1p.js} +1 -1
  127. package/dist/client/assets/{daily-pulse-DBSqxt03.js → daily-pulse-BWeLPl82.js} +1 -1
  128. package/dist/client/assets/{discover-CPqRIc0t.js → discover-CCHDOxkE.js} +1 -1
  129. package/dist/client/assets/{domain-settings-DnbRmOHt.js → domain-settings-BrlbYDBP.js} +1 -1
  130. package/dist/client/assets/{drawer-Dp0r57Qp.js → drawer-C8pd-9h5.js} +1 -1
  131. package/dist/client/assets/{editor-BCBz6jsB.js → editor-BQUfQi3X.js} +1 -1
  132. package/dist/client/assets/{editor-classes-CUvsZ6TK.js → editor-classes-DeM_8BMv.js} +1 -1
  133. package/dist/client/assets/{empty-state-7LsTt5sL.js → empty-state-DnXn-oXP.js} +1 -1
  134. package/dist/client/assets/{empty-state-rcQuHhk6.js → empty-state-P8DRc5l5.js} +1 -1
  135. package/dist/client/assets/{experiments-tab-D7malH84.js → experiments-tab-Dj_UXlje.js} +1 -1
  136. package/dist/client/assets/{experiments-tab-choice-DDomXBPA.js → experiments-tab-choice-CkKpewiH.js} +1 -1
  137. package/dist/client/assets/{extract-connection-data-BvfRDqC4.js → extract-connection-data-Bv4y_ppm.js} +1 -1
  138. package/dist/client/assets/{feature-gate-DdfwuiKB.js → feature-gate-CeySSZwi.js} +1 -1
  139. package/dist/client/assets/{feature-paywall-pnXia0J8.js → feature-paywall-DtZqXAFQ.js} +1 -1
  140. package/dist/client/assets/{file-explorer-CFF6fba5.js → file-explorer-CPhsOyRV.js} +1 -1
  141. package/dist/client/assets/{file-preview-Bj2kFfso.js → file-preview-B58y6F5R.js} +1 -1
  142. package/dist/client/assets/{file-share-button-DSVwr_sV.js → file-share-button-Cvb6TL3d.js} +1 -1
  143. package/dist/client/assets/{file-type-icon-tH_Br6Of.js → file-type-icon-qeWcetSB.js} +1 -1
  144. package/dist/client/assets/{folder-icon-BJ1ZRLFL.js → folder-icon-DN6fGLYE.js} +1 -1
  145. package/dist/client/assets/{form-CDBWVZmE.js → form-BIDT1Ue4.js} +1 -1
  146. package/dist/client/assets/{general-BTB_XY1d.js → general-D_xrCx6_.js} +1 -1
  147. package/dist/client/assets/{held-block-view-BYiRzwJw.js → held-block-view-DAPwji26.js} +3 -3
  148. package/dist/client/assets/home-BgI7ZNrl.js +1 -0
  149. package/dist/client/assets/{hosted-publish-feedback-BX6_-Epi.js → hosted-publish-feedback-BFYHRRPf.js} +1 -1
  150. package/dist/client/assets/{icon-button-DVmDp8lL.js → icon-button-DSMd1qL1.js} +1 -1
  151. package/dist/client/assets/{index-C1jnfnTx.js → index-B94uTMNH.js} +1 -1
  152. package/dist/client/assets/{index-Dw0ALa60.js → index-BCDmEpzR.js} +1 -1
  153. package/dist/client/assets/{index-DucOKncm.js → index-BDmPHxvf.js} +1 -1
  154. package/dist/client/assets/{index-DROH6MCH.js → index-BG1gU17W.js} +1 -1
  155. package/dist/client/assets/{index-nn0dWPfn.js → index-B_Vz7pw9.js} +1 -1
  156. package/dist/client/assets/{index-Ce_Co-9r.js → index-Bk9GYF9h.js} +1 -1
  157. package/dist/client/assets/{index-BHfNbC3J.js → index-BqutwFSm.js} +44 -44
  158. package/dist/client/assets/{index-C86JEmj3.js → index-BxQkdZTK.js} +1 -1
  159. package/dist/client/assets/index-CDXVQ_TQ.css +1 -0
  160. package/dist/client/assets/{index-CFx9VdIE.js → index-COUcDTIR.js} +1 -1
  161. package/dist/client/assets/{index-6TnHuNKo.js → index-CWPTQWeO.js} +1 -1
  162. package/dist/client/assets/{index-B9XczdNY.js → index-Cu6YVL4w.js} +1 -1
  163. package/dist/client/assets/{index-B6sjLnnC.js → index-DX3l6VgM.js} +1 -1
  164. package/dist/client/assets/{index-BIoURtql.js → index-H6qehDl6.js} +1 -1
  165. package/dist/client/assets/{index-CsZnvO4A.js → index-O_xtfziX.js} +1 -1
  166. package/dist/client/assets/{index-CeFLqtNb.js → index-oqricAgA.js} +1 -1
  167. package/dist/client/assets/{index-redirect-CkhmqmlO.js → index-redirect-Bt4gzxaD.js} +1 -1
  168. package/dist/client/assets/{infiniteQueryObserver-V9LqyXQl.js → infiniteQueryObserver-DCWN2zRB.js} +1 -1
  169. package/dist/client/assets/{infra-billing-D1cg_G5x.js → infra-billing-ywaH9jxg.js} +1 -1
  170. package/dist/client/assets/{input-3ql30_TD.js → input-CpuPl1VL.js} +1 -1
  171. package/dist/client/assets/input-CsD5Q7QM.js +17 -0
  172. package/dist/client/assets/{integration-icon-B0-KqsSh.js → integration-icon-C_aSliEO.js} +1 -1
  173. package/dist/client/assets/{jira-icon-DBG6iiVj.js → jira-icon-CYte4ad8.js} +1 -1
  174. package/dist/client/assets/{label-DP4jFd6T.js → label-Ce-ZCIZn.js} +1 -1
  175. package/dist/client/assets/{layout-Cqr-RNfg.js → layout-BN3gCJyG.js} +1 -1
  176. package/dist/client/assets/{legacy-agents-deep-CbLdTgKM.js → legacy-agents-deep-mrP4uzb7.js} +1 -1
  177. package/dist/client/assets/{legacy-main-redirect-UaYyBO2R.js → legacy-main-redirect-skPOzTvI.js} +1 -1
  178. package/dist/client/assets/library-C8H8nQx2.js +1 -0
  179. package/dist/client/assets/{login-BF7XBFc4.js → login-Bqng4rrv.js} +1 -1
  180. package/dist/client/assets/{markdown-DOcKgQkI.js → markdown-Y9FReFEe.js} +1 -1
  181. package/dist/client/assets/{mcp-app-renderer-D9gtw-L1.js → mcp-app-renderer-DrWXODkj.js} +1 -1
  182. package/dist/client/assets/{mcp-oauth-CA0hjUdX.js → mcp-oauth-B1ojmT8l.js} +1 -1
  183. package/dist/client/assets/{mcp-oauth-BcU5Vr1i.js → mcp-oauth-Mf3yN31G.js} +1 -1
  184. package/dist/client/assets/{members-BYa7_oFh.js → members-Bl1zRjVM.js} +1 -1
  185. package/dist/client/assets/{memory-D_LKKGXZ.js → memory-MKr86D-6.js} +1 -1
  186. package/dist/client/assets/{mini-report-page-DY5IFbuc.js → mini-report-page-CJr2XkWD.js} +1 -1
  187. package/dist/client/assets/mock-board-CtHapNeM.js +81 -0
  188. package/dist/client/assets/{monaco-editor-CT_wKOJZ.js → monaco-editor-fuZZsh6j.js} +1 -1
  189. package/dist/client/assets/{monitoring-B9KxDoyY.js → monitoring-CmKUhbQ7.js} +1 -1
  190. package/dist/client/assets/{monitoring-stats-row-C0f3BIfr.js → monitoring-stats-row-CfiYSb9F.js} +1 -1
  191. package/dist/client/assets/{multi-select-CLYdfe2Y.js → multi-select-BqD525y_.js} +1 -1
  192. package/dist/client/assets/{mustache-C9_SXOP4.js → mustache-XoR-PEeZ.js} +1 -1
  193. package/dist/client/assets/{named-rule-uses-bPdRY20_.js → named-rule-uses-BbtWVVld.js} +1 -1
  194. package/dist/client/assets/{new-project-dialog-KevIoouL.js → new-project-dialog-BRBdOtjX.js} +1 -1
  195. package/dist/client/assets/{oauth-callback-CvHr64Gj.js → oauth-callback-CZuAW6K7.js} +1 -1
  196. package/dist/client/assets/{oauth-callback-ai-provider-Cpn9kidM.js → oauth-callback-ai-provider-6NJDakak.js} +1 -1
  197. package/dist/client/assets/{onboarding-BwWF1qci.js → onboarding-aHBbCiCh.js} +1 -1
  198. package/dist/client/assets/openai-conversation-Ds3XswsL.js +3 -0
  199. package/dist/client/assets/{optimistic-project-sidebar-views-Cjk0pCBE.js → optimistic-project-sidebar-views-w9Ct7FMs.js} +1 -1
  200. package/dist/client/assets/{order-monitor-day-Cnmpuv9f.js → order-monitor-day-CA2fWj1y.js} +1 -1
  201. package/dist/client/assets/{organization-choice-d2BKN9Yu.js → organization-choice-D4aq2Nxu.js} +1 -1
  202. package/dist/client/assets/{orgs-B5jtYoeL.js → orgs-kp47NygQ.js} +1 -1
  203. package/dist/client/assets/{page-seo-form-CBz7r4kq.js → page-seo-form-C-3Oyqrm.js} +1 -1
  204. package/dist/client/assets/{pair-CPz7fX5d.js → pair-Dc1F6KjY.js} +1 -1
  205. package/dist/client/assets/{parse-sections-DTGij5pB.js → parse-sections-CRdFubPB.js} +1 -1
  206. package/dist/client/assets/{plan-Je9PR-gV.js → plan-CmzQmIDy.js} +1 -1
  207. package/dist/client/assets/{plan-ladder-C_QWsvUa.js → plan-ladder-Dqd8xMeE.js} +1 -1
  208. package/dist/client/assets/{popover-DHMsFNZO.js → popover-VBk0ee-p.js} +1 -1
  209. package/dist/client/assets/{post-calendar-DHdFzSXi.js → post-calendar-DwNGscjq.js} +1 -1
  210. package/dist/client/assets/{post-editor-CM8HHeAu.js → post-editor-BEoWoH05.js} +1 -1
  211. package/dist/client/assets/{preview-content-Dp2VvNmO.js → preview-content-DRmpsOLy.js} +1 -1
  212. package/dist/client/assets/{preview-dialog-B07lPMsZ.js → preview-dialog-dWAdST9o.js} +1 -1
  213. package/dist/client/assets/{preview-panel-CbVzeDkq.js → preview-panel-BJLsJJcg.js} +1 -1
  214. package/dist/client/assets/{preview-tab-Za6eM9ZE.js → preview-tab-DZ8ks1YP.js} +3 -3
  215. package/dist/client/assets/{product-picker-dialog-dZwwYRcD.js → product-picker-dialog-MPHTgKXX.js} +1 -1
  216. package/dist/client/assets/{profile-BKmWx2G8.js → profile-Dd0_s4VG.js} +1 -1
  217. package/dist/client/assets/{project-app-view-OhNlFwLe.js → project-app-view-BtOq7ZWp.js} +1 -1
  218. package/dist/client/assets/{project-apps-ByR971WC.js → project-apps-CqjnVLMe.js} +1 -1
  219. package/dist/client/assets/{project-feed-Btx2WdF9.js → project-feed-CykWxmDT.js} +1 -1
  220. package/dist/client/assets/{project-icon-BRzC7xun.js → project-icon-DtQEqIYx.js} +1 -1
  221. package/dist/client/assets/project-reports-BMBo-hKU.js +1 -0
  222. package/dist/client/assets/project-tasks-DVakkLu4.js +1 -0
  223. package/dist/client/assets/{projects-Dx9YO4qB.js → projects-cYRTCGsM.js} +1 -1
  224. package/dist/client/assets/{projects-empty-state-Cwl_vLQO.js → projects-empty-state-CaYoBzMW.js} +1 -1
  225. package/dist/client/assets/{prompts-Dchn2MBF.js → prompts-Sb2iWGQw.js} +1 -1
  226. package/dist/client/assets/record-editor-B606zRBI.js +1 -0
  227. package/dist/client/assets/{redirect-editor-Boretiu3.js → redirect-editor-BG_05zsK.js} +1 -1
  228. package/dist/client/assets/{releases-api-CbLXrRtA.js → releases-api-RCTgo6g_.js} +1 -1
  229. package/dist/client/assets/reports-BsuVeMpD.js +1 -0
  230. package/dist/client/assets/{reports-C9BgQpmt.js → reports-CtmBtrB8.js} +1 -1
  231. package/dist/client/assets/{reports-onboarding-U9ww7IJw.js → reports-onboarding-BzWzS8Md.js} +1 -1
  232. package/dist/client/assets/{reports-tab-CcMOyz5E.js → reports-tab-BTBssl4Z.js} +2 -2
  233. package/dist/client/assets/{repositories-CZuNni9b.js → repositories-BKZPSNVR.js} +1 -1
  234. package/dist/client/assets/repositories-CNBPJbW9.js +1 -0
  235. package/dist/client/assets/{repository-binding-BQa5osxz.js → repository-binding-UPUU8iTD.js} +1 -1
  236. package/dist/client/assets/{repository-import-picker-bX-bkV1W.js → repository-import-picker-Cgqnl0_u.js} +1 -1
  237. package/dist/client/assets/{repository-picker-CosSYciA.js → repository-picker-BGNbJ5FK.js} +1 -1
  238. package/dist/client/assets/{require-capability-CEpjmn3B.js → require-capability-Fl7myTcy.js} +1 -1
  239. package/dist/client/assets/{required-auth-layout-Dc3A1ins.js → required-auth-layout-DGUYFPwh.js} +1 -1
  240. package/dist/client/assets/{reset-password-BdbuaRA3.js → reset-password-vxbjXaOx.js} +1 -1
  241. package/dist/client/assets/{resizable-B1cWqD6a.js → resizable-2wUgP6NM.js} +1 -1
  242. package/dist/client/assets/{resolve-tab-icon-CKAqLX6_.js → resolve-tab-icon-CXm2cUKs.js} +1 -1
  243. package/dist/client/assets/{review-settings-BhoF6EAe.js → review-settings-BMj11lsi.js} +1 -1
  244. package/dist/client/assets/roles-D4Qgb0OR.js +1 -0
  245. package/dist/client/assets/route-B3dhLyR7.js +1 -0
  246. package/dist/client/assets/{route-Dr_Vx4mu.js → route-BhW-SwkC.js} +1 -1
  247. package/dist/client/assets/route-D6RbDGc3.js +1 -0
  248. package/dist/client/assets/{sandbox-lifecycle-context-CJ_lOQLz.js → sandbox-lifecycle-context-BrAJV0hd.js} +1 -1
  249. package/dist/client/assets/{schema-C9GQaQi3.js → schema-7_06wAgs.js} +1 -1
  250. package/dist/client/assets/{schema-BuKZ6x5v.js → schema-DHeACN0H.js} +1 -1
  251. package/dist/client/assets/{scroll-area-BANFTsxP.js → scroll-area-56TNtyKH.js} +1 -1
  252. package/dist/client/assets/{search-input-675T6lu5.js → search-input-Zdy1mSae.js} +1 -1
  253. package/dist/client/assets/{search-toggle-DIPbCLr7.js → search-toggle-DkaLKnSY.js} +1 -1
  254. package/dist/client/assets/{secret-picker-xGDtanwg.js → secret-picker-B5fM64mM.js} +1 -1
  255. package/dist/client/assets/{secrets-C5yk5Rf_.js → secrets-DyW2ssCW.js} +1 -1
  256. package/dist/client/assets/{section-array-field-DpS0YJzV.js → section-array-field-rBWQHh7r.js} +1 -1
  257. package/dist/client/assets/{sections-BpeDTv5B.js → sections-DlaCV9cl.js} +1 -1
  258. package/dist/client/assets/{sections-editor-DvvKQ5Ao.js → sections-editor-BDKjqTEY.js} +1 -1
  259. package/dist/client/assets/{select-model-flGcww1p.js → select-model-TCy_ghzu.js} +1 -1
  260. package/dist/client/assets/{select-DeUMpSJ9.js → select-qBldsuZB.js} +1 -1
  261. package/dist/client/assets/{seo-editor-BFG4AFCF.js → seo-editor-BLOTxVNW.js} +1 -1
  262. package/dist/client/assets/{separator-CMFiGe9c.js → separator-DZ0CgMqF.js} +1 -1
  263. package/dist/client/assets/settings-tab-DU-L5-CZ.js +1 -0
  264. package/dist/client/assets/{sheet-D6OsnI4Q.js → sheet-D-DL4PyF.js} +1 -1
  265. package/dist/client/assets/{shell-layout-v3SXhoC6.js → shell-layout-DKjamnSj.js} +1 -1
  266. package/dist/client/assets/{site-draft-actions-CExA5GRl.js → site-draft-actions-DQJmjCxq.js} +1 -1
  267. package/dist/client/assets/{site-draft-view-bCNdZjgN.js → site-draft-view-C5NGRcIz.js} +2 -2
  268. package/dist/client/assets/site-editor-BfXsVuJf.js +1 -0
  269. package/dist/client/assets/{site-editor-toast-KFvABq33.js → site-editor-toast-UJBsXoYS.js} +1 -1
  270. package/dist/client/assets/{skills-Dbf3rR0W.js → skills-De822NM4.js} +1 -1
  271. package/dist/client/assets/{slider-CY8f0V_U.js → slider-DKsnyXsn.js} +1 -1
  272. package/dist/client/assets/{sortable.esm-BySuc2kW.js → sortable.esm-BPDXfku7.js} +1 -1
  273. package/dist/client/assets/{sso-BikZKw53.js → sso-ClBwUtr5.js} +1 -1
  274. package/dist/client/assets/{suggestion-Dng1OvVu.js → suggestion-CgPYCK9k.js} +1 -1
  275. package/dist/client/assets/{switch-CRLlGWRm.js → switch-CZb-mYsM.js} +1 -1
  276. package/dist/client/assets/{symbol-IDB1a86s.js → symbol-CyQNqsns.js} +1 -1
  277. package/dist/client/assets/{synced-repos-DijY8Z0t.js → synced-repos-D4QeoEDp.js} +1 -1
  278. package/dist/client/assets/{tab-icon-glyph-DqxS1W2O.js → tab-icon-glyph-DSl4L3DW.js} +1 -1
  279. package/dist/client/assets/{table-DURb9CvE.js → table-V2ahNRZT.js} +1 -1
  280. package/dist/client/assets/{tabs-BmUHuMh_.js → tabs-Cb1EEFWU.js} +1 -1
  281. package/dist/client/assets/{task-assignee-avatar-ETqhRnIl.js → task-assignee-avatar-Wqv60Mfs.js} +1 -1
  282. package/dist/client/assets/{task-board-C0HnttyI.js → task-board-Cp4gjjuc.js} +1 -1
  283. package/dist/client/assets/{task-route-DCdSOzRh.js → task-route-DKYWwLvg.js} +1 -1
  284. package/dist/client/assets/{task-status-B3vHcktz.js → task-status-Ne5UIAX6.js} +1 -1
  285. package/dist/client/assets/{taskboard-analytics-DmlxZ5Mf.js → taskboard-analytics-adljo_lT.js} +1 -1
  286. package/dist/client/assets/{tasks-CjGAgQXL.js → tasks--ex7OH66.js} +1 -1
  287. package/dist/client/assets/tasks-D4NYojIN.js +1 -0
  288. package/dist/client/assets/{textarea-D-M04FyU.js → textarea-DIMcwKj_.js} +1 -1
  289. package/dist/client/assets/{thread-analytics-D71NRRmc.js → thread-analytics-CqnVp9Hp.js} +1 -1
  290. package/dist/client/assets/{thread-intent-Cz3k9J0V.js → thread-intent-BdGEZQ5d.js} +1 -1
  291. package/dist/client/assets/{thread-route-WzhwdvG6.js → thread-route-BGD5ZDLj.js} +1 -1
  292. package/dist/client/assets/{thread-route-BZApRytK.js → thread-route-DPiunvH4.js} +1 -1
  293. package/dist/client/assets/{thread-sheet-body-a_5G_x24.js → thread-sheet-body-DFdozxob.js} +1 -1
  294. package/dist/client/assets/{time-range-picker-By2VKq20.js → time-range-picker-CyphWImg.js} +1 -1
  295. package/dist/client/assets/{toggle-group-CuZdEcaQ.js → toggle-group-DQ8R6Md0.js} +1 -1
  296. package/dist/client/assets/{tool-namespace-BCjfmbIj.js → tool-namespace-BWBiQhUq.js} +1 -1
  297. package/dist/client/assets/{toolbar-icon-button-CLfu4oc8.js → toolbar-icon-button-C7qFILLP.js} +1 -1
  298. package/dist/client/assets/{tooltip-BHKDYyNW.js → tooltip-RrBkgkDb.js} +1 -1
  299. package/dist/client/assets/{tooltipContext-CiCw0f_4.js → tooltipContext-C2tBhXWj.js} +1 -1
  300. package/dist/client/assets/{track-DapsK5NY.js → track-C7T3Q_NS.js} +1 -1
  301. package/dist/client/assets/{types-XXF2z162.js → types-CRdMnwkp.js} +1 -1
  302. package/dist/client/assets/{url-slug-DCBs2Iee.js → url-slug-DUBa3zVK.js} +1 -1
  303. package/dist/client/assets/{usage-stats-DyTGad0G.js → usage-stats-C9C7AU7H.js} +1 -1
  304. package/dist/client/assets/{use-ai-providers-Bx_YK4SP.js → use-ai-providers-DVBJIa-_.js} +1 -1
  305. package/dist/client/assets/{use-apply-named-rule-sn752YMP.js → use-apply-named-rule-CjRIJJWs.js} +1 -1
  306. package/dist/client/assets/{use-automations-Bn3XK6SO.js → use-automations-DIvmuRlE.js} +1 -1
  307. package/dist/client/assets/{use-autosave-BBFmGfRr.js → use-autosave-D0tBxxQ8.js} +1 -1
  308. package/dist/client/assets/{use-chat-layout-state-B_AOeaBZ.js → use-chat-layout-state-Aa4VqEQx.js} +1 -1
  309. package/dist/client/assets/{use-clock-tick-CpFwzf-R.js → use-clock-tick-UQl4M1J5.js} +1 -1
  310. package/dist/client/assets/{use-cms-publish-actions-cpjQhbMn.js → use-cms-publish-actions-c5y_nfEn.js} +1 -1
  311. package/dist/client/assets/{use-connect-companion-B1v45-YA.js → use-connect-companion-BPn2REj-.js} +1 -1
  312. package/dist/client/assets/{use-connection-BHV4hlr5.js → use-connection-DVSix2AF.js} +1 -1
  313. package/dist/client/assets/{use-copy-FdbZaK00.js → use-copy-C6zGg71V.js} +1 -1
  314. package/dist/client/assets/{use-create-virtual-mcp-CeFhyP52.js → use-create-virtual-mcp-5nIGXG87.js} +1 -1
  315. package/dist/client/assets/{use-date-fns-locale-Cc5HqSt5.js → use-date-fns-locale-DS-Izx-9.js} +1 -1
  316. package/dist/client/assets/{use-debounced-autosave-D0OZ0z3L.js → use-debounced-autosave-DwOKfyXg.js} +1 -1
  317. package/dist/client/assets/{use-debounced-value-CFShX-im.js → use-debounced-value-Chk6vawl.js} +1 -1
  318. package/dist/client/assets/{use-deco-credits-Dj7f8XC0.js → use-deco-credits-B32-9i_a.js} +1 -1
  319. package/dist/client/assets/{use-decopilot-events-Ca_CO8xU.js → use-decopilot-events-B5qoi0Wr.js} +1 -1
  320. package/dist/client/assets/{use-delete-connection-DoOw898x.js → use-delete-connection-DLjMAPog.js} +1 -1
  321. package/dist/client/assets/{use-deployment-admin-CCtkUNgJ.js → use-deployment-admin-CuHcgI6F.js} +1 -1
  322. package/dist/client/assets/{use-fast-preview-draft-url-DVMYcZ0S.js → use-fast-preview-draft-url-eu2nT6W8.js} +1 -1
  323. package/dist/client/assets/{use-file-configs-L_EIZykF.js → use-file-configs-Cr0gwmd8.js} +1 -1
  324. package/dist/client/assets/{use-inbox-feed-SET_Qqr-.js → use-inbox-feed-D4K-P1LA.js} +1 -1
  325. package/dist/client/assets/{use-infinite-scroll-ou4V9KG1.js → use-infinite-scroll-asA1-tf9.js} +1 -1
  326. package/dist/client/assets/{use-join-requests-chrt_1MF.js → use-join-requests-CkkZxs_r.js} +1 -1
  327. package/dist/client/assets/{use-main-panel-tabs-DIRjMqa3.js → use-main-panel-tabs-Dy-Y3oMc.js} +1 -1
  328. package/dist/client/assets/{use-mcp-auth-status-z87-JiLY.js → use-mcp-auth-status-DqE0wx72.js} +1 -1
  329. package/dist/client/assets/{use-mcp-client-Dkhr6mNw.js → use-mcp-client-liHKfpfj.js} +1 -1
  330. package/dist/client/assets/{use-mcp-prompts-CIKYKwtF.js → use-mcp-prompts-cYDRO3Kp.js} +1 -1
  331. package/dist/client/assets/{use-mcp-tools-BKhJVoW_.js → use-mcp-tools-iSL8qiEx.js} +1 -1
  332. package/dist/client/assets/{use-mobile-DI2FTIL0.js → use-mobile-XeH7HFdg.js} +1 -1
  333. package/dist/client/assets/{use-move-blocks-B14_P9tC.js → use-move-blocks-Bkqfi8fY.js} +1 -1
  334. package/dist/client/assets/{use-navigate-to-agent-6ltC9eW0.js → use-navigate-to-agent-Ba4TBBON.js} +1 -1
  335. package/dist/client/assets/{use-org-fs-CB3veWHZ.js → use-org-fs-DNlQgLUG.js} +1 -1
  336. package/dist/client/assets/{use-org-repo-syncs-6J5O5qVp.js → use-org-repo-syncs-MkA3X0Ud.js} +1 -1
  337. package/dist/client/assets/{use-org-sso-DoYxVAf1.js → use-org-sso-ZqYOnTZ9.js} +1 -1
  338. package/dist/client/assets/{use-organization-roles-BDn2Q_fr.js → use-organization-roles-cbSQbTbx.js} +1 -1
  339. package/dist/client/assets/{use-organization-settings-Dkjdf4nA.js → use-organization-settings-C_uyrpUI.js} +1 -1
  340. package/dist/client/assets/{use-panel-navigate-BsaNinK5.js → use-panel-navigate-DIX895ki.js} +1 -1
  341. package/dist/client/assets/{use-project-native-view-presence-COOx7x9i.js → use-project-native-view-presence-r0Gkk_5E.js} +1 -1
  342. package/dist/client/assets/{use-project-scope-DUjnfoFF.js → use-project-scope-C98g-M0M.js} +1 -1
  343. package/dist/client/assets/{use-recent-apps-BZ1V26Xs.js → use-recent-apps-Bp9mI3Hn.js} +1 -1
  344. package/dist/client/assets/{use-releases-978ACBrZ.js → use-releases-RUoL1asP.js} +1 -1
  345. package/dist/client/assets/{use-reports-diagnostic-GepFD608.js → use-reports-diagnostic-CJqF-DdT.js} +1 -1
  346. package/dist/client/assets/{use-sandbox-events-tMbTFRNA.js → use-sandbox-events-COXHFEXL.js} +1 -1
  347. package/dist/client/assets/{use-secrets-22jE29ga.js → use-secrets-BLT_VvH0.js} +1 -1
  348. package/dist/client/assets/{use-section-preview-base-DoatuuwF.js → use-section-preview-base-BHeBUNI1.js} +1 -1
  349. package/dist/client/assets/{use-session-runtime-DqV0h8GY.js → use-session-runtime-Cass8jgv.js} +1 -1
  350. package/dist/client/assets/{use-sidebar-collapsed-DfprbLGc.js → use-sidebar-collapsed-DTxIOS-x.js} +1 -1
  351. package/dist/client/assets/{use-tags--xoooGVd.js → use-tags-CrjLMu_-.js} +1 -1
  352. package/dist/client/assets/{use-task-board-analytics-B0HvVIZ9.js → use-task-board-analytics-C2n2_51H.js} +1 -1
  353. package/dist/client/assets/{use-task-board-events-OAPO3lhD.js → use-task-board-events-D5XnGFaO.js} +1 -1
  354. package/dist/client/assets/{use-task-board-item-prs-HXPEyO5q.js → use-task-board-item-prs-CSoHUx1b.js} +1 -1
  355. package/dist/client/assets/{use-task-metadata-DiHVSC33.js → use-task-metadata-C7aK-HiB.js} +1 -1
  356. package/dist/client/assets/{use-thread-analytics-w_rB9QIG.js → use-thread-analytics-u-QN-pcv.js} +1 -1
  357. package/dist/client/assets/{use-thread-outputs-DKCnoHd3.js → use-thread-outputs-BkxphpfI.js} +1 -1
  358. package/dist/client/assets/useInfiniteQuery-BYZFn0Hg.js +1 -0
  359. package/dist/client/assets/{useQueries-KktKhtBK.js → useQueries-Rmt36TSN.js} +1 -1
  360. package/dist/client/assets/useSuspenseInfiniteQuery-BjfsGxpD.js +1 -0
  361. package/dist/client/assets/{users-Ccz0EkLs.js → users-DaTm0LIa.js} +1 -1
  362. package/dist/client/assets/{utils-C-JscWIZ.js → utils-DF3h1YFq.js} +1 -1
  363. package/dist/client/assets/{variant-calendar-CIx6nlV_.js → variant-calendar-6x1UYIC-.js} +1 -1
  364. package/dist/client/assets/{variant-matcher-override-BS5Ktooo.js → variant-matcher-override-nKaBGWQ5.js} +1 -1
  365. package/dist/client/assets/{view-header-vhlXWyA_.js → view-header-DhqNDwWw.js} +1 -1
  366. package/dist/client/assets/{virtual-mcp-DlFkWVPE.js → virtual-mcp-Bp27ph4n.js} +1 -1
  367. package/dist/client/assets/{watch-sse-pool-WDeFSNQB.js → watch-sse-pool-62BerBh7.js} +1 -1
  368. package/dist/client/index.html +2 -2
  369. package/dist/server/cli.js +36 -36
  370. package/dist/server/migrate-dbos.js +2 -2
  371. package/dist/server/migrate.js +154 -154
  372. package/dist/server/server.js +818 -818
  373. package/package.json +1 -1
  374. package/dist/client/assets/agent-app-DCimJxt7.js +0 -1
  375. package/dist/client/assets/agent-assets-CKWKjJVe.js +0 -1
  376. package/dist/client/assets/agent-calendar-CvhUXQcR.js +0 -1
  377. package/dist/client/assets/agent-deck-lEVBCGON.js +0 -1
  378. package/dist/client/assets/agent-experiments-YQlAf7zr.js +0 -1
  379. package/dist/client/assets/agent-library-Ba6xxY0S.js +0 -1
  380. package/dist/client/assets/agent-library-file-C1MFH3K4.js +0 -1
  381. package/dist/client/assets/agent-monitor-CaemcP0H.js +0 -1
  382. package/dist/client/assets/agent-overview-DshioPXr.js +0 -1
  383. package/dist/client/assets/agent-releases-D5Z2vsLx.js +0 -2
  384. package/dist/client/assets/agent-settings-B_btYOUt.js +0 -1
  385. package/dist/client/assets/agent-site-editor-code-Dhb4M-7j.js +0 -2
  386. package/dist/client/assets/agent-site-editor-content-V5UD-MGZ.js +0 -1
  387. package/dist/client/assets/agent-site-editor-preview-CKQ1fN9d.js +0 -1
  388. package/dist/client/assets/agent-view-Bbabi60T.js +0 -1
  389. package/dist/client/assets/ai-providers-DZBGz0NB.js +0 -6
  390. package/dist/client/assets/api-keys-DZxhiAP3.js +0 -1
  391. package/dist/client/assets/chat-draft-BH6THiDR.js +0 -1
  392. package/dist/client/assets/home-Bww65mfc.js +0 -1
  393. package/dist/client/assets/index-DJP2Tw2D.css +0 -1
  394. package/dist/client/assets/input-BhtnU6ti.js +0 -17
  395. package/dist/client/assets/library-5HUi0FUB.js +0 -1
  396. package/dist/client/assets/mock-board-BTicfoXo.js +0 -81
  397. package/dist/client/assets/openai-conversation-CLJJf4OK.js +0 -3
  398. package/dist/client/assets/project-reports-C5YM8o57.js +0 -1
  399. package/dist/client/assets/project-tasks-C4GmnH0I.js +0 -1
  400. package/dist/client/assets/record-editor-qapMfvRB.js +0 -1
  401. package/dist/client/assets/reports-Ci3Di9K0.js +0 -1
  402. package/dist/client/assets/repositories-ByW6AQ1Z.js +0 -1
  403. package/dist/client/assets/roles-DBDcQxYx.js +0 -1
  404. package/dist/client/assets/route-BNotXZvh.js +0 -1
  405. package/dist/client/assets/route-DpwFAnDq.js +0 -1
  406. package/dist/client/assets/settings-tab-DOC7qZpo.js +0 -1
  407. package/dist/client/assets/site-editor-C78f9k6P.js +0 -1
  408. package/dist/client/assets/tasks-DbRJoDgD.js +0 -1
  409. package/dist/client/assets/use-open-billing-url-Cv0uvlPt.js +0 -1
  410. package/dist/client/assets/useInfiniteQuery-BEMm4bHr.js +0 -1
  411. package/dist/client/assets/useSuspenseInfiniteQuery-UxOXZxMu.js +0 -1
@@ -1,9 +1,9 @@
1
1
  // @bun
2
- var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null,x)}var C=(_,x)=>{for(var u in x)nz(_,u,{get:x[u],enumerable:!0,configurable:!0,set:pz.bind(x,u)})};import{Migrator as kz,sql as o}from"kysely";var Ux={};C(Ux,{up:()=>gz,down:()=>qz});import{sql as om}from"kysely";async function gz(_){await om`
2
+ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null,x)}var C=(_,x)=>{for(var u in x)nz(_,u,{get:x[u],enumerable:!0,configurable:!0,set:pz.bind(x,u)})};import{Migrator as kz,sql as o}from"kysely";var Px={};C(Px,{up:()=>gz,down:()=>qz});import{sql as om}from"kysely";async function gz(_){await om`
3
3
  ALTER TABLE task_board_items
4
4
  ADD COLUMN IF NOT EXISTS harness_id text NOT NULL DEFAULT 'claude-code'
5
5
  CHECK (harness_id IN ('claude-code', 'codex'))
6
- `.execute(_)}async function qz(_){await om`ALTER TABLE task_board_items DROP COLUMN IF EXISTS harness_id`.execute(_)}var Px={};C(Px,{up:()=>iz,down:()=>cz});import{sql as G_}from"kysely";async function iz(_){await G_`
6
+ `.execute(_)}async function qz(_){await om`ALTER TABLE task_board_items DROP COLUMN IF EXISTS harness_id`.execute(_)}var Ux={};C(Ux,{up:()=>iz,down:()=>cz});import{sql as G_}from"kysely";async function iz(_){await G_`
7
7
  ALTER TABLE task_board_items
8
8
  ADD COLUMN IF NOT EXISTS parent_id text NULL
9
9
  REFERENCES task_board_items(id) ON DELETE SET NULL,
@@ -49,12 +49,12 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
49
49
  on conflict ("organizationId") do update
50
50
  set submodule_credentials = excluded.submodule_credentials,
51
51
  "updatedAt" = excluded."updatedAt"
52
- `.execute(_)}}async function CE(_){await _.schema.alterTable("organization_settings").dropColumn("submodule_credentials").execute()}var Yx={};C(Yx,{up:()=>KE,down:()=>NE});async function KE(_){await _.schema.alterTable("repositories").addColumn("sandbox_image","text").execute()}async function NE(_){await _.schema.alterTable("repositories").dropColumn("sandbox_image").execute()}var Hx={};C(Hx,{up:()=>mE,down:()=>TE});import{sql as Dx}from"kysely";async function mE(_){await Dx`CREATE INDEX idx_tmp_finish_persisted_at ON thread_message_parts (persisted_at DESC) WHERE kind = 'finish'`.execute(_),await Dx`CREATE INDEX idx_threads_updated_at ON threads (updated_at DESC)`.execute(_),await Dx`CREATE INDEX idx_threads_active_status ON threads (status) WHERE status IN ('in_progress', 'requires_action')`.execute(_)}async function TE(_){await _.schema.dropIndex("idx_threads_active_status").execute(),await _.schema.dropIndex("idx_threads_updated_at").execute(),await _.schema.dropIndex("idx_tmp_finish_persisted_at").execute()}var Rx={};C(Rx,{up:()=>$E,down:()=>UE});import{sql as G}from"kysely";var zE={title:{old:["Store Report","Commerce Discovery"],new:"Deco Score"},description:{old:["Your store's report and diagnostics","Commerce report and diagnostics","Commerce Discovery report and commerce diagnostics."],new:"Your store's Deco Score"}},EE={title:{old:["Report Agent","Commerce Discovery"],new:"Deco Score Agent"},description:{old:["Ask anything about your store's report","Commerce report and diagnostics","Commerce Discovery report workspace."],new:"Ask anything about your store's Deco Score"}},Mx={toolName:"get_my_diagnostic",label:{old:["Report","Commerce Discovery"],new:"Deco Score"}};function dm(_,x){return x==="up"?{from:_.old,to:_.new}:{from:[_.new],to:_.old[0]}}async function bm(_,x){for(let[K,m]of[[G`organization_id || '_commerce-discovery'`,zE],[G`'commerce-discovery_' || organization_id`,EE]])for(let T of["title","description"]){let{from:z,to:E}=dm(m[T],x);await G`
52
+ `.execute(_)}}async function CE(_){await _.schema.alterTable("organization_settings").dropColumn("submodule_credentials").execute()}var Yx={};C(Yx,{up:()=>KE,down:()=>NE});async function KE(_){await _.schema.alterTable("repositories").addColumn("sandbox_image","text").execute()}async function NE(_){await _.schema.alterTable("repositories").dropColumn("sandbox_image").execute()}var Hx={};C(Hx,{up:()=>mE,down:()=>TE});import{sql as Dx}from"kysely";async function mE(_){await Dx`CREATE INDEX idx_tmp_finish_persisted_at ON thread_message_parts (persisted_at DESC) WHERE kind = 'finish'`.execute(_),await Dx`CREATE INDEX idx_threads_updated_at ON threads (updated_at DESC)`.execute(_),await Dx`CREATE INDEX idx_threads_active_status ON threads (status) WHERE status IN ('in_progress', 'requires_action')`.execute(_)}async function TE(_){await _.schema.dropIndex("idx_threads_active_status").execute(),await _.schema.dropIndex("idx_threads_updated_at").execute(),await _.schema.dropIndex("idx_tmp_finish_persisted_at").execute()}var Rx={};C(Rx,{up:()=>$E,down:()=>PE});import{sql as B}from"kysely";var zE={title:{old:["Store Report","Commerce Discovery"],new:"Deco Score"},description:{old:["Your store's report and diagnostics","Commerce report and diagnostics","Commerce Discovery report and commerce diagnostics."],new:"Your store's Deco Score"}},EE={title:{old:["Report Agent","Commerce Discovery"],new:"Deco Score Agent"},description:{old:["Ask anything about your store's report","Commerce report and diagnostics","Commerce Discovery report workspace."],new:"Ask anything about your store's Deco Score"}},Mx={toolName:"get_my_diagnostic",label:{old:["Report","Commerce Discovery"],new:"Deco Score"}};function dm(_,x){return x==="up"?{from:_.old,to:_.new}:{from:[_.new],to:_.old[0]}}async function bm(_,x){for(let[K,m]of[[B`organization_id || '_commerce-discovery'`,zE],[B`'commerce-discovery_' || organization_id`,EE]])for(let T of["title","description"]){let{from:z,to:E}=dm(m[T],x);await B`
53
53
  UPDATE connections
54
- SET ${G.ref(T)} = ${E}
54
+ SET ${B.ref(T)} = ${E}
55
55
  WHERE id = ${K}
56
- AND ${G.ref(T)} = ANY(${G.val(z)}::text[])
57
- `.execute(_)}await G`
56
+ AND ${B.ref(T)} = ANY(${B.val(z)}::text[])
57
+ `.execute(_)}await B`
58
58
  CREATE OR REPLACE FUNCTION deco_score_try_jsonb(t text)
59
59
  RETURNS jsonb AS $fn$
60
60
  BEGIN
@@ -63,7 +63,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
63
63
  RETURN NULL;
64
64
  END;
65
65
  $fn$ LANGUAGE plpgsql IMMUTABLE;
66
- `.execute(_);let{from:u,to:N}=dm(Mx.label,x);await G`
66
+ `.execute(_);let{from:u,to:N}=dm(Mx.label,x);await B`
67
67
  WITH agents AS (
68
68
  SELECT id, deco_score_try_jsonb(metadata) AS m
69
69
  FROM connections
@@ -79,7 +79,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
79
79
  SELECT jsonb_agg(
80
80
  CASE
81
81
  WHEN v ->> 'toolName' = ${Mx.toolName}
82
- AND v ->> 'label' = ANY(${G.val(u)}::text[])
82
+ AND v ->> 'label' = ANY(${B.val(u)}::text[])
83
83
  THEN v || jsonb_build_object('label', ${N}::text)
84
84
  ELSE v
85
85
  END
@@ -95,14 +95,14 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
95
95
  SELECT 1
96
96
  FROM jsonb_array_elements(a.m -> 'ui' -> 'pinnedViews') AS e(v)
97
97
  WHERE v ->> 'toolName' = ${Mx.toolName}
98
- AND v ->> 'label' = ANY(${G.val(u)}::text[])
98
+ AND v ->> 'label' = ANY(${B.val(u)}::text[])
99
99
  )
100
100
  )
101
101
  UPDATE connections c
102
102
  SET metadata = r.m::text
103
103
  FROM relabeled r
104
104
  WHERE c.id = r.id
105
- `.execute(_),await G`DROP FUNCTION IF EXISTS deco_score_try_jsonb(text)`.execute(_)}async function $E(_){await bm(_,"up")}async function UE(_){await bm(_,"down")}var Gx={};C(Gx,{up:()=>JE,down:()=>XE,ACTIONS:()=>Bx});import{sql as T_}from"kysely";var Bx=["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","duplicate_reported","finding_resolved"],PE=Bx.filter((_)=>_!=="finding_resolved");async function JE(_){await sm(_,Bx)}async function XE(_){await T_`DELETE FROM task_board_activity WHERE action = 'finding_resolved'`.execute(_),await sm(_,PE)}async function sm(_,x){await T_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await T_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${T_.join(x.map((u)=>T_.lit(u)))}))`.execute(_)}var Ox={};C(Ox,{up:()=>QE,down:()=>ZE});import{sql as O_}from"kysely";async function QE(_){await O_`
105
+ `.execute(_),await B`DROP FUNCTION IF EXISTS deco_score_try_jsonb(text)`.execute(_)}async function $E(_){await bm(_,"up")}async function PE(_){await bm(_,"down")}var Gx={};C(Gx,{up:()=>JE,down:()=>XE,ACTIONS:()=>Bx});import{sql as T_}from"kysely";var Bx=["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","duplicate_reported","finding_resolved"],UE=Bx.filter((_)=>_!=="finding_resolved");async function JE(_){await sm(_,Bx)}async function XE(_){await T_`DELETE FROM task_board_activity WHERE action = 'finding_resolved'`.execute(_),await sm(_,UE)}async function sm(_,x){await T_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await T_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${T_.join(x.map((u)=>T_.lit(u)))}))`.execute(_)}var Ox={};C(Ox,{up:()=>QE,down:()=>ZE});import{sql as O_}from"kysely";async function QE(_){await O_`
106
106
  ALTER TABLE org_jira_column_automations
107
107
  ADD COLUMN IF NOT EXISTS from_kind text NOT NULL DEFAULT 'any'
108
108
  CONSTRAINT chk_org_jira_column_automations_from_kind
@@ -122,10 +122,10 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
122
122
  DROP COLUMN from_key,
123
123
  DROP COLUMN from_statuses,
124
124
  DROP COLUMN from_kind
125
- `.execute(_)}var Sx={};C(Sx,{up:()=>WE,down:()=>jE});import{sql as _T}from"kysely";async function WE(_){await _.schema.createTable("org_project_folders").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("folders","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(_T`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("user_sidebar_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("preferences","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(_T`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_sidebar_preferences_pkey",["user_id","organization_id"]).execute(),await _.schema.createIndex("user_sidebar_preferences_organization_id_idx").on("user_sidebar_preferences").column("organization_id").execute()}async function jE(_){await _.schema.dropTable("user_sidebar_preferences").execute(),await _.schema.dropTable("org_project_folders").execute()}var Ax={};C(Ax,{up:()=>LE,down:()=>FE});async function LE(){}async function FE(){}var Ix={};C(Ix,{up:()=>YE,down:()=>DE});import{sql as fx}from"kysely";async function YE(_){await fx`
125
+ `.execute(_)}var Sx={};C(Sx,{up:()=>WE,down:()=>jE});import{sql as _T}from"kysely";async function WE(_){await _.schema.createTable("org_project_folders").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("folders","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(_T`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("user_sidebar_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("preferences","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(_T`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_sidebar_preferences_pkey",["user_id","organization_id"]).execute(),await _.schema.createIndex("user_sidebar_preferences_organization_id_idx").on("user_sidebar_preferences").column("organization_id").execute()}async function jE(_){await _.schema.dropTable("user_sidebar_preferences").execute(),await _.schema.dropTable("org_project_folders").execute()}var fx={};C(fx,{up:()=>LE,down:()=>FE});async function LE(){}async function FE(){}var Ix={};C(Ix,{up:()=>YE,down:()=>DE});import{sql as Ax}from"kysely";async function YE(_){await Ax`
126
126
  ALTER TABLE task_board_prompts
127
127
  ADD COLUMN IF NOT EXISTS skills text[] NOT NULL DEFAULT '{}'
128
- `.execute(_)}async function DE(_){await fx`DELETE FROM task_board_prompts WHERE prompt = ''`.execute(_),await fx`ALTER TABLE task_board_prompts DROP COLUMN skills`.execute(_)}var Vx={};C(Vx,{up:()=>HE,down:()=>ME});import{sql as yx}from"kysely";async function HE(_){await yx`
128
+ `.execute(_)}async function DE(_){await Ax`DELETE FROM task_board_prompts WHERE prompt = ''`.execute(_),await Ax`ALTER TABLE task_board_prompts DROP COLUMN skills`.execute(_)}var Vx={};C(Vx,{up:()=>HE,down:()=>ME});import{sql as yx}from"kysely";async function HE(_){await yx`
129
129
  DELETE FROM threads WHERE virtual_mcp_id LIKE 'studio-jira\\_%'
130
130
  `.execute(_),await yx`
131
131
  DELETE FROM connection_aggregations
@@ -152,7 +152,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
152
152
  AND c.parent = d.path
153
153
  AND c.deleted_at IS NULL
154
154
  )
155
- `.execute(_)}async function SE(){}var vx={};C(vx,{up:()=>fE,down:()=>IE,ACTIONS:()=>nx});import{sql as F}from"kysely";var nx=["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","duplicate_reported","finding_resolved","sprint_changed"],AE=nx.filter((_)=>_!=="sprint_changed");async function fE(_){await F`
155
+ `.execute(_)}async function SE(){}var vx={};C(vx,{up:()=>AE,down:()=>IE,ACTIONS:()=>nx});import{sql as F}from"kysely";var nx=["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","duplicate_reported","finding_resolved","sprint_changed"],fE=nx.filter((_)=>_!=="sprint_changed");async function AE(_){await F`
156
156
  CREATE TABLE task_board_sprints (
157
157
  id text PRIMARY KEY,
158
158
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -178,7 +178,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
178
178
  CREATE INDEX idx_task_board_items_sprint
179
179
  ON task_board_items (organization_id, sprint_id)
180
180
  WHERE sprint_id IS NOT NULL
181
- `.execute(_),await uT(_,nx)}async function IE(_){await F`DELETE FROM task_board_activity WHERE action = 'sprint_changed'`.execute(_),await uT(_,AE),await F`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await F`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await F`DROP TABLE IF EXISTS task_board_sprints`.execute(_)}async function uT(_,x){await F`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await F`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${F.join(x.map((u)=>F.lit(u)))}))`.execute(_)}var px={};C(px,{up:()=>VE,planOrgSiteProjectLinks:()=>NT,down:()=>wE,applyOrgSiteProjectLinks:()=>mT});import{sql as J}from"kysely";var yE="migration-237",CT=1000;async function KT(_){return(await J`
181
+ `.execute(_),await uT(_,nx)}async function IE(_){await F`DELETE FROM task_board_activity WHERE action = 'sprint_changed'`.execute(_),await uT(_,fE),await F`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await F`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await F`DROP TABLE IF EXISTS task_board_sprints`.execute(_)}async function uT(_,x){await F`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await F`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${F.join(x.map((u)=>F.lit(u)))}))`.execute(_)}var px={};C(px,{up:()=>VE,planOrgSiteProjectLinks:()=>NT,down:()=>wE,applyOrgSiteProjectLinks:()=>mT});import{sql as J}from"kysely";var yE="migration-237",CT=1000;async function KT(_){return(await J`
182
182
  SELECT conname FROM pg_constraint
183
183
  WHERE conrelid = 'org_sites'::regclass
184
184
  AND confrelid = 'organization'::regclass
@@ -366,7 +366,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
366
366
  SELECT id, organization_id, title, connection_type, url_slug
367
367
  FROM connections
368
368
  ORDER BY organization_id, created_at, id
369
- `.execute(_),{rows:u}=await D`SELECT organization_id, slug FROM connection_slug_aliases`.execute(_),N=new Map,K=(T)=>{let z=N.get(T);if(!z)N.set(T,z=new Set);return z};for(let T of x)if(T.url_slug)K(T.organization_id).add(T.url_slug);for(let T of u)K(T.organization_id).add(T.slug);let m=[];for(let T of x){if(T.url_slug)continue;let z=K(T.organization_id),E=rE(T.title,T.connection_type==="VIRTUAL"?"project":"app"),$=1;while(z.has(TT(E,$)))$++;let P=TT(E,$);z.add(P),m.push({id:T.id,slug:P})}for(let T=0;T<m.length;T+=1000){let z=m.slice(T,T+1000);await D`
369
+ `.execute(_),{rows:u}=await D`SELECT organization_id, slug FROM connection_slug_aliases`.execute(_),N=new Map,K=(T)=>{let z=N.get(T);if(!z)N.set(T,z=new Set);return z};for(let T of x)if(T.url_slug)K(T.organization_id).add(T.url_slug);for(let T of u)K(T.organization_id).add(T.slug);let m=[];for(let T of x){if(T.url_slug)continue;let z=K(T.organization_id),E=rE(T.title,T.connection_type==="VIRTUAL"?"project":"app"),$=1;while(z.has(TT(E,$)))$++;let U=TT(E,$);z.add(U),m.push({id:T.id,slug:U})}for(let T=0;T<m.length;T+=1000){let z=m.slice(T,T+1000);await D`
370
370
  UPDATE connections c
371
371
  SET url_slug = v.slug
372
372
  FROM unnest(
@@ -388,11 +388,11 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
388
388
  `.execute(_),await S_(_),await D`
389
389
  CREATE UNIQUE INDEX idx_connections_org_url_slug
390
390
  ON connections (organization_id, url_slug)
391
- `.execute(_)}async function eE(_){await D`DROP TABLE connection_slug_aliases`.execute(_),await D`DROP INDEX idx_connections_org_url_slug`.execute(_),await D`ALTER TABLE connections DROP COLUMN url_slug`.execute(_)}var tx={};C(tx,{up:()=>dE,down:()=>bE});async function dE(_){await _.schema.alterTable("experiments").addColumn("task_board_item_id","text").execute()}async function bE(_){await _.schema.alterTable("experiments").dropColumn("task_board_item_id").execute()}var ox={};C(ox,{up:()=>sE,down:()=>_0});async function sE(_){await S_(_)}async function _0(){}var ax={};C(ax,{up:()=>x0,down:()=>u0});import{sql as A_}from"kysely";async function x0(_){await A_`ALTER TABLE automations ADD COLUMN system_key text`.execute(_),await A_`
391
+ `.execute(_)}async function eE(_){await D`DROP TABLE connection_slug_aliases`.execute(_),await D`DROP INDEX idx_connections_org_url_slug`.execute(_),await D`ALTER TABLE connections DROP COLUMN url_slug`.execute(_)}var tx={};C(tx,{up:()=>dE,down:()=>bE});async function dE(_){await _.schema.alterTable("experiments").addColumn("task_board_item_id","text").execute()}async function bE(_){await _.schema.alterTable("experiments").dropColumn("task_board_item_id").execute()}var ox={};C(ox,{up:()=>sE,down:()=>_0});async function sE(_){await S_(_)}async function _0(){}var ax={};C(ax,{up:()=>x0,down:()=>u0});import{sql as f_}from"kysely";async function x0(_){await f_`ALTER TABLE automations ADD COLUMN system_key text`.execute(_),await f_`
392
392
  CREATE UNIQUE INDEX idx_automations_org_system_key
393
393
  ON automations (organization_id, system_key)
394
394
  WHERE system_key IS NOT NULL
395
- `.execute(_)}async function u0(_){await A_`DROP INDEX IF EXISTS idx_automations_org_system_key`.execute(_),await A_`ALTER TABLE automations DROP COLUMN IF EXISTS system_key`.execute(_)}var rx={};C(rx,{up:()=>C0,down:()=>K0});import{sql as z_}from"kysely";async function C0(_){await z_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await z_`
395
+ `.execute(_)}async function u0(_){await f_`DROP INDEX IF EXISTS idx_automations_org_system_key`.execute(_),await f_`ALTER TABLE automations DROP COLUMN IF EXISTS system_key`.execute(_)}var rx={};C(rx,{up:()=>C0,down:()=>K0});import{sql as z_}from"kysely";async function C0(_){await z_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await z_`
396
396
  ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type
397
397
  CHECK (type IN ('cron', 'event', 'webhook', 'board_column_transition',
398
398
  'board_pr_ready'))
@@ -467,30 +467,30 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
467
467
  updated_at timestamptz NOT NULL DEFAULT now(),
468
468
  PRIMARY KEY (organization_id, jira_status, from_key)
469
469
  )
470
- `.execute(_)}var dx={};C(dx,{up:()=>U0,down:()=>P0});import{sql as f_}from"kysely";async function U0(_){await f_`
470
+ `.execute(_)}var dx={};C(dx,{up:()=>P0,down:()=>U0});import{sql as A_}from"kysely";async function P0(_){await A_`
471
471
  ALTER TABLE task_board_items
472
472
  ADD COLUMN IF NOT EXISTS virtual_mcp_id text NULL
473
473
  REFERENCES connections(id) ON DELETE SET NULL
474
- `.execute(_),await f_`
474
+ `.execute(_),await A_`
475
475
  CREATE INDEX IF NOT EXISTS idx_task_board_items_virtual_mcp_id
476
476
  ON task_board_items (virtual_mcp_id)
477
477
  WHERE virtual_mcp_id IS NOT NULL
478
- `.execute(_)}async function P0(_){await f_`DROP INDEX IF EXISTS idx_task_board_items_virtual_mcp_id`.execute(_),await f_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS virtual_mcp_id`.execute(_)}var bx={};C(bx,{up:()=>J0,down:()=>X0});async function J0(_){await _.schema.createTable("github_copilot_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 X0(_){await _.schema.dropTable("github_copilot_subscriptions").ifExists().execute()}var sx={};C(sx,{up:()=>Q0,down:()=>Z0});async function Q0(_){await _.schema.createTable("org_shared_plans").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("provider_id","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("created_at","timestamptz",(x)=>x.notNull()).addPrimaryKeyConstraint("org_shared_plans_pkey",["organization_id","provider_id","user_id"]).execute()}async function Z0(_){await _.schema.dropTable("org_shared_plans").ifExists().execute()}var _u={};C(_u,{up:()=>W0,down:()=>j0});import{sql as r}from"kysely";var I_=["linked_chat_run"];async function ET(_){let{rows:x}=await r`
478
+ `.execute(_)}async function U0(_){await A_`DROP INDEX IF EXISTS idx_task_board_items_virtual_mcp_id`.execute(_),await A_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS virtual_mcp_id`.execute(_)}var bx={};C(bx,{up:()=>J0,down:()=>X0});async function J0(_){await _.schema.createTable("github_copilot_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 X0(_){await _.schema.dropTable("github_copilot_subscriptions").ifExists().execute()}var sx={};C(sx,{up:()=>Q0,down:()=>Z0});async function Q0(_){await _.schema.createTable("org_shared_plans").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("provider_id","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("created_at","timestamptz",(x)=>x.notNull()).addPrimaryKeyConstraint("org_shared_plans_pkey",["organization_id","provider_id","user_id"]).execute()}async function Z0(_){await _.schema.dropTable("org_shared_plans").ifExists().execute()}var _u={};C(_u,{up:()=>W0,down:()=>j0});import{sql as r}from"kysely";var I_=["linked_chat_run"];async function ET(_){let{rows:x}=await r`
479
479
  SELECT pg_get_constraintdef(oid) AS def FROM pg_constraint
480
480
  WHERE conname = 'chk_trigger_type'
481
481
  AND conrelid = 'automation_triggers'::regclass
482
482
  `.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function $T(_,x){let u=r.join([...x].map((N)=>r.lit(N)));await r`
483
483
  ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type,
484
484
  ADD CONSTRAINT chk_trigger_type CHECK (type IN (${u}))
485
- `.execute(_)}async function W0(_){let x=await ET(_);if(I_.every((u)=>x.has(u)))return;for(let u of I_)x.add(u);await $T(_,x)}async function j0(_){await r`DELETE FROM automation_triggers WHERE type IN (${r.join(I_)})`.execute(_);let x=await ET(_);for(let u of I_)x.delete(u);await $T(_,x)}var xu={};C(xu,{up:()=>L0,down:()=>F0});import{sql as l}from"kysely";var y_=["board_pr_merged","chat_pr_opened"];async function UT(_){let{rows:x}=await l`
485
+ `.execute(_)}async function W0(_){let x=await ET(_);if(I_.every((u)=>x.has(u)))return;for(let u of I_)x.add(u);await $T(_,x)}async function j0(_){await r`DELETE FROM automation_triggers WHERE type IN (${r.join(I_)})`.execute(_);let x=await ET(_);for(let u of I_)x.delete(u);await $T(_,x)}var xu={};C(xu,{up:()=>L0,down:()=>F0});import{sql as l}from"kysely";var y_=["board_pr_merged","chat_pr_opened"];async function PT(_){let{rows:x}=await l`
486
486
  SELECT pg_get_constraintdef(oid) AS def FROM pg_constraint
487
487
  WHERE conname = 'chk_trigger_type'
488
488
  AND conrelid = 'automation_triggers'::regclass
489
- `.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function PT(_,x){let u=l.join([...x].map((N)=>l.lit(N)));await l`
489
+ `.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function UT(_,x){let u=l.join([...x].map((N)=>l.lit(N)));await l`
490
490
  ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type,
491
491
  ADD CONSTRAINT chk_trigger_type CHECK (type IN (${u}))
492
- `.execute(_)}async function L0(_){let x=await UT(_);if(y_.every((u)=>x.has(u)))return;for(let u of y_)x.add(u);await PT(_,x)}async function F0(_){await l`DELETE FROM automation_triggers WHERE type IN (${l.join(y_)})`.execute(_);let x=await UT(_);for(let u of y_)x.delete(u);await PT(_,x)}var uu={};C(uu,{up:()=>D0,down:()=>H0});import{sql as Y0}from"kysely";async function D0(_){await Y0`ALTER TABLE organization_settings
493
- DROP COLUMN IF EXISTS main_agent_id`.execute(_)}async function H0(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}var Cu={};C(Cu,{up:()=>M0,down:()=>R0});import{sql as JT}from"kysely";async function M0(_){await JT`CREATE INDEX idx_connections_sanitized_id ON connections (replace(id, '-', '_'))`.execute(_)}async function R0(_){await JT`DROP INDEX IF EXISTS idx_connections_sanitized_id`.execute(_)}var Ku={};C(Ku,{up:()=>B0,down:()=>G0});import{sql as O}from"kysely";async function B0(_){await O`
492
+ `.execute(_)}async function L0(_){let x=await PT(_);if(y_.every((u)=>x.has(u)))return;for(let u of y_)x.add(u);await UT(_,x)}async function F0(_){await l`DELETE FROM automation_triggers WHERE type IN (${l.join(y_)})`.execute(_);let x=await PT(_);for(let u of y_)x.delete(u);await UT(_,x)}var uu={};C(uu,{up:()=>D0,down:()=>H0});import{sql as Y0}from"kysely";async function D0(_){await Y0`ALTER TABLE organization_settings
493
+ DROP COLUMN IF EXISTS main_agent_id`.execute(_)}async function H0(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}var Cu={};C(Cu,{up:()=>M0,down:()=>R0});import{sql as JT}from"kysely";async function M0(_){await JT`CREATE INDEX idx_connections_sanitized_id ON connections (replace(id, '-', '_'))`.execute(_)}async function R0(_){await JT`DROP INDEX IF EXISTS idx_connections_sanitized_id`.execute(_)}var Ku={};C(Ku,{up:()=>B0,down:()=>G0});import{sql as G}from"kysely";async function B0(_){await G`
494
494
  CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
495
495
  RETURNS jsonb AS $fn$
496
496
  BEGIN
@@ -499,7 +499,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
499
499
  RETURN NULL;
500
500
  END;
501
501
  $fn$ LANGUAGE plpgsql IMMUTABLE;
502
- `.execute(_),await O`
502
+ `.execute(_),await G`
503
503
  CREATE OR REPLACE VIEW cd_repo_picks AS
504
504
  SELECT
505
505
  c.id AS connection_id,
@@ -509,7 +509,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
509
509
  WHERE c.id = c.organization_id || '_commerce-discovery'
510
510
  AND cd_repo_try_jsonb(c.configuration_state) ->> 'github_repo'
511
511
  ~ '^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$'
512
- `.execute(_),await O`
512
+ `.execute(_),await G`
513
513
  INSERT INTO repositories (
514
514
  organization_id, account_id, provider, host, path, web_url
515
515
  )
@@ -519,7 +519,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
519
519
  FROM cd_repo_picks p
520
520
  ORDER BY p.organization_id, lower(p.path)
521
521
  ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
522
- `.execute(_),await O`
522
+ `.execute(_),await G`
523
523
  UPDATE connections c
524
524
  SET configuration_state = (
525
525
  cd_repo_try_jsonb(c.configuration_state) || jsonb_build_object(
@@ -540,7 +540,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
540
540
  AND lower(r.path) = lower(p.path)
541
541
  WHERE c.id = p.connection_id
542
542
  AND cd_repo_try_jsonb(c.configuration_state) -> 'repository' IS NULL
543
- `.execute(_),await O`
543
+ `.execute(_),await G`
544
544
  UPDATE connections a
545
545
  SET
546
546
  repository_id = r.id,
@@ -564,7 +564,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
564
564
  || '/' ||
565
565
  coalesce(cd_repo_try_jsonb(a.metadata) #>> '{githubRepo,name}', '')
566
566
  ) = lower(p.path)
567
- `.execute(_),await O`DROP VIEW IF EXISTS cd_repo_picks`.execute(_),await O`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}async function G0(_){await O`
567
+ `.execute(_),await G`DROP VIEW IF EXISTS cd_repo_picks`.execute(_),await G`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}async function G0(_){await G`
568
568
  CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
569
569
  RETURNS jsonb AS $fn$
570
570
  BEGIN
@@ -573,13 +573,13 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
573
573
  RETURN NULL;
574
574
  END;
575
575
  $fn$ LANGUAGE plpgsql IMMUTABLE;
576
- `.execute(_),await O`
576
+ `.execute(_),await G`
577
577
  UPDATE connections c
578
578
  SET configuration_state =
579
579
  (cd_repo_try_jsonb(c.configuration_state) - 'repository')::text
580
580
  WHERE c.id = c.organization_id || '_commerce-discovery'
581
581
  AND cd_repo_try_jsonb(c.configuration_state) -> 'repository' IS NOT NULL
582
- `.execute(_),await O`
582
+ `.execute(_),await G`
583
583
  UPDATE connections a
584
584
  SET
585
585
  repository_id = NULL,
@@ -591,7 +591,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
591
591
  )::text
592
592
  WHERE a.id = 'commerce-discovery_' || a.organization_id
593
593
  AND cd_repo_try_jsonb(a.metadata) #> '{githubRepo,repositoryId}' IS NOT NULL
594
- `.execute(_),await O`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}var mu={};C(mu,{up:()=>O0,down:()=>S0});import{sql as Nu}from"kysely";async function O0(_){await Nu`ALTER TABLE git_provider_accounts
594
+ `.execute(_),await G`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}var mu={};C(mu,{up:()=>O0,down:()=>S0});import{sql as Nu}from"kysely";async function O0(_){await Nu`ALTER TABLE git_provider_accounts
595
595
  DROP CONSTRAINT git_provider_accounts_auth_kind_check,
596
596
  ADD CONSTRAINT git_provider_accounts_auth_kind_check
597
597
  CHECK (auth_kind IN ('github_app', 'oauth', 'token', 'github_cli')),
@@ -601,7 +601,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
601
601
  DROP CONSTRAINT git_provider_accounts_cli_check,
602
602
  DROP CONSTRAINT git_provider_accounts_auth_kind_check,
603
603
  ADD CONSTRAINT git_provider_accounts_auth_kind_check
604
- CHECK (auth_kind IN ('github_app', 'oauth', 'token'))`.execute(_)}var Tu={};C(Tu,{up:()=>A0,down:()=>f0});import{sql as XT}from"kysely";async function A0(_){await XT`
604
+ CHECK (auth_kind IN ('github_app', 'oauth', 'token'))`.execute(_)}var Tu={};C(Tu,{up:()=>f0,down:()=>A0});import{sql as XT}from"kysely";async function f0(_){await XT`
605
605
  INSERT INTO "organization" (id, name, slug, "createdAt")
606
606
  SELECT
607
607
  'org_user_fs',
@@ -615,9 +615,9 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
615
615
  END,
616
616
  now()
617
617
  ON CONFLICT (id) DO NOTHING
618
- `.execute(_)}async function f0(_){await XT`
618
+ `.execute(_)}async function A0(_){await XT`
619
619
  DELETE FROM "organization" WHERE id = 'org_user_fs'
620
- `.execute(_)}var zu={};C(zu,{up:()=>I0,down:()=>y0});async function I0(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_repository_ids","jsonb").execute()}async function y0(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_repository_ids").execute()}var Eu={};C(Eu,{up:()=>V0,down:()=>w0});async function V0(_){await _.schema.alterTable("organization_settings").addColumn("coding_agent_mcp_excluded","text").execute()}async function w0(_){await _.schema.alterTable("organization_settings").dropColumn("coding_agent_mcp_excluded").execute()}var $u={};C($u,{up:()=>n0,down:()=>v0});import{sql as $_}from"kysely";var k0=[{table:"git_provider_accounts",column:"type"},{table:"git_provider_oauth_states",column:"provider"},{table:"repositories",column:"provider"}];async function QT(_,x){for(let{table:u,column:N}of k0){let K=`${u}_${N}_check`,m=x.map((T)=>`'${T}'`).join(", ");await $_.raw(`ALTER TABLE ${u} DROP CONSTRAINT IF EXISTS ${K}`).execute(_),await $_.raw(`ALTER TABLE ${u} ADD CONSTRAINT ${K} CHECK (${N} IN (${m}))`).execute(_)}}async function n0(_){await QT(_,["github","gitlab","bitbucket"])}async function v0(_){await $_`DELETE FROM repositories WHERE provider = 'bitbucket'`.execute(_),await $_`DELETE FROM git_provider_oauth_states WHERE provider = 'bitbucket'`.execute(_),await $_`DELETE FROM git_provider_accounts WHERE type = 'bitbucket'`.execute(_),await QT(_,["github","gitlab"])}var Uu={};C(Uu,{up:()=>p0,down:()=>g0});import{sql as V_}from"kysely";async function p0(_){await _.schema.createTable("experiments").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("site","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull().defaultTo("draft")).addColumn("goals","jsonb",(x)=>x.notNull().defaultTo(V_`'[]'::jsonb`)).addColumn("variants","jsonb",(x)=>x.notNull().defaultTo(V_`'[]'::jsonb`)).addColumn("started_at","timestamptz").addColumn("ended_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(V_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(V_`now()`)).addUniqueConstraint("experiments_org_site_key_unique",["organization_id","site","key"]).execute(),await _.schema.createIndex("idx_experiments_org_site").on("experiments").columns(["organization_id","site"]).execute()}async function g0(_){await _.schema.dropTable("experiments").execute()}var Pu={};C(Pu,{up:()=>i0,down:()=>c0});import{sql as q0}from"kysely";async function i0(_){await q0`CREATE INDEX idx_tmp_error_persisted_at ON thread_message_parts (persisted_at DESC) WHERE kind = 'error'`.execute(_)}async function c0(_){await _.schema.dropIndex("idx_tmp_error_persisted_at").execute()}var Xu={};C(Xu,{up:()=>t0,down:()=>o0,ACTIONS:()=>Ju});import{sql as U_}from"kysely";var Ju=["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","duplicate_reported"],h0=Ju.filter((_)=>_!=="duplicate_reported");async function t0(_){await ZT(_,Ju)}async function o0(_){await U_`DELETE FROM task_board_activity WHERE action = 'duplicate_reported'`.execute(_),await ZT(_,h0)}async function ZT(_,x){await U_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await U_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${U_.join(x.map((u)=>U_.lit(u)))}))`.execute(_)}var Qu={};C(Qu,{up:()=>a0,down:()=>r0});async function a0(_){await _.schema.alterTable("org_jira_column_automations").addColumn("continue_pr","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function r0(_){await _.schema.alterTable("org_jira_column_automations").dropColumn("continue_pr").execute()}var Zu={};C(Zu,{up:()=>l0,down:()=>e0});async function l0(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_authorized_by","text").execute()}async function e0(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_authorized_by").execute()}var Wu={};C(Wu,{up:()=>b0,down:()=>s0});import{sql as d0}from"kysely";async function b0(_){await d0`
620
+ `.execute(_)}var zu={};C(zu,{up:()=>I0,down:()=>y0});async function I0(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_repository_ids","jsonb").execute()}async function y0(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_repository_ids").execute()}var Eu={};C(Eu,{up:()=>V0,down:()=>w0});async function V0(_){await _.schema.alterTable("organization_settings").addColumn("coding_agent_mcp_excluded","text").execute()}async function w0(_){await _.schema.alterTable("organization_settings").dropColumn("coding_agent_mcp_excluded").execute()}var $u={};C($u,{up:()=>n0,down:()=>v0});import{sql as $_}from"kysely";var k0=[{table:"git_provider_accounts",column:"type"},{table:"git_provider_oauth_states",column:"provider"},{table:"repositories",column:"provider"}];async function QT(_,x){for(let{table:u,column:N}of k0){let K=`${u}_${N}_check`,m=x.map((T)=>`'${T}'`).join(", ");await $_.raw(`ALTER TABLE ${u} DROP CONSTRAINT IF EXISTS ${K}`).execute(_),await $_.raw(`ALTER TABLE ${u} ADD CONSTRAINT ${K} CHECK (${N} IN (${m}))`).execute(_)}}async function n0(_){await QT(_,["github","gitlab","bitbucket"])}async function v0(_){await $_`DELETE FROM repositories WHERE provider = 'bitbucket'`.execute(_),await $_`DELETE FROM git_provider_oauth_states WHERE provider = 'bitbucket'`.execute(_),await $_`DELETE FROM git_provider_accounts WHERE type = 'bitbucket'`.execute(_),await QT(_,["github","gitlab"])}var Pu={};C(Pu,{up:()=>p0,down:()=>g0});import{sql as V_}from"kysely";async function p0(_){await _.schema.createTable("experiments").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("site","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull().defaultTo("draft")).addColumn("goals","jsonb",(x)=>x.notNull().defaultTo(V_`'[]'::jsonb`)).addColumn("variants","jsonb",(x)=>x.notNull().defaultTo(V_`'[]'::jsonb`)).addColumn("started_at","timestamptz").addColumn("ended_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(V_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(V_`now()`)).addUniqueConstraint("experiments_org_site_key_unique",["organization_id","site","key"]).execute(),await _.schema.createIndex("idx_experiments_org_site").on("experiments").columns(["organization_id","site"]).execute()}async function g0(_){await _.schema.dropTable("experiments").execute()}var Uu={};C(Uu,{up:()=>i0,down:()=>c0});import{sql as q0}from"kysely";async function i0(_){await q0`CREATE INDEX idx_tmp_error_persisted_at ON thread_message_parts (persisted_at DESC) WHERE kind = 'error'`.execute(_)}async function c0(_){await _.schema.dropIndex("idx_tmp_error_persisted_at").execute()}var Xu={};C(Xu,{up:()=>t0,down:()=>o0,ACTIONS:()=>Ju});import{sql as P_}from"kysely";var Ju=["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","duplicate_reported"],h0=Ju.filter((_)=>_!=="duplicate_reported");async function t0(_){await ZT(_,Ju)}async function o0(_){await P_`DELETE FROM task_board_activity WHERE action = 'duplicate_reported'`.execute(_),await ZT(_,h0)}async function ZT(_,x){await P_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await P_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${P_.join(x.map((u)=>P_.lit(u)))}))`.execute(_)}var Qu={};C(Qu,{up:()=>a0,down:()=>r0});async function a0(_){await _.schema.alterTable("org_jira_column_automations").addColumn("continue_pr","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function r0(_){await _.schema.alterTable("org_jira_column_automations").dropColumn("continue_pr").execute()}var Zu={};C(Zu,{up:()=>l0,down:()=>e0});async function l0(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_authorized_by","text").execute()}async function e0(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_authorized_by").execute()}var Wu={};C(Wu,{up:()=>b0,down:()=>s0});import{sql as d0}from"kysely";async function b0(_){await d0`
621
621
  CREATE TABLE github_connect_flows (
622
622
  id text PRIMARY KEY,
623
623
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -683,7 +683,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
683
683
  FROM repositories r WHERE s.repository_id IS NULL
684
684
  AND r.organization_id = s.organization_id AND r.host = 'github.com'
685
685
  AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name);
686
- `.execute(_)}async function C$(_){await w_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await w_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var Fu={};C(Fu,{up:()=>K$,down:()=>N$});import{sql as V}from"kysely";async function K$(_){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(V`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(V`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(V`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(V`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(V`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(V`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(V`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(V`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(V`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(V`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 N$(_){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 Yu={};C(Yu,{up:()=>m$,down:()=>T$});import{sql as WT}from"kysely";async function m$(_){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(WT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(WT`CURRENT_TIMESTAMP`)).execute()}async function T$(_){await _.schema.dropTable("organization_settings").execute()}var Du={};C(Du,{up:()=>z$,down:()=>E$});async function z$(_){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 E$(_){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 Hu={};C(Hu,{up:()=>$$,down:()=>U$});async function $$(_){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 U$(_){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 Mu={};C(Mu,{up:()=>P$,down:()=>J$});async function P$(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function J$(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Ru={};C(Ru,{up:()=>Q$,down:()=>Z$});import{sql as X$}from"kysely";async function Q$(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",X$`text`).execute()}async function Z$(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Bu={};C(Bu,{up:()=>W$,down:()=>j$});async function W$(_){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 j$(_){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 Gu={};C(Gu,{up:()=>L$,down:()=>F$});import{sql as P_}from"kysely";async function L$(_){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(P_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(P_`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(P_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(P_`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(P_`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 F$(_){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 Ou={};C(Ou,{up:()=>D$,down:()=>H$});import{sql as Y$}from"kysely";async function D$(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function H$(_){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(Y$`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 Su={};C(Su,{up:()=>M$,down:()=>R$});import{sql as k_}from"kysely";async function M$(_){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(k_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(k_`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(k_`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 k_`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 R$(_){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 Au={};C(Au,{up:()=>B$,down:()=>G$});async function B$(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function G$(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var fu={};C(fu,{up:()=>O$,down:()=>S$});import{sql as n_}from"kysely";async function O$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await n_`
686
+ `.execute(_)}async function C$(_){await w_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await w_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var Fu={};C(Fu,{up:()=>K$,down:()=>N$});import{sql as y}from"kysely";async function K$(_){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(y`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(y`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(y`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(y`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(y`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(y`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(y`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(y`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(y`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(y`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 N$(_){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 Yu={};C(Yu,{up:()=>m$,down:()=>T$});import{sql as WT}from"kysely";async function m$(_){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(WT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(WT`CURRENT_TIMESTAMP`)).execute()}async function T$(_){await _.schema.dropTable("organization_settings").execute()}var Du={};C(Du,{up:()=>z$,down:()=>E$});async function z$(_){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 E$(_){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 Hu={};C(Hu,{up:()=>$$,down:()=>P$});async function $$(_){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 P$(_){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 Mu={};C(Mu,{up:()=>U$,down:()=>J$});async function U$(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function J$(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Ru={};C(Ru,{up:()=>Q$,down:()=>Z$});import{sql as X$}from"kysely";async function Q$(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",X$`text`).execute()}async function Z$(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Bu={};C(Bu,{up:()=>W$,down:()=>j$});async function W$(_){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 j$(_){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 Gu={};C(Gu,{up:()=>L$,down:()=>F$});import{sql as U_}from"kysely";async function L$(_){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(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`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(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`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(U_`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 F$(_){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 Ou={};C(Ou,{up:()=>D$,down:()=>H$});import{sql as Y$}from"kysely";async function D$(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function H$(_){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(Y$`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 Su={};C(Su,{up:()=>M$,down:()=>R$});import{sql as k_}from"kysely";async function M$(_){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(k_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(k_`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(k_`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 k_`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 R$(_){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 fu={};C(fu,{up:()=>B$,down:()=>G$});async function B$(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function G$(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var Au={};C(Au,{up:()=>O$,down:()=>S$});import{sql as n_}from"kysely";async function O$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await n_`
687
687
  UPDATE gateways
688
688
  SET tool_selection_mode = CASE
689
689
  WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
@@ -695,7 +695,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
695
695
  WHEN tool_selection_mode = 'exclusion' THEN 'exclusion'
696
696
  ELSE NULL
697
697
  END
698
- `.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var Iu={};C(Iu,{up:()=>A$,down:()=>f$});async function A$(_){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 f$(_){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 yu={};C(yu,{up:()=>I$,down:()=>y$});async function I$(_){await _.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await _.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function y$(_){await _.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await _.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var Vu={};C(Vu,{up:()=>V$,down:()=>w$});async function V$(_){await _.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function w$(_){await _.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var wu={};C(wu,{up:()=>k$,down:()=>n$});async function k$(_){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 n$(_){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 ku={};C(ku,{up:()=>p$,down:()=>g$});import{sql as v$}from"kysely";async function p$(_){await v$`
698
+ `.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var Iu={};C(Iu,{up:()=>f$,down:()=>A$});async function f$(_){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 A$(_){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 yu={};C(yu,{up:()=>I$,down:()=>y$});async function I$(_){await _.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await _.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function y$(_){await _.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await _.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var Vu={};C(Vu,{up:()=>V$,down:()=>w$});async function V$(_){await _.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function w$(_){await _.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var wu={};C(wu,{up:()=>k$,down:()=>n$});async function k$(_){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 n$(_){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 ku={};C(ku,{up:()=>p$,down:()=>g$});import{sql as v$}from"kysely";async function p$(_){await v$`
699
699
  DELETE FROM downstream_tokens
700
700
  WHERE id NOT IN (
701
701
  SELECT id FROM (
@@ -705,7 +705,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
705
705
  ) ranked
706
706
  WHERE rn = 1
707
707
  )
708
- `.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 g$(_){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 nu={};C(nu,{up:()=>q$,down:()=>i$});async function q$(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function i$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var vu={};C(vu,{up:()=>c$,down:()=>h$});import{sql as jT}from"kysely";async function c$(_){await jT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function h$(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await jT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var pu={};C(pu,{up:()=>t$,down:()=>o$});async function t$(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function o$(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var gu={};C(gu,{up:()=>a$,down:()=>r$});import{sql as v_}from"kysely";async function a$(_){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(v_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(v_`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(v_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(v_`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 r$(_){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 qu={};C(qu,{up:()=>l$,down:()=>e$});async function l$(_){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 iu={};C(iu,{up:()=>d$,down:()=>b$});async function d$(_){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 b$(_){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 cu={};C(cu,{up:()=>s$,down:()=>_U});import{sql as M}from"kysely";async function s$(_){await M`
708
+ `.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 g$(_){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 nu={};C(nu,{up:()=>q$,down:()=>i$});async function q$(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function i$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var vu={};C(vu,{up:()=>c$,down:()=>h$});import{sql as jT}from"kysely";async function c$(_){await jT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function h$(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await jT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var pu={};C(pu,{up:()=>t$,down:()=>o$});async function t$(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function o$(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var gu={};C(gu,{up:()=>a$,down:()=>r$});import{sql as v_}from"kysely";async function a$(_){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(v_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(v_`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(v_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(v_`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 r$(_){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 qu={};C(qu,{up:()=>l$,down:()=>e$});async function l$(_){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 iu={};C(iu,{up:()=>d$,down:()=>b$});async function d$(_){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 b$(_){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 cu={};C(cu,{up:()=>s$,down:()=>_P});import{sql as M}from"kysely";async function s$(_){await M`
709
709
  INSERT INTO connections (
710
710
  id,
711
711
  organization_id,
@@ -752,7 +752,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
752
752
  created_at,
753
753
  updated_at
754
754
  FROM virtual_mcps
755
- `.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 M`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await M`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 M`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await M`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 _U(_){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(M`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(M`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await M`
755
+ `.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 M`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await M`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 M`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await M`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 _P(_){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(M`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(M`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await M`
756
756
  INSERT INTO virtual_mcps (
757
757
  id, organization_id, title, description, icon, status,
758
758
  created_at, updated_at, created_by, updated_by, tool_selection_mode
@@ -762,7 +762,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
762
762
  created_at, updated_at, created_by, NULL, 'inclusion'
763
763
  FROM connections
764
764
  WHERE connection_type = 'VIRTUAL'
765
- `.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 M`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 hu={};C(hu,{up:()=>xU,down:()=>uU});async function xU(_){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 uU(_){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 tu={};C(tu,{up:()=>CU,down:()=>KU});import{sql as w}from"kysely";async function CU(_){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(w`CURRENT_TIMESTAMP`)).execute(),await w`
765
+ `.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 M`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 hu={};C(hu,{up:()=>xP,down:()=>uP});async function xP(_){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 uP(_){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 tu={};C(tu,{up:()=>CP,down:()=>KP});import{sql as V}from"kysely";async function CP(_){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(V`CURRENT_TIMESTAMP`)).execute(),await V`
766
766
  INSERT INTO connection_aggregations_new (
767
767
  id, parent_connection_id, child_connection_id,
768
768
  selected_tools, selected_resources, selected_prompts, created_at
@@ -771,7 +771,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
771
771
  id, parent_connection_id, child_connection_id,
772
772
  selected_tools, selected_resources, selected_prompts, created_at
773
773
  FROM connection_aggregations
774
- `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await w`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await w`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await w`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 KU(_){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(w`CURRENT_TIMESTAMP`)).execute(),await w`
774
+ `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await V`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await V`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await V`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 KP(_){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(V`CURRENT_TIMESTAMP`)).execute(),await V`
775
775
  INSERT INTO connection_aggregations_new (
776
776
  id, parent_connection_id, child_connection_id,
777
777
  selected_tools, selected_resources, selected_prompts, created_at
@@ -780,7 +780,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
780
780
  id, parent_connection_id, child_connection_id,
781
781
  selected_tools, selected_resources, selected_prompts, created_at
782
782
  FROM connection_aggregations
783
- `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await w`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await w`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await w`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 au={};C(au,{up:()=>NU,down:()=>mU});import{sql as ou}from"kysely";async function NU(_){await ou`
783
+ `.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await V`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await V`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await V`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 au={};C(au,{up:()=>NP,down:()=>mP});import{sql as ou}from"kysely";async function NP(_){await ou`
784
784
  UPDATE connections
785
785
  SET connection_url = connection_url || '/management',
786
786
  tools = NULL,
@@ -794,13 +794,13 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
794
794
  updated_at = CURRENT_TIMESTAMP
795
795
  WHERE app_name = '@deco/management-mcp'
796
796
  AND tools IS NOT NULL
797
- `.execute(_)}async function mU(_){await ou`
797
+ `.execute(_)}async function mP(_){await ou`
798
798
  UPDATE connections
799
799
  SET connection_url = SUBSTR(connection_url, 1, LENGTH(connection_url) - LENGTH('/management')),
800
800
  updated_at = CURRENT_TIMESTAMP
801
801
  WHERE connection_url LIKE '%/mcp/management'
802
802
  AND app_name = '@deco/management-mcp'
803
- `.execute(_)}var lu={};C(lu,{up:()=>TU,down:()=>zU});import{sql as ru}from"kysely";async function TU(_){await ru`
803
+ `.execute(_)}var lu={};C(lu,{up:()=>TP,down:()=>zP});import{sql as ru}from"kysely";async function TP(_){await ru`
804
804
  UPDATE connections
805
805
  SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
806
806
  tools = NULL,
@@ -814,16 +814,16 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
814
814
  WHERE connection_url LIKE '%/mcp/self'
815
815
  AND app_name = '@deco/management-mcp'
816
816
  AND tools IS NOT NULL
817
- `.execute(_)}async function zU(_){await ru`
817
+ `.execute(_)}async function zP(_){await ru`
818
818
  UPDATE connections
819
819
  SET connection_url = REPLACE(connection_url, '/mcp/self', '/mcp/management'),
820
820
  updated_at = CURRENT_TIMESTAMP
821
821
  WHERE connection_url LIKE '%/mcp/self'
822
822
  AND app_name = '@deco/management-mcp'
823
- `.execute(_)}var eu={};C(eu,{up:()=>EU,down:()=>$U});async function EU(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function $U(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var du={};C(du,{up:()=>UU,down:()=>PU});import{sql as LT}from"kysely";async function UU(_){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(LT`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(LT`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 PU(_){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 bu={};C(bu,{up:()=>JU,down:()=>XU});import{sql as J_}from"kysely";async function JU(_){await J_`
823
+ `.execute(_)}var eu={};C(eu,{up:()=>EP,down:()=>$P});async function EP(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function $P(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var du={};C(du,{up:()=>PP,down:()=>UP});import{sql as LT}from"kysely";async function PP(_){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(LT`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(LT`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 UP(_){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 bu={};C(bu,{up:()=>JP,down:()=>XP});import{sql as J_}from"kysely";async function JP(_){await J_`
824
824
  ALTER TABLE connection_aggregations
825
825
  ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
826
- `.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function XU(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await J_`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await J_`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(J_`CURRENT_TIMESTAMP`)).execute(),await J_`
826
+ `.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function XP(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await J_`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await J_`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(J_`CURRENT_TIMESTAMP`)).execute(),await J_`
827
827
  INSERT INTO connection_aggregations_new (
828
828
  id, parent_connection_id, child_connection_id,
829
829
  selected_tools, selected_resources, selected_prompts, created_at
@@ -832,42 +832,42 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
832
832
  id, parent_connection_id, child_connection_id,
833
833
  selected_tools, selected_resources, selected_prompts, created_at
834
834
  FROM connection_aggregations
835
- `.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 su={};C(su,{up:()=>LU,down:()=>FU});import{webcrypto as YT}from"crypto";var FT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var QU=128,h,e;function ZU(_){if(!h||h.length<_)h=Buffer.allocUnsafe(_*QU),YT.getRandomValues(h),e=0;else if(e+_>h.length)YT.getRandomValues(h),e=0;e+=_}function d(_=21){ZU(_|=0);let x="";for(let u=e-_;u<e;u++)x+=FT[h[u]&63];return x}var WU="org-admin",jU="Organization Admin";async function LU(_){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 N=new Date().toISOString(),K=`proj_${d()}`,m=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:K,organization_id:u.id,slug:WU,name:jU,description:null,enabled_plugins:m?.enabled_plugins??null,ui:null,created_at:N,updated_at:N}).execute()}}async function FU(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var _C={};C(_C,{up:()=>YU,down:()=>DU});async function YU(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function DU(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var xC={};C(xC,{up:()=>HU,down:()=>MU});async function HU(_){}async function MU(_){}var uC={};C(uC,{up:()=>RU,down:()=>BU});async function RU(_){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 BU(_){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 CC={};C(CC,{up:()=>GU,down:()=>OU});import{sql as DT}from"kysely";async function GU(_){await DT`
835
+ `.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 su={};C(su,{up:()=>LP,down:()=>FP});import{webcrypto as YT}from"crypto";var FT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var QP=128,h,e;function ZP(_){if(!h||h.length<_)h=Buffer.allocUnsafe(_*QP),YT.getRandomValues(h),e=0;else if(e+_>h.length)YT.getRandomValues(h),e=0;e+=_}function d(_=21){ZP(_|=0);let x="";for(let u=e-_;u<e;u++)x+=FT[h[u]&63];return x}var WP="org-admin",jP="Organization Admin";async function LP(_){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 N=new Date().toISOString(),K=`proj_${d()}`,m=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:K,organization_id:u.id,slug:WP,name:jP,description:null,enabled_plugins:m?.enabled_plugins??null,ui:null,created_at:N,updated_at:N}).execute()}}async function FP(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var _C={};C(_C,{up:()=>YP,down:()=>DP});async function YP(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function DP(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var xC={};C(xC,{up:()=>HP,down:()=>MP});async function HP(_){}async function MP(_){}var uC={};C(uC,{up:()=>RP,down:()=>BP});async function RP(_){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 BP(_){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 CC={};C(CC,{up:()=>GP,down:()=>OP});import{sql as DT}from"kysely";async function GP(_){await DT`
836
836
  UPDATE connections
837
837
  SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
838
838
  tools = NULL,
839
839
  updated_at = CURRENT_TIMESTAMP
840
840
  WHERE connection_url = 'https://api.decocms.com/mcp/registry'
841
841
  AND app_name = 'deco-registry'
842
- `.execute(_)}async function OU(_){await DT`
842
+ `.execute(_)}async function OP(_){await DT`
843
843
  UPDATE connections
844
844
  SET connection_url = 'https://api.decocms.com/mcp/registry',
845
845
  updated_at = CURRENT_TIMESTAMP
846
846
  WHERE connection_url = 'https://studio.decocms.com/org/deco/registry/mcp'
847
847
  AND app_name = 'deco-registry'
848
- `.execute(_)}var KC={};C(KC,{up:()=>AU,down:()=>fU});import{sql as SU}from"kysely";async function AU(_){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(SU`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 fU(_){await _.schema.dropTable("ai_provider_keys").execute()}var NC={};C(NC,{up:()=>yU,down:()=>VU});import{sql as IU}from"kysely";async function yU(_){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(IU`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function VU(_){await _.schema.dropTable("oauth_pkce_states").execute()}var mC={};C(mC,{up:()=>wU,down:()=>kU});import{sql as p}from"kysely";async function wU(_){await _.schema.createTable("automations").addColumn("id","text",(x)=>x.primaryKey().defaultTo(p`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(p`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(p`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(p`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(p`CURRENT_TIMESTAMP`)).execute(),await p`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_),await p`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(_),await p`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 kU(_){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 TC={};C(TC,{up:()=>nU,down:()=>vU});async function nU(_){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 vU(_){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 zC={};C(zC,{up:()=>pU,down:()=>gU});async function pU(_){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 gU(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var EC={};C(EC,{up:()=>qU,down:()=>iU});import{sql as HT}from"kysely";async function qU(_){await HT`
848
+ `.execute(_)}var KC={};C(KC,{up:()=>fP,down:()=>AP});import{sql as SP}from"kysely";async function fP(_){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(SP`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 AP(_){await _.schema.dropTable("ai_provider_keys").execute()}var NC={};C(NC,{up:()=>yP,down:()=>VP});import{sql as IP}from"kysely";async function yP(_){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(IP`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function VP(_){await _.schema.dropTable("oauth_pkce_states").execute()}var mC={};C(mC,{up:()=>wP,down:()=>kP});import{sql as p}from"kysely";async function wP(_){await _.schema.createTable("automations").addColumn("id","text",(x)=>x.primaryKey().defaultTo(p`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(p`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(p`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(p`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(p`CURRENT_TIMESTAMP`)).execute(),await p`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_),await p`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(_),await p`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 kP(_){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 TC={};C(TC,{up:()=>nP,down:()=>vP});async function nP(_){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 vP(_){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 zC={};C(zC,{up:()=>pP,down:()=>gP});async function pP(_){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 gP(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var EC={};C(EC,{up:()=>qP,down:()=>iP});import{sql as HT}from"kysely";async function qP(_){await HT`
849
849
  UPDATE connections
850
850
  SET title = 'CMS MCP',
851
851
  tools = NULL,
852
852
  updated_at = CURRENT_TIMESTAMP
853
853
  WHERE app_name = '@deco/management-mcp'
854
- `.execute(_)}async function iU(_){await HT`
854
+ `.execute(_)}async function iP(_){await HT`
855
855
  UPDATE connections
856
856
  SET title = 'Mesh MCP',
857
857
  updated_at = CURRENT_TIMESTAMP
858
858
  WHERE app_name = '@deco/management-mcp'
859
- `.execute(_)}var $C={};C($C,{up:()=>cU,down:()=>hU});import{sql as MT}from"kysely";async function cU(_){await MT`
859
+ `.execute(_)}var $C={};C($C,{up:()=>cP,down:()=>hP});import{sql as MT}from"kysely";async function cP(_){await MT`
860
860
  UPDATE connections
861
861
  SET title = 'Deco CMS',
862
862
  tools = NULL,
863
863
  updated_at = CURRENT_TIMESTAMP
864
864
  WHERE app_name = '@deco/management-mcp'
865
- `.execute(_)}async function hU(_){await MT`
865
+ `.execute(_)}async function hP(_){await MT`
866
866
  UPDATE connections
867
867
  SET title = 'CMS MCP',
868
868
  updated_at = CURRENT_TIMESTAMP
869
869
  WHERE app_name = '@deco/management-mcp'
870
- `.execute(_)}var UC={};C(UC,{up:()=>tU,down:()=>oU});async function tU(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function oU(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var PC={};C(PC,{up:()=>aU,down:()=>rU});async function aU(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function rU(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var XC={};C(XC,{up:()=>lU,down:()=>eU});import{sql as JC}from"kysely";async function lU(_){await JC`
870
+ `.execute(_)}var PC={};C(PC,{up:()=>tP,down:()=>oP});async function tP(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function oP(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var UC={};C(UC,{up:()=>aP,down:()=>rP});async function aP(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function rP(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var XC={};C(XC,{up:()=>lP,down:()=>eP});import{sql as JC}from"kysely";async function lP(_){await JC`
871
871
  UPDATE organization_settings
872
872
  SET enabled_plugins = (
873
873
  SELECT COALESCE(json_agg(elem), '[]'::json)::text
@@ -888,7 +888,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
888
888
  `.execute(_),await JC`
889
889
  DELETE FROM project_plugin_configs
890
890
  WHERE plugin_id = 'object-storage'
891
- `.execute(_)}async function eU(_){}var QC={};C(QC,{up:()=>dU,down:()=>bU});import{sql as RT}from"kysely";async function dU(_){await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await RT`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(_)}async function bU(_){await RT`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(_),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var WC={};C(WC,{up:()=>sU,down:()=>_P});import{sql as ZC}from"kysely";async function sU(_){await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await ZC`
891
+ `.execute(_)}async function eP(_){}var QC={};C(QC,{up:()=>dP,down:()=>bP});import{sql as RT}from"kysely";async function dP(_){await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await RT`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(_)}async function bP(_){await RT`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(_),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var WC={};C(WC,{up:()=>sP,down:()=>_U});import{sql as ZC}from"kysely";async function sP(_){await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await ZC`
892
892
  ALTER TABLE connections
893
893
  ADD CONSTRAINT chk_connections_subtype
894
894
  CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
@@ -896,17 +896,17 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
896
896
  UPDATE connections
897
897
  SET subtype = 'agent'
898
898
  WHERE connection_type = 'VIRTUAL'
899
- `.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(z)=>z.primaryKey()).addColumn("virtual_mcp_id","text",(z)=>z.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(z)=>z.notNull()).addColumn("connection_id","text",(z)=>z.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(z)=>z.notNull()).addColumn("updated_at","text",(z)=>z.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(),N=new Map;for(let z of u)N.set(z.organizationId,z.userId);let K=new Map;for(let z of x){let E=`vir_${d()}`;K.set(z.id,E);let $=z.ui?JSON.parse(z.ui):null,P=JSON.stringify({enabled_plugins:z.enabled_plugins?JSON.parse(z.enabled_plugins):null,ui:$,migrated_from_project:z.id,migrated_project_slug:z.slug}),j=N.get(z.organization_id);if(!j)continue;await _.insertInto("connections").values({id:E,organization_id:z.organization_id,created_by:j,updated_by:null,title:z.name,description:z.description,icon:$?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${E}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:P,bindings:null,status:"active",subtype:"project",created_at:z.created_at,updated_at:z.updated_at}).execute()}let m=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let z of m){let E=K.get(z.project_id);if(!E)continue;await _.insertInto("connection_aggregations").values({id:`agg_${d()}`,parent_connection_id:E,child_connection_id:z.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:z.created_at}).onConflict(($)=>$.doNothing()).execute()}let T=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let z of T){let E=K.get(z.project_id);if(!E)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${d()}`,virtual_mcp_id:E,plugin_id:z.plugin_id,connection_id:z.connection_id,settings:z.settings,created_at:z.created_at,updated_at:z.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function _P(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await ZC`
899
+ `.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(z)=>z.primaryKey()).addColumn("virtual_mcp_id","text",(z)=>z.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(z)=>z.notNull()).addColumn("connection_id","text",(z)=>z.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(z)=>z.notNull()).addColumn("updated_at","text",(z)=>z.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(),N=new Map;for(let z of u)N.set(z.organizationId,z.userId);let K=new Map;for(let z of x){let E=`vir_${d()}`;K.set(z.id,E);let $=z.ui?JSON.parse(z.ui):null,U=JSON.stringify({enabled_plugins:z.enabled_plugins?JSON.parse(z.enabled_plugins):null,ui:$,migrated_from_project:z.id,migrated_project_slug:z.slug}),j=N.get(z.organization_id);if(!j)continue;await _.insertInto("connections").values({id:E,organization_id:z.organization_id,created_by:j,updated_by:null,title:z.name,description:z.description,icon:$?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${E}`,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:z.created_at,updated_at:z.updated_at}).execute()}let m=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let z of m){let E=K.get(z.project_id);if(!E)continue;await _.insertInto("connection_aggregations").values({id:`agg_${d()}`,parent_connection_id:E,child_connection_id:z.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:z.created_at}).onConflict(($)=>$.doNothing()).execute()}let T=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let z of T){let E=K.get(z.project_id);if(!E)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${d()}`,virtual_mcp_id:E,plugin_id:z.plugin_id,connection_id:z.connection_id,settings:z.settings,created_at:z.created_at,updated_at:z.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function _U(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await ZC`
900
900
  ALTER TABLE connections
901
901
  DROP CONSTRAINT IF EXISTS chk_connections_subtype
902
- `.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var jC={};C(jC,{up:()=>uP,down:()=>CP});import{sql as xP}from"kysely";async function uP(_){await xP`
902
+ `.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var jC={};C(jC,{up:()=>uU,down:()=>CU});import{sql as xU}from"kysely";async function uU(_){await xU`
903
903
  DELETE FROM connections
904
904
  WHERE connection_type = 'VIRTUAL'
905
905
  AND subtype = 'project'
906
906
  AND metadata::json->>'migrated_project_slug' = 'org-admin'
907
- `.execute(_)}async function CP(_){}var LC={};C(LC,{up:()=>NP,down:()=>mP});import{sql as KP}from"kysely";async function NP(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await KP`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function mP(_){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 YC={};C(YC,{up:()=>TP,down:()=>zP});import{sql as FC}from"kysely";async function TP(_){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(FC`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(FC`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(FC`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 zP(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var DC={};C(DC,{up:()=>EP,down:()=>$P});async function EP(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function $P(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var HC={};C(HC,{up:()=>UP,down:()=>PP});async function UP(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function PP(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var RC={};C(RC,{up:()=>XP,down:()=>QP});import{sql as BT}from"kysely";function MC(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function JP(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),N=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return MC(N)}catch{return MC(_.connection_url)}if(_.title)return MC(_.title);return _.id}async function XP(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await BT`
907
+ `.execute(_)}async function CU(_){}var LC={};C(LC,{up:()=>NU,down:()=>mU});import{sql as KU}from"kysely";async function NU(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await KU`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function mU(_){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 YC={};C(YC,{up:()=>TU,down:()=>zU});import{sql as FC}from"kysely";async function TU(_){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(FC`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(FC`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(FC`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 zU(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var DC={};C(DC,{up:()=>EU,down:()=>$U});async function EU(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function $U(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var HC={};C(HC,{up:()=>PU,down:()=>UU});async function PU(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function UU(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var RC={};C(RC,{up:()=>XU,down:()=>QU});import{sql as BT}from"kysely";function MC(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function JU(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),N=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return MC(N)}catch{return MC(_.connection_url)}if(_.title)return MC(_.title);return _.id}async function XU(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await BT`
908
908
  SELECT id, app_name, connection_url, title FROM connections
909
- `.execute(_);for(let u of x.rows){let N=JP(u);await BT`UPDATE connections SET slug = ${N} WHERE id = ${u.id}`.execute(_)}await _.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function QP(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var BC={};C(BC,{up:()=>ZP,down:()=>WP});import{sql as X_}from"kysely";async function ZP(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await X_`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await X_`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 WP(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await X_`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await X_`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await X_`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 GC={};C(GC,{up:()=>jP,down:()=>LP});async function jP(_){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 LP(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var OC={};C(OC,{up:()=>FP,down:()=>YP});import{sql as p_}from"kysely";async function FP(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await p_`
909
+ `.execute(_);for(let u of x.rows){let N=JU(u);await BT`UPDATE connections SET slug = ${N} WHERE id = ${u.id}`.execute(_)}await _.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function QU(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var BC={};C(BC,{up:()=>ZU,down:()=>WU});import{sql as X_}from"kysely";async function ZU(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await X_`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await X_`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 WU(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await X_`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await X_`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await X_`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 GC={};C(GC,{up:()=>jU,down:()=>LU});async function jU(_){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 LU(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var OC={};C(OC,{up:()=>FU,down:()=>YU});import{sql as p_}from"kysely";async function FU(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await p_`
910
910
  UPDATE threads
911
911
  SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
912
912
  WHERE agent_ids IS NOT NULL
@@ -916,14 +916,14 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
916
916
  `.execute(_),await p_`
917
917
  CREATE INDEX idx_threads_virtual_mcp_id
918
918
  ON threads (organization_id, virtual_mcp_id, hidden, updated_at DESC)
919
- `.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function YP(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute(),await p_`
919
+ `.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function YU(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute(),await p_`
920
920
  UPDATE threads
921
921
  SET agent_ids = CASE
922
922
  WHEN virtual_mcp_id IS NOT NULL AND virtual_mcp_id != ''
923
923
  THEN jsonb_build_array(virtual_mcp_id)::text
924
924
  ELSE '[]'
925
925
  END
926
- `.execute(_),await p_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var SC={};C(SC,{up:()=>DP,down:()=>HP});async function DP(_){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 HP(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var AC={};C(AC,{up:()=>MP,down:()=>RP});async function MP(_){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 RP(_){await _.schema.dropTable("kv").execute()}var fC={};C(fC,{up:()=>BP,down:()=>GP});async function BP(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function GP(_){await _.schema.dropIndex("idx_member_user_org").execute()}var IC={};C(IC,{up:()=>OP,down:()=>SP});async function OP(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function SP(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var yC={};C(yC,{up:()=>AP,down:()=>fP});import{sql as S}from"kysely";async function AP(_){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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 S`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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 S`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(S`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(S`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(S`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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 fP(_){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 VC={};C(VC,{up:()=>IP,down:()=>yP});import{sql as b}from"kysely";async function IP(_){await b`
926
+ `.execute(_),await p_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var SC={};C(SC,{up:()=>DU,down:()=>HU});async function DU(_){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 HU(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var fC={};C(fC,{up:()=>MU,down:()=>RU});async function MU(_){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 RU(_){await _.schema.dropTable("kv").execute()}var AC={};C(AC,{up:()=>BU,down:()=>GU});async function BU(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function GU(_){await _.schema.dropIndex("idx_member_user_org").execute()}var IC={};C(IC,{up:()=>OU,down:()=>SU});async function OU(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function SU(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var yC={};C(yC,{up:()=>fU,down:()=>AU});import{sql as O}from"kysely";async function fU(_){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(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(O`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 O`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(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(O`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 O`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(O`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(O`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(O`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(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(O`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 AU(_){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 VC={};C(VC,{up:()=>IU,down:()=>yU});import{sql as b}from"kysely";async function IU(_){await b`
927
927
  ALTER TABLE event_subscriptions
928
928
  ALTER COLUMN enabled DROP DEFAULT
929
929
  `.execute(_),await b`
@@ -933,7 +933,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
933
933
  `.execute(_),await b`
934
934
  ALTER TABLE event_subscriptions
935
935
  ALTER COLUMN enabled SET DEFAULT true
936
- `.execute(_)}async function yP(_){await b`
936
+ `.execute(_)}async function yU(_){await b`
937
937
  ALTER TABLE event_subscriptions
938
938
  ALTER COLUMN enabled DROP DEFAULT
939
939
  `.execute(_),await b`
@@ -943,7 +943,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
943
943
  `.execute(_),await b`
944
944
  ALTER TABLE event_subscriptions
945
945
  ALTER COLUMN enabled SET DEFAULT 1
946
- `.execute(_)}var wC={};C(wC,{up:()=>VP,down:()=>wP});import{sql as GT}from"kysely";async function VP(_){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(GT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(GT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function wP(_){await _.schema.dropTable("brand_context").execute()}var kC={};C(kC,{up:()=>kP,down:()=>nP});import{sql as OT}from"kysely";async function kP(_){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(OT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(OT`now()`)).execute()}async function nP(_){await _.schema.dropTable("organization_domains").execute()}var nC={};C(nC,{up:()=>qP,down:()=>iP});import{sql as ST}from"kysely";var g_=new Set(["primary","secondary","accent","background","foreground"]),vP={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function pP(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((K)=>g_.has(K))){let K={};for(let[m,T]of Object.entries(u)){if(typeof T!=="string")continue;if(g_.has(m))K[m]=T;else x[m]=T}return{structured:Object.keys(K).length>0?JSON.stringify(K):null,extra:x}}let N={};for(let[K,m]of Object.entries(u)){if(typeof m!=="string")continue;if(g_.has(K.toLowerCase()))N[K.toLowerCase()]=m;else x[K]=m}return{structured:Object.keys(N).length>0?JSON.stringify(N):null,extra:x}}if(Array.isArray(_)){let u={};for(let N of _){let K=N,m=K.label?.toLowerCase?.(),T=K.value;if(!m||!T)continue;if(g_.has(m))u[m]=T;else x[m]=T}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:x}}return{structured:null,extra:x}}function gP(_){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 N of _){let K=N,m=K.name??K.family??void 0,T=K.role?.toLowerCase?.()??"";if(!m)continue;let z=vP[T];if(z&&!x[z])x[z]=m;else u.push(m)}if(!x.body&&u[0])x.body=u[0];return Object.keys(x).length>0?JSON.stringify(x):null}return null}async function qP(_){let x=await ST`SELECT id, colors, fonts, metadata FROM brand_context`.execute(_);for(let u of x.rows){let N=!1,K=!1,m=!1,T=u.colors,z=u.fonts,E={};try{E=u.metadata?JSON.parse(u.metadata):{}}catch{}if(u.colors)try{let $=JSON.parse(u.colors);if(Array.isArray($)){let P=pP($);if(T=P.structured,N=!0,Object.keys(P.extra).length>0)E.extraColors=P.extra,m=!0}}catch{}if(u.fonts)try{let $=JSON.parse(u.fonts);if(Array.isArray($))z=gP($),K=!0}catch{}if(N||K||m){let $=m?JSON.stringify(E):u.metadata;await ST`
946
+ `.execute(_)}var wC={};C(wC,{up:()=>VU,down:()=>wU});import{sql as GT}from"kysely";async function VU(_){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(GT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(GT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function wU(_){await _.schema.dropTable("brand_context").execute()}var kC={};C(kC,{up:()=>kU,down:()=>nU});import{sql as OT}from"kysely";async function kU(_){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(OT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(OT`now()`)).execute()}async function nU(_){await _.schema.dropTable("organization_domains").execute()}var nC={};C(nC,{up:()=>qU,down:()=>iU});import{sql as ST}from"kysely";var g_=new Set(["primary","secondary","accent","background","foreground"]),vU={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function pU(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((K)=>g_.has(K))){let K={};for(let[m,T]of Object.entries(u)){if(typeof T!=="string")continue;if(g_.has(m))K[m]=T;else x[m]=T}return{structured:Object.keys(K).length>0?JSON.stringify(K):null,extra:x}}let N={};for(let[K,m]of Object.entries(u)){if(typeof m!=="string")continue;if(g_.has(K.toLowerCase()))N[K.toLowerCase()]=m;else x[K]=m}return{structured:Object.keys(N).length>0?JSON.stringify(N):null,extra:x}}if(Array.isArray(_)){let u={};for(let N of _){let K=N,m=K.label?.toLowerCase?.(),T=K.value;if(!m||!T)continue;if(g_.has(m))u[m]=T;else x[m]=T}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:x}}return{structured:null,extra:x}}function gU(_){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 N of _){let K=N,m=K.name??K.family??void 0,T=K.role?.toLowerCase?.()??"";if(!m)continue;let z=vU[T];if(z&&!x[z])x[z]=m;else u.push(m)}if(!x.body&&u[0])x.body=u[0];return Object.keys(x).length>0?JSON.stringify(x):null}return null}async function qU(_){let x=await ST`SELECT id, colors, fonts, metadata FROM brand_context`.execute(_);for(let u of x.rows){let N=!1,K=!1,m=!1,T=u.colors,z=u.fonts,E={};try{E=u.metadata?JSON.parse(u.metadata):{}}catch{}if(u.colors)try{let $=JSON.parse(u.colors);if(Array.isArray($)){let U=pU($);if(T=U.structured,N=!0,Object.keys(U.extra).length>0)E.extraColors=U.extra,m=!0}}catch{}if(u.fonts)try{let $=JSON.parse(u.fonts);if(Array.isArray($))z=gU($),K=!0}catch{}if(N||K||m){let $=m?JSON.stringify(E):u.metadata;await ST`
947
947
  UPDATE brand_context
948
948
  SET
949
949
  colors = ${T},
@@ -951,9 +951,9 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
951
951
  metadata = ${$},
952
952
  updated_at = NOW()
953
953
  WHERE id = ${u.id}
954
- `.execute(_)}}}async function iP(_){}var vC={};C(vC,{up:()=>hP,down:()=>tP});import{sql as cP}from"kysely";async function hP(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(cP`'{}'::jsonb`)).execute()}async function tP(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var pC={};C(pC,{up:()=>oP,down:()=>aP});async function oP(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function aP(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var gC={};C(gC,{up:()=>rP,down:()=>lP});async function rP(_){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 lP(_){await _.schema.dropTable("sandbox_runner_state").execute()}var qC={};C(qC,{up:()=>eP,down:()=>dP});async function eP(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function dP(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var iC={};C(iC,{up:()=>bP,down:()=>sP});async function bP(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function sP(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var cC={};C(cC,{up:()=>_J,down:()=>xJ});async function _J(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function xJ(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var hC={};C(hC,{up:()=>CJ,down:()=>KJ});import{sql as AT}from"kysely";var uJ=["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 CJ(_){let x=await AT`
954
+ `.execute(_)}}}async function iU(_){}var vC={};C(vC,{up:()=>hU,down:()=>tU});import{sql as cU}from"kysely";async function hU(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(cU`'{}'::jsonb`)).execute()}async function tU(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var pC={};C(pC,{up:()=>oU,down:()=>aU});async function oU(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function aU(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var gC={};C(gC,{up:()=>rU,down:()=>lU});async function rU(_){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 lU(_){await _.schema.dropTable("sandbox_runner_state").execute()}var qC={};C(qC,{up:()=>eU,down:()=>dU});async function eU(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function dU(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var iC={};C(iC,{up:()=>bU,down:()=>sU});async function bU(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function sU(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var cC={};C(cC,{up:()=>_J,down:()=>xJ});async function _J(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function xJ(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var hC={};C(hC,{up:()=>CJ,down:()=>KJ});import{sql as fT}from"kysely";var uJ=["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 CJ(_){let x=await fT`
955
955
  SELECT id, permission FROM "organizationRole"
956
- `.execute(_);for(let u of x.rows){if(!u.permission)continue;let N;try{N=JSON.parse(u.permission)}catch{continue}let K=N.self;if(!Array.isArray(K))continue;if(K.length===1&&K[0]==="*")continue;let m=K,T=Array.from(new Set([...m,...uJ]));if(T.length===m.length)continue;N.self=T;let z=JSON.stringify(N);await AT`
956
+ `.execute(_);for(let u of x.rows){if(!u.permission)continue;let N;try{N=JSON.parse(u.permission)}catch{continue}let K=N.self;if(!Array.isArray(K))continue;if(K.length===1&&K[0]==="*")continue;let m=K,T=Array.from(new Set([...m,...uJ]));if(T.length===m.length)continue;N.self=T;let z=JSON.stringify(N);await fT`
957
957
  UPDATE "organizationRole"
958
958
  SET permission = ${z}
959
959
  WHERE id = ${u.id}
@@ -973,18 +973,18 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
973
973
  `.execute(_),await Q_`
974
974
  ALTER TABLE automations
975
975
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
976
- `.execute(_)}var lC={};C(lC,{up:()=>XJ,reshapeSimpleMode:()=>fT,inferAutomationTier:()=>IT,down:()=>QJ,__testing:()=>JJ});var UJ={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},PJ=["fast","smart","thinking","image","web_research"];function rC(_){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 PJ.some((N)=>(N in u))}function fT(_){if(rC(_))return _;let x=_,u=x?.enabled===!0,N=(K)=>K&&K.keyId&&K.modelId?{keyId:K.keyId,modelId:K.modelId,title:K.title}:null;if(!u)return UJ;return{tiers:{fast:N(x?.chat?.fast),smart:N(x?.chat?.smart),thinking:N(x?.chat?.thinking),image:N(x?.image),web_research:N(x?.webResearch)}}}function IT(_){if(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking")return _.tier;if(_.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function yT(_){if(!(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((N)=>_[N]===void 0)}var JJ={isAlreadyReshapedSimpleMode:rC,isAlreadyReshapedAutomationModels:yT};async function XJ(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let N of x){let K=N.simple_mode?typeof N.simple_mode==="string"?JSON.parse(N.simple_mode):N.simple_mode:null;if(rC(K))continue;let m=fT(K);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(m)}).where("organizationId","=",N.organizationId).execute()}let u=await _.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let N of u){let K;try{K=typeof N.models==="string"?JSON.parse(N.models):N.models}catch{K={}}if(yT(K))continue;let m=IT(K);if(await _.updateTable("automations").set({models:JSON.stringify({tier:m})}).where("id","=",N.id).execute(),K.thinking?.capabilities?.image)console.log(`[migration 077] automation ${N.id} previously used an image-only model; mapped to "${m}"`)}}async function QJ(_){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var eC={};C(eC,{up:()=>ZJ,down:()=>WJ});import{sql as n}from"kysely";async function ZJ(_){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 n`
976
+ `.execute(_)}var lC={};C(lC,{up:()=>XJ,reshapeSimpleMode:()=>AT,inferAutomationTier:()=>IT,down:()=>QJ,__testing:()=>JJ});var PJ={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},UJ=["fast","smart","thinking","image","web_research"];function rC(_){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 UJ.some((N)=>(N in u))}function AT(_){if(rC(_))return _;let x=_,u=x?.enabled===!0,N=(K)=>K&&K.keyId&&K.modelId?{keyId:K.keyId,modelId:K.modelId,title:K.title}:null;if(!u)return PJ;return{tiers:{fast:N(x?.chat?.fast),smart:N(x?.chat?.smart),thinking:N(x?.chat?.thinking),image:N(x?.image),web_research:N(x?.webResearch)}}}function IT(_){if(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking")return _.tier;if(_.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function yT(_){if(!(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((N)=>_[N]===void 0)}var JJ={isAlreadyReshapedSimpleMode:rC,isAlreadyReshapedAutomationModels:yT};async function XJ(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let N of x){let K=N.simple_mode?typeof N.simple_mode==="string"?JSON.parse(N.simple_mode):N.simple_mode:null;if(rC(K))continue;let m=AT(K);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(m)}).where("organizationId","=",N.organizationId).execute()}let u=await _.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let N of u){let K;try{K=typeof N.models==="string"?JSON.parse(N.models):N.models}catch{K={}}if(yT(K))continue;let m=IT(K);if(await _.updateTable("automations").set({models:JSON.stringify({tier:m})}).where("id","=",N.id).execute(),K.thinking?.capabilities?.image)console.log(`[migration 077] automation ${N.id} previously used an image-only model; mapped to "${m}"`)}}async function QJ(_){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var eC={};C(eC,{up:()=>ZJ,down:()=>WJ});import{sql as k}from"kysely";async function ZJ(_){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 k`
977
977
  ALTER TABLE automations
978
978
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
979
- `.execute(_),await n`
979
+ `.execute(_),await k`
980
980
  ALTER TABLE automations
981
981
  ADD CONSTRAINT chk_automation_kind
982
982
  CHECK (kind IN ('agent', 'tool_call'))
983
- `.execute(_),await n`
983
+ `.execute(_),await k`
984
984
  ALTER TABLE automations
985
985
  ADD CONSTRAINT chk_automation_agent_fields
986
986
  CHECK (kind != 'agent' OR virtual_mcp_id IS NOT NULL)
987
- `.execute(_),await n`
987
+ `.execute(_),await k`
988
988
  ALTER TABLE automations
989
989
  ADD CONSTRAINT chk_automation_tool_call_fields
990
990
  CHECK (
@@ -995,7 +995,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
995
995
  AND tool_input IS NOT NULL
996
996
  )
997
997
  )
998
- `.execute(_)}async function WJ(_){await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await n`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await n`
998
+ `.execute(_)}async function WJ(_){await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await k`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await k`
999
999
  ALTER TABLE automations
1000
1000
  ALTER COLUMN virtual_mcp_id SET NOT NULL
1001
1001
  `.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var dC={};C(dC,{up:()=>LJ,down:()=>FJ});import{sql as VT}from"kysely";var jJ=new Set(["host","docker","agent-sandbox"]);async function LJ(_){let x=await VT`
@@ -1003,7 +1003,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1003
1003
  WHERE connection_type = 'VIRTUAL'
1004
1004
  AND metadata IS NOT NULL
1005
1005
  AND metadata LIKE '%vmMap%'
1006
- `.execute(_);for(let u of x.rows){if(!u.metadata)continue;let N;try{N=JSON.parse(u.metadata)}catch{continue}let K=N.vmMap;if(!K||typeof K!=="object")continue;let m=!1,T={};for(let[E,$]of Object.entries(K)){if(!$||typeof $!=="object"){m=!0;continue}let P={};for(let[j,Q]of Object.entries($)){if(!Q||typeof Q!=="object"){m=!0;continue}let y=Q.runnerKind;if(y!==void 0&&!jJ.has(y)){m=!0;continue}P[j]=Q}if(Object.keys(P).length>0)T[E]=P;else m=!0}if(!m)continue;N.vmMap=T;let z=JSON.stringify(N);await VT`
1006
+ `.execute(_);for(let u of x.rows){if(!u.metadata)continue;let N;try{N=JSON.parse(u.metadata)}catch{continue}let K=N.vmMap;if(!K||typeof K!=="object")continue;let m=!1,T={};for(let[E,$]of Object.entries(K)){if(!$||typeof $!=="object"){m=!0;continue}let U={};for(let[j,Q]of Object.entries($)){if(!Q||typeof Q!=="object"){m=!0;continue}let I=Q.runnerKind;if(I!==void 0&&!jJ.has(I)){m=!0;continue}U[j]=Q}if(Object.keys(U).length>0)T[E]=U;else m=!0}if(!m)continue;N.vmMap=T;let z=JSON.stringify(N);await VT`
1007
1007
  UPDATE "connections"
1008
1008
  SET metadata = ${z}
1009
1009
  WHERE id = ${u.id}
@@ -1032,7 +1032,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1032
1032
  CREATE UNIQUE INDEX idx_secrets_org_name
1033
1033
  ON secrets (organization_id, lower(name))
1034
1034
  WHERE scope = 'organization'
1035
- `.execute(_)}async function BJ(_){await _.schema.dropTable("secrets").execute()}var xK={};C(xK,{up:()=>GJ,down:()=>OJ});async function GJ(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function OJ(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var uK={};C(uK,{up:()=>AJ,down:()=>fJ});import{sql as SJ}from"kysely";async function AJ(_){await SJ`delete from sandbox_runner_state where runner_kind = 'host'`.execute(_)}async function fJ(_){}var CK={};C(CK,{up:()=>IJ,down:()=>yJ});import{sql as q_}from"kysely";async function IJ(_){await q_`
1035
+ `.execute(_)}async function BJ(_){await _.schema.dropTable("secrets").execute()}var xK={};C(xK,{up:()=>GJ,down:()=>OJ});async function GJ(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function OJ(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var uK={};C(uK,{up:()=>fJ,down:()=>AJ});import{sql as SJ}from"kysely";async function fJ(_){await SJ`delete from sandbox_runner_state where runner_kind = 'host'`.execute(_)}async function AJ(_){}var CK={};C(CK,{up:()=>IJ,down:()=>yJ});import{sql as q_}from"kysely";async function IJ(_){await q_`
1036
1036
  ALTER TABLE sandbox_runner_state
1037
1037
  RENAME COLUMN runner_kind TO sandbox_provider_kind
1038
1038
  `.execute(_),await q_`
@@ -1474,30 +1474,30 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1474
1474
  WHERE c.connection_type = 'VIRTUAL'
1475
1475
  AND c.metadata IS NOT NULL
1476
1476
  AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
1477
- `.execute(_)}async function rJ(_){}var UK={};C(UK,{up:()=>eJ,down:()=>dJ});import{sql as vT}from"kysely";var lJ=["GLOBAL_SEARCH"];async function eJ(_){let x=await vT`
1477
+ `.execute(_)}async function rJ(_){}var PK={};C(PK,{up:()=>eJ,down:()=>dJ});import{sql as vT}from"kysely";var lJ=["GLOBAL_SEARCH"];async function eJ(_){let x=await vT`
1478
1478
  SELECT id, permission FROM "organizationRole"
1479
1479
  `.execute(_);for(let u of x.rows){if(!u.permission)continue;let N;try{N=JSON.parse(u.permission)}catch{continue}let K=N.self;if(!Array.isArray(K))continue;if(K.length===1&&K[0]==="*")continue;let m=K,T=Array.from(new Set([...m,...lJ]));if(T.length===m.length)continue;N.self=T;let z=JSON.stringify(N);await vT`
1480
1480
  UPDATE "organizationRole"
1481
1481
  SET permission = ${z}
1482
1482
  WHERE id = ${u.id}
1483
- `.execute(_)}}async function dJ(_){}var JK={};C(JK,{up:()=>bJ,down:()=>sJ});import{sql as PK}from"kysely";async function bJ(_){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(PK`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(PK`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await PK`
1483
+ `.execute(_)}}async function dJ(_){}var JK={};C(JK,{up:()=>bJ,down:()=>sJ});import{sql as UK}from"kysely";async function bJ(_){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(UK`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(UK`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await UK`
1484
1484
  CREATE UNIQUE INDEX idx_org_file_configs_org_name
1485
1485
  ON org_file_configs (organization_id, lower(name))
1486
- `.execute(_)}async function sJ(_){await _.schema.dropTable("org_file_configs").execute()}var XK={};C(XK,{up:()=>_X,down:()=>xX});import{sql as v}from"kysely";async function _X(_){await v`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await v`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await v`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await v`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await v`
1486
+ `.execute(_)}async function sJ(_){await _.schema.dropTable("org_file_configs").execute()}var XK={};C(XK,{up:()=>_X,down:()=>xX});import{sql as n}from"kysely";async function _X(_){await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await n`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await n`
1487
1487
  ALTER TABLE automations
1488
1488
  ALTER COLUMN virtual_mcp_id SET NOT NULL
1489
- `.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function xX(_){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 v`
1489
+ `.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function xX(_){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 n`
1490
1490
  ALTER TABLE automations
1491
1491
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
1492
- `.execute(_),await v`
1492
+ `.execute(_),await n`
1493
1493
  ALTER TABLE automations
1494
1494
  ADD CONSTRAINT chk_automation_kind
1495
1495
  CHECK (kind IN ('agent', 'tool_call'))
1496
- `.execute(_),await v`
1496
+ `.execute(_),await n`
1497
1497
  ALTER TABLE automations
1498
1498
  ADD CONSTRAINT chk_automation_agent_fields
1499
1499
  CHECK (kind != 'agent' OR virtual_mcp_id IS NOT NULL)
1500
- `.execute(_),await v`
1500
+ `.execute(_),await n`
1501
1501
  ALTER TABLE automations
1502
1502
  ADD CONSTRAINT chk_automation_tool_call_fields
1503
1503
  CHECK (
@@ -1513,37 +1513,37 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1513
1513
  WHERE connection_type = 'VIRTUAL'
1514
1514
  AND metadata IS NOT NULL
1515
1515
  AND metadata LIKE ${"%"+h_+"%"}
1516
- `.execute(_);for(let u of x.rows){if(!u.metadata)continue;let N;try{N=JSON.parse(u.metadata)}catch{continue}let K=N.sandboxMap;if(!K||typeof K!=="object")continue;let m=!1,T={};for(let[E,$]of Object.entries(K)){if(!$||typeof $!=="object"){m=!0;continue}let P={};for(let[j,Q]of Object.entries($)){if(!Q||typeof Q!=="object"){m=!0;continue}if(h_ in Q){m=!0;let y={...Q};if(delete y[h_],Object.keys(y).length>0)P[j]=y}else P[j]=Q}if(Object.keys(P).length>0)T[E]=P;else m=!0}if(!m)continue;N.sandboxMap=T;let z=JSON.stringify(N);await ZK`
1516
+ `.execute(_);for(let u of x.rows){if(!u.metadata)continue;let N;try{N=JSON.parse(u.metadata)}catch{continue}let K=N.sandboxMap;if(!K||typeof K!=="object")continue;let m=!1,T={};for(let[E,$]of Object.entries(K)){if(!$||typeof $!=="object"){m=!0;continue}let U={};for(let[j,Q]of Object.entries($)){if(!Q||typeof Q!=="object"){m=!0;continue}if(h_ in Q){m=!0;let I={...Q};if(delete I[h_],Object.keys(I).length>0)U[j]=I}else U[j]=Q}if(Object.keys(U).length>0)T[E]=U;else m=!0}if(!m)continue;N.sandboxMap=T;let z=JSON.stringify(N);await ZK`
1517
1517
  UPDATE "connections"
1518
1518
  SET metadata = ${z}
1519
1519
  WHERE id = ${u.id}
1520
- `.execute(_)}}async function NX(_){}var jK={};C(jK,{up:()=>mX,down:()=>TX});import{sql as t_}from"kysely";async function mX(_){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 t_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await t_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await t_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await t_`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 TX(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var LK={};C(LK,{up:()=>zX,down:()=>EX});async function zX(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function EX(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var FK={};C(FK,{up:()=>$X,down:()=>UX});async function $X(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function UX(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var YK={};C(YK,{up:()=>PX,down:()=>JX});async function PX(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function JX(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var DK={};C(DK,{up:()=>XX,down:()=>QX});async function XX(_){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 QX(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var HK={};C(HK,{up:()=>ZX,down:()=>WX});async function ZX(_){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 WX(_){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 RK={};C(RK,{up:()=>LX,down:()=>FX});import{sql as k}from"kysely";var A="cluster",f="agent-sandbox";function __(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function MK(_,x,u){if(!__(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function o_(_){if(!__(_))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!==A&&_.sandboxProviderKind!==f&&_.sandboxProviderKind!=="user-desktop")return!1;if(_.createdAt!==void 0&&typeof _.createdAt!=="number")return!1;if(_.startedWith!==void 0){if(!__(_.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 jX(_,x,u){if(!__(_))return null;let N=!1,K={};for(let[m,T]of Object.entries(_)){if(!__(T)){K[m]=T;continue}let z={};for(let[E,$]of Object.entries(T)){if(!__($)){z[E]=$;continue}let P={};for(let[j,Q]of Object.entries($)){if(j===x){if(N=!0,!(u in $))P[u]=MK(Q,x,u);else if(!o_($[u])&&o_(Q))P[u]=MK(Q,x,u);continue}let y=MK(Q,x,u);if(y!==Q)N=!0;if(j===u&&j in P&&o_(P[j])&&!o_(y))continue;P[j]=y}z[E]=P}K[m]=z}return{sandboxMap:K,changed:N}}async function pT(_,x,u){let N=await k`
1520
+ `.execute(_)}}async function NX(_){}var jK={};C(jK,{up:()=>mX,down:()=>TX});import{sql as t_}from"kysely";async function mX(_){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 t_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await t_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await t_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await t_`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 TX(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var LK={};C(LK,{up:()=>zX,down:()=>EX});async function zX(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function EX(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var FK={};C(FK,{up:()=>$X,down:()=>PX});async function $X(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function PX(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var YK={};C(YK,{up:()=>UX,down:()=>JX});async function UX(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function JX(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var DK={};C(DK,{up:()=>XX,down:()=>QX});async function XX(_){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 QX(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var HK={};C(HK,{up:()=>ZX,down:()=>WX});async function ZX(_){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 WX(_){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 RK={};C(RK,{up:()=>LX,down:()=>FX});import{sql as w}from"kysely";var S="cluster",f="agent-sandbox";function __(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function MK(_,x,u){if(!__(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function o_(_){if(!__(_))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!==S&&_.sandboxProviderKind!==f&&_.sandboxProviderKind!=="user-desktop")return!1;if(_.createdAt!==void 0&&typeof _.createdAt!=="number")return!1;if(_.startedWith!==void 0){if(!__(_.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 jX(_,x,u){if(!__(_))return null;let N=!1,K={};for(let[m,T]of Object.entries(_)){if(!__(T)){K[m]=T;continue}let z={};for(let[E,$]of Object.entries(T)){if(!__($)){z[E]=$;continue}let U={};for(let[j,Q]of Object.entries($)){if(j===x){if(N=!0,!(u in $))U[u]=MK(Q,x,u);else if(!o_($[u])&&o_(Q))U[u]=MK(Q,x,u);continue}let I=MK(Q,x,u);if(I!==Q)N=!0;if(j===u&&j in U&&o_(U[j])&&!o_(I))continue;U[j]=I}z[E]=U}K[m]=z}return{sandboxMap:K,changed:N}}async function pT(_,x,u){let N=await w`
1521
1521
  SELECT id, metadata FROM connections
1522
1522
  WHERE connection_type = 'VIRTUAL'
1523
1523
  AND metadata IS NOT NULL
1524
1524
  AND metadata LIKE ${"%"+x+"%"}
1525
- `.execute(_);for(let K of N.rows){if(!K.metadata)continue;let m;try{m=JSON.parse(K.metadata)}catch{continue}let T=jX(m.sandboxMap,x,u);if(!T?.changed)continue;m.sandboxMap=T.sandboxMap,await k`
1525
+ `.execute(_);for(let K of N.rows){if(!K.metadata)continue;let m;try{m=JSON.parse(K.metadata)}catch{continue}let T=jX(m.sandboxMap,x,u);if(!T?.changed)continue;m.sandboxMap=T.sandboxMap,await w`
1526
1526
  UPDATE connections
1527
1527
  SET metadata = ${JSON.stringify(m)}
1528
1528
  WHERE id = ${K.id}
1529
- `.execute(_)}}async function LX(_){await k`
1529
+ `.execute(_)}}async function LX(_){await w`
1530
1530
  UPDATE threads
1531
1531
  SET sandbox_provider_kind = ${f}
1532
- WHERE sandbox_provider_kind = ${A}
1533
- `.execute(_),await k`
1532
+ WHERE sandbox_provider_kind = ${S}
1533
+ `.execute(_),await w`
1534
1534
  UPDATE sandbox_runner_state canonical
1535
1535
  SET handle = legacy.handle,
1536
1536
  state = legacy.state,
1537
1537
  updated_at = legacy.updated_at
1538
1538
  FROM sandbox_runner_state legacy
1539
1539
  WHERE canonical.sandbox_provider_kind = ${f}
1540
- AND legacy.sandbox_provider_kind = ${A}
1540
+ AND legacy.sandbox_provider_kind = ${S}
1541
1541
  AND canonical.user_id = legacy.user_id
1542
1542
  AND canonical.project_ref = legacy.project_ref
1543
1543
  AND legacy.updated_at > canonical.updated_at
1544
- `.execute(_),await k`
1544
+ `.execute(_),await w`
1545
1545
  DELETE FROM sandbox_runner_state legacy
1546
- WHERE legacy.sandbox_provider_kind = ${A}
1546
+ WHERE legacy.sandbox_provider_kind = ${S}
1547
1547
  AND EXISTS (
1548
1548
  SELECT 1
1549
1549
  FROM sandbox_runner_state canonical
@@ -1551,26 +1551,26 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1551
1551
  AND canonical.project_ref = legacy.project_ref
1552
1552
  AND canonical.sandbox_provider_kind = ${f}
1553
1553
  )
1554
- `.execute(_),await k`
1554
+ `.execute(_),await w`
1555
1555
  UPDATE sandbox_runner_state
1556
1556
  SET sandbox_provider_kind = ${f}
1557
- WHERE sandbox_provider_kind = ${A}
1558
- `.execute(_),await pT(_,A,f)}async function FX(_){await k`
1557
+ WHERE sandbox_provider_kind = ${S}
1558
+ `.execute(_),await pT(_,S,f)}async function FX(_){await w`
1559
1559
  UPDATE threads
1560
- SET sandbox_provider_kind = ${A}
1560
+ SET sandbox_provider_kind = ${S}
1561
1561
  WHERE sandbox_provider_kind = ${f}
1562
- `.execute(_),await k`
1562
+ `.execute(_),await w`
1563
1563
  UPDATE sandbox_runner_state legacy
1564
1564
  SET handle = canonical.handle,
1565
1565
  state = canonical.state,
1566
1566
  updated_at = canonical.updated_at
1567
1567
  FROM sandbox_runner_state canonical
1568
- WHERE legacy.sandbox_provider_kind = ${A}
1568
+ WHERE legacy.sandbox_provider_kind = ${S}
1569
1569
  AND canonical.sandbox_provider_kind = ${f}
1570
1570
  AND legacy.user_id = canonical.user_id
1571
1571
  AND legacy.project_ref = canonical.project_ref
1572
1572
  AND canonical.updated_at > legacy.updated_at
1573
- `.execute(_),await k`
1573
+ `.execute(_),await w`
1574
1574
  DELETE FROM sandbox_runner_state canonical
1575
1575
  WHERE canonical.sandbox_provider_kind = ${f}
1576
1576
  AND EXISTS (
@@ -1578,13 +1578,13 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1578
1578
  FROM sandbox_runner_state legacy
1579
1579
  WHERE legacy.user_id = canonical.user_id
1580
1580
  AND legacy.project_ref = canonical.project_ref
1581
- AND legacy.sandbox_provider_kind = ${A}
1581
+ AND legacy.sandbox_provider_kind = ${S}
1582
1582
  )
1583
- `.execute(_),await k`
1583
+ `.execute(_),await w`
1584
1584
  UPDATE sandbox_runner_state
1585
- SET sandbox_provider_kind = ${A}
1585
+ SET sandbox_provider_kind = ${S}
1586
1586
  WHERE sandbox_provider_kind = ${f}
1587
- `.execute(_),await pT(_,f,A)}var BK={};C(BK,{up:()=>YX,down:()=>DX});import{sql as g}from"kysely";async function YX(_){await g`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(g`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(g`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(g`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(g`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 g`
1587
+ `.execute(_),await pT(_,f,S)}var BK={};C(BK,{up:()=>YX,down:()=>DX});import{sql as g}from"kysely";async function YX(_){await g`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(g`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(g`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(g`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(g`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 g`
1588
1588
  CREATE INDEX idx_org_fs_entry_parent
1589
1589
  ON org_fs_entry (organization_id, volume, parent)
1590
1590
  WHERE deleted_at IS NULL
@@ -1608,7 +1608,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1608
1608
  ON CONFLICT (id) DO NOTHING
1609
1609
  `.execute(_)}async function BX(_){await gT`
1610
1610
  DELETE FROM "organization" WHERE id = 'org_orgfs_public_skills'
1611
- `.execute(_)}var SK={};C(SK,{up:()=>GX,down:()=>OX});async function GX(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function OX(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var AK={};C(AK,{up:()=>SX,down:()=>AX});import{sql as qT}from"kysely";async function SX(_){await qT`DROP INDEX IF EXISTS idx_tmp_run_seq`.execute(_)}async function AX(_){await qT`CREATE UNIQUE INDEX IF NOT EXISTS idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_)}var fK={};C(fK,{up:()=>IX,down:()=>yX});import{sql as fX}from"kysely";async function IX(_){await fX`
1611
+ `.execute(_)}var SK={};C(SK,{up:()=>GX,down:()=>OX});async function GX(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function OX(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var fK={};C(fK,{up:()=>SX,down:()=>fX});import{sql as qT}from"kysely";async function SX(_){await qT`DROP INDEX IF EXISTS idx_tmp_run_seq`.execute(_)}async function fX(_){await qT`CREATE UNIQUE INDEX IF NOT EXISTS idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_)}var AK={};C(AK,{up:()=>IX,down:()=>yX});import{sql as AX}from"kysely";async function IX(_){await AX`
1612
1612
  UPDATE downstream_tokens
1613
1613
  SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
1614
1614
  WHERE "expiresAt" IS NULL
@@ -1632,7 +1632,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1632
1632
  CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
1633
1633
  ON connection_workload_tokens (organization_id, subject_connection_id, name)
1634
1634
  WHERE revoked_at IS NULL
1635
- `.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(j_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(j_`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 TQ(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var aK={};C(aK,{up:()=>zQ,down:()=>EQ});async function zQ(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function EQ(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var rK={};C(rK,{up:()=>$Q,down:()=>UQ});import{sql as t}from"kysely";async function $Q(_){await t`
1635
+ `.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(j_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(j_`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 TQ(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var aK={};C(aK,{up:()=>zQ,down:()=>EQ});async function zQ(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function EQ(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var rK={};C(rK,{up:()=>$Q,down:()=>PQ});import{sql as t}from"kysely";async function $Q(_){await t`
1636
1636
  CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
1637
1637
  RETURNS jsonb AS $fn$
1638
1638
  BEGIN
@@ -1691,7 +1691,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1691
1691
  BEFORE INSERT ON connection_aggregations
1692
1692
  FOR EACH ROW
1693
1693
  EXECUTE FUNCTION enforce_repo_github_child_single_parent();
1694
- `.execute(_)}async function UQ(_){await t`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await t`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_),await t`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(_)}var eK={};C(eK,{up:()=>PQ,down:()=>JQ});import{sql as lK}from"kysely";async function PQ(_){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(lK`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(lK`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(lK`false`)).execute()}async function JQ(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var dK={};C(dK,{up:()=>XQ,down:()=>QQ});async function XQ(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function QQ(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var bK={};C(bK,{up:()=>ZQ,down:()=>WQ});async function ZQ(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function WQ(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var sK={};C(sK,{up:()=>jQ,down:()=>LQ});async function jQ(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function LQ(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var _N={};C(_N,{up:()=>YQ,down:()=>DQ});import{sql as FQ}from"kysely";async function YQ(_){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(FQ`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 DQ(_){await _.schema.dropTable("task_board_item_threads").execute()}var xN={};C(xN,{up:()=>HQ,down:()=>MQ});async function HQ(_){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 MQ(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var uN={};C(uN,{up:()=>BQ,down:()=>GQ});import{sql as RQ}from"kysely";async function BQ(_){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(RQ`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 GQ(_){await _.schema.dropTable("task_board_item_prs").execute()}var CN={};C(CN,{up:()=>SQ,down:()=>AQ});import{sql as OQ}from"kysely";async function SQ(_){await OQ`
1694
+ `.execute(_)}async function PQ(_){await t`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await t`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_),await t`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(_)}var eK={};C(eK,{up:()=>UQ,down:()=>JQ});import{sql as lK}from"kysely";async function UQ(_){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(lK`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(lK`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(lK`false`)).execute()}async function JQ(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var dK={};C(dK,{up:()=>XQ,down:()=>QQ});async function XQ(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function QQ(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var bK={};C(bK,{up:()=>ZQ,down:()=>WQ});async function ZQ(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function WQ(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var sK={};C(sK,{up:()=>jQ,down:()=>LQ});async function jQ(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function LQ(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var _N={};C(_N,{up:()=>YQ,down:()=>DQ});import{sql as FQ}from"kysely";async function YQ(_){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(FQ`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 DQ(_){await _.schema.dropTable("task_board_item_threads").execute()}var xN={};C(xN,{up:()=>HQ,down:()=>MQ});async function HQ(_){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 MQ(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var uN={};C(uN,{up:()=>BQ,down:()=>GQ});import{sql as RQ}from"kysely";async function BQ(_){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(RQ`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 GQ(_){await _.schema.dropTable("task_board_item_prs").execute()}var CN={};C(CN,{up:()=>SQ,down:()=>fQ});import{sql as OQ}from"kysely";async function SQ(_){await OQ`
1695
1695
  DELETE FROM member
1696
1696
  WHERE id IN (
1697
1697
  SELECT id FROM (
@@ -1710,11 +1710,11 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1710
1710
  ) ranked
1711
1711
  WHERE ranked.rn > 1
1712
1712
  )
1713
- `.execute(_)}async function AQ(_){}var KN={};C(KN,{up:()=>fQ,down:()=>IQ});async function fQ(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function IQ(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var NN={};C(NN,{up:()=>yQ,down:()=>VQ});async function yQ(_){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 VQ(_){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 mN={};C(mN,{up:()=>kQ,down:()=>nQ});import{sql as wQ}from"kysely";async function kQ(_){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(wQ`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 nQ(_){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 TN={};C(TN,{up:()=>pQ,down:()=>gQ});import{sql as vQ}from"kysely";async function pQ(_){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(vQ`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 gQ(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var zN={};C(zN,{up:()=>qQ,down:()=>iQ});import{sql as r_}from"kysely";async function qQ(_){await _.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(x)=>x.notNull()).addColumn("branch","text",(x)=>x.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(x)=>x.notNull().defaultTo("running")).addColumn("status","text",(x)=>x.notNull().defaultTo("provisioning")).addColumn("generation","integer",(x)=>x.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("last_started_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(r_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(r_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",r_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",r_`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await _.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await _.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function iQ(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var EN={};C(EN,{up:()=>cQ,down:()=>hQ});import{sql as l_}from"kysely";async function cQ(_){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(l_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(l_`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(l_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await l_`
1713
+ `.execute(_)}async function fQ(_){}var KN={};C(KN,{up:()=>AQ,down:()=>IQ});async function AQ(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function IQ(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var NN={};C(NN,{up:()=>yQ,down:()=>VQ});async function yQ(_){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 VQ(_){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 mN={};C(mN,{up:()=>kQ,down:()=>nQ});import{sql as wQ}from"kysely";async function kQ(_){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(wQ`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 nQ(_){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 TN={};C(TN,{up:()=>pQ,down:()=>gQ});import{sql as vQ}from"kysely";async function pQ(_){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(vQ`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 gQ(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var zN={};C(zN,{up:()=>qQ,down:()=>iQ});import{sql as r_}from"kysely";async function qQ(_){await _.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(x)=>x.notNull()).addColumn("branch","text",(x)=>x.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(x)=>x.notNull().defaultTo("running")).addColumn("status","text",(x)=>x.notNull().defaultTo("provisioning")).addColumn("generation","integer",(x)=>x.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("last_started_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(r_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(r_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",r_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",r_`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await _.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await _.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function iQ(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var EN={};C(EN,{up:()=>cQ,down:()=>hQ});import{sql as l_}from"kysely";async function cQ(_){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(l_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(l_`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(l_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await l_`
1714
1714
  insert into organization_billing (organization_id, legacy)
1715
1715
  select id, true from organization
1716
1716
  on conflict (organization_id) do nothing
1717
- `.execute(_)}async function hQ(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var $N={};C($N,{up:()=>tQ,down:()=>oQ});import{sql as cT}from"kysely";async function tQ(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(cT`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(cT`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function oQ(_){await _.schema.dropTable("seat_change_log").execute()}var UN={};C(UN,{up:()=>aQ,down:()=>rQ});async function aQ(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function rQ(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var PN={};C(PN,{up:()=>lQ,down:()=>eQ});import{sql as hT}from"kysely";async function lQ(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await hT`
1717
+ `.execute(_)}async function hQ(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var $N={};C($N,{up:()=>tQ,down:()=>oQ});import{sql as cT}from"kysely";async function tQ(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(cT`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(cT`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function oQ(_){await _.schema.dropTable("seat_change_log").execute()}var PN={};C(PN,{up:()=>aQ,down:()=>rQ});async function aQ(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function rQ(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var UN={};C(UN,{up:()=>lQ,down:()=>eQ});import{sql as hT}from"kysely";async function lQ(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await hT`
1718
1718
  create unique index organization_billing_stripe_subscription_id_uq
1719
1719
  on organization_billing (stripe_subscription_id)
1720
1720
  where stripe_subscription_id is not null
@@ -1730,14 +1730,14 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1730
1730
  UPDATE organization_settings
1731
1731
  SET reports_only = (flags ->> 'reports_only')::boolean
1732
1732
  WHERE flags ? 'reports_only'
1733
- `.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var LN={};C(LN,{up:()=>$Z,down:()=>UZ});import{sql as EZ}from"kysely";async function $Z(_){await _.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(x)=>x.notNull().defaultTo(0)).execute(),await EZ`
1733
+ `.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var LN={};C(LN,{up:()=>$Z,down:()=>PZ});import{sql as EZ}from"kysely";async function $Z(_){await _.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(x)=>x.notNull().defaultTo(0)).execute(),await EZ`
1734
1734
  update task_board_items
1735
1735
  set sort_order = -extract(epoch from created_at)
1736
- `.execute(_)}async function UZ(_){await _.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var FN={};C(FN,{up:()=>PZ,down:()=>JZ,ACTIONS:()=>rT});import{sql as e_}from"kysely";var rT=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function PZ(_){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(e_`now()`)).addCheckConstraint("chk_task_board_activity_action",e_`action IN (${e_.join(rT.map((x)=>e_.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 JZ(_){await _.schema.dropIndex("idx_task_board_activity_item").execute(),await _.schema.dropTable("task_board_activity").execute()}var DN={};C(DN,{up:()=>XZ,down:()=>QZ,ACTIONS:()=>YN});import{sql as L_}from"kysely";var YN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function XZ(_){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(L_`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 lT(_,YN)}async function QZ(_){await lT(_,YN.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 lT(_,x){await L_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await L_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${L_.join(x.map((u)=>L_.lit(u)))}))`.execute(_)}var MN={};C(MN,{up:()=>WZ,down:()=>jZ});import{sql as eT}from"kysely";function HN(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function ZZ(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),N=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return HN(N)}catch{return HN(_.connection_url)}if(_.title)return HN(_.title);return _.id}async function WZ(_){let x=await eT`
1736
+ `.execute(_)}async function PZ(_){await _.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var FN={};C(FN,{up:()=>UZ,down:()=>JZ,ACTIONS:()=>rT});import{sql as e_}from"kysely";var rT=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function UZ(_){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(e_`now()`)).addCheckConstraint("chk_task_board_activity_action",e_`action IN (${e_.join(rT.map((x)=>e_.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 JZ(_){await _.schema.dropIndex("idx_task_board_activity_item").execute(),await _.schema.dropTable("task_board_activity").execute()}var DN={};C(DN,{up:()=>XZ,down:()=>QZ,ACTIONS:()=>YN});import{sql as L_}from"kysely";var YN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function XZ(_){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(L_`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 lT(_,YN)}async function QZ(_){await lT(_,YN.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 lT(_,x){await L_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await L_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${L_.join(x.map((u)=>L_.lit(u)))}))`.execute(_)}var MN={};C(MN,{up:()=>WZ,down:()=>jZ});import{sql as eT}from"kysely";function HN(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function ZZ(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),N=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return HN(N)}catch{return HN(_.connection_url)}if(_.title)return HN(_.title);return _.id}async function WZ(_){let x=await eT`
1737
1737
  SELECT id, app_name, connection_url, title, slug
1738
1738
  FROM connections
1739
1739
  WHERE connection_type != 'VIRTUAL'
1740
- `.execute(_),u=0;for(let N of x.rows){let K=ZZ(N);if(K===N.slug)continue;await eT`UPDATE connections SET slug = ${K} WHERE id = ${N.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function jZ(){}var RN={};C(RN,{up:()=>FZ,down:()=>YZ});import{sql as LZ}from"kysely";async function FZ(_){await LZ`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 YZ(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var GN={};C(GN,{up:()=>HZ,down:()=>MZ,ACTIONS:()=>BN});import{sql as d_}from"kysely";var BN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],DZ=new Set(["review_requested","review_approved","review_changes_requested"]);async function HZ(_){await dT(_,BN)}async function MZ(_){await dT(_,BN.filter((x)=>!DZ.has(x)))}async function dT(_,x){await d_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await d_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${d_.join(x.map((u)=>d_.lit(u)))}))`.execute(_)}var ON={};C(ON,{up:()=>BZ,down:()=>GZ});import{sql as RZ}from"kysely";async function BZ(_){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(RZ`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 GZ(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var AN={};C(AN,{up:()=>SZ,down:()=>AZ,ACTIONS:()=>SN});import{sql as b_}from"kysely";var SN=["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"],OZ=new Set(["merge_conflict_resolution"]);async function SZ(_){await bT(_,SN)}async function AZ(_){await bT(_,SN.filter((x)=>!OZ.has(x)))}async function bT(_,x){await b_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await b_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${b_.join(x.map((u)=>b_.lit(u)))}))`.execute(_)}var fN={};C(fN,{up:()=>fZ,down:()=>IZ});import{sql as F_}from"kysely";async function fZ(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await F_`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 IZ(_){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 F_`
1740
+ `.execute(_),u=0;for(let N of x.rows){let K=ZZ(N);if(K===N.slug)continue;await eT`UPDATE connections SET slug = ${K} WHERE id = ${N.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function jZ(){}var RN={};C(RN,{up:()=>FZ,down:()=>YZ});import{sql as LZ}from"kysely";async function FZ(_){await LZ`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 YZ(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var GN={};C(GN,{up:()=>HZ,down:()=>MZ,ACTIONS:()=>BN});import{sql as d_}from"kysely";var BN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],DZ=new Set(["review_requested","review_approved","review_changes_requested"]);async function HZ(_){await dT(_,BN)}async function MZ(_){await dT(_,BN.filter((x)=>!DZ.has(x)))}async function dT(_,x){await d_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await d_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${d_.join(x.map((u)=>d_.lit(u)))}))`.execute(_)}var ON={};C(ON,{up:()=>BZ,down:()=>GZ});import{sql as RZ}from"kysely";async function BZ(_){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(RZ`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 GZ(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var fN={};C(fN,{up:()=>SZ,down:()=>fZ,ACTIONS:()=>SN});import{sql as b_}from"kysely";var SN=["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"],OZ=new Set(["merge_conflict_resolution"]);async function SZ(_){await bT(_,SN)}async function fZ(_){await bT(_,SN.filter((x)=>!OZ.has(x)))}async function bT(_,x){await b_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await b_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${b_.join(x.map((u)=>b_.lit(u)))}))`.execute(_)}var AN={};C(AN,{up:()=>AZ,down:()=>IZ});import{sql as F_}from"kysely";async function AZ(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await F_`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 IZ(_){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 F_`
1741
1741
  create index idx_org_billing_benefits_pending
1742
1742
  on organization_billing (updated_at)
1743
1743
  where benefits_reference_id is not null
@@ -1856,7 +1856,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1856
1856
  created_at timestamptz NOT NULL DEFAULT now(),
1857
1857
  UNIQUE (organization_id, jira_comment_id)
1858
1858
  )
1859
- `.execute(_)}async function z6(_){await x_`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await x_`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await x_`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var lN={};C(lN,{up:()=>$6,down:()=>U6});import{sql as E6}from"kysely";async function $6(_){await _.schema.alterTable("task_board_items").addColumn("key_seq","integer").execute(),await E6`
1859
+ `.execute(_)}async function z6(_){await x_`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await x_`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await x_`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var lN={};C(lN,{up:()=>$6,down:()=>P6});import{sql as E6}from"kysely";async function $6(_){await _.schema.alterTable("task_board_items").addColumn("key_seq","integer").execute(),await E6`
1860
1860
  update task_board_items as t
1861
1861
  set key_seq = numbered.seq
1862
1862
  from (
@@ -1869,7 +1869,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1869
1869
  from task_board_items
1870
1870
  ) as numbered
1871
1871
  where t.id = numbered.id
1872
- `.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 U6(_){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 eN={};C(eN,{up:()=>P6,down:()=>J6});import{sql as Kz}from"kysely";async function P6(_){await Kz`
1872
+ `.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 P6(_){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 eN={};C(eN,{up:()=>U6,down:()=>J6});import{sql as Kz}from"kysely";async function U6(_){await Kz`
1873
1873
  CREATE INDEX IF NOT EXISTS idx_threads_github_repo_connection_id
1874
1874
  ON threads ((metadata -> 'githubRepo' ->> 'connectionId'))
1875
1875
  WHERE metadata -> 'githubRepo' ->> 'connectionId' IS NOT NULL
@@ -1917,7 +1917,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1917
1917
  SELECT 1 FROM jsonb_each(status_mapping)
1918
1918
  WHERE jsonb_typeof(value) = 'array'
1919
1919
  )
1920
- `.execute(_)}var Km={};C(Km,{up:()=>B6,down:()=>G6,TYPES:()=>Cm});import{sql as ux}from"kysely";var Cm=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],R6=new Set(["mentioned"]);async function B6(_){await Tz(_,Cm)}async function G6(_){await Tz(_,Cm.filter((x)=>!R6.has(x)))}async function Tz(_,x){await ux`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await ux`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${ux.join(x.map((u)=>ux.lit(u)))}))`.execute(_)}var mm={};C(mm,{up:()=>A6,down:()=>f6,ACTIONS:()=>Nm});import{sql as i}from"kysely";var O6=["bug","feature","chore","spike","security"],Nm=["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"],S6=new Set(["type_changed"]);async function A6(_){await _.schema.alterTable("task_board_items").addColumn("type","text").execute(),await i`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${i.join(O6.map((x)=>i.lit(x)))}))`.execute(_),await zz(_,Nm)}async function f6(_){await zz(_,Nm.filter((x)=>!S6.has(x))),await i`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("type").execute()}async function zz(_,x){await i`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await i`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${i.join(x.map((u)=>i.lit(u)))}))`.execute(_)}var Tm={};C(Tm,{up:()=>I6,down:()=>y6});import{sql as W}from"kysely";var $z=["bug","feature","chore","spike","security"],Ez="chore";async function I6(_){await W`UPDATE task_board_items SET type = ${W.lit(Ez)} WHERE type IS NULL`.execute(_),await W`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${W.lit(Ez)}`.execute(_),await W`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await W`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await W`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${W.join($z.map((x)=>W.lit(x)))}))`.execute(_)}async function y6(_){await W`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await W`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${W.join($z.map((x)=>W.lit(x)))}))`.execute(_),await W`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await W`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var zm={};C(zm,{up:()=>V6,down:()=>w6});import{sql as u_}from"kysely";async function V6(_){await u_`
1920
+ `.execute(_)}var Km={};C(Km,{up:()=>B6,down:()=>G6,TYPES:()=>Cm});import{sql as ux}from"kysely";var Cm=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],R6=new Set(["mentioned"]);async function B6(_){await Tz(_,Cm)}async function G6(_){await Tz(_,Cm.filter((x)=>!R6.has(x)))}async function Tz(_,x){await ux`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await ux`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${ux.join(x.map((u)=>ux.lit(u)))}))`.execute(_)}var mm={};C(mm,{up:()=>f6,down:()=>A6,ACTIONS:()=>Nm});import{sql as i}from"kysely";var O6=["bug","feature","chore","spike","security"],Nm=["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"],S6=new Set(["type_changed"]);async function f6(_){await _.schema.alterTable("task_board_items").addColumn("type","text").execute(),await i`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${i.join(O6.map((x)=>i.lit(x)))}))`.execute(_),await zz(_,Nm)}async function A6(_){await zz(_,Nm.filter((x)=>!S6.has(x))),await i`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("type").execute()}async function zz(_,x){await i`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await i`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${i.join(x.map((u)=>i.lit(u)))}))`.execute(_)}var Tm={};C(Tm,{up:()=>I6,down:()=>y6});import{sql as Z}from"kysely";var $z=["bug","feature","chore","spike","security"],Ez="chore";async function I6(_){await Z`UPDATE task_board_items SET type = ${Z.lit(Ez)} WHERE type IS NULL`.execute(_),await Z`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${Z.lit(Ez)}`.execute(_),await Z`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await Z`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Z`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${Z.join($z.map((x)=>Z.lit(x)))}))`.execute(_)}async function y6(_){await Z`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Z`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${Z.join($z.map((x)=>Z.lit(x)))}))`.execute(_),await Z`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await Z`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var zm={};C(zm,{up:()=>V6,down:()=>w6});import{sql as u_}from"kysely";async function V6(_){await u_`
1921
1921
  CREATE TABLE task_board_sprints (
1922
1922
  id text PRIMARY KEY,
1923
1923
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -1947,22 +1947,22 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1947
1947
  SET last_synced_at = NULL,
1948
1948
  last_sync_error = NULL
1949
1949
  WHERE last_synced_at IS NOT NULL
1950
- `.execute(_)}async function q6(){}var Um={};C(Um,{up:()=>c6,down:()=>h6});import{sql as i6}from"kysely";async function c6(_){await i6`
1950
+ `.execute(_)}async function q6(){}var Pm={};C(Pm,{up:()=>c6,down:()=>h6});import{sql as i6}from"kysely";async function c6(_){await i6`
1951
1951
  UPDATE org_jira_integrations
1952
1952
  SET last_synced_at = NULL,
1953
1953
  last_sync_error = NULL
1954
1954
  WHERE last_synced_at IS NOT NULL
1955
- `.execute(_)}async function h6(){}var Jm={};C(Jm,{up:()=>t6,down:()=>o6});import{sql as Pm}from"kysely";async function t6(_){await Pm`
1955
+ `.execute(_)}async function h6(){}var Jm={};C(Jm,{up:()=>t6,down:()=>o6});import{sql as Um}from"kysely";async function t6(_){await Um`
1956
1956
  ALTER TABLE org_jira_integrations
1957
1957
  ADD COLUMN rescan_pending boolean NOT NULL DEFAULT false
1958
- `.execute(_),await Pm`
1958
+ `.execute(_),await Um`
1959
1959
  UPDATE org_jira_integrations
1960
1960
  SET rescan_pending = true
1961
1961
  WHERE last_synced_at IS NULL
1962
- `.execute(_)}async function o6(_){await Pm`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var Xm={};C(Xm,{up:()=>a6,down:()=>r6});async function a6(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function r6(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var Qm={};C(Qm,{up:()=>l6,down:()=>e6});import{sql as Uz}from"kysely";async function l6(_){await Uz`
1962
+ `.execute(_)}async function o6(_){await Um`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var Xm={};C(Xm,{up:()=>a6,down:()=>r6});async function a6(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function r6(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var Qm={};C(Qm,{up:()=>l6,down:()=>e6});import{sql as Pz}from"kysely";async function l6(_){await Pz`
1963
1963
  ALTER TABLE invitation
1964
1964
  ADD COLUMN "autoAccept" boolean NOT NULL DEFAULT false
1965
- `.execute(_)}async function e6(_){await Uz`ALTER TABLE invitation DROP COLUMN "autoAccept"`.execute(_)}var Wm={};C(Wm,{up:()=>d6,down:()=>b6});import{sql as Zm}from"kysely";async function d6(_){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(Zm`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Zm`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 Zm`
1965
+ `.execute(_)}async function e6(_){await Pz`ALTER TABLE invitation DROP COLUMN "autoAccept"`.execute(_)}var Wm={};C(Wm,{up:()=>d6,down:()=>b6});import{sql as Zm}from"kysely";async function d6(_){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(Zm`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Zm`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 Zm`
1966
1966
  INSERT INTO task_board_column_automations
1967
1967
  (id, organization_id, column_key, prompt)
1968
1968
  SELECT 'tbca_' || organization_id || '_todo', organization_id, 'todo', NULL
@@ -1991,7 +1991,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
1991
1991
  WHERE status = 'in_review'
1992
1992
  AND assignee_id = 'super-agent'
1993
1993
  AND dismissed_at IS NULL
1994
- `.execute(_),await Y_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var Lm={};C(Lm,{up:()=>xW,down:()=>uW});import{sql as Pz}from"kysely";async function xW(_){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(Pz`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Pz`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 uW(_){await _.schema.dropTable("task_board_columns").ifExists().execute()}var Ym={};C(Ym,{up:()=>KW,down:()=>NW,ACTIONS:()=>Fm});import{sql as Cx}from"kysely";var Fm=["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"],CW=new Set(["review_verdict_requested"]);async function KW(_){await Jz(_,Fm)}async function NW(_){await Jz(_,Fm.filter((x)=>!CW.has(x)))}async function Jz(_,x){await Cx`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await Cx`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Cx.join(x.map((u)=>Cx.lit(u)))}))`.execute(_)}var Dm={};C(Dm,{up:()=>mW,down:()=>TW});import{sql as Kx}from"kysely";async function mW(_){await _.schema.alterTable("task_board_items").addColumn("board_column_org","text").execute(),await Kx`
1994
+ `.execute(_),await Y_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var Lm={};C(Lm,{up:()=>xW,down:()=>uW});import{sql as Uz}from"kysely";async function xW(_){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(Uz`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Uz`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 uW(_){await _.schema.dropTable("task_board_columns").ifExists().execute()}var Ym={};C(Ym,{up:()=>KW,down:()=>NW,ACTIONS:()=>Fm});import{sql as Cx}from"kysely";var Fm=["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"],CW=new Set(["review_verdict_requested"]);async function KW(_){await Jz(_,Fm)}async function NW(_){await Jz(_,Fm.filter((x)=>!CW.has(x)))}async function Jz(_,x){await Cx`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await Cx`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Cx.join(x.map((u)=>Cx.lit(u)))}))`.execute(_)}var Dm={};C(Dm,{up:()=>mW,down:()=>TW});import{sql as Kx}from"kysely";async function mW(_){await _.schema.alterTable("task_board_items").addColumn("board_column_org","text").execute(),await Kx`
1995
1995
  ALTER TABLE task_board_items
1996
1996
  ADD CONSTRAINT chk_task_board_items_column_org
1997
1997
  CHECK (board_column_org IS NULL OR board_column_org = organization_id)
@@ -2007,7 +2007,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2007
2007
  `.execute(_),await Kx`
2008
2008
  ALTER TABLE task_board_items
2009
2009
  DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org
2010
- `.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var Hm={};C(Hm,{up:()=>zW,down:()=>EW});async function zW(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function EW(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var Rm={};C(Rm,{up:()=>UW,down:()=>PW,ACTIONS:()=>Mm});import{sql as Nx}from"kysely";var Mm=["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"],$W=new Set(["sprint_changed"]);async function UW(_){await Xz(_,Mm)}async function PW(_){await Xz(_,Mm.filter((x)=>!$W.has(x)))}async function Xz(_,x){await Nx`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await Nx`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Nx.join(x.map((u)=>Nx.lit(u)))}))`.execute(_)}var Bm={};C(Bm,{up:()=>XW,down:()=>QW});import{sql as JW}from"kysely";async function XW(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(JW`'[]'::jsonb`)).execute()}async function QW(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var Gm={};C(Gm,{up:()=>ZW,down:()=>WW});import{sql as Qz}from"kysely";async function ZW(_){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(Qz`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Qz`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function WW(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var Om={};C(Om,{up:()=>LW,down:()=>FW});import{sql as jW}from"kysely";async function LW(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await jW`
2010
+ `.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var Hm={};C(Hm,{up:()=>zW,down:()=>EW});async function zW(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function EW(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var Rm={};C(Rm,{up:()=>PW,down:()=>UW,ACTIONS:()=>Mm});import{sql as Nx}from"kysely";var Mm=["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"],$W=new Set(["sprint_changed"]);async function PW(_){await Xz(_,Mm)}async function UW(_){await Xz(_,Mm.filter((x)=>!$W.has(x)))}async function Xz(_,x){await Nx`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await Nx`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Nx.join(x.map((u)=>Nx.lit(u)))}))`.execute(_)}var Bm={};C(Bm,{up:()=>XW,down:()=>QW});import{sql as JW}from"kysely";async function XW(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(JW`'[]'::jsonb`)).execute()}async function QW(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var Gm={};C(Gm,{up:()=>ZW,down:()=>WW});import{sql as Qz}from"kysely";async function ZW(_){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(Qz`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Qz`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function WW(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var Om={};C(Om,{up:()=>LW,down:()=>FW});import{sql as jW}from"kysely";async function LW(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await jW`
2011
2011
  UPDATE task_board_items i
2012
2012
  SET external_url = t.url,
2013
2013
  description = CASE
@@ -2042,7 +2042,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2042
2042
  DROP COLUMN IF EXISTS last_synced_at,
2043
2043
  DROP COLUMN IF EXISTS last_sync_error,
2044
2044
  DROP COLUMN IF EXISTS rescan_pending
2045
- `.execute(_)}async function HW(){}async function MW(_,x){await X`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await X`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${X.join(x.map((u)=>X.lit(u)))}))`.execute(_)}var Am={};C(Am,{up:()=>RW,down:()=>BW});import{sql as C_}from"kysely";async function RW(_){await C_`
2045
+ `.execute(_)}async function HW(){}async function MW(_,x){await X`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await X`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${X.join(x.map((u)=>X.lit(u)))}))`.execute(_)}var fm={};C(fm,{up:()=>RW,down:()=>BW});import{sql as C_}from"kysely";async function RW(_){await C_`
2046
2046
  ALTER TABLE task_board_items
2047
2047
  ADD COLUMN IF NOT EXISTS source text
2048
2048
  CONSTRAINT chk_task_board_items_source CHECK (source IN ('jira'))
@@ -2063,14 +2063,14 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2063
2063
  created_at timestamptz NOT NULL DEFAULT now(),
2064
2064
  PRIMARY KEY (organization_id, jira_issue_id, changelog_id)
2065
2065
  )
2066
- `.execute(_)}async function BW(_){await C_`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await C_`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await C_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var fm={};C(fm,{up:()=>GW,down:()=>OW});import{sql as D_}from"kysely";async function GW(_){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(D_`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(D_`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(D_`now()`)).execute(),await D_`
2066
+ `.execute(_)}async function BW(_){await C_`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await C_`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await C_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var Am={};C(Am,{up:()=>GW,down:()=>OW});import{sql as D_}from"kysely";async function GW(_){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(D_`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(D_`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(D_`now()`)).execute(),await D_`
2067
2067
  CREATE UNIQUE INDEX IF NOT EXISTS organization_notices_active_uniq
2068
2068
  ON organization_notices (organization_id)
2069
2069
  WHERE resolved_at IS NULL
2070
2070
  `.execute(_),await D_`
2071
2071
  CREATE INDEX IF NOT EXISTS organization_notices_org_created_idx
2072
2072
  ON organization_notices (organization_id, created_at DESC)
2073
- `.execute(_)}async function OW(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var ym={};C(ym,{up:()=>vW,down:()=>pW});import{sql as Im}from"kysely";import{sql as Y5}from"kysely";var Wz=50000000,SW=1e5;function AW(_,x){let u=0,N=0,K=[_];while(K.length>0){if(u>x||++N>SW)return 1/0;let m=K.pop();if(typeof m==="string")u+=m.length;else if(Array.isArray(m))for(let T of m)K.push(T);else if(m!==null&&typeof m==="object")for(let T of Object.values(m))K.push(T)}return u}var fW=/\u0000/g,IW=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,yW=/([a-z][a-z0-9+.-]{0,30}:\/\/)[^\s/@]{1,512}@/gi,VW=/\b(gh[pousr]_|github_pat_)[A-Za-z0-9_]{20,}/g,wW=/data:[a-z0-9.+-]{0,60}\/[a-z0-9.+-]{0,60};base64,[A-Za-z0-9+/=]{100,}/gi;function kW(_){return _.replace(fW,"").replace(IW,"\uFFFD").replace(yW,"$1***@").replace(VW,"$1***").replace(wW,"[base64 data omitted]")}function nW(_){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 jz(_){if(AW(_,Wz)>Wz)return JSON.stringify({truncated:!0,reason:"payload exceeds max stored size"});return JSON.stringify(_,(x,u)=>{if(typeof u==="string")return kW(u);if(nW(u))return{type:"text",text:"[image omitted]"};return u})}var Lz=20;async function vW(_){let x=await Im`
2073
+ `.execute(_)}async function OW(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var ym={};C(ym,{up:()=>vW,down:()=>pW});import{sql as Im}from"kysely";import{sql as Y5}from"kysely";var Wz=50000000,SW=1e5;function fW(_,x){let u=0,N=0,K=[_];while(K.length>0){if(u>x||++N>SW)return 1/0;let m=K.pop();if(typeof m==="string")u+=m.length;else if(Array.isArray(m))for(let T of m)K.push(T);else if(m!==null&&typeof m==="object")for(let T of Object.values(m))K.push(T)}return u}var AW=/\u0000/g,IW=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,yW=/([a-z][a-z0-9+.-]{0,30}:\/\/)[^\s/@]{1,512}@/gi,VW=/\b(gh[pousr]_|github_pat_)[A-Za-z0-9_]{20,}/g,wW=/data:[a-z0-9.+-]{0,60}\/[a-z0-9.+-]{0,60};base64,[A-Za-z0-9+/=]{100,}/gi;function kW(_){return _.replace(AW,"").replace(IW,"\uFFFD").replace(yW,"$1***@").replace(VW,"$1***").replace(wW,"[base64 data omitted]")}function nW(_){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 jz(_){if(fW(_,Wz)>Wz)return JSON.stringify({truncated:!0,reason:"payload exceeds max stored size"});return JSON.stringify(_,(x,u)=>{if(typeof u==="string")return kW(u);if(nW(u))return{type:"text",text:"[image omitted]"};return u})}var Lz=20;async function vW(_){let x=await Im`
2074
2074
  SELECT id FROM thread_message_parts
2075
2075
  WHERE pg_column_size(payload) > 8192
2076
2076
  AND (payload::text LIKE '%"type": "image"%' OR payload::text LIKE '%;base64,%')
@@ -2080,7 +2080,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2080
2080
  UPDATE thread_message_parts
2081
2081
  SET payload = ${T}::jsonb
2082
2082
  WHERE id = ${m.id}
2083
- `.execute(_)}}}async function pW(){}var Vm={};C(Vm,{up:()=>gW,down:()=>qW});async function gW(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function qW(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var wm={};C(wm,{up:()=>iW,down:()=>cW});import{sql as U}from"kysely";async function iW(_){await U`
2083
+ `.execute(_)}}}async function pW(){}var Vm={};C(Vm,{up:()=>gW,down:()=>qW});async function gW(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function qW(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var wm={};C(wm,{up:()=>iW,down:()=>cW});import{sql as P}from"kysely";async function iW(_){await P`
2084
2084
  CREATE TABLE git_provider_accounts (
2085
2085
  id text PRIMARY KEY DEFAULT gen_random_uuid(),
2086
2086
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -2098,7 +2098,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2098
2098
  updated_at timestamptz NOT NULL DEFAULT now(),
2099
2099
  UNIQUE (organization_id, host, external_account_id)
2100
2100
  )
2101
- `.execute(_),await U`
2101
+ `.execute(_),await P`
2102
2102
  CREATE TABLE git_provider_account_credentials (
2103
2103
  account_id text PRIMARY KEY REFERENCES git_provider_accounts(id) ON DELETE CASCADE,
2104
2104
  access_token text NOT NULL,
@@ -2111,7 +2111,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2111
2111
  created_at timestamptz NOT NULL DEFAULT now(),
2112
2112
  updated_at timestamptz NOT NULL DEFAULT now()
2113
2113
  )
2114
- `.execute(_),await U`
2114
+ `.execute(_),await P`
2115
2115
  CREATE TABLE git_provider_oauth_states (
2116
2116
  id text PRIMARY KEY,
2117
2117
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -2122,10 +2122,10 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2122
2122
  expires_at timestamptz NOT NULL,
2123
2123
  created_at timestamptz NOT NULL DEFAULT now()
2124
2124
  )
2125
- `.execute(_),await U`
2125
+ `.execute(_),await P`
2126
2126
  CREATE INDEX idx_git_provider_oauth_states_expires_at
2127
2127
  ON git_provider_oauth_states (expires_at)
2128
- `.execute(_),await U`
2128
+ `.execute(_),await P`
2129
2129
  CREATE TABLE repositories (
2130
2130
  id text PRIMARY KEY DEFAULT gen_random_uuid(),
2131
2131
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -2142,27 +2142,27 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2142
2142
  created_at timestamptz NOT NULL DEFAULT now(),
2143
2143
  updated_at timestamptz NOT NULL DEFAULT now()
2144
2144
  )
2145
- `.execute(_),await U`
2145
+ `.execute(_),await P`
2146
2146
  CREATE UNIQUE INDEX uq_repositories_org_host_path
2147
2147
  ON repositories (organization_id, host, lower(path))
2148
- `.execute(_),await U`
2148
+ `.execute(_),await P`
2149
2149
  CREATE INDEX idx_repositories_account ON repositories (account_id)
2150
- `.execute(_),await U`
2150
+ `.execute(_),await P`
2151
2151
  ALTER TABLE task_board_items
2152
2152
  ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
2153
- `.execute(_),await U`
2153
+ `.execute(_),await P`
2154
2154
  ALTER TABLE task_board_item_prs
2155
2155
  ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
2156
- `.execute(_),await U`
2156
+ `.execute(_),await P`
2157
2157
  ALTER TABLE org_repo_sync
2158
2158
  ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
2159
- `.execute(_),await U`
2159
+ `.execute(_),await P`
2160
2160
  ALTER TABLE org_repo_sync ALTER COLUMN connection_id DROP NOT NULL
2161
- `.execute(_),await U`
2161
+ `.execute(_),await P`
2162
2162
  ALTER TABLE org_repo_sync
2163
2163
  ADD CONSTRAINT org_repo_sync_source_present
2164
2164
  CHECK (connection_id IS NOT NULL OR repository_id IS NOT NULL)
2165
- `.execute(_),await U`
2165
+ `.execute(_),await P`
2166
2166
  CREATE OR REPLACE FUNCTION git_provider_try_jsonb(t text)
2167
2167
  RETURNS jsonb AS $fn$
2168
2168
  BEGIN
@@ -2171,7 +2171,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2171
2171
  RETURN NULL;
2172
2172
  END;
2173
2173
  $fn$ LANGUAGE plpgsql IMMUTABLE;
2174
- `.execute(_),await U`
2174
+ `.execute(_),await P`
2175
2175
  INSERT INTO git_provider_accounts (
2176
2176
  organization_id, type, host, auth_kind, external_account_id, login,
2177
2177
  installation_id, credential_connection_id, created_by
@@ -2205,7 +2205,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2205
2205
  AND coalesce(s.owner, '') <> ''
2206
2206
  ORDER BY c.organization_id, s.installation_id, c.created_at ASC
2207
2207
  ON CONFLICT (organization_id, host, external_account_id) DO NOTHING
2208
- `.execute(_),await U`
2208
+ `.execute(_),await P`
2209
2209
  INSERT INTO repositories (
2210
2210
  organization_id, account_id, provider, host, path, external_id, web_url,
2211
2211
  legacy_connection_id, created_by
@@ -2242,7 +2242,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2242
2242
  ORDER BY c.organization_id, lower(s.owner || '/' || s.repo),
2243
2243
  coalesce(s.org_shared = 'true', false) DESC, c.created_at ASC
2244
2244
  ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
2245
- `.execute(_),await U`
2245
+ `.execute(_),await P`
2246
2246
  UPDATE repositories r
2247
2247
  SET external_id = s.repository_id
2248
2248
  FROM connections c
@@ -2257,7 +2257,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2257
2257
  AND c.organization_id = r.organization_id
2258
2258
  AND coalesce(s.repository_id, '') <> ''
2259
2259
  AND lower(s.owner || '/' || s.repo) = lower(r.path)
2260
- `.execute(_),await U`
2260
+ `.execute(_),await P`
2261
2261
  INSERT INTO repositories (
2262
2262
  organization_id, account_id, provider, host, path, web_url, created_by
2263
2263
  )
@@ -2281,7 +2281,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2281
2281
  AND g.name NOT LIKE '%/%'
2282
2282
  ORDER BY c.organization_id, lower(g.owner || '/' || g.name), c.created_at ASC
2283
2283
  ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
2284
- `.execute(_),await U`
2284
+ `.execute(_),await P`
2285
2285
  INSERT INTO repositories (
2286
2286
  organization_id, account_id, provider, host, path, web_url
2287
2287
  )
@@ -2299,7 +2299,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2299
2299
  WHERE EXISTS (SELECT 1 FROM organization o WHERE o.id = x.organization_id)
2300
2300
  ORDER BY x.organization_id, lower(x.path)
2301
2301
  ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
2302
- `.execute(_),await U`
2302
+ `.execute(_),await P`
2303
2303
  UPDATE task_board_items t
2304
2304
  SET repository_id = r.id
2305
2305
  FROM repositories r
@@ -2308,7 +2308,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2308
2308
  AND r.organization_id = t.organization_id
2309
2309
  AND r.host = 'github.com'
2310
2310
  AND lower(r.path) = lower(t.repo)
2311
- `.execute(_),await U`
2311
+ `.execute(_),await P`
2312
2312
  UPDATE task_board_item_prs p
2313
2313
  SET repository_id = r.id
2314
2314
  FROM repositories r
@@ -2316,7 +2316,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2316
2316
  AND r.organization_id = p.organization_id
2317
2317
  AND r.host = 'github.com'
2318
2318
  AND lower(r.path) = lower(p.repo_owner || '/' || p.repo_name)
2319
- `.execute(_),await U`
2319
+ `.execute(_),await P`
2320
2320
  UPDATE org_repo_sync s
2321
2321
  SET repository_id = r.id
2322
2322
  FROM repositories r
@@ -2324,11 +2324,11 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2324
2324
  AND r.organization_id = s.organization_id
2325
2325
  AND r.host = 'github.com'
2326
2326
  AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name)
2327
- `.execute(_),await U`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function cW(_){await U`
2327
+ `.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function cW(_){await P`
2328
2328
  ALTER TABLE org_repo_sync DROP CONSTRAINT IF EXISTS org_repo_sync_source_present
2329
- `.execute(_),await U`DELETE FROM org_repo_sync WHERE connection_id IS NULL`.execute(_),await U`
2329
+ `.execute(_),await P`DELETE FROM org_repo_sync WHERE connection_id IS NULL`.execute(_),await P`
2330
2330
  ALTER TABLE org_repo_sync ALTER COLUMN connection_id SET NOT NULL
2331
- `.execute(_),await U`ALTER TABLE org_repo_sync DROP COLUMN IF EXISTS repository_id`.execute(_),await U`ALTER TABLE task_board_item_prs DROP COLUMN IF EXISTS repository_id`.execute(_),await U`ALTER TABLE task_board_items DROP COLUMN IF EXISTS repository_id`.execute(_),await U`DROP TABLE IF EXISTS repositories`.execute(_),await U`DROP TABLE IF EXISTS git_provider_oauth_states`.execute(_),await U`DROP TABLE IF EXISTS git_provider_account_credentials`.execute(_),await U`DROP TABLE IF EXISTS git_provider_accounts`.execute(_)}var km={};C(km,{up:()=>tW,down:()=>oW});import{sql as I}from"kysely";var hW=I`
2331
+ `.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 km={};C(km,{up:()=>tW,down:()=>oW});import{sql as A}from"kysely";var hW=A`
2332
2332
  CREATE OR REPLACE FUNCTION repo_ref_try_jsonb(value text)
2333
2333
  RETURNS jsonb LANGUAGE plpgsql IMMUTABLE AS $$
2334
2334
  BEGIN
@@ -2337,13 +2337,13 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2337
2337
  RETURN NULL;
2338
2338
  END;
2339
2339
  $$
2340
- `;async function tW(_){await hW.execute(_),await I`
2340
+ `;async function tW(_){await hW.execute(_),await A`
2341
2341
  ALTER TABLE connections
2342
2342
  ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
2343
- `.execute(_),await I`
2343
+ `.execute(_),await A`
2344
2344
  CREATE INDEX idx_connections_repository
2345
2345
  ON connections (repository_id) WHERE repository_id IS NOT NULL
2346
- `.execute(_),await I`
2346
+ `.execute(_),await A`
2347
2347
  CREATE TABLE thread_repositories (
2348
2348
  thread_id text NOT NULL REFERENCES threads(id) ON DELETE CASCADE,
2349
2349
  organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
@@ -2351,10 +2351,10 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2351
2351
  added_at timestamptz NOT NULL DEFAULT now(),
2352
2352
  PRIMARY KEY (thread_id, repository_id)
2353
2353
  )
2354
- `.execute(_),await I`
2354
+ `.execute(_),await A`
2355
2355
  CREATE INDEX idx_thread_repositories_repo
2356
2356
  ON thread_repositories (repository_id)
2357
- `.execute(_),await I`
2357
+ `.execute(_),await A`
2358
2358
  UPDATE connections c
2359
2359
  SET repository_id = r.id
2360
2360
  FROM repositories r
@@ -2366,7 +2366,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2366
2366
  || '/' ||
2367
2367
  (repo_ref_try_jsonb(c.metadata) #>> '{githubRepo,name}')
2368
2368
  )
2369
- `.execute(_),await I`
2369
+ `.execute(_),await A`
2370
2370
  INSERT INTO repositories (
2371
2371
  organization_id, account_id, provider, host, path, web_url
2372
2372
  )
@@ -2387,7 +2387,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2387
2387
  AND e.name NOT LIKE '%/%'
2388
2388
  ORDER BY t.organization_id, lower(e.owner || '/' || e.name)
2389
2389
  ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
2390
- `.execute(_),await I`
2390
+ `.execute(_),await A`
2391
2391
  INSERT INTO thread_repositories (thread_id, organization_id, repository_id)
2392
2392
  SELECT DISTINCT t.id, t.organization_id, r.id
2393
2393
  FROM threads t
@@ -2399,11 +2399,11 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
2399
2399
  AND r.host = 'github.com'
2400
2400
  AND lower(r.path) = lower((entry ->> 'owner') || '/' || (entry ->> 'name'))
2401
2401
  ON CONFLICT (thread_id, repository_id) DO NOTHING
2402
- `.execute(_),await I`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function oW(_){await I`DROP TABLE IF EXISTS thread_repositories`.execute(_),await I`
2402
+ `.execute(_),await A`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function oW(_){await A`DROP TABLE IF EXISTS thread_repositories`.execute(_),await A`
2403
2403
  ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
2404
- `.execute(_)}var aW={"001-initial-schema":Fu,"002-organization-settings":Yu,"003-connection-schema-align":Du,"004-remove-models-binding":Hu,"005-connection-configuration":Mu,"006-add-views-to-settings":Ru,"007-monitoring-logs":Bu,"008-event-bus":Gu,"009-drop-audit-logs":Ou,"010-gateways":Su,"011-gateway-icon":Au,"012-gateway-tool-selection-mode":fu,"013-monitoring-user-agent-gateway":Iu,"014-gateway-resources-prompts":yu,"015-monitoring-properties":Vu,"016-downstream-token-client-info":wu,"017-downstream-token-remove-userid":ku,"018-drop-gateway-tool-selection-strategy":nu,"019-remove-gateway-is-default":vu,"020-enabled-plugins":pu,"021-threads":gu,"022-rename-gateway-to-virtual-mcp":qu,"023-optimize-thread-indexes":iu,"024-consolidate-virtual-mcp":cu,"025-add-monitoring-virtual-mcp-id":hu,"026-restrict-child-connection-delete":tu,"027-update-management-mcp-url":au,"028-update-management-mcp-to-self":lu,"029-add-updated-by-to-connections":eu,"030-member-tags":du,"031-add-dependency-mode":bu,"032-projects":su,"033-thread-status":_C,"034-monitoring-dashboards":xC,"035-project-connections":uC,"036-update-registry-url":CC,"037-ai-provider-keys":KC,"038-oauth-pkce-states":NC,"039-automations":mC,"040-replace-next-run-at-with-last-run-at":TC,"041-ai-provider-keys-unique-constraint":zC,"042-rename-mesh-mcp-to-cms-mcp":EC,"043-rename-cms-mcp-to-deco-cms":$C,"044-drop-connections-tools-column":UC,"045-thread-context-start-message":PC,"046-remove-object-storage-plugin":XC,"047-add-next-run-at":QC,"048-merge-projects-agents":WC,"049-remove-org-admin-projects":jC,"050-durable-agent-runs":LC,"051-org-sso":YC,"052-thread-agent-ids":DC,"053-registry-config":HC,"054-connection-slug":RC,"055-spaces":BC,"056-automation-project-scope":GC,"057-thread-virtual-mcp-id":OC,"058-trigger-callback-tokens":SC,"059-kv":AC,"060-member-index":fC,"061-downstream-token-connection-index":IC,"062-private-registry":yC,"063-event-subscriptions-enabled-boolean":VC,"064-brand-context":wC,"065-organization-domains":kC,"066-brand-context-structured":nC,"067-threads-metadata":vC,"068-threads-branch":pC,"069-sandbox-runner-state":gC,"070-model-categories":qC,"071-default-home-agents":iC,"072-ai-provider-key-preset-id":cC,"073-backfill-basic-usage-roles":hC,"074-sandbox-runner-state-handle-nonunique":tC,"075-thread-inflight-async-jobs":oC,"076-automations-drop-agent-json":aC,"077-tier-only-model-selection":lC,"078-automation-tool-call-kind":eC,"079-strip-legacy-freestyle-vm-map-entries":dC,"080-async-research-jobs":bC,"081-async-research-jobs-result-content":sC,"082-secrets":_K,"083-thread-run-locally":xK,"084-drop-host-sandbox-rows":uK,"085-rename-runner-kind":CK,"086-thread-pins-and-vm-map-rekey":KK,"087-fix-vm-map-rekey":NK,"088-purge-cli-activate-keys":mK,"089-rename-remote-user-to-desktop":TK,"090-automation-webhook-triggers":zK,"091-organization-domains-allow-multi":EK,"092-sandbox-naming-uniformization":$K,"093-backfill-global-search-basic-usage":UK,"094-org-file-configs":JK,"095-remove-automation-tool-call-kind":XK,"096-org-file-configs-public-url-base":QK,"097-drop-local-docker-sandbox-state":WK,"098-thread-message-parts":jK,"099-run-fence":LK,"100-link-transport":FK,"101-cancel-requested-at":YK,"102-observational-agent":DK,"103-revert-observational-agent":HK,"104-agent-sandbox-provider-kind":RK,"105-org-fs":BK,"106-automation-tools":GK,"107-org-fs-public-org":OK,"108-automation-max-agent-steps":SK,"109-thread-message-parts-per-message-seq":AK,"110-backfill-ghs-token-expiry":fK,"111-org-fs-thread-id":IK,"112-org-file-configs-credential-type":yK,"113-thread-failure-reason":VK,"114-run-acked-seq":wK,"115-thread-projected-seq":kK,"116-org-sites":nK,"117-org-file-configs-site-slug":vK,"118-organization-domains-multi-verify":pK,"119-organization-join-requests":gK,"120-org-fs-read-public":qK,"121-org-fs-share-password":iK,"122-split-web-research-tier":tK,"123-connection-credential-vault":oK,"124-drop-thread-projected-seq":aK,"125-github-child-single-parent":rK,"126-task-board":eK,"127-task-board-due-date":dK,"128-reports-only":bK,"129-task-board-assigned-by":sK,"130-task-board-thread-id":_N,"131-task-board-thread-link-cascade":xN,"132-task-board-item-prs":uN,"133-dedupe-duplicate-members":CN,"134-drop-task-board-enabled":KN,"135-task-board-item-fk-cascade":NN,"136-task-board-import-idempotency":mN,"137-agent-sandbox-runner-state":TN,"138-agent-sandbox-sessions":zN,"139-organization-billing":EN,"140-seat-change-log":$N,"141-benefits-sync-pending":UN,"142-stripe-event-watermark":PN,"143-armed-report-url":JN,"144-benefits-pending-index":XN,"145-user-model-preferences":QN,"146-organization-main-agent":ZN,"147-drop-agent-sandbox-tables":WN,"148-org-flags":jN,"149-task-board-item-sort-order":LN,"150-task-board-activity":FN,"151-task-board-tags":DN,"152-repair-connection-slug":MN,"153-task-board-latest-assistant-part-index":RN,"154-task-board-qa-activity":GN,"155-task-board-review-claims":ON,"156-task-board-conflict-activity":AN,"157-drop-seat-billing":fN,"158-drop-github-child-single-parent":IN,"159-task-board-comments":yN,"160-task-quota-billing":VN,"161-task-quota-claim-state":kN,"162-claude-subscriptions":nN,"163-task-board-item-dismissed":vN,"164-per-org-task-quota":pN,"165-task-board-pending-review-index":gN,"166-task-board-last-swept-at":qN,"167-task-board-run-retry":iN,"168-org-repo-sync":hN,"169-task-board-merge-failed-activity":oN,"170-task-board-item-repo":aN,"171-jira-integration":rN,"172-task-board-item-key-seq":lN,"173-thread-github-repo-connection-index":eN,"174-thread-message-parts-persisted-at":bN,"175-task-board-sprints":sN,"176-task-board-done-sweep-index":_m,"177-notifications":xm,"178-jira-status-mapping-array":um,"179-notification-mentioned":Km,"180-task-board-item-type":mm,"181-task-board-item-type-required":Tm,"182-task-board-sprints-entities":zm,"183-drop-jira-jql-filter":Em,"184-jira-rescan-after-scope-change":$m,"185-jira-rescan-existing-cards":Um,"186-jira-rescan-pending-flag":Jm,"187-task-board-comment-thread":Xm,"188-invitation-auto-accept":Qm,"189-task-board-column-automations":Wm,"190-task-board-review-cycle-started-at":jm,"191-task-board-columns":Lm,"192-task-board-verdict-nudge-activity":Ym,"193-task-board-status-column-fk":Dm,"194-jira-link-sprint":Hm,"195-task-board-sprint-activity":Rm,"196-task-board-column-tracker-statuses":Bm,"197-task-board-prompts":Gm,"198-task-board-external-url":Om,"199-drop-jira-mirror-and-org-columns":Sm,"200-jira-run-trigger":Am,"201-organization-notices":fm,"202-redact-base64-thread-parts":ym,"203-task-board-preview-routes":Vm,"204-git-provider-accounts-and-repositories":wm,"205-repository-references":km,"206-repository-consumers":Lu,"207-task-board-prs-repo-idx":ju,"208-github-connect-flows":Wu,"209-github-installation-authorization":Zu,"210-github-repository-authorization":zu,"211-user-fs-org":Tu,"212-coding-agent-mcp-excluded":Eu,"213-bitbucket-git-provider":$u,"214-connections-sanitized-id-idx":Cu,"215-commerce-discovery-repository":Ku,"216-github-cli-auth":mu,"217-experiments":Uu,"218-thread-message-parts-error-idx":Pu,"219-task-board-duplicate-reported-activity":Xu,"220-jira-automation-continue-pr":Qu,"221-remove-private-registry":Lx,"222-org-git-credentials":Fx,"223-drop-org-main-agent-id":uu,"224-repository-sandbox-image":Yx,"225-thread-analytics-indexes":Hx,"226-deco-score-names":Rx,"227-task-board-finding-resolved-activity":Gx,"228-org-voice-config":jx,"229-jira-automation-from":Ox,"230-project-sidebar":Sx,"231-jira-chat-agent":Ax,"232-task-board-prompt-skills":Ix,"233-remove-jira-chat-agent":Vx,"234-task-board-comment-audience":wx,"235-prune-empty-thread-dirs":kx,"236-task-board-sprints":vx,"237-org-sites-project-link":px,"238-task-board-default-lanes":gx,"239-task-board-retire-old-lanes":qx,"240-task-board-restore-todo":ix,"241-automation-board-column-transition":cx,"242-connection-url-slug":hx,"243-experiment-task-board-item":tx,"244-connection-url-slug-rollout-backfill":ox,"245-automation-system-key":ax,"246-automation-pr-ready-trigger":rx,"247-automation-jira-transition":lx,"248-drop-retired-rule-tables":ex,"249-task-board-item-project":dx,"250-github-copilot-subscriptions":bx,"251-org-shared-plans":sx,"252-automation-linked-chat-trigger":_u,"253-automation-pr-builtin-triggers":xu,"254-codex-subscriptions":Qx,"255-order-monitor":Wx,"256-task-board-harness":Ux,"257-task-board-item-hierarchy":Px,"259-repository-monitor-deploys":Jx,"260-demo-board-snapshots":Xx},mx=aW;import{getMigrations as B9}from"better-auth/db";import{sso as G9}from"@better-auth/sso";import{organization as O9}from"@decocms/better-auth/plugins";import{admin as S9,apiKey as A9,jwt as f9,magicLink as I9,mcp as y9,openAPI as V9}from"better-auth/plugins";import{emailOTP as w9}from"better-auth/plugins/email-otp";import{Kysely as j9,PostgresDialect as Sz}from"kysely";import{Pool as Az}from"pg";import{homedir as rW}from"os";var lW=new Set(["all","worker","api"]);function eW(_){let x=(_??"").trim();return lW.has(x)?x:"all"}var dW=new Set(["production","development","test"]);function bW(_){let x=(_??"").trim();return dW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function vm(_,x,u){if(x===void 0||x==="")return;let N=Number(x);if(!Number.isSafeInteger(N)||N<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&N>u)throw Error(`${_} must be at most ${u}`);return N}function B(_,x,u,N){return vm(_,x,N)??u}function sW(_){let x={};for(let u of(_??"").split(",")){let N=u.trim();if(!N)continue;let K=N.indexOf("="),m=K>0?N.slice(0,K).trim():"",T=K>0?N.slice(K+1).trim():"";if(!m||!T){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${N}" \u2014 expected price_xxx=planId`);continue}x[m]=T}return x}function _9(_,x,u,N){if(x===void 0||x==="")return u;let K=Number(x);if(!Number.isSafeInteger(K)||K<0)throw Error(`${_} must be a non-negative integer`);if(N!==void 0&&K>N)throw Error(`${_} must be at most ${N}`);return K}function nm(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function x9(_){return _===void 0||_===""||_==="true"||_==="1"}function H_(_,x){return _||x}function Fz(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${rW()}/deco`,u=bW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:H_(_.STUDIO_PUBLIC_URL,_.MESH_PUBLIC_URL),dataDir:x,voiceConversationProvider:N==="elevenlabs"||N==="openai"?N:null,openaiLiveApiKey:_.OPENAI_LIVE_API_KEY,openaiLiveModel:_.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:_.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:_.ELEVENLABS_API_KEY,elevenlabsVoiceId:_.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:_.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:_.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:Z(_.DATABASE_PG_SSL),databasePoolMax:B("DATABASE_POOL_MAX",_.DATABASE_POOL_MAX,5),dbosPoolSize:B("DBOS_POOL_SIZE",_.DBOS_POOL_SIZE,5),betterAuthSecret:_.BETTER_AUTH_SECRET||"",encryptionKey:_.ENCRYPTION_KEY||"",studioJwtSecret:H_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),codexUsageUrl:_.CODEX_USAGE_URL||"https://chatgpt.com/backend-api/wham/usage",claudeUsageUrl:_.CLAUDE_USAGE_URL||"https://api.anthropic.com/api/oauth/usage",jiraSettleSeconds:B("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:vm("CLICKHOUSE_MAX_MEMORY_USAGE",_.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:_.MONITORING_OTLP_ENDPOINT,otelServiceName:_.OTEL_SERVICE_NAME||"studio",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((m)=>m.trim()).filter(Boolean),natsCredsPath:_.NATS_CREDS,natsUser:_.NATS_USER||void 0,natsPassword:_.NATS_PASSWORD||void 0,configPath:_.CONFIG_PATH||"./config.json",aiGatewayEnabled:Z(_.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:_.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:_.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:_.STRIPE_WEBHOOK_SECRET,stripeSecretKey:_.STRIPE_SECRET_KEY,stripeOrgPriceId:_.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:sW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:_9("STUDIO_TOPUP_FEE_PERCENT",_.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:Z(_.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:B("STUDIO_FREE_TASKS",_.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:B("STUDIO_MONTHLY_TASKS",_.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:B("STUDIO_MAX_RUNS_PER_TASK",_.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:Z(_.ENABLE_DECO_IMPORT),hostingControlPlaneGa:Z(_.HOSTING_CONTROL_PLANE_GA),monitorGa:Z(_.MONITOR_GA),plansEnabled:Z(_.STUDIO_PLANS_ENABLED),mcpCacheEnabled:nm(_.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:_.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:Z(_.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:B("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",_.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:B("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",_.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:nm(_.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:B("BOARD_TRANSITION_SETTLE_SECONDS",_.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:B("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",_.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:_.S3_ENDPOINT,s3Bucket:_.S3_BUCKET,s3Region:_.S3_REGION||"auto",s3AccessKeyId:_.S3_ACCESS_KEY_ID,s3SecretAccessKey:_.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:x9(_.S3_FORCE_PATH_STYLE),monitoringS3Bucket:_.MONITORING_S3_BUCKET,monitoringS3Endpoint:_.MONITORING_S3_ENDPOINT,monitoringS3Region:_.MONITORING_S3_REGION,monitoringS3AccessKeyId:_.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:_.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:_.MONITORING_S3_PREFIX,duckdbExtensionDirectory:_.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:_.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:vm("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:eW(H_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:nm(_.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:Z(_.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:Z(_.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:Z(_.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:B("SANDBOX_RELEASE_GRACE_MS",_.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:_.DECO_SUPABASE_URL,decoSupabaseServiceKey:_.DECO_SUPABASE_SERVICE_KEY,controlplaneRestUrl:_.CONTROLPLANE_REST_URL,controlplaneServiceToken:_.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:_.ANALYTICS_URL,analyticsMasterToken:_.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:_.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:_.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:_.CLICKHOUSE_ANALYTICS_PASSWORD,customerLakeUrl:_.CUSTOMER_LAKE_URL,customerLakeAdminUsername:_.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:_.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:_.CUSTOMER_LAKE_TENANT_SECRET,orderMonitorIngestUrl:_.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:H_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:H_(_.REPORTS_INTERNAL_API_KEY,_.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:_.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:_.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:_.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:_.S3_TENANT_PUBLIC_URL_BASE||"https://assets.decocms.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY,deliveryR2AccountId:_.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:_.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:_.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:_.DELIVERY_R2_BUCKET,deliveryR2Endpoint:_.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:_.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:_.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:_.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:_.CF_PURGE_API_TOKEN};if(Boolean(K.natsUser)!==Boolean(K.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(K.natsCredsPath&&K.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(K.plansEnabled&&!K.studioJwtSecret)throw Error("STUDIO_PLANS_ENABLED requires an explicit gateway JWT secret. Set STUDIO_JWT_SECRET (or its legacy alias MESH_JWT_SECRET) to the same value as the gateway's MESH_JWT_SECRET. Refusing to fall back to BETTER_AUTH_SECRET: that mismatch 401s every entitlements call, which every feature gate reads as 'no answer' and fails OPEN.");if(K.plansEnabled&&!K.studioProvisionSecretKey)throw Error("STUDIO_PLANS_ENABLED requires STUDIO_PROVISION_SECRET_KEY, set to the same value as the gateway's STUDIO_PROVISION_KEY. Without it the gateway cannot identify this server, falls back to a per-user membership callback that 401s for any user who never completed the gateway OAuth flow, and every feature gate then fails OPEN.");if(K.plansEnabled&&!K.aiGatewayEnabled)throw Error("STUDIO_PLANS_ENABLED requires DECO_AI_GATEWAY_ENABLED=true. Plans are read from the gateway; with it disabled there is no adapter to ask, so every feature gate fails OPEN on both server and client and the paid product is free fleet-wide.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>0&&!K.aiGatewayAdminToken)throw Error("STRIPE_PLAN_PRICE_IDS is set but DECO_AI_GATEWAY_ADMIN_TOKEN is not. The Stripe webhook places the paid tier through the gateway's admin API, so without the token a customer is charged and the entitlement "+"is never granted \u2014 and AI_PLAN_SET cannot repair it, it accepts only "+"'free'.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>1&&!K.stripePortalConfigurationId)console.warn("STRIPE_PLAN_PRICE_IDS maps more than one plan but STRIPE_PORTAL_CONFIGURATION_ID is unset. An org that already has a subscription cannot change tier: the account's default portal configuration lists only the legacy plans, not the tiers, so Stripe refuses the update flow. First-time checkout is unaffected.");return K}var u9=null;function K_(){return u9??=Object.freeze(Fz(process.env))}import{createContextKey as z9,metrics as E9,propagation as g8,ROOT_CONTEXT as q8,SpanStatusCode as i8,trace as $9}from"@opentelemetry/api";import{logs as U9,SeverityNumber as pm}from"@opentelemetry/api-logs";import{OTLPLogExporter as t8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as P9}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as r8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as e8}from"@opentelemetry/instrumentation-runtime-node";import{context as V5,propagation as w5,SpanKind as k5,SpanStatusCode as n5}from"@opentelemetry/api";var p5=globalThis.fetch;import{ExportResultCode as d5}from"@opentelemetry/core";import{ExportResultCode as Tx}from"@opentelemetry/core";import{mkdir as C9,rename as K9,writeFile as N9}from"fs/promises";import{join as zx}from"path";class Ex{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:Tx.FAILED});for(let x of _){let u=JSON.stringify(x),N=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:N,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Tx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:Tx.FAILED}});return Promise.resolve({code:Tx.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 K of _){let m=x.get(K.partition);if(!m)m=[],x.set(K.partition,m);m.push(K.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([K,m])=>this.writeNDJSON(m,K).then(()=>K))),N=u.find((K)=>K.status==="rejected");if(N){let K=new Set;for(let T of u)if(T.status==="fulfilled")K.add(T.value);let m=_.filter((T)=>!K.has(T.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let T of this.bufferItems)this.bufferBytes+=Buffer.byteLength(T.json,"utf8")+1;throw N.reason}}async writeNDJSON(_,x){let u=new Date,N=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],K=x?zx(this.basePath,x,...N):zx(this.basePath,...N);if(!this.knownDirs.has(K))await C9(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=zx(K,`.${m}.tmp`),z=zx(K,m),E=_.join(`
2404
+ `.execute(_)}var aW={"001-initial-schema":Fu,"002-organization-settings":Yu,"003-connection-schema-align":Du,"004-remove-models-binding":Hu,"005-connection-configuration":Mu,"006-add-views-to-settings":Ru,"007-monitoring-logs":Bu,"008-event-bus":Gu,"009-drop-audit-logs":Ou,"010-gateways":Su,"011-gateway-icon":fu,"012-gateway-tool-selection-mode":Au,"013-monitoring-user-agent-gateway":Iu,"014-gateway-resources-prompts":yu,"015-monitoring-properties":Vu,"016-downstream-token-client-info":wu,"017-downstream-token-remove-userid":ku,"018-drop-gateway-tool-selection-strategy":nu,"019-remove-gateway-is-default":vu,"020-enabled-plugins":pu,"021-threads":gu,"022-rename-gateway-to-virtual-mcp":qu,"023-optimize-thread-indexes":iu,"024-consolidate-virtual-mcp":cu,"025-add-monitoring-virtual-mcp-id":hu,"026-restrict-child-connection-delete":tu,"027-update-management-mcp-url":au,"028-update-management-mcp-to-self":lu,"029-add-updated-by-to-connections":eu,"030-member-tags":du,"031-add-dependency-mode":bu,"032-projects":su,"033-thread-status":_C,"034-monitoring-dashboards":xC,"035-project-connections":uC,"036-update-registry-url":CC,"037-ai-provider-keys":KC,"038-oauth-pkce-states":NC,"039-automations":mC,"040-replace-next-run-at-with-last-run-at":TC,"041-ai-provider-keys-unique-constraint":zC,"042-rename-mesh-mcp-to-cms-mcp":EC,"043-rename-cms-mcp-to-deco-cms":$C,"044-drop-connections-tools-column":PC,"045-thread-context-start-message":UC,"046-remove-object-storage-plugin":XC,"047-add-next-run-at":QC,"048-merge-projects-agents":WC,"049-remove-org-admin-projects":jC,"050-durable-agent-runs":LC,"051-org-sso":YC,"052-thread-agent-ids":DC,"053-registry-config":HC,"054-connection-slug":RC,"055-spaces":BC,"056-automation-project-scope":GC,"057-thread-virtual-mcp-id":OC,"058-trigger-callback-tokens":SC,"059-kv":fC,"060-member-index":AC,"061-downstream-token-connection-index":IC,"062-private-registry":yC,"063-event-subscriptions-enabled-boolean":VC,"064-brand-context":wC,"065-organization-domains":kC,"066-brand-context-structured":nC,"067-threads-metadata":vC,"068-threads-branch":pC,"069-sandbox-runner-state":gC,"070-model-categories":qC,"071-default-home-agents":iC,"072-ai-provider-key-preset-id":cC,"073-backfill-basic-usage-roles":hC,"074-sandbox-runner-state-handle-nonunique":tC,"075-thread-inflight-async-jobs":oC,"076-automations-drop-agent-json":aC,"077-tier-only-model-selection":lC,"078-automation-tool-call-kind":eC,"079-strip-legacy-freestyle-vm-map-entries":dC,"080-async-research-jobs":bC,"081-async-research-jobs-result-content":sC,"082-secrets":_K,"083-thread-run-locally":xK,"084-drop-host-sandbox-rows":uK,"085-rename-runner-kind":CK,"086-thread-pins-and-vm-map-rekey":KK,"087-fix-vm-map-rekey":NK,"088-purge-cli-activate-keys":mK,"089-rename-remote-user-to-desktop":TK,"090-automation-webhook-triggers":zK,"091-organization-domains-allow-multi":EK,"092-sandbox-naming-uniformization":$K,"093-backfill-global-search-basic-usage":PK,"094-org-file-configs":JK,"095-remove-automation-tool-call-kind":XK,"096-org-file-configs-public-url-base":QK,"097-drop-local-docker-sandbox-state":WK,"098-thread-message-parts":jK,"099-run-fence":LK,"100-link-transport":FK,"101-cancel-requested-at":YK,"102-observational-agent":DK,"103-revert-observational-agent":HK,"104-agent-sandbox-provider-kind":RK,"105-org-fs":BK,"106-automation-tools":GK,"107-org-fs-public-org":OK,"108-automation-max-agent-steps":SK,"109-thread-message-parts-per-message-seq":fK,"110-backfill-ghs-token-expiry":AK,"111-org-fs-thread-id":IK,"112-org-file-configs-credential-type":yK,"113-thread-failure-reason":VK,"114-run-acked-seq":wK,"115-thread-projected-seq":kK,"116-org-sites":nK,"117-org-file-configs-site-slug":vK,"118-organization-domains-multi-verify":pK,"119-organization-join-requests":gK,"120-org-fs-read-public":qK,"121-org-fs-share-password":iK,"122-split-web-research-tier":tK,"123-connection-credential-vault":oK,"124-drop-thread-projected-seq":aK,"125-github-child-single-parent":rK,"126-task-board":eK,"127-task-board-due-date":dK,"128-reports-only":bK,"129-task-board-assigned-by":sK,"130-task-board-thread-id":_N,"131-task-board-thread-link-cascade":xN,"132-task-board-item-prs":uN,"133-dedupe-duplicate-members":CN,"134-drop-task-board-enabled":KN,"135-task-board-item-fk-cascade":NN,"136-task-board-import-idempotency":mN,"137-agent-sandbox-runner-state":TN,"138-agent-sandbox-sessions":zN,"139-organization-billing":EN,"140-seat-change-log":$N,"141-benefits-sync-pending":PN,"142-stripe-event-watermark":UN,"143-armed-report-url":JN,"144-benefits-pending-index":XN,"145-user-model-preferences":QN,"146-organization-main-agent":ZN,"147-drop-agent-sandbox-tables":WN,"148-org-flags":jN,"149-task-board-item-sort-order":LN,"150-task-board-activity":FN,"151-task-board-tags":DN,"152-repair-connection-slug":MN,"153-task-board-latest-assistant-part-index":RN,"154-task-board-qa-activity":GN,"155-task-board-review-claims":ON,"156-task-board-conflict-activity":fN,"157-drop-seat-billing":AN,"158-drop-github-child-single-parent":IN,"159-task-board-comments":yN,"160-task-quota-billing":VN,"161-task-quota-claim-state":kN,"162-claude-subscriptions":nN,"163-task-board-item-dismissed":vN,"164-per-org-task-quota":pN,"165-task-board-pending-review-index":gN,"166-task-board-last-swept-at":qN,"167-task-board-run-retry":iN,"168-org-repo-sync":hN,"169-task-board-merge-failed-activity":oN,"170-task-board-item-repo":aN,"171-jira-integration":rN,"172-task-board-item-key-seq":lN,"173-thread-github-repo-connection-index":eN,"174-thread-message-parts-persisted-at":bN,"175-task-board-sprints":sN,"176-task-board-done-sweep-index":_m,"177-notifications":xm,"178-jira-status-mapping-array":um,"179-notification-mentioned":Km,"180-task-board-item-type":mm,"181-task-board-item-type-required":Tm,"182-task-board-sprints-entities":zm,"183-drop-jira-jql-filter":Em,"184-jira-rescan-after-scope-change":$m,"185-jira-rescan-existing-cards":Pm,"186-jira-rescan-pending-flag":Jm,"187-task-board-comment-thread":Xm,"188-invitation-auto-accept":Qm,"189-task-board-column-automations":Wm,"190-task-board-review-cycle-started-at":jm,"191-task-board-columns":Lm,"192-task-board-verdict-nudge-activity":Ym,"193-task-board-status-column-fk":Dm,"194-jira-link-sprint":Hm,"195-task-board-sprint-activity":Rm,"196-task-board-column-tracker-statuses":Bm,"197-task-board-prompts":Gm,"198-task-board-external-url":Om,"199-drop-jira-mirror-and-org-columns":Sm,"200-jira-run-trigger":fm,"201-organization-notices":Am,"202-redact-base64-thread-parts":ym,"203-task-board-preview-routes":Vm,"204-git-provider-accounts-and-repositories":wm,"205-repository-references":km,"206-repository-consumers":Lu,"207-task-board-prs-repo-idx":ju,"208-github-connect-flows":Wu,"209-github-installation-authorization":Zu,"210-github-repository-authorization":zu,"211-user-fs-org":Tu,"212-coding-agent-mcp-excluded":Eu,"213-bitbucket-git-provider":$u,"214-connections-sanitized-id-idx":Cu,"215-commerce-discovery-repository":Ku,"216-github-cli-auth":mu,"217-experiments":Pu,"218-thread-message-parts-error-idx":Uu,"219-task-board-duplicate-reported-activity":Xu,"220-jira-automation-continue-pr":Qu,"221-remove-private-registry":Lx,"222-org-git-credentials":Fx,"223-drop-org-main-agent-id":uu,"224-repository-sandbox-image":Yx,"225-thread-analytics-indexes":Hx,"226-deco-score-names":Rx,"227-task-board-finding-resolved-activity":Gx,"228-org-voice-config":jx,"229-jira-automation-from":Ox,"230-project-sidebar":Sx,"231-jira-chat-agent":fx,"232-task-board-prompt-skills":Ix,"233-remove-jira-chat-agent":Vx,"234-task-board-comment-audience":wx,"235-prune-empty-thread-dirs":kx,"236-task-board-sprints":vx,"237-org-sites-project-link":px,"238-task-board-default-lanes":gx,"239-task-board-retire-old-lanes":qx,"240-task-board-restore-todo":ix,"241-automation-board-column-transition":cx,"242-connection-url-slug":hx,"243-experiment-task-board-item":tx,"244-connection-url-slug-rollout-backfill":ox,"245-automation-system-key":ax,"246-automation-pr-ready-trigger":rx,"247-automation-jira-transition":lx,"248-drop-retired-rule-tables":ex,"249-task-board-item-project":dx,"250-github-copilot-subscriptions":bx,"251-org-shared-plans":sx,"252-automation-linked-chat-trigger":_u,"253-automation-pr-builtin-triggers":xu,"254-codex-subscriptions":Qx,"255-order-monitor":Wx,"256-task-board-harness":Px,"257-task-board-item-hierarchy":Ux,"259-repository-monitor-deploys":Jx,"260-demo-board-snapshots":Xx},mx=aW;import{getMigrations as B9}from"better-auth/db";import{sso as G9}from"@better-auth/sso";import{organization as O9}from"@decocms/better-auth/plugins";import{admin as S9,apiKey as f9,jwt as A9,magicLink as I9,mcp as y9,openAPI as V9}from"better-auth/plugins";import{emailOTP as w9}from"better-auth/plugins/email-otp";import{Kysely as j9,PostgresDialect as Sz}from"kysely";import{Pool as fz}from"pg";import{homedir as rW}from"os";var lW=new Set(["all","worker","api"]);function eW(_){let x=(_??"").trim();return lW.has(x)?x:"all"}var dW=new Set(["production","development","test"]);function bW(_){let x=(_??"").trim();return dW.has(x)?x:"development"}function W(_){return _==="true"||_==="1"}function vm(_,x,u){if(x===void 0||x==="")return;let N=Number(x);if(!Number.isSafeInteger(N)||N<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&N>u)throw Error(`${_} must be at most ${u}`);return N}function v(_,x,u,N){return vm(_,x,N)??u}function sW(_){let x={};for(let u of(_??"").split(",")){let N=u.trim();if(!N)continue;let K=N.indexOf("="),m=K>0?N.slice(0,K).trim():"",T=K>0?N.slice(K+1).trim():"";if(!m||!T){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${N}" \u2014 expected price_xxx=planId`);continue}x[m]=T}return x}function _9(_,x,u,N){if(x===void 0||x==="")return u;let K=Number(x);if(!Number.isSafeInteger(K)||K<0)throw Error(`${_} must be a non-negative integer`);if(N!==void 0&&K>N)throw Error(`${_} must be at most ${N}`);return K}function nm(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function x9(_){return _===void 0||_===""||_==="true"||_==="1"}function H_(_,x){return _||x}function Fz(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${rW()}/deco`,u=bW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:v("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:H_(_.STUDIO_PUBLIC_URL,_.MESH_PUBLIC_URL),dataDir:x,voiceConversationProvider:N==="elevenlabs"||N==="openai"?N:null,openaiLiveApiKey:_.OPENAI_LIVE_API_KEY,openaiLiveModel:_.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:_.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:_.ELEVENLABS_API_KEY,elevenlabsVoiceId:_.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:_.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:_.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:W(_.DATABASE_PG_SSL),databasePoolMax:v("DATABASE_POOL_MAX",_.DATABASE_POOL_MAX,5),dbosPoolSize:v("DBOS_POOL_SIZE",_.DBOS_POOL_SIZE,5),betterAuthSecret:_.BETTER_AUTH_SECRET||"",encryptionKey:_.ENCRYPTION_KEY||"",studioJwtSecret:H_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:W(_.DECOCMS_LOCAL_MODE),disableRateLimit:W(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:W(_.JIRA_ALLOW_LOCAL_SITE_URL),codexUsageUrl:_.CODEX_USAGE_URL||"https://chatgpt.com/backend-api/wham/usage",claudeUsageUrl:_.CLAUDE_USAGE_URL||"https://api.anthropic.com/api/oauth/usage",jiraSettleSeconds:v("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:vm("CLICKHOUSE_MAX_MEMORY_USAGE",_.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:_.MONITORING_OTLP_ENDPOINT,otelServiceName:_.OTEL_SERVICE_NAME||"studio",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((m)=>m.trim()).filter(Boolean),natsCredsPath:_.NATS_CREDS,natsUser:_.NATS_USER||void 0,natsPassword:_.NATS_PASSWORD||void 0,configPath:_.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(_.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:_.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:_.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:_.STRIPE_WEBHOOK_SECRET,stripeSecretKey:_.STRIPE_SECRET_KEY,stripeOrgPriceId:_.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:sW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:_9("STUDIO_TOPUP_FEE_PERCENT",_.STUDIO_TOPUP_FEE_PERCENT,15,100),enableDecoImport:W(_.ENABLE_DECO_IMPORT),hostingControlPlaneGa:W(_.HOSTING_CONTROL_PLANE_GA),monitorGa:W(_.MONITOR_GA),plansEnabled:W(_.STUDIO_PLANS_ENABLED),mcpCacheEnabled:nm(_.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:_.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(_.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:v("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",_.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:v("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",_.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:nm(_.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:v("BOARD_TRANSITION_SETTLE_SECONDS",_.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:v("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",_.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:_.S3_ENDPOINT,s3Bucket:_.S3_BUCKET,s3Region:_.S3_REGION||"auto",s3AccessKeyId:_.S3_ACCESS_KEY_ID,s3SecretAccessKey:_.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:x9(_.S3_FORCE_PATH_STYLE),monitoringS3Bucket:_.MONITORING_S3_BUCKET,monitoringS3Endpoint:_.MONITORING_S3_ENDPOINT,monitoringS3Region:_.MONITORING_S3_REGION,monitoringS3AccessKeyId:_.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:_.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:_.MONITORING_S3_PREFIX,duckdbExtensionDirectory:_.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:_.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:vm("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:eW(H_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:W(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:W(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:nm(_.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:W(_.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:W(_.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:W(_.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:v("SANDBOX_RELEASE_GRACE_MS",_.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:_.DECO_SUPABASE_URL,decoSupabaseServiceKey:_.DECO_SUPABASE_SERVICE_KEY,controlplaneRestUrl:_.CONTROLPLANE_REST_URL,controlplaneServiceToken:_.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:_.ANALYTICS_URL,analyticsMasterToken:_.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:_.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:_.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:_.CLICKHOUSE_ANALYTICS_PASSWORD,customerLakeUrl:_.CUSTOMER_LAKE_URL,customerLakeAdminUsername:_.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:_.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:_.CUSTOMER_LAKE_TENANT_SECRET,orderMonitorIngestUrl:_.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:H_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:H_(_.REPORTS_INTERNAL_API_KEY,_.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:_.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:_.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:_.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:_.S3_TENANT_PUBLIC_URL_BASE||"https://assets.decocms.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY,deliveryR2AccountId:_.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:_.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:_.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:_.DELIVERY_R2_BUCKET,deliveryR2Endpoint:_.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:_.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:_.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:_.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:_.CF_PURGE_API_TOKEN};if(Boolean(K.natsUser)!==Boolean(K.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(K.natsCredsPath&&K.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(K.plansEnabled&&!K.studioJwtSecret)throw Error("STUDIO_PLANS_ENABLED requires an explicit gateway JWT secret. Set STUDIO_JWT_SECRET (or its legacy alias MESH_JWT_SECRET) to the same value as the gateway's MESH_JWT_SECRET. Refusing to fall back to BETTER_AUTH_SECRET: that mismatch 401s every entitlements call, which every feature gate reads as 'no answer' and fails OPEN.");if(K.plansEnabled&&!K.studioProvisionSecretKey)throw Error("STUDIO_PLANS_ENABLED requires STUDIO_PROVISION_SECRET_KEY, set to the same value as the gateway's STUDIO_PROVISION_KEY. Without it the gateway cannot identify this server, falls back to a per-user membership callback that 401s for any user who never completed the gateway OAuth flow, and every feature gate then fails OPEN.");if(K.plansEnabled&&!K.aiGatewayEnabled)throw Error("STUDIO_PLANS_ENABLED requires DECO_AI_GATEWAY_ENABLED=true. Plans are read from the gateway; with it disabled there is no adapter to ask, so every feature gate fails OPEN on both server and client and the paid product is free fleet-wide.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>0&&!K.aiGatewayAdminToken)throw Error("STRIPE_PLAN_PRICE_IDS is set but DECO_AI_GATEWAY_ADMIN_TOKEN is not. The Stripe webhook places the paid tier through the gateway's admin API, so without the token a customer is charged and the entitlement "+"is never granted \u2014 and AI_PLAN_SET cannot repair it, it accepts only "+"'free'.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>1&&!K.stripePortalConfigurationId)console.warn("STRIPE_PLAN_PRICE_IDS maps more than one plan but STRIPE_PORTAL_CONFIGURATION_ID is unset. An org that already has a subscription cannot change tier: the account's default portal configuration lists only the legacy plans, not the tiers, so Stripe refuses the update flow. First-time checkout is unaffected.");return K}var u9=null;function K_(){return u9??=Object.freeze(Fz(process.env))}import{createContextKey as z9,metrics as E9,propagation as g8,ROOT_CONTEXT as q8,SpanStatusCode as i8,trace as $9}from"@opentelemetry/api";import{logs as P9,SeverityNumber as pm}from"@opentelemetry/api-logs";import{OTLPLogExporter as t8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as U9}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as r8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as e8}from"@opentelemetry/instrumentation-runtime-node";import{context as V5,propagation as w5,SpanKind as k5,SpanStatusCode as n5}from"@opentelemetry/api";var p5=globalThis.fetch;import{ExportResultCode as d5}from"@opentelemetry/core";import{ExportResultCode as Tx}from"@opentelemetry/core";import{mkdir as C9,rename as K9,writeFile as N9}from"fs/promises";import{join as zx}from"path";class Ex{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:Tx.FAILED});for(let x of _){let u=JSON.stringify(x),N=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:N,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Tx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:Tx.FAILED}});return Promise.resolve({code:Tx.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 K of _){let m=x.get(K.partition);if(!m)m=[],x.set(K.partition,m);m.push(K.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([K,m])=>this.writeNDJSON(m,K).then(()=>K))),N=u.find((K)=>K.status==="rejected");if(N){let K=new Set;for(let T of u)if(T.status==="fulfilled")K.add(T.value);let m=_.filter((T)=>!K.has(T.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let T of this.bufferItems)this.bufferBytes+=Buffer.byteLength(T.json,"utf8")+1;throw N.reason}}async writeNDJSON(_,x){let u=new Date,N=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],K=x?zx(this.basePath,x,...N):zx(this.basePath,...N);if(!this.knownDirs.has(K))await C9(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=zx(K,`.${m}.tmp`),z=zx(K,m),E=_.join(`
2405
2405
  `)+`
2406
- `;await N9(T,E,{mode:384}),await K9(T,z)}}import{ExportResultCode as u8}from"@opentelemetry/core";import{AggregationTemporality as K8,DataPointType as N8}from"@opentelemetry/sdk-metrics";import{ExportResultCode as U8}from"@opentelemetry/core";var Q8=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as N3,LoggerProvider as m3}from"@opentelemetry/sdk-logs";import{detectResources as z3,envDetector as E3,hostDetector as $3,osDetector as U3,processDetector as P3,resourceFromAttributes as J3}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Q3}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as j8}from"@opentelemetry/api-logs";import{NodeSDK as j3}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as F3,SamplingDecision as N_}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as H8}from"@opentelemetry/api";var J9="__d",X9=z9("Current request"),Q9=1;var Dz=(_)=>{let u=new URL(_.url).searchParams.get(J9);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class Hz{inner;constructor(_){this.inner=_}shouldSample(_,x,u,N,K,m){let T=_.getValue(X9);if(!T){if(this.inner)return this.inner.shouldSample(_,x,u,N,K,m);return{decision:N_.RECORD_AND_SAMPLED}}let z=Dz(T);if(z)return{decision:N_.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":z}};if(this.inner){let E=this.inner.shouldSample(_,x,u,N,K,m);if(E.decision===N_.RECORD_AND_SAMPLED){let $=crypto.randomUUID();E.attributes={...E.attributes??{},"trace.debug.id":$}}return E}return{decision:N_.NOT_RECORD}}toString(){return"DebugSampler"}}class Mz{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:N_.RECORD_AND_SAMPLED};return{decision:N_.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var D3=new P9({preventServerStart:!0}),H3=new Hz(new Mz(Q9));var Yz=$9.getTracer("studio","1.0.0"),M_=E9.getMeter("studio","1.0.0"),Z9=U9.getLogger("studio","1.0.0"),gm=(_,x,u)=>{let N={},K=u,m=u[u.length-1];if(m!==null&&typeof m==="object"&&!Array.isArray(m)&&!(m instanceof Error)&&Object.getPrototypeOf(m)===Object.prototype)N=m,K=u.slice(0,-1);let T=K.map((z)=>{if(z instanceof Error)return`${z.name}: ${z.message}`;if(typeof z==="object")try{return JSON.stringify(z)}catch{return"[Object]"}return String(z)}).join(" ");Z9.emit({severityNumber:_,severityText:x,body:T,attributes:{"log.source":"console",...N}})},qm={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{gm(pm.ERROR,"ERROR",_),qm.error(..._)};console.warn=(..._)=>{gm(pm.WARN,"WARN",_),qm.warn(..._)};console.debug=(..._)=>{gm(pm.DEBUG,"DEBUG",_),qm.debug(..._)};var im,Rz=0,cm=500;function W9(){if(im)return;let _=performance.now()+cm;im=setInterval(()=>{let x=performance.now();Rz=Math.max(0,x-_),_=x+cm},cm),im.unref?.()}function Bz(){return W9(),Rz}var L9=()=>M_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Gz=()=>M_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Oz=400,F9=100,Y9=(_)=>({"db.status":_.level==="error"?"error":"success"}),D9=(_)=>(x)=>{let u=Y9(x);if(x.queryDurationMillis>Oz){let N=Bz(),K=N>Oz/2;console.error(K?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(N),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:$x()}})}if(L9().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function H9(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let N=performance.now(),K=$x(),m=_.idleCount===0&&_.totalCount>=K,T=_.idleCount;return x().then((z)=>{let E=performance.now()-N;if(Gz().record(E,{"db.pool.outcome":m?"contended":"available"}),E>F9)if(m)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:E,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:K});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:E,idleAtStart:T,total:_.totalCount,max:K});return z},(z)=>{throw Gz().record(performance.now()-N,{"db.pool.outcome":"error"}),z})},_}var fz={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Iz(){try{return K_().databasePgSsl}catch{return!1}}function $x(){try{return K_().databasePoolMax}catch{return 10}}function M9(_){let x=H9(new Az({connectionString:_,max:$x(),ssl:Iz(),...fz})),u=new Sz({pool:x});return{type:"postgres",db:new j9({dialect:u,log:D9(x)}),pool:x}}function B_(){return K_().databaseUrl}function yz(_){let x=_||B_();return new Sz({pool:new Az({connectionString:x,max:$x(),ssl:Iz(),...fz})})}function R9(_){let x=_||B_();return M9(x)}async function Vz(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===R_)R_=null}var R_=null;function hm(){if(!R_)R_=R9(B_());return R_}async function wz(_){let u={database:yz(_||B_()),plugins:[O9({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),S9(),A9(),f9(),V9(),y9({loginPage:"/login"}),G9(),I9({sendMagicLink:async()=>{}}),w9({sendVerificationOTP:async()=>{}})]},{toBeAdded:N,toBeCreated:K,runMigrations:m}=await B9(u);if(!N.length&&!K.length)return"up to date";return await m(),`${K.length+N.length} table(s) migrated`}async function tm(_,x){return(await o`
2406
+ `;await N9(T,E,{mode:384}),await K9(T,z)}}import{ExportResultCode as u8}from"@opentelemetry/core";import{AggregationTemporality as K8,DataPointType as N8}from"@opentelemetry/sdk-metrics";import{ExportResultCode as P8}from"@opentelemetry/core";var Q8=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as N3,LoggerProvider as m3}from"@opentelemetry/sdk-logs";import{detectResources as z3,envDetector as E3,hostDetector as $3,osDetector as P3,processDetector as U3,resourceFromAttributes as J3}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Q3}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as j8}from"@opentelemetry/api-logs";import{NodeSDK as j3}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as F3,SamplingDecision as N_}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as H8}from"@opentelemetry/api";var J9="__d",X9=z9("Current request"),Q9=1;var Dz=(_)=>{let u=new URL(_.url).searchParams.get(J9);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class Hz{inner;constructor(_){this.inner=_}shouldSample(_,x,u,N,K,m){let T=_.getValue(X9);if(!T){if(this.inner)return this.inner.shouldSample(_,x,u,N,K,m);return{decision:N_.RECORD_AND_SAMPLED}}let z=Dz(T);if(z)return{decision:N_.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":z}};if(this.inner){let E=this.inner.shouldSample(_,x,u,N,K,m);if(E.decision===N_.RECORD_AND_SAMPLED){let $=crypto.randomUUID();E.attributes={...E.attributes??{},"trace.debug.id":$}}return E}return{decision:N_.NOT_RECORD}}toString(){return"DebugSampler"}}class Mz{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:N_.RECORD_AND_SAMPLED};return{decision:N_.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var D3=new U9({preventServerStart:!0}),H3=new Hz(new Mz(Q9));var Yz=$9.getTracer("studio","1.0.0"),M_=E9.getMeter("studio","1.0.0"),Z9=P9.getLogger("studio","1.0.0"),gm=(_,x,u)=>{let N={},K=u,m=u[u.length-1];if(m!==null&&typeof m==="object"&&!Array.isArray(m)&&!(m instanceof Error)&&Object.getPrototypeOf(m)===Object.prototype)N=m,K=u.slice(0,-1);let T=K.map((z)=>{if(z instanceof Error)return`${z.name}: ${z.message}`;if(typeof z==="object")try{return JSON.stringify(z)}catch{return"[Object]"}return String(z)}).join(" ");Z9.emit({severityNumber:_,severityText:x,body:T,attributes:{"log.source":"console",...N}})},qm={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{gm(pm.ERROR,"ERROR",_),qm.error(..._)};console.warn=(..._)=>{gm(pm.WARN,"WARN",_),qm.warn(..._)};console.debug=(..._)=>{gm(pm.DEBUG,"DEBUG",_),qm.debug(..._)};var im,Rz=0,cm=500;function W9(){if(im)return;let _=performance.now()+cm;im=setInterval(()=>{let x=performance.now();Rz=Math.max(0,x-_),_=x+cm},cm),im.unref?.()}function Bz(){return W9(),Rz}var L9=()=>M_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Gz=()=>M_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Oz=400,F9=100,Y9=(_)=>({"db.status":_.level==="error"?"error":"success"}),D9=(_)=>(x)=>{let u=Y9(x);if(x.queryDurationMillis>Oz){let N=Bz(),K=N>Oz/2;console.error(K?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(N),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:$x()}})}if(L9().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function H9(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let N=performance.now(),K=$x(),m=_.idleCount===0&&_.totalCount>=K,T=_.idleCount;return x().then((z)=>{let E=performance.now()-N;if(Gz().record(E,{"db.pool.outcome":m?"contended":"available"}),E>F9)if(m)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:E,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:K});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:E,idleAtStart:T,total:_.totalCount,max:K});return z},(z)=>{throw Gz().record(performance.now()-N,{"db.pool.outcome":"error"}),z})},_}var Az={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Iz(){try{return K_().databasePgSsl}catch{return!1}}function $x(){try{return K_().databasePoolMax}catch{return 10}}function M9(_){let x=H9(new fz({connectionString:_,max:$x(),ssl:Iz(),...Az})),u=new Sz({pool:x});return{type:"postgres",db:new j9({dialect:u,log:D9(x)}),pool:x}}function B_(){return K_().databaseUrl}function yz(_){let x=_||B_();return new Sz({pool:new fz({connectionString:x,max:$x(),ssl:Iz(),...Az})})}function R9(_){let x=_||B_();return M9(x)}async function Vz(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===R_)R_=null}var R_=null;function hm(){if(!R_)R_=R9(B_());return R_}async function wz(_){let u={database:yz(_||B_()),plugins:[O9({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),S9(),f9(),A9(),V9(),y9({loginPage:"/login"}),G9(),I9({sendMagicLink:async()=>{}}),w9({sendVerificationOTP:async()=>{}})]},{toBeAdded:N,toBeCreated:K,runMigrations:m}=await B9(u);if(!N.length&&!K.length)return"up to date";return await m(),`${K.length+N.length} table(s) migrated`}async function tm(_,x){return(await o`
2407
2407
  SELECT table_name FROM information_schema.tables
2408
2408
  WHERE table_schema='public' AND table_name=${x}
2409
2409
  `.execute(_)).rows.length>0}async function k9(_){if(await tm(_,"plugin_migrations"))return;await o`