decocms 4.278.2 → 4.278.4

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 (227) hide show
  1. package/dist/client/assets/{AlertCircle-Bb6FRU8a.js → AlertCircle-DfFE6Es-.js} +1 -1
  2. package/dist/client/assets/{AreaChart-Dq81L4gg.js → AreaChart-CANmdxCS.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-C0hAgD6M.js → ArrowLeft-C33fglFn.js} +1 -1
  4. package/dist/client/assets/{ArrowUp-BDGxIrAA.js → ArrowUp-COKpRPBd.js} +1 -1
  5. package/dist/client/assets/{Check-WlWaXYF9.js → Check-CCmZiW5p.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-DmAi_140.js → CheckCircle-kztBIWXX.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-BqBF9C5y.js → ChevronDown-Cxn7ZtQ2.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-8pjjZlxH.js → ChevronRight-DOQXpaBD.js} +1 -1
  9. package/dist/client/assets/{ChevronSelectorVertical-CPnxgrLS.js → ChevronSelectorVertical-ZBkPJ7jk.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-KgE4O_l1.js → ChevronUp-CqFOoxLh.js} +1 -1
  11. package/dist/client/assets/{Copy01-Np500SnR.js → Copy01-B0F8k-kQ.js} +1 -1
  12. package/dist/client/assets/{CreditCard01-BhE8yNep.js → CreditCard01-CSvxwGhV.js} +1 -1
  13. package/dist/client/assets/{DotsVertical-C3WH6llC.js → DotsVertical-BexGJ7nH.js} +1 -1
  14. package/dist/client/assets/{Download01-B8cJgK5e.js → Download01-D3_xFR2_.js} +1 -1
  15. package/dist/client/assets/{Eye-CzBFKM-L.js → Eye-_sdkp0QD.js} +1 -1
  16. package/dist/client/assets/{FilterLines-DdBjOfEd.js → FilterLines-kwG3Ja0u.js} +1 -1
  17. package/dist/client/assets/{Globe01-BWuiVR1j.js → Globe01-L38zDWSb.js} +1 -1
  18. package/dist/client/assets/{Globe04-BItmwhdw.js → Globe04-CDwgHLwb.js} +1 -1
  19. package/dist/client/assets/{HardDrive-L9CiFEWJ.js → HardDrive-DHvu1c5Z.js} +1 -1
  20. package/dist/client/assets/{Key01-Dbm-PX-2.js → Key01-3oYr8UFi.js} +1 -1
  21. package/dist/client/assets/{LinkExternal01-DVob2UYb.js → LinkExternal01-CN9IXAcj.js} +1 -1
  22. package/dist/client/assets/{LockUnlocked01-tMad0Pce.js → LockUnlocked01-vXo5w-gx.js} +1 -1
  23. package/dist/client/assets/{LogOut01-CwJAH7zT.js → LogOut01-B3b6usop.js} +1 -1
  24. package/dist/client/assets/{Monitor01-BdhCFDSd.js → Monitor01-BGlVg-0A.js} +1 -1
  25. package/dist/client/assets/{Palette-B2Eio7Hc.js → Palette-DsZJkD5K.js} +1 -1
  26. package/dist/client/assets/{Play-CEwpA6EY.js → Play-DsASfwqd.js} +1 -1
  27. package/dist/client/assets/{Plus-Bfn8BH21.js → Plus-DvdXY0Is.js} +1 -1
  28. package/dist/client/assets/{SearchLg-KuoPDjby.js → SearchLg-BnZm-ZF2.js} +1 -1
  29. package/dist/client/assets/{SearchMd-BcUnwyKC.js → SearchMd-CITZ7cFI.js} +1 -1
  30. package/dist/client/assets/{Settings02-V1ViRqug.js → Settings02-AcY5OeSR.js} +1 -1
  31. package/dist/client/assets/{Share07-DGnYYt7D.js → Share07-DKdlZUCJ.js} +1 -1
  32. package/dist/client/assets/{Shield01-Bqx1h0PL.js → Shield01-CNfl0Wvq.js} +1 -1
  33. package/dist/client/assets/{Stars01-MMy-zbHP.js → Stars01-Cxls6RX9.js} +1 -1
  34. package/dist/client/assets/{Stars02-C72jvkQj.js → Stars02-COEwl97b.js} +1 -1
  35. package/dist/client/assets/{Sun-BKY5-F0P.js → Sun-YYd6VxOf.js} +1 -1
  36. package/dist/client/assets/{SwitchHorizontal01-CMuqftuh.js → SwitchHorizontal01-BhPVnkd8.js} +1 -1
  37. package/dist/client/assets/{Tool01-DIwF7u8X.js → Tool01-DFHThZZd.js} +1 -1
  38. package/dist/client/assets/{Tool02-q2GDj5Hw.js → Tool02-89yKiQv8.js} +1 -1
  39. package/dist/client/assets/{Trash01-K8yam7IK.js → Trash01-DMH00izD.js} +1 -1
  40. package/dist/client/assets/{TrendUp01-Ce4nKX2u.js → TrendUp01-Bb53eubn.js} +1 -1
  41. package/dist/client/assets/{Upload01-Dr_KRwAe.js → Upload01-B9VJ_5xh.js} +1 -1
  42. package/dist/client/assets/{User01-BBEaaXWI.js → User01-B_Pu52Lk.js} +1 -1
  43. package/dist/client/assets/{UserSquare-BCM5dWEC.js → UserSquare-TgXepBVi.js} +1 -1
  44. package/dist/client/assets/{Users01-227TEJc-.js → Users01-Tf1C8K9i.js} +1 -1
  45. package/dist/client/assets/{Users03-BDfMZVCO.js → Users03-Dv5XG-lH.js} +1 -1
  46. package/dist/client/assets/{XCircle-DzA_c4No.js → XCircle-Ck08Ifel.js} +1 -1
  47. package/dist/client/assets/{XClose-J9xkAa1i.js → XClose-h9SGAJV3.js} +1 -1
  48. package/dist/client/assets/{YAxis-CmQnsFcT.js → YAxis-OgkqzVxM.js} +1 -1
  49. package/dist/client/assets/{Zap-cq6eUNZ7.js → Zap-CZUbPQtW.js} +1 -1
  50. package/dist/client/assets/{ZapSquare-JVR5MrmP.js → ZapSquare-CxnAhqdS.js} +1 -1
  51. package/dist/client/assets/{access-gate-Dbuw7Ff3.js → access-gate-DJbHHt85.js} +1 -1
  52. package/dist/client/assets/{agent-icon-CIgm8iow.js → agent-icon-GXppXIpj.js} +1 -1
  53. package/dist/client/assets/{agents-list-SAwbZOcn.js → agents-list-CxtrMCRM.js} +1 -1
  54. package/dist/client/assets/{ai-providers-eMgh6HIA.js → ai-providers-BLlJ3RBV.js} +1 -1
  55. package/dist/client/assets/{alert-GoDcQBJh.js → alert-BzrIjl9L.js} +1 -1
  56. package/dist/client/assets/{alert-dialog-h74gWvAo.js → alert-dialog-CZDeFSfw.js} +1 -1
  57. package/dist/client/assets/{api-keys-B-62GEl_.js → api-keys-IFsRmnJa.js} +1 -1
  58. package/dist/client/assets/{app-editor-CeR8c5XA.js → app-editor-DYYW7c8Q.js} +1 -1
  59. package/dist/client/assets/{auth-YchFVt1J.js → auth-P7g2VajE.js} +1 -1
  60. package/dist/client/assets/{auth-catchall-DO5khXz8.js → auth-catchall-Dng6yJhn.js} +1 -1
  61. package/dist/client/assets/{auth-entry-Cu5WuiYj.js → auth-entry-DkX3iPX4.js} +1 -1
  62. package/dist/client/assets/{auth-split-layout-Cx_MjVG2.js → auth-split-layout-CIuNnohI.js} +1 -1
  63. package/dist/client/assets/{authenticate-and-persist-oauth-CLSn8eTd.js → authenticate-and-persist-oauth-Dm6WETsF.js} +1 -1
  64. package/dist/client/assets/{automation-list-row-Dofld-Hr.js → automation-list-row-CmtR0qRT.js} +1 -1
  65. package/dist/client/assets/{automation-runs-BU_2Xqps.js → automation-runs-CkJnXK_o.js} +1 -1
  66. package/dist/client/assets/{automations-CCjIQLCt.js → automations-DJzYvK7w.js} +1 -1
  67. package/dist/client/assets/{avatar-COsnIS4k.js → avatar-DXVR4jwZ.js} +1 -1
  68. package/dist/client/assets/{badge-tHp_c8Dr.js → badge-B74tx_TY.js} +1 -1
  69. package/dist/client/assets/{block-document-C51dYjIM.js → block-document-DF32ZmZA.js} +1 -1
  70. package/dist/client/assets/{buckets-Bho1jX29.js → buckets-B1II4uWc.js} +1 -1
  71. package/dist/client/assets/{bulk-category-panel-Bnsjpx0y.js → bulk-category-panel-UPMkMrXw.js} +1 -1
  72. package/dist/client/assets/{capability-load-error-kmGxhT7e.js → capability-load-error--Pr_rF_i.js} +1 -1
  73. package/dist/client/assets/{cards-Ccmd_Xib.js → cards-DO_SLrNr.js} +1 -1
  74. package/dist/client/assets/{category-editor-BpZZ4FU9.js → category-editor-lzq3jjK7.js} +1 -1
  75. package/dist/client/assets/{chart-C8ZFL9iH.js → chart-Cnnt7O9X.js} +1 -1
  76. package/dist/client/assets/{chat-context-Y3tDPbjh.js → chat-context-amWbuNW6.js} +1 -1
  77. package/dist/client/assets/{checkbox-DHffV6C7.js → checkbox-BXvFTMpY.js} +1 -1
  78. package/dist/client/assets/{choose-editor-z-VvhXSG.js → choose-editor-D2XuoPft.js} +1 -1
  79. package/dist/client/assets/{cli-auth-success-COOEgthX.js → cli-auth-success-Ca7XJoJf.js} +1 -1
  80. package/dist/client/assets/{collection-detail-DgI2pUKU.js → collection-detail-CWYGGuoX.js} +1 -1
  81. package/dist/client/assets/{collection-display-button-BXMX0jxV.js → collection-display-button-prsrGFYG.js} +1 -1
  82. package/dist/client/assets/{collection-search-G8A747be.js → collection-search-DWnHRx3B.js} +1 -1
  83. package/dist/client/assets/{collection-table-wrapper-Df14qp_Y.js → collection-table-wrapper-CAo12qJ2.js} +1 -1
  84. package/dist/client/assets/{collection-tabs-BDKNYNJY.js → collection-tabs-Bndu1d5Z.js} +1 -1
  85. package/dist/client/assets/{command-VuHgSTxP.js → command-4Vd-P348.js} +1 -1
  86. package/dist/client/assets/{commerce-onboarding-BO2buywb.js → commerce-onboarding-axAYbTFw.js} +1 -1
  87. package/dist/client/assets/{connect-B8f9g4HL.js → connect-CMe3fw3z.js} +1 -1
  88. package/dist/client/assets/{connection-CTOVogpW.js → connection-D327p6nq.js} +1 -1
  89. package/dist/client/assets/{connection-card-qDOySoej.js → connection-card-CvzgfzXe.js} +1 -1
  90. package/dist/client/assets/{connection-detail-D-EsGENA.js → connection-detail-gb7PfuND.js} +1 -1
  91. package/dist/client/assets/{connection-form-helpers-1rp99iDU.js → connection-form-helpers-_2vKVQBz.js} +1 -1
  92. package/dist/client/assets/{connections-mnvFdKWS.js → connections-CI97F2dz.js} +1 -1
  93. package/dist/client/assets/{decopilot-sse-pool-mCgx_uqK.js → decopilot-sse-pool-D0iaAH1L.js} +1 -1
  94. package/dist/client/assets/{dialog-DyNaARMb.js → dialog-BkipwoDS.js} +1 -1
  95. package/dist/client/assets/{domain-settings-Dgm6v4N6.js → domain-settings-CZQBprz1.js} +1 -1
  96. package/dist/client/assets/{drawer-CjptIWrE.js → drawer-Cxn-9hNu.js} +1 -1
  97. package/dist/client/assets/{dropdown-menu-B9ZSiAIz.js → dropdown-menu-DH3vTkpv.js} +1 -1
  98. package/dist/client/assets/{empty-state-DkPucUga.js → empty-state-D4quvhvm.js} +1 -1
  99. package/dist/client/assets/{extract-connection-data-Cp8_cUEt.js → extract-connection-data-D0j-7nxe.js} +1 -1
  100. package/dist/client/assets/{file-explorer-0ZCNYzbw.js → file-explorer-nuwqZUdL.js} +1 -1
  101. package/dist/client/assets/{file-type-icon-Dyb5XU2y.js → file-type-icon-BWGCDFeS.js} +1 -1
  102. package/dist/client/assets/{form-b3ZA5r4A.js → form-_SoAxhrI.js} +1 -1
  103. package/dist/client/assets/{general-BQBIX055.js → general-B5f-fdZQ.js} +1 -1
  104. package/dist/client/assets/{github-repo-picker-BKe-Fpd_.js → github-repo-picker-DDKOPJhQ.js} +1 -1
  105. package/dist/client/assets/{hooks-Bvr5z9c-.js → hooks-C3cCIlD5.js} +1 -1
  106. package/dist/client/assets/{index-Tox1eOsI.js → index-BIhC4I0A.js} +1 -1
  107. package/dist/client/assets/{index-9w4hN6EE.js → index-BSvH6_Zl.js} +1 -1
  108. package/dist/client/assets/{index-D_1bQqzH.js → index-BYoQ22B6.js} +1 -1
  109. package/dist/client/assets/{index-CIXSX2Pn.js → index-B_kYA2wU.js} +1 -1
  110. package/dist/client/assets/{index-Lole7lQX.js → index-CYg12GoM.js} +50 -50
  111. package/dist/client/assets/{index-CcsTL9K7.js → index-D8hvTP3q.js} +1 -1
  112. package/dist/client/assets/{index-C-bhFNnJ.js → index-MSNGIbVC.js} +1 -1
  113. package/dist/client/assets/{index-DEEVDvvZ.js → index-ehuKzYr7.js} +1 -1
  114. package/dist/client/assets/{index-BCjpgUdQ.js → index-i7BgmHnf.js} +3 -3
  115. package/dist/client/assets/{index-redirect-DrsZZOEx.js → index-redirect-DwMX97z3.js} +1 -1
  116. package/dist/client/assets/{index-B-opk6_e.js → index-zxFAA-g1.js} +1 -1
  117. package/dist/client/assets/{infra-billing-DEYH829b.js → infra-billing-Deo8kk43.js} +1 -1
  118. package/dist/client/assets/{input-AFSgicQ2.js → input-DKbTDQqT.js} +1 -1
  119. package/dist/client/assets/{integration-icon-CG1bE5vT.js → integration-icon-DvK0mMUg.js} +1 -1
  120. package/dist/client/assets/{invite-member-dialog-C9RjFL-5.js → invite-member-dialog-DH7zOyoe.js} +1 -1
  121. package/dist/client/assets/{label-De4DUtiK.js → label-3gJJeKHL.js} +1 -1
  122. package/dist/client/assets/{layout-DNyppYOA.js → layout-COPq4v3J.js} +1 -1
  123. package/dist/client/assets/{login-6yILtTaN.js → login-DsWiWEUs.js} +1 -1
  124. package/dist/client/assets/{mcp-oauth-DOl7TGn7.js → mcp-oauth-BALc9IF5.js} +1 -1
  125. package/dist/client/assets/{members-DcgMulyv.js → members-ekStfRi1.js} +1 -1
  126. package/dist/client/assets/{monaco-editor-Dj42noEC.js → monaco-editor-BVGilmKC.js} +1 -1
  127. package/dist/client/assets/{monitoring-stats-row-CTo1iT58.js → monitoring-stats-row-DVMqyhPq.js} +1 -1
  128. package/dist/client/assets/{multi-select-BRAzQ5tu.js → multi-select-iU5A9RE-.js} +1 -1
  129. package/dist/client/assets/{oauth-callback-CqRKT12c.js → oauth-callback-CuJYH9k0.js} +1 -1
  130. package/dist/client/assets/{oauth-callback-ai-provider-mzWFM8g-.js → oauth-callback-ai-provider-hOBcM0sm.js} +1 -1
  131. package/dist/client/assets/{onboarding-CkMkGdFM.js → onboarding-BJQuJvBG.js} +1 -1
  132. package/dist/client/assets/{org-layout-Bl0hmikK.js → org-layout-BBgvIhb1.js} +1 -1
  133. package/dist/client/assets/{organization-choice-DJedocV3.js → organization-choice-B3t24x7j.js} +1 -1
  134. package/dist/client/assets/{orgs-3WvM6N1s.js → orgs-yLSpSsOO.js} +1 -1
  135. package/dist/client/assets/{page-seo-form-D--r-LeG.js → page-seo-form-BquOE1TW.js} +1 -1
  136. package/dist/client/assets/{popover-DwBt5xul.js → popover-Ctud97oP.js} +1 -1
  137. package/dist/client/assets/{post-calendar-xT9ZBR3h.js → post-calendar-xhKrZ_eo.js} +1 -1
  138. package/dist/client/assets/{post-editor-DlTovvuo.js → post-editor-C9rG6mtk.js} +1 -1
  139. package/dist/client/assets/{primitives-B9XqcTmL.js → primitives-nN-8Ohhy.js} +1 -1
  140. package/dist/client/assets/{profile-CRWrypWs.js → profile-DxYq2DLi.js} +1 -1
  141. package/dist/client/assets/{project-app-view-pASaT-wV.js → project-app-view-Ivm1QSCM.js} +1 -1
  142. package/dist/client/assets/{prompts-BLL09gEI.js → prompts-DLjEcr22.js} +1 -1
  143. package/dist/client/assets/record-editor-GJHq8lC-.js +1 -0
  144. package/dist/client/assets/{redirect-editor-CeiY3kWW.js → redirect-editor-ryRJu8Xm.js} +1 -1
  145. package/dist/client/assets/registry-DjMX8Y5G.js +2 -0
  146. package/dist/client/assets/{registry-layout-D1923Fd5.js → registry-layout-C5DROEYW.js} +1 -1
  147. package/dist/client/assets/{reports-CVyPc8z8.js → reports-kFnaqTk2.js} +1 -1
  148. package/dist/client/assets/{require-capability-sCbwyKfB.js → require-capability-W_3o0pop.js} +1 -1
  149. package/dist/client/assets/{required-auth-layout-SL6CM6nK.js → required-auth-layout-CQAVlhpd.js} +1 -1
  150. package/dist/client/assets/{reset-password-D9bf5JQj.js → reset-password-Ckr4fIsZ.js} +1 -1
  151. package/dist/client/assets/{review-settings-CtRRCuvx.js → review-settings-BCFJtG9L.js} +1 -1
  152. package/dist/client/assets/{roles-DEeaqRLl.js → roles-CLHkV_dR.js} +1 -1
  153. package/dist/client/assets/{search-input-BL9LK33O.js → search-input-CLQjsjgz.js} +1 -1
  154. package/dist/client/assets/{secrets-B-7EQFdR.js → secrets-xQTLTywE.js} +1 -1
  155. package/dist/client/assets/{sections-editor-TFzZysn0.js → sections-editor-D_v4Zx41.js} +1 -1
  156. package/dist/client/assets/{select-D0djbI7W.js → select-DZ5jRX2m.js} +1 -1
  157. package/dist/client/assets/{select-model-tl49hZs_.js → select-model-VtbPLBn3.js} +1 -1
  158. package/dist/client/assets/{self-tool-result-DY5y5UCh.js → self-tool-result-DDO4JkD7.js} +1 -1
  159. package/dist/client/assets/{seo-editor-DeZcIGX6.js → seo-editor-B9O-e5Jr.js} +1 -1
  160. package/dist/client/assets/{settings-layout-CGvD1XwK.js → settings-layout-DJklyLwN.js} +1 -1
  161. package/dist/client/assets/{shell-controls-qTwmoKwH.js → shell-controls-JQQrYDZJ.js} +1 -1
  162. package/dist/client/assets/{shell-layout-QA993J8Y.js → shell-layout-BzTXHl4r.js} +1 -1
  163. package/dist/client/assets/{spinner-BVQ60Lwr.js → spinner-C8vMfHgd.js} +1 -1
  164. package/dist/client/assets/{sso-32Bvvv3y.js → sso-D60o5Cz2.js} +1 -1
  165. package/dist/client/assets/{store-Cjl5Y942.js → store-AEPjfGWn.js} +1 -1
  166. package/dist/client/assets/store-registry-BLx5WSem.js +2 -0
  167. package/dist/client/assets/{switch-CnRBEFCz.js → switch-DdNnAMKn.js} +1 -1
  168. package/dist/client/assets/{synced-repos-dZxXVzOk.js → synced-repos-Dt7bkh8a.js} +1 -1
  169. package/dist/client/assets/{tab-id-BPut-S8_.js → tab-id-Cx8DDoGD.js} +1 -1
  170. package/dist/client/assets/{table-VwgR7aSz.js → table-BgZC7ZiL.js} +1 -1
  171. package/dist/client/assets/{tabs-q7TrLH4J.js → tabs-YQ2Im0eZ.js} +1 -1
  172. package/dist/client/assets/{tasks-DgoC300L.js → tasks-DrjU4G4y.js} +1 -1
  173. package/dist/client/assets/{textarea-CnC4xPzd.js → textarea-DX1uNZAA.js} +1 -1
  174. package/dist/client/assets/{toggle-group-BteKK96h.js → toggle-group-RUkZS1w5.js} +1 -1
  175. package/dist/client/assets/{toolbar-CblIK7Xq.js → toolbar-DuEwfAg5.js} +1 -1
  176. package/dist/client/assets/{track-CyiCyGRI.js → track-DAMALRWq.js} +1 -1
  177. package/dist/client/assets/{types-CkLZpDc5.js → types-ywfblMhJ.js} +1 -1
  178. package/dist/client/assets/{use-ai-providers-DTow-Mye.js → use-ai-providers-Bz5NIrnv.js} +1 -1
  179. package/dist/client/assets/{use-api-keys-DapQgbCV.js → use-api-keys-wZxvCd_g.js} +1 -1
  180. package/dist/client/assets/{use-automations-BVKQNMVi.js → use-automations-ChRcQ8sJ.js} +1 -1
  181. package/dist/client/assets/{use-autosave-zgGYxv5Z.js → use-autosave-CFDxCyAU.js} +1 -1
  182. package/dist/client/assets/{use-clock-tick-DZC0K6ge.js → use-clock-tick-uvIK9zxW.js} +1 -1
  183. package/dist/client/assets/{use-commerce-diagnostic-ZQ9vjett.js → use-commerce-diagnostic-DDxupUH-.js} +1 -1
  184. package/dist/client/assets/{use-connection-BXZ0YKSx.js → use-connection-CqNwaqjB.js} +1 -1
  185. package/dist/client/assets/{use-copy-B_fXlDcS.js → use-copy-C_ITP2w0.js} +1 -1
  186. package/dist/client/assets/{use-create-virtual-mcp-BPIMc7LL.js → use-create-virtual-mcp-BPm-XtmL.js} +1 -1
  187. package/dist/client/assets/{use-debounced-autosave-BiJ8-45I.js → use-debounced-autosave-t-AKKkL2.js} +1 -1
  188. package/dist/client/assets/{use-debounced-value-BdaSqbr2.js → use-debounced-value-B5i9a8MI.js} +1 -1
  189. package/dist/client/assets/{use-decopilot-events-CWe3Zh2O.js → use-decopilot-events-BdjkPT5k.js} +1 -1
  190. package/dist/client/assets/{use-delete-connection-m7u43PjT.js → use-delete-connection-BxOF9ID5.js} +1 -1
  191. package/dist/client/assets/{use-deployment-admin-DhSEroyB.js → use-deployment-admin-C8NV1uM5.js} +1 -1
  192. package/dist/client/assets/{use-file-configs-B_gl6RPo.js → use-file-configs-DOVIMFy4.js} +1 -1
  193. package/dist/client/assets/{use-infinite-scroll-4s9C7kfW.js → use-infinite-scroll-Dg7gJRtA.js} +1 -1
  194. package/dist/client/assets/{use-join-requests-Jqzki8yG.js → use-join-requests-B8D-U_Ot.js} +1 -1
  195. package/dist/client/assets/{use-mcp-auth-status-UvCWQKb5.js → use-mcp-auth-status-BZvnfUbh.js} +1 -1
  196. package/dist/client/assets/{use-mcp-client-BP2p87OD.js → use-mcp-client-COL3iztV.js} +1 -1
  197. package/dist/client/assets/{use-mcp-tools-Dc955WPx.js → use-mcp-tools-DJkrd0uR.js} +1 -1
  198. package/dist/client/assets/{use-members-CR_qX3wJ.js → use-members-CAOHLini.js} +1 -1
  199. package/dist/client/assets/{use-navigate-to-agent-BHmaITwm.js → use-navigate-to-agent-DHPM9Tq5.js} +1 -1
  200. package/dist/client/assets/{use-org-auth-client-fdd-0Jdn.js → use-org-auth-client-BbndTmRD.js} +1 -1
  201. package/dist/client/assets/{use-org-repo-syncs-Cev3rFfX.js → use-org-repo-syncs-Bgqc-76q.js} +1 -1
  202. package/dist/client/assets/{use-org-sso-BKUd6dcp.js → use-org-sso-BMLlHQBD.js} +1 -1
  203. package/dist/client/assets/{use-organization-roles-Dm-6T1CA.js → use-organization-roles-CtsRD6rz.js} +1 -1
  204. package/dist/client/assets/{use-organization-settings-B0J-LJIe.js → use-organization-settings-DL1E01gZ.js} +1 -1
  205. package/dist/client/assets/{use-registry-connections-DFd8Ba3d.js → use-registry-connections-BDAR63kI.js} +1 -1
  206. package/dist/client/assets/{use-secrets-5CQwEjb6.js → use-secrets-D6Vp_B1o.js} +1 -1
  207. package/dist/client/assets/{use-section-preview-base-yfsU69Yh.js → use-section-preview-base-CMEyAlnc.js} +1 -1
  208. package/dist/client/assets/{use-status-sounds-C7X_L8MT.js → use-status-sounds-CNN3yY4g.js} +1 -1
  209. package/dist/client/assets/{use-tags-CJ6w6Ien.js → use-tags-D8LKu8OM.js} +1 -1
  210. package/dist/client/assets/{use-task-board-items-BkeCFlnj.js → use-task-board-items-FayZqwaX.js} +1 -1
  211. package/dist/client/assets/{use-view-mode-Cj5VNwDB.js → use-view-mode-iVndLiLY.js} +1 -1
  212. package/dist/client/assets/{use-virtual-mcp-DIl_WZwd.js → use-virtual-mcp-BXk0NorZ.js} +1 -1
  213. package/dist/client/assets/useInfiniteQuery-CfIVv9W9.js +1 -0
  214. package/dist/client/assets/useSuspenseInfiniteQuery-2aHmeoxo.js +1 -0
  215. package/dist/client/assets/{users-SfcwrSJt.js → users-DbuIDSwW.js} +1 -1
  216. package/dist/client/assets/{variant-calendar-Bn5KYzNB.js → variant-calendar-BPDGzK_d.js} +1 -1
  217. package/dist/client/assets/{view-mode-toggle-CnjiENa8.js → view-mode-toggle-BARjyj4P.js} +1 -1
  218. package/dist/client/index.html +1 -1
  219. package/dist/server/cli.js +496 -496
  220. package/dist/server/migrate.js +32 -32
  221. package/dist/server/server.js +338 -338
  222. package/package.json +1 -1
  223. package/dist/client/assets/record-editor-1LEViVI9.js +0 -1
  224. package/dist/client/assets/registry-Bv9s4BqF.js +0 -2
  225. package/dist/client/assets/store-registry-Cf4XwcQU.js +0 -2
  226. package/dist/client/assets/useInfiniteQuery-stzFqMsX.js +0 -1
  227. package/dist/client/assets/useSuspenseInfiniteQuery-BJ8fdY6D.js +0 -1
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null,x)}var m=(_,x)=>{for(var u in x)aT(_,u,{get:x[u],enumerable:!0,configurable:!0,set:eT.bind(x,u)})};import{Migrator as hT,sql as g}from"kysely";var Y_={};m(Y_,{up:()=>sT,down:()=>lT});import{sql as D}from"kysely";async function sT(_){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(D`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(D`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(D`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(D`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(D`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(D`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(D`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(D`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(D`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(D`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 lT(_){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 B_={};m(B_,{up:()=>dT,down:()=>bT});import{sql as wn}from"kysely";async function dT(_){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(wn`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(wn`CURRENT_TIMESTAMP`)).execute()}async function bT(_){await _.schema.dropTable("organization_settings").execute()}var G_={};m(G_,{up:()=>_C,down:()=>xC});async function _C(_){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 xC(_){await _.schema.alterTable("connections").renameColumn("title","name").execute(),await _.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await _.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await _.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await _.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await _.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await _.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await _.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await _.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await _.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await _.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await _.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var O_={};m(O_,{up:()=>uC,down:()=>mC});async function uC(_){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 mC(_){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 w_={};m(w_,{up:()=>nC,down:()=>TC});async function nC(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function TC(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var A_={};m(A_,{up:()=>NC,down:()=>KC});import{sql as CC}from"kysely";async function NC(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",CC`text`).execute()}async function KC(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var S_={};m(S_,{up:()=>tC,down:()=>EC});async function tC(_){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 EC(_){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 i_={};m(i_,{up:()=>zC,down:()=>yC});import{sql as c}from"kysely";async function zC(_){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(c`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(c`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(c`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(c`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(c`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 yC(_){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 I_={};m(I_,{up:()=>UC,down:()=>JC});import{sql as PC}from"kysely";async function UC(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function JC(_){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(PC`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 k_={};m(k_,{up:()=>$C,down:()=>jC});import{sql as m_}from"kysely";async function $C(_){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(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 _.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(m_`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 m_`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 jC(_){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 p_={};m(p_,{up:()=>WC,down:()=>XC});async function WC(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function XC(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var V_={};m(V_,{up:()=>ZC,down:()=>DC});import{sql as n_}from"kysely";async function ZC(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await n_`
2
+ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null,x)}var m=(_,x)=>{for(var u in x)aT(_,u,{get:x[u],enumerable:!0,configurable:!0,set:eT.bind(x,u)})};import{Migrator as hT,sql as g}from"kysely";var Y_={};m(Y_,{up:()=>sT,down:()=>lT});import{sql as D}from"kysely";async function sT(_){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(D`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(D`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(D`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(D`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(D`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(D`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(D`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(D`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(D`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(D`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 lT(_){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 B_={};m(B_,{up:()=>dT,down:()=>bT});import{sql as wn}from"kysely";async function dT(_){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(wn`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(wn`CURRENT_TIMESTAMP`)).execute()}async function bT(_){await _.schema.dropTable("organization_settings").execute()}var G_={};m(G_,{up:()=>_C,down:()=>xC});async function _C(_){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 xC(_){await _.schema.alterTable("connections").renameColumn("title","name").execute(),await _.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await _.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await _.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await _.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await _.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await _.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await _.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await _.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await _.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await _.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await _.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var O_={};m(O_,{up:()=>uC,down:()=>mC});async function uC(_){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 mC(_){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 w_={};m(w_,{up:()=>nC,down:()=>TC});async function nC(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function TC(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var A_={};m(A_,{up:()=>NC,down:()=>KC});import{sql as CC}from"kysely";async function NC(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",CC`text`).execute()}async function KC(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var I_={};m(I_,{up:()=>tC,down:()=>EC});async function tC(_){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 EC(_){await _.schema.dropIndex("monitoring_logs_is_error").execute(),await _.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await _.schema.dropTable("monitoring_logs").execute()}var S_={};m(S_,{up:()=>zC,down:()=>yC});import{sql as c}from"kysely";async function zC(_){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(c`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(c`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(c`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(c`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(c`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 yC(_){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 i_={};m(i_,{up:()=>UC,down:()=>JC});import{sql as PC}from"kysely";async function UC(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function JC(_){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(PC`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 k_={};m(k_,{up:()=>$C,down:()=>jC});import{sql as m_}from"kysely";async function $C(_){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(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 _.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(m_`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 m_`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 jC(_){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 p_={};m(p_,{up:()=>WC,down:()=>XC});async function WC(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function XC(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var V_={};m(V_,{up:()=>ZC,down:()=>DC});import{sql as n_}from"kysely";async function ZC(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await n_`
3
3
  UPDATE gateways
4
4
  SET tool_selection_mode = CASE
5
5
  WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
@@ -21,7 +21,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
21
21
  ) ranked
22
22
  WHERE rn = 1
23
23
  )
24
- `.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 OC(_){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 o_={};m(o_,{up:()=>wC,down:()=>AC});async function wC(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function AC(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var a_={};m(a_,{up:()=>SC,down:()=>iC});import{sql as An}from"kysely";async function SC(_){await An`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function iC(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await An`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var r_={};m(r_,{up:()=>IC,down:()=>kC});async function IC(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function kC(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var e_={};m(e_,{up:()=>pC,down:()=>VC});import{sql as T_}from"kysely";async function pC(_){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(T_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(T_`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(T_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(T_`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 VC(_){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 s_={};m(s_,{up:()=>vC,down:()=>qC});async function vC(_){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 qC(_){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 l_={};m(l_,{up:()=>gC,down:()=>cC});async function gC(_){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 cC(_){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 d_={};m(d_,{up:()=>hC,down:()=>oC});import{sql as J}from"kysely";async function hC(_){await J`
24
+ `.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 OC(_){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 o_={};m(o_,{up:()=>wC,down:()=>AC});async function wC(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function AC(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var a_={};m(a_,{up:()=>IC,down:()=>SC});import{sql as An}from"kysely";async function IC(_){await An`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function SC(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await An`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var r_={};m(r_,{up:()=>iC,down:()=>kC});async function iC(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function kC(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var e_={};m(e_,{up:()=>pC,down:()=>VC});import{sql as T_}from"kysely";async function pC(_){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(T_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(T_`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(T_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(T_`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 VC(_){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 s_={};m(s_,{up:()=>vC,down:()=>qC});async function vC(_){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 qC(_){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 l_={};m(l_,{up:()=>gC,down:()=>cC});async function gC(_){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 cC(_){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 d_={};m(d_,{up:()=>hC,down:()=>oC});import{sql as J}from"kysely";async function hC(_){await J`
25
25
  INSERT INTO connections (
26
26
  id,
27
27
  organization_id,
@@ -136,7 +136,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
136
136
  updated_at = CURRENT_TIMESTAMP
137
137
  WHERE connection_url LIKE '%/mcp/self'
138
138
  AND app_name = '@deco/management-mcp'
139
- `.execute(_)}var Tx={};m(Tx,{up:()=>xN,down:()=>uN});async function xN(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function uN(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var Cx={};m(Cx,{up:()=>mN,down:()=>nN});import{sql as Sn}from"kysely";async function mN(_){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(Sn`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(Sn`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 nN(_){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 Nx={};m(Nx,{up:()=>TN,down:()=>CN});import{sql as h}from"kysely";async function TN(_){await h`
139
+ `.execute(_)}var Tx={};m(Tx,{up:()=>xN,down:()=>uN});async function xN(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function uN(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var Cx={};m(Cx,{up:()=>mN,down:()=>nN});import{sql as In}from"kysely";async function mN(_){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(In`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(In`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 nN(_){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 Nx={};m(Nx,{up:()=>TN,down:()=>CN});import{sql as h}from"kysely";async function TN(_){await h`
140
140
  ALTER TABLE connection_aggregations
141
141
  ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
142
142
  `.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function CN(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await h`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await h`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(h`CURRENT_TIMESTAMP`)).execute(),await h`
@@ -148,7 +148,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
148
148
  id, parent_connection_id, child_connection_id,
149
149
  selected_tools, selected_resources, selected_prompts, created_at
150
150
  FROM connection_aggregations
151
- `.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 Kx={};m(Kx,{up:()=>zN,down:()=>yN});import{webcrypto as kn}from"crypto";var In="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var NN=128,O,A;function KN(_){if(!O||O.length<_)O=Buffer.allocUnsafe(_*NN),kn.getRandomValues(O),A=0;else if(A+_>O.length)kn.getRandomValues(O),A=0;A+=_}function S(_=21){KN(_|=0);let x="";for(let u=A-_;u<A;u++)x+=In[O[u]&63];return x}var tN="org-admin",EN="Organization Admin";async function zN(_){await _.schema.createTable("projects").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(u)=>u.notNull()).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await _.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await _.schema.createTable("project_plugin_configs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("project_id","text",(u)=>u.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(u)=>u.notNull()).addColumn("connection_id","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let x=await _.selectFrom("organization").select(["id"]).execute();for(let u of x){let T=new Date().toISOString(),n=`proj_${S()}`,C=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:n,organization_id:u.id,slug:tN,name:EN,description:null,enabled_plugins:C?.enabled_plugins??null,ui:null,created_at:T,updated_at:T}).execute()}}async function yN(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var tx={};m(tx,{up:()=>PN,down:()=>UN});async function PN(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function UN(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var Ex={};m(Ex,{up:()=>JN,down:()=>$N});async function JN(_){}async function $N(_){}var zx={};m(zx,{up:()=>jN,down:()=>WN});async function jN(_){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 WN(_){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 yx={};m(yx,{up:()=>XN,down:()=>ZN});import{sql as pn}from"kysely";async function XN(_){await pn`
151
+ `.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 Kx={};m(Kx,{up:()=>zN,down:()=>yN});import{webcrypto as kn}from"crypto";var Sn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var NN=128,O,A;function KN(_){if(!O||O.length<_)O=Buffer.allocUnsafe(_*NN),kn.getRandomValues(O),A=0;else if(A+_>O.length)kn.getRandomValues(O),A=0;A+=_}function I(_=21){KN(_|=0);let x="";for(let u=A-_;u<A;u++)x+=Sn[O[u]&63];return x}var tN="org-admin",EN="Organization Admin";async function zN(_){await _.schema.createTable("projects").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(u)=>u.notNull()).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await _.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await _.schema.createTable("project_plugin_configs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("project_id","text",(u)=>u.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(u)=>u.notNull()).addColumn("connection_id","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let x=await _.selectFrom("organization").select(["id"]).execute();for(let u of x){let T=new Date().toISOString(),n=`proj_${I()}`,C=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:n,organization_id:u.id,slug:tN,name:EN,description:null,enabled_plugins:C?.enabled_plugins??null,ui:null,created_at:T,updated_at:T}).execute()}}async function yN(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var tx={};m(tx,{up:()=>PN,down:()=>UN});async function PN(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function UN(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var Ex={};m(Ex,{up:()=>JN,down:()=>$N});async function JN(_){}async function $N(_){}var zx={};m(zx,{up:()=>jN,down:()=>WN});async function jN(_){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 WN(_){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 yx={};m(yx,{up:()=>XN,down:()=>ZN});import{sql as pn}from"kysely";async function XN(_){await pn`
152
152
  UPDATE connections
153
153
  SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
154
154
  tools = NULL,
@@ -172,18 +172,18 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
172
172
  SET title = 'Mesh MCP',
173
173
  updated_at = CURRENT_TIMESTAMP
174
174
  WHERE app_name = '@deco/management-mcp'
175
- `.execute(_)}var Xx={};m(Xx,{up:()=>SN,down:()=>iN});import{sql as vn}from"kysely";async function SN(_){await vn`
175
+ `.execute(_)}var Xx={};m(Xx,{up:()=>IN,down:()=>SN});import{sql as vn}from"kysely";async function IN(_){await vn`
176
176
  UPDATE connections
177
177
  SET title = 'Deco CMS',
178
178
  tools = NULL,
179
179
  updated_at = CURRENT_TIMESTAMP
180
180
  WHERE app_name = '@deco/management-mcp'
181
- `.execute(_)}async function iN(_){await vn`
181
+ `.execute(_)}async function SN(_){await vn`
182
182
  UPDATE connections
183
183
  SET title = 'CMS MCP',
184
184
  updated_at = CURRENT_TIMESTAMP
185
185
  WHERE app_name = '@deco/management-mcp'
186
- `.execute(_)}var Zx={};m(Zx,{up:()=>IN,down:()=>kN});async function IN(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function kN(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var Dx={};m(Dx,{up:()=>pN,down:()=>VN});async function pN(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function VN(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var Lx={};m(Lx,{up:()=>vN,down:()=>qN});import{sql as Qx}from"kysely";async function vN(_){await Qx`
186
+ `.execute(_)}var Zx={};m(Zx,{up:()=>iN,down:()=>kN});async function iN(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function kN(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var Dx={};m(Dx,{up:()=>pN,down:()=>VN});async function pN(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function VN(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var Lx={};m(Lx,{up:()=>vN,down:()=>qN});import{sql as Qx}from"kysely";async function vN(_){await Qx`
187
187
  UPDATE organization_settings
188
188
  SET enabled_plugins = (
189
189
  SELECT COALESCE(json_agg(elem), '[]'::json)::text
@@ -212,7 +212,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
212
212
  UPDATE connections
213
213
  SET subtype = 'agent'
214
214
  WHERE connection_type = 'VIRTUAL'
215
- `.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(N)=>N.primaryKey()).addColumn("virtual_mcp_id","text",(N)=>N.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(N)=>N.notNull()).addColumn("connection_id","text",(N)=>N.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(N)=>N.notNull()).addColumn("updated_at","text",(N)=>N.notNull()).execute(),await _.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await _.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let x=await _.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await _.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),T=new Map;for(let N of u)T.set(N.organizationId,N.userId);let n=new Map;for(let N of x){let t=`vir_${S()}`;n.set(N.id,t);let E=N.ui?JSON.parse(N.ui):null,z=JSON.stringify({enabled_plugins:N.enabled_plugins?JSON.parse(N.enabled_plugins):null,ui:E,migrated_from_project:N.id,migrated_project_slug:N.slug}),U=T.get(N.organization_id);if(!U)continue;await _.insertInto("connections").values({id:t,organization_id:N.organization_id,created_by:U,updated_by:null,title:N.name,description:N.description,icon:E?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${t}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:z,bindings:null,status:"active",subtype:"project",created_at:N.created_at,updated_at:N.updated_at}).execute()}let C=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let N of C){let t=n.get(N.project_id);if(!t)continue;await _.insertInto("connection_aggregations").values({id:`agg_${S()}`,parent_connection_id:t,child_connection_id:N.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:N.created_at}).onConflict((E)=>E.doNothing()).execute()}let K=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let N of K){let t=n.get(N.project_id);if(!t)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${S()}`,virtual_mcp_id:t,plugin_id:N.plugin_id,connection_id:N.connection_id,settings:N.settings,created_at:N.created_at,updated_at:N.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function oN(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await Fx`
215
+ `.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(N)=>N.primaryKey()).addColumn("virtual_mcp_id","text",(N)=>N.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(N)=>N.notNull()).addColumn("connection_id","text",(N)=>N.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(N)=>N.notNull()).addColumn("updated_at","text",(N)=>N.notNull()).execute(),await _.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await _.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let x=await _.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await _.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),T=new Map;for(let N of u)T.set(N.organizationId,N.userId);let n=new Map;for(let N of x){let t=`vir_${I()}`;n.set(N.id,t);let E=N.ui?JSON.parse(N.ui):null,z=JSON.stringify({enabled_plugins:N.enabled_plugins?JSON.parse(N.enabled_plugins):null,ui:E,migrated_from_project:N.id,migrated_project_slug:N.slug}),U=T.get(N.organization_id);if(!U)continue;await _.insertInto("connections").values({id:t,organization_id:N.organization_id,created_by:U,updated_by:null,title:N.name,description:N.description,icon:E?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${t}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:z,bindings:null,status:"active",subtype:"project",created_at:N.created_at,updated_at:N.updated_at}).execute()}let C=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let N of C){let t=n.get(N.project_id);if(!t)continue;await _.insertInto("connection_aggregations").values({id:`agg_${I()}`,parent_connection_id:t,child_connection_id:N.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:N.created_at}).onConflict((E)=>E.doNothing()).execute()}let K=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let N of K){let t=n.get(N.project_id);if(!t)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${I()}`,virtual_mcp_id:t,plugin_id:N.plugin_id,connection_id:N.connection_id,settings:N.settings,created_at:N.created_at,updated_at:N.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function oN(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await Fx`
216
216
  ALTER TABLE connections
217
217
  DROP CONSTRAINT IF EXISTS chk_connections_subtype
218
218
  `.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var Hx={};m(Hx,{up:()=>rN,down:()=>eN});import{sql as aN}from"kysely";async function rN(_){await aN`
@@ -222,7 +222,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
222
222
  AND metadata::json->>'migrated_project_slug' = 'org-admin'
223
223
  `.execute(_)}async function eN(_){}var Mx={};m(Mx,{up:()=>lN,down:()=>dN});import{sql as sN}from"kysely";async function lN(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await sN`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function dN(_){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 Bx={};m(Bx,{up:()=>bN,down:()=>_K});import{sql as Yx}from"kysely";async function bN(_){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(Yx`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(Yx`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(Yx`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 _K(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var Gx={};m(Gx,{up:()=>xK,down:()=>uK});async function xK(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function uK(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var Ox={};m(Ox,{up:()=>mK,down:()=>nK});async function mK(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function nK(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var Ax={};m(Ax,{up:()=>CK,down:()=>NK});import{sql as gn}from"kysely";function wx(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function TK(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),T=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return wx(T)}catch{return wx(_.connection_url)}if(_.title)return wx(_.title);return _.id}async function CK(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await gn`
224
224
  SELECT id, app_name, connection_url, title FROM connections
225
- `.execute(_);for(let u of x.rows){let T=TK(u);await gn`UPDATE connections SET slug = ${T} WHERE id = ${u.id}`.execute(_)}await _.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function NK(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var Sx={};m(Sx,{up:()=>KK,down:()=>tK});import{sql as o}from"kysely";async function KK(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await o`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await o`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 tK(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await o`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await o`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await o`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 ix={};m(ix,{up:()=>EK,down:()=>zK});async function EK(_){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 zK(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var Ix={};m(Ix,{up:()=>yK,down:()=>PK});import{sql as C_}from"kysely";async function yK(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await C_`
225
+ `.execute(_);for(let u of x.rows){let T=TK(u);await gn`UPDATE connections SET slug = ${T} WHERE id = ${u.id}`.execute(_)}await _.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function NK(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var Ix={};m(Ix,{up:()=>KK,down:()=>tK});import{sql as o}from"kysely";async function KK(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await o`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await o`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 tK(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await o`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await o`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await o`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await _.schema.alterTable("connections").dropColumn("pinned").execute()}var Sx={};m(Sx,{up:()=>EK,down:()=>zK});async function EK(_){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 zK(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var ix={};m(ix,{up:()=>yK,down:()=>PK});import{sql as C_}from"kysely";async function yK(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await C_`
226
226
  UPDATE threads
227
227
  SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
228
228
  WHERE agent_ids IS NOT NULL
@@ -239,24 +239,24 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
239
239
  THEN jsonb_build_array(virtual_mcp_id)::text
240
240
  ELSE '[]'
241
241
  END
242
- `.execute(_),await C_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var kx={};m(kx,{up:()=>UK,down:()=>JK});async function UK(_){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 JK(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var px={};m(px,{up:()=>$K,down:()=>jK});async function $K(_){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 jK(_){await _.schema.dropTable("kv").execute()}var Vx={};m(Vx,{up:()=>WK,down:()=>XK});async function WK(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function XK(_){await _.schema.dropIndex("idx_member_user_org").execute()}var vx={};m(vx,{up:()=>ZK,down:()=>DK});async function ZK(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function DK(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var qx={};m(qx,{up:()=>QK,down:()=>LK});import{sql as j}from"kysely";async function QK(_){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(j`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(j`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 j`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(j`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(j`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 j`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(j`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(j`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(j`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(j`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(j`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 LK(_){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 gx={};m(gx,{up:()=>RK,down:()=>FK});import{sql as i}from"kysely";async function RK(_){await i`
242
+ `.execute(_),await C_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var kx={};m(kx,{up:()=>UK,down:()=>JK});async function UK(_){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 JK(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var px={};m(px,{up:()=>$K,down:()=>jK});async function $K(_){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 jK(_){await _.schema.dropTable("kv").execute()}var Vx={};m(Vx,{up:()=>WK,down:()=>XK});async function WK(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function XK(_){await _.schema.dropIndex("idx_member_user_org").execute()}var vx={};m(vx,{up:()=>ZK,down:()=>DK});async function ZK(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function DK(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var qx={};m(qx,{up:()=>QK,down:()=>LK});import{sql as j}from"kysely";async function QK(_){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(j`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(j`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 j`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(j`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(j`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 j`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(j`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(j`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(j`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(j`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(j`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 LK(_){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 gx={};m(gx,{up:()=>RK,down:()=>FK});import{sql as S}from"kysely";async function RK(_){await S`
243
243
  ALTER TABLE event_subscriptions
244
244
  ALTER COLUMN enabled DROP DEFAULT
245
- `.execute(_),await i`
245
+ `.execute(_),await S`
246
246
  ALTER TABLE event_subscriptions
247
247
  ALTER COLUMN enabled TYPE boolean
248
248
  USING enabled::boolean
249
- `.execute(_),await i`
249
+ `.execute(_),await S`
250
250
  ALTER TABLE event_subscriptions
251
251
  ALTER COLUMN enabled SET DEFAULT true
252
- `.execute(_)}async function FK(_){await i`
252
+ `.execute(_)}async function FK(_){await S`
253
253
  ALTER TABLE event_subscriptions
254
254
  ALTER COLUMN enabled DROP DEFAULT
255
- `.execute(_),await i`
255
+ `.execute(_),await S`
256
256
  ALTER TABLE event_subscriptions
257
257
  ALTER COLUMN enabled TYPE integer
258
258
  USING enabled::integer
259
- `.execute(_),await i`
259
+ `.execute(_),await S`
260
260
  ALTER TABLE event_subscriptions
261
261
  ALTER COLUMN enabled SET DEFAULT 1
262
262
  `.execute(_)}var cx={};m(cx,{up:()=>fK,down:()=>HK});import{sql as cn}from"kysely";async function fK(_){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(cn`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(cn`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function HK(_){await _.schema.dropTable("brand_context").execute()}var hx={};m(hx,{up:()=>MK,down:()=>YK});import{sql as hn}from"kysely";async function MK(_){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(hn`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(hn`now()`)).execute()}async function YK(_){await _.schema.dropTable("organization_domains").execute()}var ox={};m(ox,{up:()=>wK,down:()=>AK});import{sql as on}from"kysely";var N_=new Set(["primary","secondary","accent","background","foreground"]),BK={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function GK(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((n)=>N_.has(n))){let n={};for(let[C,K]of Object.entries(u)){if(typeof K!=="string")continue;if(N_.has(C))n[C]=K;else x[C]=K}return{structured:Object.keys(n).length>0?JSON.stringify(n):null,extra:x}}let T={};for(let[n,C]of Object.entries(u)){if(typeof C!=="string")continue;if(N_.has(n.toLowerCase()))T[n.toLowerCase()]=C;else x[n]=C}return{structured:Object.keys(T).length>0?JSON.stringify(T):null,extra:x}}if(Array.isArray(_)){let u={};for(let T of _){let n=T,C=n.label?.toLowerCase?.(),K=n.value;if(!C||!K)continue;if(N_.has(C))u[C]=K;else x[C]=K}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:x}}return{structured:null,extra:x}}function OK(_){if(!_)return null;if(!Array.isArray(_)&&typeof _==="object"){let x=_;if(typeof x.heading==="string"||typeof x.body==="string"||typeof x.code==="string")return JSON.stringify(x);return null}if(Array.isArray(_)){let x={},u=[];for(let T of _){let n=T,C=n.name??n.family??void 0,K=n.role?.toLowerCase?.()??"";if(!C)continue;let N=BK[K];if(N&&!x[N])x[N]=C;else u.push(C)}if(!x.body&&u[0])x.body=u[0];return Object.keys(x).length>0?JSON.stringify(x):null}return null}async function wK(_){let x=await on`SELECT id, colors, fonts, metadata FROM brand_context`.execute(_);for(let u of x.rows){let T=!1,n=!1,C=!1,K=u.colors,N=u.fonts,t={};try{t=u.metadata?JSON.parse(u.metadata):{}}catch{}if(u.colors)try{let E=JSON.parse(u.colors);if(Array.isArray(E)){let z=GK(E);if(K=z.structured,T=!0,Object.keys(z.extra).length>0)t.extraColors=z.extra,C=!0}}catch{}if(u.fonts)try{let E=JSON.parse(u.fonts);if(Array.isArray(E))N=OK(E),n=!0}catch{}if(T||n||C){let E=C?JSON.stringify(t):u.metadata;await on`
@@ -267,7 +267,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
267
267
  metadata = ${E},
268
268
  updated_at = NOW()
269
269
  WHERE id = ${u.id}
270
- `.execute(_)}}}async function AK(_){}var ax={};m(ax,{up:()=>iK,down:()=>IK});import{sql as SK}from"kysely";async function iK(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(SK`'{}'::jsonb`)).execute()}async function IK(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var rx={};m(rx,{up:()=>kK,down:()=>pK});async function kK(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function pK(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var ex={};m(ex,{up:()=>VK,down:()=>vK});async function VK(_){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 vK(_){await _.schema.dropTable("sandbox_runner_state").execute()}var sx={};m(sx,{up:()=>qK,down:()=>gK});async function qK(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function gK(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var lx={};m(lx,{up:()=>cK,down:()=>hK});async function cK(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function hK(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var dx={};m(dx,{up:()=>oK,down:()=>aK});async function oK(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function aK(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var bx={};m(bx,{up:()=>eK,down:()=>sK});import{sql as an}from"kysely";var rK=["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 eK(_){let x=await an`
270
+ `.execute(_)}}}async function AK(_){}var ax={};m(ax,{up:()=>SK,down:()=>iK});import{sql as IK}from"kysely";async function SK(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(IK`'{}'::jsonb`)).execute()}async function iK(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var rx={};m(rx,{up:()=>kK,down:()=>pK});async function kK(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function pK(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var ex={};m(ex,{up:()=>VK,down:()=>vK});async function VK(_){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 vK(_){await _.schema.dropTable("sandbox_runner_state").execute()}var sx={};m(sx,{up:()=>qK,down:()=>gK});async function qK(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function gK(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var lx={};m(lx,{up:()=>cK,down:()=>hK});async function cK(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function hK(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var dx={};m(dx,{up:()=>oK,down:()=>aK});async function oK(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function aK(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var bx={};m(bx,{up:()=>eK,down:()=>sK});import{sql as an}from"kysely";var rK=["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 eK(_){let x=await an`
271
271
  SELECT id, permission FROM "organizationRole"
272
272
  `.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let n=T.self;if(!Array.isArray(n))continue;if(n.length===1&&n[0]==="*")continue;let C=n,K=Array.from(new Set([...C,...rK]));if(K.length===C.length)continue;T.self=K;let N=JSON.stringify(T);await an`
273
273
  UPDATE "organizationRole"
@@ -331,20 +331,20 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
331
331
  ALTER TABLE async_research_jobs
332
332
  ADD CONSTRAINT chk_async_research_jobs_status
333
333
  CHECK (status IN ('pending','polling','completed','failed','cancelled','abandoned'))
334
- `.execute(_)}async function Ut(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var Ku={};m(Ku,{up:()=>Jt,down:()=>$t});async function Jt(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function $t(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var tu={};m(tu,{up:()=>jt,down:()=>Wt});import{sql as I}from"kysely";async function jt(_){await _.schema.createTable("secrets").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("encrypted_value","text",(x)=>x.notNull()).addColumn("description","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await I`
334
+ `.execute(_)}async function Ut(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var Ku={};m(Ku,{up:()=>Jt,down:()=>$t});async function Jt(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function $t(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var tu={};m(tu,{up:()=>jt,down:()=>Wt});import{sql as i}from"kysely";async function jt(_){await _.schema.createTable("secrets").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("encrypted_value","text",(x)=>x.notNull()).addColumn("description","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(i`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(i`CURRENT_TIMESTAMP`)).execute(),await i`
335
335
  ALTER TABLE secrets
336
336
  ADD CONSTRAINT chk_secrets_scope CHECK (scope IN ('user', 'organization'))
337
- `.execute(_),await I`
337
+ `.execute(_),await i`
338
338
  ALTER TABLE secrets
339
339
  ADD CONSTRAINT chk_secrets_scope_user_id CHECK (
340
340
  (scope = 'user' AND user_id IS NOT NULL)
341
341
  OR (scope = 'organization' AND user_id IS NULL)
342
342
  )
343
- `.execute(_),await _.schema.createIndex("idx_secrets_org").on("secrets").column("organization_id").execute(),await I`
343
+ `.execute(_),await _.schema.createIndex("idx_secrets_org").on("secrets").column("organization_id").execute(),await i`
344
344
  CREATE UNIQUE INDEX idx_secrets_user_name
345
345
  ON secrets (organization_id, user_id, lower(name))
346
346
  WHERE scope = 'user'
347
- `.execute(_),await I`
347
+ `.execute(_),await i`
348
348
  CREATE UNIQUE INDEX idx_secrets_org_name
349
349
  ON secrets (organization_id, lower(name))
350
350
  WHERE scope = 'organization'
@@ -695,7 +695,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
695
695
  UPDATE threads
696
696
  SET sandbox_provider_kind = 'desktop'
697
697
  WHERE sandbox_provider_kind = 'remote-user'
698
- `.execute(_)}async function At(_){}var ju={};m(ju,{up:()=>St,down:()=>it});import{sql as e}from"kysely";async function St(_){await e`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await e`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event', 'webhook'))`.execute(_),await _.schema.alterTable("automation_triggers").addColumn("api_key_id","text").execute()}async function it(_){await _.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await e`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(_),await e`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await e`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_)}var Wu={};m(Wu,{up:()=>It,down:()=>kt});import{sql as _T}from"kysely";async function It(_){await _T`
698
+ `.execute(_)}async function At(_){}var ju={};m(ju,{up:()=>It,down:()=>St});import{sql as e}from"kysely";async function It(_){await e`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await e`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event', 'webhook'))`.execute(_),await _.schema.alterTable("automation_triggers").addColumn("api_key_id","text").execute()}async function St(_){await _.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await e`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(_),await e`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await e`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_)}var Wu={};m(Wu,{up:()=>it,down:()=>kt});import{sql as _T}from"kysely";async function it(_){await _T`
699
699
  ALTER TABLE organization_domains
700
700
  DROP CONSTRAINT IF EXISTS organization_domains_domain_key
701
701
  `.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function kt(_){await _.schema.dropIndex("organization_domains_domain_idx").ifExists().execute(),await _T`
@@ -900,7 +900,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
900
900
  UPDATE sandbox_runner_state
901
901
  SET sandbox_provider_kind = ${W}
902
902
  WHERE sandbox_provider_kind = ${X}
903
- `.execute(_),await uT(_,X,W)}var Su={};m(Su,{up:()=>PE,down:()=>UE});import{sql as Y}from"kysely";async function PE(_){await Y`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(Y`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(Y`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(Y`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Y`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 Y`
903
+ `.execute(_),await uT(_,X,W)}var Iu={};m(Iu,{up:()=>PE,down:()=>UE});import{sql as Y}from"kysely";async function PE(_){await Y`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(Y`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(Y`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(Y`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Y`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 Y`
904
904
  CREATE INDEX idx_org_fs_entry_parent
905
905
  ON org_fs_entry (organization_id, volume, parent)
906
906
  WHERE deleted_at IS NULL
@@ -908,7 +908,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
908
908
  CREATE INDEX idx_org_fs_entry_usage
909
909
  ON org_fs_entry (organization_id, volume, size)
910
910
  WHERE kind = 'file' AND deleted_at IS NULL
911
- `.execute(_)}async function UE(_){await _.schema.dropTable("org_fs_entry").execute(),await Y`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(_)}var iu={};m(iu,{up:()=>JE,down:()=>$E});async function JE(_){await _.schema.alterTable("automations").addColumn("tools","text").execute()}async function $E(_){await _.schema.alterTable("automations").dropColumn("tools").execute()}var Iu={};m(Iu,{up:()=>jE,down:()=>WE});import{sql as mT}from"kysely";async function jE(_){await mT`
911
+ `.execute(_)}async function UE(_){await _.schema.dropTable("org_fs_entry").execute(),await Y`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(_)}var Su={};m(Su,{up:()=>JE,down:()=>$E});async function JE(_){await _.schema.alterTable("automations").addColumn("tools","text").execute()}async function $E(_){await _.schema.alterTable("automations").dropColumn("tools").execute()}var iu={};m(iu,{up:()=>jE,down:()=>WE});import{sql as mT}from"kysely";async function jE(_){await mT`
912
912
  INSERT INTO "organization" (id, name, slug, "createdAt")
913
913
  SELECT
914
914
  'org_orgfs_public_skills',
@@ -928,7 +928,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
928
928
  UPDATE downstream_tokens
929
929
  SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
930
930
  WHERE "expiresAt" IS NULL
931
- `.execute(_)}async function FE(_){}var vu={};m(vu,{up:()=>fE,down:()=>HE});async function fE(_){await _.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function HE(_){await _.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var qu={};m(qu,{up:()=>ME,down:()=>YE});async function ME(_){await _.schema.alterTable("org_file_configs").addColumn("credential_type","text",(x)=>x.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function YE(_){await _.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var gu={};m(gu,{up:()=>BE,down:()=>GE});async function BE(_){await _.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await _.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function GE(_){await _.schema.alterTable("threads").dropColumn("failure_kind").execute(),await _.schema.alterTable("threads").dropColumn("failure_reason").execute()}var cu={};m(cu,{up:()=>OE,down:()=>wE});async function OE(_){await _.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function wE(_){await _.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var hu={};m(hu,{up:()=>AE,down:()=>SE});async function AE(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}async function SE(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}var ou={};m(ou,{up:()=>iE,down:()=>IE});import{sql as TT}from"kysely";async function iE(_){await _.schema.createTable("org_sites").addColumn("slug","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(x)=>x.notNull().defaultTo("deco-import")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(TT`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(TT`now()`)).execute(),await _.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function IE(_){await _.schema.dropTable("org_sites").execute()}var au={};m(au,{up:()=>kE,down:()=>pE});async function kE(_){await _.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function pE(_){await _.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var ru={};m(ru,{up:()=>VE,down:()=>vE});import{sql as $}from"kysely";async function VE(_){await _.schema.alterTable("organization_domains").addColumn("id","text").addColumn("join_mode","text").addColumn("verification_status","text").addColumn("verification_method","text").addColumn("verification_token","text").addColumn("verified_at","timestamptz").execute(),await $`
931
+ `.execute(_)}async function FE(_){}var vu={};m(vu,{up:()=>fE,down:()=>HE});async function fE(_){await _.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function HE(_){await _.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var qu={};m(qu,{up:()=>ME,down:()=>YE});async function ME(_){await _.schema.alterTable("org_file_configs").addColumn("credential_type","text",(x)=>x.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function YE(_){await _.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var gu={};m(gu,{up:()=>BE,down:()=>GE});async function BE(_){await _.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await _.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function GE(_){await _.schema.alterTable("threads").dropColumn("failure_kind").execute(),await _.schema.alterTable("threads").dropColumn("failure_reason").execute()}var cu={};m(cu,{up:()=>OE,down:()=>wE});async function OE(_){await _.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function wE(_){await _.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var hu={};m(hu,{up:()=>AE,down:()=>IE});async function AE(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}async function IE(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}var ou={};m(ou,{up:()=>SE,down:()=>iE});import{sql as TT}from"kysely";async function SE(_){await _.schema.createTable("org_sites").addColumn("slug","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(x)=>x.notNull().defaultTo("deco-import")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(TT`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(TT`now()`)).execute(),await _.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function iE(_){await _.schema.dropTable("org_sites").execute()}var au={};m(au,{up:()=>kE,down:()=>pE});async function kE(_){await _.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function pE(_){await _.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var ru={};m(ru,{up:()=>VE,down:()=>vE});import{sql as $}from"kysely";async function VE(_){await _.schema.alterTable("organization_domains").addColumn("id","text").addColumn("join_mode","text").addColumn("verification_status","text").addColumn("verification_method","text").addColumn("verification_token","text").addColumn("verified_at","timestamptz").execute(),await $`
932
932
  UPDATE organization_domains
933
933
  SET
934
934
  id = gen_random_uuid()::text,
@@ -1026,11 +1026,11 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
1026
1026
  ) ranked
1027
1027
  WHERE ranked.rn > 1
1028
1028
  )
1029
- `.execute(_)}async function Qz(_){}var Pm={};m(Pm,{up:()=>Lz,down:()=>Rz});async function Lz(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function Rz(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var Um={};m(Um,{up:()=>Fz,down:()=>fz});async function Fz(_){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 fz(_){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 Jm={};m(Jm,{up:()=>Mz,down:()=>Yz});import{sql as Hz}from"kysely";async function Mz(_){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(Hz`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 Yz(_){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 $m={};m($m,{up:()=>Gz,down:()=>Oz});import{sql as Bz}from"kysely";async function Gz(_){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(Bz`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 Oz(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var jm={};m(jm,{up:()=>wz,down:()=>Az});import{sql as J_}from"kysely";async function wz(_){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(J_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(J_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",J_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",J_`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 Az(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var Wm={};m(Wm,{up:()=>Sz,down:()=>iz});import{sql as $_}from"kysely";async function Sz(_){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($_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo($_`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($_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await $_`
1029
+ `.execute(_)}async function Qz(_){}var Pm={};m(Pm,{up:()=>Lz,down:()=>Rz});async function Lz(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function Rz(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var Um={};m(Um,{up:()=>Fz,down:()=>fz});async function Fz(_){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 fz(_){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 Jm={};m(Jm,{up:()=>Mz,down:()=>Yz});import{sql as Hz}from"kysely";async function Mz(_){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(Hz`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 Yz(_){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 $m={};m($m,{up:()=>Gz,down:()=>Oz});import{sql as Bz}from"kysely";async function Gz(_){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(Bz`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 Oz(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var jm={};m(jm,{up:()=>wz,down:()=>Az});import{sql as J_}from"kysely";async function wz(_){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(J_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(J_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",J_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",J_`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 Az(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var Wm={};m(Wm,{up:()=>Iz,down:()=>Sz});import{sql as $_}from"kysely";async function Iz(_){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($_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo($_`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($_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await $_`
1030
1030
  insert into organization_billing (organization_id, legacy)
1031
1031
  select id, true from organization
1032
1032
  on conflict (organization_id) do nothing
1033
- `.execute(_)}async function iz(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var Xm={};m(Xm,{up:()=>Iz,down:()=>kz});import{sql as CT}from"kysely";async function Iz(_){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 kz(_){await _.schema.dropTable("seat_change_log").execute()}var Zm={};m(Zm,{up:()=>pz,down:()=>Vz});async function pz(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function Vz(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var Dm={};m(Dm,{up:()=>vz,down:()=>qz});import{sql as NT}from"kysely";async function vz(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await NT`
1033
+ `.execute(_)}async function Sz(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var Xm={};m(Xm,{up:()=>iz,down:()=>kz});import{sql as CT}from"kysely";async function iz(_){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 kz(_){await _.schema.dropTable("seat_change_log").execute()}var Zm={};m(Zm,{up:()=>pz,down:()=>Vz});async function pz(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function Vz(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var Dm={};m(Dm,{up:()=>vz,down:()=>qz});import{sql as NT}from"kysely";async function vz(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await NT`
1034
1034
  create unique index organization_billing_stripe_subscription_id_uq
1035
1035
  on organization_billing (stripe_subscription_id)
1036
1036
  where stripe_subscription_id is not null
@@ -1053,7 +1053,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
1053
1053
  SELECT id, app_name, connection_url, title, slug
1054
1054
  FROM connections
1055
1055
  WHERE connection_type != 'VIRTUAL'
1056
- `.execute(_),u=0;for(let T of x.rows){let n=Ky(T);if(n===T.slug)continue;await PT`UPDATE connections SET slug = ${n} WHERE id = ${T.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function Ey(){}var Am={};m(Am,{up:()=>yy,down:()=>Py});import{sql as zy}from"kysely";async function yy(_){await zy`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 Py(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var im={};m(im,{up:()=>Jy,down:()=>$y,ACTIONS:()=>Sm});import{sql as W_}from"kysely";var Sm=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],Uy=new Set(["review_requested","review_approved","review_changes_requested"]);async function Jy(_){await UT(_,Sm)}async function $y(_){await UT(_,Sm.filter((x)=>!Uy.has(x)))}async function UT(_,x){await W_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await W_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${W_.join(x.map((u)=>W_.lit(u)))}))`.execute(_)}var Im={};m(Im,{up:()=>Wy,down:()=>Xy});import{sql as jy}from"kysely";async function Wy(_){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(jy`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 Xy(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var pm={};m(pm,{up:()=>Dy,down:()=>Qy,ACTIONS:()=>km});import{sql as X_}from"kysely";var km=["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"],Zy=new Set(["merge_conflict_resolution"]);async function Dy(_){await JT(_,km)}async function Qy(_){await JT(_,km.filter((x)=>!Zy.has(x)))}async function JT(_,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 Vm={};m(Vm,{up:()=>Ly,down:()=>Ry});import{sql as d}from"kysely";async function Ly(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await d`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 Ry(_){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 d`
1056
+ `.execute(_),u=0;for(let T of x.rows){let n=Ky(T);if(n===T.slug)continue;await PT`UPDATE connections SET slug = ${n} WHERE id = ${T.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function Ey(){}var Am={};m(Am,{up:()=>yy,down:()=>Py});import{sql as zy}from"kysely";async function yy(_){await zy`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 Py(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var Sm={};m(Sm,{up:()=>Jy,down:()=>$y,ACTIONS:()=>Im});import{sql as W_}from"kysely";var Im=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],Uy=new Set(["review_requested","review_approved","review_changes_requested"]);async function Jy(_){await UT(_,Im)}async function $y(_){await UT(_,Im.filter((x)=>!Uy.has(x)))}async function UT(_,x){await W_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await W_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${W_.join(x.map((u)=>W_.lit(u)))}))`.execute(_)}var im={};m(im,{up:()=>Wy,down:()=>Xy});import{sql as jy}from"kysely";async function Wy(_){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(jy`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 Xy(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var pm={};m(pm,{up:()=>Dy,down:()=>Qy,ACTIONS:()=>km});import{sql as X_}from"kysely";var km=["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"],Zy=new Set(["merge_conflict_resolution"]);async function Dy(_){await JT(_,km)}async function Qy(_){await JT(_,km.filter((x)=>!Zy.has(x)))}async function JT(_,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 Vm={};m(Vm,{up:()=>Ly,down:()=>Ry});import{sql as d}from"kysely";async function Ly(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await d`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 Ry(_){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 d`
1057
1057
  create index idx_org_billing_benefits_pending
1058
1058
  on organization_billing (updated_at)
1059
1059
  where benefits_reference_id is not null
@@ -1087,7 +1087,7 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
1087
1087
  create index idx_task_quota_claims_org_period_live
1088
1088
  on task_quota_claims (organization_id, period_key)
1089
1089
  where state <> 'released'
1090
- `.execute(_)}async function Oy(_){await cm`drop index if exists idx_task_quota_claims_org_period_live`.execute(_),await _.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await _.schema.alterTable("task_quota_claims").dropColumn("state").execute()}var om={};m(om,{up:()=>wy,down:()=>Ay});async function wy(_){await _.schema.createTable("claude_subscriptions").addColumn("user_id","text",(x)=>x.primaryKey()).addColumn("encrypted_access_token","text",(x)=>x.notNull()).addColumn("expires_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull()).execute()}async function Ay(_){await _.schema.dropTable("claude_subscriptions").ifExists().execute()}var am={};m(am,{up:()=>Sy,down:()=>iy});async function Sy(_){await _.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function iy(_){await _.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var rm={};m(rm,{up:()=>Iy,down:()=>ky});import{sql as WT}from"kysely";async function Iy(_){await _.schema.alterTable("organization_billing").addColumn("free_task_executions","integer",(x)=>x.check(WT`free_task_executions > 0`)).addColumn("monthly_task_executions","integer",(x)=>x.check(WT`monthly_task_executions > 0`)).execute()}async function ky(_){await _.schema.alterTable("organization_billing").dropColumn("free_task_executions").dropColumn("monthly_task_executions").execute()}var em={};m(em,{up:()=>Vy,down:()=>vy});import{sql as py}from"kysely";async function Vy(_){await py`
1090
+ `.execute(_)}async function Oy(_){await cm`drop index if exists idx_task_quota_claims_org_period_live`.execute(_),await _.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await _.schema.alterTable("task_quota_claims").dropColumn("state").execute()}var om={};m(om,{up:()=>wy,down:()=>Ay});async function wy(_){await _.schema.createTable("claude_subscriptions").addColumn("user_id","text",(x)=>x.primaryKey()).addColumn("encrypted_access_token","text",(x)=>x.notNull()).addColumn("expires_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull()).execute()}async function Ay(_){await _.schema.dropTable("claude_subscriptions").ifExists().execute()}var am={};m(am,{up:()=>Iy,down:()=>Sy});async function Iy(_){await _.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function Sy(_){await _.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var rm={};m(rm,{up:()=>iy,down:()=>ky});import{sql as WT}from"kysely";async function iy(_){await _.schema.alterTable("organization_billing").addColumn("free_task_executions","integer",(x)=>x.check(WT`free_task_executions > 0`)).addColumn("monthly_task_executions","integer",(x)=>x.check(WT`monthly_task_executions > 0`)).execute()}async function ky(_){await _.schema.alterTable("organization_billing").dropColumn("free_task_executions").dropColumn("monthly_task_executions").execute()}var em={};m(em,{up:()=>Vy,down:()=>vy});import{sql as py}from"kysely";async function Vy(_){await py`
1091
1091
  CREATE INDEX idx_task_board_items_pending_review
1092
1092
  ON task_board_items (updated_at, id)
1093
1093
  WHERE status = 'in_review'
@@ -1263,21 +1263,21 @@ var aT=Object.defineProperty;var rT=(_)=>_;function eT(_,x){this[_]=rT.bind(null
1263
1263
  SET last_synced_at = NULL,
1264
1264
  last_sync_error = NULL
1265
1265
  WHERE last_synced_at IS NOT NULL
1266
- `.execute(_)}async function w0(){}var Zn={};m(Zn,{up:()=>S0,down:()=>i0});import{sql as A0}from"kysely";async function S0(_){await A0`
1266
+ `.execute(_)}async function w0(){}var Zn={};m(Zn,{up:()=>I0,down:()=>S0});import{sql as A0}from"kysely";async function I0(_){await A0`
1267
1267
  UPDATE org_jira_integrations
1268
1268
  SET last_synced_at = NULL,
1269
1269
  last_sync_error = NULL
1270
1270
  WHERE last_synced_at IS NOT NULL
1271
- `.execute(_)}async function i0(){}var Qn={};m(Qn,{up:()=>I0,down:()=>k0});import{sql as Dn}from"kysely";async function I0(_){await Dn`
1271
+ `.execute(_)}async function S0(){}var Qn={};m(Qn,{up:()=>i0,down:()=>k0});import{sql as Dn}from"kysely";async function i0(_){await Dn`
1272
1272
  ALTER TABLE org_jira_integrations
1273
1273
  ADD COLUMN rescan_pending boolean NOT NULL DEFAULT false
1274
1274
  `.execute(_),await Dn`
1275
1275
  UPDATE org_jira_integrations
1276
1276
  SET rescan_pending = true
1277
1277
  WHERE last_synced_at IS NULL
1278
- `.execute(_)}async function k0(_){await Dn`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var Ln={};m(Ln,{up:()=>p0,down:()=>V0});async function p0(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function V0(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var v0={"001-initial-schema":Y_,"002-organization-settings":B_,"003-connection-schema-align":G_,"004-remove-models-binding":O_,"005-connection-configuration":w_,"006-add-views-to-settings":A_,"007-monitoring-logs":S_,"008-event-bus":i_,"009-drop-audit-logs":I_,"010-gateways":k_,"011-gateway-icon":p_,"012-gateway-tool-selection-mode":V_,"013-monitoring-user-agent-gateway":v_,"014-gateway-resources-prompts":q_,"015-monitoring-properties":g_,"016-downstream-token-client-info":c_,"017-downstream-token-remove-userid":h_,"018-drop-gateway-tool-selection-strategy":o_,"019-remove-gateway-is-default":a_,"020-enabled-plugins":r_,"021-threads":e_,"022-rename-gateway-to-virtual-mcp":s_,"023-optimize-thread-indexes":l_,"024-consolidate-virtual-mcp":d_,"025-add-monitoring-virtual-mcp-id":b_,"026-restrict-child-connection-delete":_x,"027-update-management-mcp-url":ux,"028-update-management-mcp-to-self":nx,"029-add-updated-by-to-connections":Tx,"030-member-tags":Cx,"031-add-dependency-mode":Nx,"032-projects":Kx,"033-thread-status":tx,"034-monitoring-dashboards":Ex,"035-project-connections":zx,"036-update-registry-url":yx,"037-ai-provider-keys":Px,"038-oauth-pkce-states":Ux,"039-automations":Jx,"040-replace-next-run-at-with-last-run-at":$x,"041-ai-provider-keys-unique-constraint":jx,"042-rename-mesh-mcp-to-cms-mcp":Wx,"043-rename-cms-mcp-to-deco-cms":Xx,"044-drop-connections-tools-column":Zx,"045-thread-context-start-message":Dx,"046-remove-object-storage-plugin":Lx,"047-add-next-run-at":Rx,"048-merge-projects-agents":fx,"049-remove-org-admin-projects":Hx,"050-durable-agent-runs":Mx,"051-org-sso":Bx,"052-thread-agent-ids":Gx,"053-registry-config":Ox,"054-connection-slug":Ax,"055-spaces":Sx,"056-automation-project-scope":ix,"057-thread-virtual-mcp-id":Ix,"058-trigger-callback-tokens":kx,"059-kv":px,"060-member-index":Vx,"061-downstream-token-connection-index":vx,"062-private-registry":qx,"063-event-subscriptions-enabled-boolean":gx,"064-brand-context":cx,"065-organization-domains":hx,"066-brand-context-structured":ox,"067-threads-metadata":ax,"068-threads-branch":rx,"069-sandbox-runner-state":ex,"070-model-categories":sx,"071-default-home-agents":lx,"072-ai-provider-key-preset-id":dx,"073-backfill-basic-usage-roles":bx,"074-sandbox-runner-state-handle-nonunique":_u,"075-thread-inflight-async-jobs":xu,"076-automations-drop-agent-json":uu,"077-tier-only-model-selection":nu,"078-automation-tool-call-kind":Tu,"079-strip-legacy-freestyle-vm-map-entries":Cu,"080-async-research-jobs":Nu,"081-async-research-jobs-result-content":Ku,"082-secrets":tu,"083-thread-run-locally":Eu,"084-drop-host-sandbox-rows":zu,"085-rename-runner-kind":yu,"086-thread-pins-and-vm-map-rekey":Pu,"087-fix-vm-map-rekey":Uu,"088-purge-cli-activate-keys":Ju,"089-rename-remote-user-to-desktop":$u,"090-automation-webhook-triggers":ju,"091-organization-domains-allow-multi":Wu,"092-sandbox-naming-uniformization":Xu,"093-backfill-global-search-basic-usage":Zu,"094-org-file-configs":Qu,"095-remove-automation-tool-call-kind":Lu,"096-org-file-configs-public-url-base":Ru,"097-drop-local-docker-sandbox-state":fu,"098-thread-message-parts":Hu,"099-run-fence":Mu,"100-link-transport":Yu,"101-cancel-requested-at":Bu,"102-observational-agent":Gu,"103-revert-observational-agent":Ou,"104-agent-sandbox-provider-kind":Au,"105-org-fs":Su,"106-automation-tools":iu,"107-org-fs-public-org":Iu,"108-automation-max-agent-steps":ku,"109-thread-message-parts-per-message-seq":pu,"110-backfill-ghs-token-expiry":Vu,"111-org-fs-thread-id":vu,"112-org-file-configs-credential-type":qu,"113-thread-failure-reason":gu,"114-run-acked-seq":cu,"115-thread-projected-seq":hu,"116-org-sites":ou,"117-org-file-configs-site-slug":au,"118-organization-domains-multi-verify":ru,"119-organization-join-requests":eu,"120-org-fs-read-public":su,"121-org-fs-share-password":lu,"122-split-web-research-tier":_m,"123-connection-credential-vault":xm,"124-drop-thread-projected-seq":um,"125-github-child-single-parent":mm,"126-task-board":Tm,"127-task-board-due-date":Cm,"128-reports-only":Nm,"129-task-board-assigned-by":Km,"130-task-board-thread-id":tm,"131-task-board-thread-link-cascade":Em,"132-task-board-item-prs":zm,"133-dedupe-duplicate-members":ym,"134-drop-task-board-enabled":Pm,"135-task-board-item-fk-cascade":Um,"136-task-board-import-idempotency":Jm,"137-agent-sandbox-runner-state":$m,"138-agent-sandbox-sessions":jm,"139-organization-billing":Wm,"140-seat-change-log":Xm,"141-benefits-sync-pending":Zm,"142-stripe-event-watermark":Dm,"143-armed-report-url":Qm,"144-benefits-pending-index":Lm,"145-user-model-preferences":Rm,"146-organization-main-agent":Fm,"147-drop-agent-sandbox-tables":fm,"148-org-flags":Hm,"149-task-board-item-sort-order":Mm,"150-task-board-activity":Ym,"151-task-board-tags":Gm,"152-repair-connection-slug":wm,"153-task-board-latest-assistant-part-index":Am,"154-task-board-qa-activity":im,"155-task-board-review-claims":Im,"156-task-board-conflict-activity":pm,"157-drop-seat-billing":Vm,"158-drop-github-child-single-parent":vm,"159-task-board-comments":qm,"160-task-quota-billing":gm,"161-task-quota-claim-state":hm,"162-claude-subscriptions":om,"163-task-board-item-dismissed":am,"164-per-org-task-quota":rm,"165-task-board-pending-review-index":em,"166-task-board-last-swept-at":sm,"167-task-board-run-retry":lm,"168-org-repo-sync":bm,"169-task-board-merge-failed-activity":xn,"170-task-board-item-repo":un,"171-jira-integration":mn,"172-task-board-item-key-seq":nn,"173-thread-github-repo-connection-index":Tn,"174-thread-message-parts-persisted-at":Nn,"175-task-board-sprints":Kn,"176-task-board-done-sweep-index":tn,"177-notifications":En,"178-jira-status-mapping-array":zn,"179-notification-mentioned":Pn,"180-task-board-item-type":Jn,"181-task-board-item-type-required":$n,"182-task-board-sprints-entities":jn,"183-drop-jira-jql-filter":Wn,"184-jira-rescan-after-scope-change":Xn,"185-jira-rescan-existing-cards":Zn,"186-jira-rescan-pending-flag":Qn,"187-task-board-comment-thread":Ln},Rn=v0;import{getMigrations as WP}from"better-auth/db";import{sso as XP}from"@better-auth/sso";import{organization as ZP}from"@decocms/better-auth/plugins";import{admin as DP,apiKey as QP,jwt as LP,magicLink as RP,mcp as FP,openAPI as fP}from"better-auth/plugins";import{emailOTP as HP}from"better-auth/plugins/email-otp";import{Kysely as zP,PostgresDialect as kT}from"kysely";import{Pool as pT}from"pg";import{homedir as q0}from"os";var g0=new Set(["all","worker","api"]);function c0(_){let x=(_??"").trim();return g0.has(x)?x:"all"}var h0=new Set(["production","development","test"]);function o0(_){let x=(_??"").trim();return h0.has(x)?x:"development"}function H(_){return _==="true"||_==="1"}function fn(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function R(_,x,u,T){return fn(_,x,T)??u}function a0(_,x,u,T){if(x===void 0||x==="")return u;let n=Number(x);if(!Number.isSafeInteger(n)||n<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&n>T)throw Error(`${_} must be at most ${T}`);return n}function Fn(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function MT(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function r0(_){return _===void 0||_===""||_==="true"||_==="1"}function b(_,x){return _||x}function YT(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${q0()}/deco`,T=_.localMode,n=_.nodeEnv||o0(x.NODE_ENV),C=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:n,port:R("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:b(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:H(x.DATABASE_PG_SSL),databasePoolMax:R("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:R("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:b(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:H(x.DISABLE_RATE_LIMIT),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((N)=>N.trim().toLowerCase()).filter(Boolean),clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:fn("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:H(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:a0("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:H(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:R("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:R("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:R("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:H(x.ENABLE_DECO_IMPORT),mcpCacheEnabled:Fn(x.MCP_CACHE_ENABLED,n!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:H(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:R("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:R("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:Fn(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:R("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:r0(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:fn("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:c0(b(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:H(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:H(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Fn(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:H(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:R("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:b(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:b(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:MT(x.DATABASE_URL),externalNatsUrl:MT(C),skipMigrations:_.skipMigrations}}var R_=null;function v(){if(!R_)e0();return R_}function e0(){if(R_)return;let _={...process.env},x=YT({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);R_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as xP,metrics as uP,propagation as Wj,ROOT_CONTEXT as Xj,SpanStatusCode as Zj,trace as mP}from"@opentelemetry/api";import{logs as nP,SeverityNumber as Hn}from"@opentelemetry/api-logs";import{OTLPLogExporter as Lj}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as TP}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as fj}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Mj}from"@opentelemetry/instrumentation-runtime-node";import{context as y$,propagation as P$,SpanKind as U$,SpanStatusCode as J$}from"@opentelemetry/api";var j$=globalThis.fetch;import{ExportResultCode as Y$}from"@opentelemetry/core";import{ExportResultCode as F_}from"@opentelemetry/core";import{mkdir as s0,rename as l0,writeFile as d0}from"fs/promises";import{join as f_}from"path";class H_{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:F_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:F_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:F_.FAILED}});return Promise.resolve({code:F_.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 n of _){let C=x.get(n.partition);if(!C)C=[],x.set(n.partition,C);C.push(n.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([n,C])=>this.writeNDJSON(C,n).then(()=>n))),T=u.find((n)=>n.status==="rejected");if(T){let n=new Set;for(let K of u)if(K.status==="fulfilled")n.add(K.value);let C=_.filter((K)=>!n.has(K.partition));this.bufferItems=C.concat(this.bufferItems),this.bufferBytes=0;for(let K of this.bufferItems)this.bufferBytes+=Buffer.byteLength(K.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],n=x?f_(this.basePath,x,...T):f_(this.basePath,...T);if(!this.knownDirs.has(n))await s0(n,{recursive:!0,mode:448}),this.knownDirs.add(n);let C=`${crypto.randomUUID()}.ndjson`,K=f_(n,`.${C}.tmp`),N=f_(n,C),t=_.join(`
1278
+ `.execute(_)}async function k0(_){await Dn`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var Ln={};m(Ln,{up:()=>p0,down:()=>V0});async function p0(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function V0(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var v0={"001-initial-schema":Y_,"002-organization-settings":B_,"003-connection-schema-align":G_,"004-remove-models-binding":O_,"005-connection-configuration":w_,"006-add-views-to-settings":A_,"007-monitoring-logs":I_,"008-event-bus":S_,"009-drop-audit-logs":i_,"010-gateways":k_,"011-gateway-icon":p_,"012-gateway-tool-selection-mode":V_,"013-monitoring-user-agent-gateway":v_,"014-gateway-resources-prompts":q_,"015-monitoring-properties":g_,"016-downstream-token-client-info":c_,"017-downstream-token-remove-userid":h_,"018-drop-gateway-tool-selection-strategy":o_,"019-remove-gateway-is-default":a_,"020-enabled-plugins":r_,"021-threads":e_,"022-rename-gateway-to-virtual-mcp":s_,"023-optimize-thread-indexes":l_,"024-consolidate-virtual-mcp":d_,"025-add-monitoring-virtual-mcp-id":b_,"026-restrict-child-connection-delete":_x,"027-update-management-mcp-url":ux,"028-update-management-mcp-to-self":nx,"029-add-updated-by-to-connections":Tx,"030-member-tags":Cx,"031-add-dependency-mode":Nx,"032-projects":Kx,"033-thread-status":tx,"034-monitoring-dashboards":Ex,"035-project-connections":zx,"036-update-registry-url":yx,"037-ai-provider-keys":Px,"038-oauth-pkce-states":Ux,"039-automations":Jx,"040-replace-next-run-at-with-last-run-at":$x,"041-ai-provider-keys-unique-constraint":jx,"042-rename-mesh-mcp-to-cms-mcp":Wx,"043-rename-cms-mcp-to-deco-cms":Xx,"044-drop-connections-tools-column":Zx,"045-thread-context-start-message":Dx,"046-remove-object-storage-plugin":Lx,"047-add-next-run-at":Rx,"048-merge-projects-agents":fx,"049-remove-org-admin-projects":Hx,"050-durable-agent-runs":Mx,"051-org-sso":Bx,"052-thread-agent-ids":Gx,"053-registry-config":Ox,"054-connection-slug":Ax,"055-spaces":Ix,"056-automation-project-scope":Sx,"057-thread-virtual-mcp-id":ix,"058-trigger-callback-tokens":kx,"059-kv":px,"060-member-index":Vx,"061-downstream-token-connection-index":vx,"062-private-registry":qx,"063-event-subscriptions-enabled-boolean":gx,"064-brand-context":cx,"065-organization-domains":hx,"066-brand-context-structured":ox,"067-threads-metadata":ax,"068-threads-branch":rx,"069-sandbox-runner-state":ex,"070-model-categories":sx,"071-default-home-agents":lx,"072-ai-provider-key-preset-id":dx,"073-backfill-basic-usage-roles":bx,"074-sandbox-runner-state-handle-nonunique":_u,"075-thread-inflight-async-jobs":xu,"076-automations-drop-agent-json":uu,"077-tier-only-model-selection":nu,"078-automation-tool-call-kind":Tu,"079-strip-legacy-freestyle-vm-map-entries":Cu,"080-async-research-jobs":Nu,"081-async-research-jobs-result-content":Ku,"082-secrets":tu,"083-thread-run-locally":Eu,"084-drop-host-sandbox-rows":zu,"085-rename-runner-kind":yu,"086-thread-pins-and-vm-map-rekey":Pu,"087-fix-vm-map-rekey":Uu,"088-purge-cli-activate-keys":Ju,"089-rename-remote-user-to-desktop":$u,"090-automation-webhook-triggers":ju,"091-organization-domains-allow-multi":Wu,"092-sandbox-naming-uniformization":Xu,"093-backfill-global-search-basic-usage":Zu,"094-org-file-configs":Qu,"095-remove-automation-tool-call-kind":Lu,"096-org-file-configs-public-url-base":Ru,"097-drop-local-docker-sandbox-state":fu,"098-thread-message-parts":Hu,"099-run-fence":Mu,"100-link-transport":Yu,"101-cancel-requested-at":Bu,"102-observational-agent":Gu,"103-revert-observational-agent":Ou,"104-agent-sandbox-provider-kind":Au,"105-org-fs":Iu,"106-automation-tools":Su,"107-org-fs-public-org":iu,"108-automation-max-agent-steps":ku,"109-thread-message-parts-per-message-seq":pu,"110-backfill-ghs-token-expiry":Vu,"111-org-fs-thread-id":vu,"112-org-file-configs-credential-type":qu,"113-thread-failure-reason":gu,"114-run-acked-seq":cu,"115-thread-projected-seq":hu,"116-org-sites":ou,"117-org-file-configs-site-slug":au,"118-organization-domains-multi-verify":ru,"119-organization-join-requests":eu,"120-org-fs-read-public":su,"121-org-fs-share-password":lu,"122-split-web-research-tier":_m,"123-connection-credential-vault":xm,"124-drop-thread-projected-seq":um,"125-github-child-single-parent":mm,"126-task-board":Tm,"127-task-board-due-date":Cm,"128-reports-only":Nm,"129-task-board-assigned-by":Km,"130-task-board-thread-id":tm,"131-task-board-thread-link-cascade":Em,"132-task-board-item-prs":zm,"133-dedupe-duplicate-members":ym,"134-drop-task-board-enabled":Pm,"135-task-board-item-fk-cascade":Um,"136-task-board-import-idempotency":Jm,"137-agent-sandbox-runner-state":$m,"138-agent-sandbox-sessions":jm,"139-organization-billing":Wm,"140-seat-change-log":Xm,"141-benefits-sync-pending":Zm,"142-stripe-event-watermark":Dm,"143-armed-report-url":Qm,"144-benefits-pending-index":Lm,"145-user-model-preferences":Rm,"146-organization-main-agent":Fm,"147-drop-agent-sandbox-tables":fm,"148-org-flags":Hm,"149-task-board-item-sort-order":Mm,"150-task-board-activity":Ym,"151-task-board-tags":Gm,"152-repair-connection-slug":wm,"153-task-board-latest-assistant-part-index":Am,"154-task-board-qa-activity":Sm,"155-task-board-review-claims":im,"156-task-board-conflict-activity":pm,"157-drop-seat-billing":Vm,"158-drop-github-child-single-parent":vm,"159-task-board-comments":qm,"160-task-quota-billing":gm,"161-task-quota-claim-state":hm,"162-claude-subscriptions":om,"163-task-board-item-dismissed":am,"164-per-org-task-quota":rm,"165-task-board-pending-review-index":em,"166-task-board-last-swept-at":sm,"167-task-board-run-retry":lm,"168-org-repo-sync":bm,"169-task-board-merge-failed-activity":xn,"170-task-board-item-repo":un,"171-jira-integration":mn,"172-task-board-item-key-seq":nn,"173-thread-github-repo-connection-index":Tn,"174-thread-message-parts-persisted-at":Nn,"175-task-board-sprints":Kn,"176-task-board-done-sweep-index":tn,"177-notifications":En,"178-jira-status-mapping-array":zn,"179-notification-mentioned":Pn,"180-task-board-item-type":Jn,"181-task-board-item-type-required":$n,"182-task-board-sprints-entities":jn,"183-drop-jira-jql-filter":Wn,"184-jira-rescan-after-scope-change":Xn,"185-jira-rescan-existing-cards":Zn,"186-jira-rescan-pending-flag":Qn,"187-task-board-comment-thread":Ln},Rn=v0;import{getMigrations as WP}from"better-auth/db";import{sso as XP}from"@better-auth/sso";import{organization as ZP}from"@decocms/better-auth/plugins";import{admin as DP,apiKey as QP,jwt as LP,magicLink as RP,mcp as FP,openAPI as fP}from"better-auth/plugins";import{emailOTP as HP}from"better-auth/plugins/email-otp";import{Kysely as zP,PostgresDialect as kT}from"kysely";import{Pool as pT}from"pg";import{homedir as q0}from"os";var g0=new Set(["all","worker","api"]);function c0(_){let x=(_??"").trim();return g0.has(x)?x:"all"}var h0=new Set(["production","development","test"]);function o0(_){let x=(_??"").trim();return h0.has(x)?x:"development"}function H(_){return _==="true"||_==="1"}function fn(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function R(_,x,u,T){return fn(_,x,T)??u}function a0(_,x,u,T){if(x===void 0||x==="")return u;let n=Number(x);if(!Number.isSafeInteger(n)||n<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&n>T)throw Error(`${_} must be at most ${T}`);return n}function Fn(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function MT(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function r0(_){return _===void 0||_===""||_==="true"||_==="1"}function b(_,x){return _||x}function YT(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${q0()}/deco`,T=_.localMode,n=_.nodeEnv||o0(x.NODE_ENV),C=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:n,port:R("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:b(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:H(x.DATABASE_PG_SSL),databasePoolMax:R("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:R("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:b(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:H(x.DISABLE_RATE_LIMIT),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((N)=>N.trim().toLowerCase()).filter(Boolean),clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:fn("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:H(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:a0("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:H(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:R("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:R("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:R("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:H(x.ENABLE_DECO_IMPORT),mcpCacheEnabled:Fn(x.MCP_CACHE_ENABLED,n!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:H(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:R("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:R("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:Fn(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:R("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:r0(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:fn("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:c0(b(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:H(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:H(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Fn(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:H(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:R("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:b(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:b(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:MT(x.DATABASE_URL),externalNatsUrl:MT(C),skipMigrations:_.skipMigrations}}var R_=null;function v(){if(!R_)e0();return R_}function e0(){if(R_)return;let _={...process.env},x=YT({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);R_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as xP,metrics as uP,propagation as Wj,ROOT_CONTEXT as Xj,SpanStatusCode as Zj,trace as mP}from"@opentelemetry/api";import{logs as nP,SeverityNumber as Hn}from"@opentelemetry/api-logs";import{OTLPLogExporter as Lj}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as TP}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as fj}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Mj}from"@opentelemetry/instrumentation-runtime-node";import{context as y$,propagation as P$,SpanKind as U$,SpanStatusCode as J$}from"@opentelemetry/api";var j$=globalThis.fetch;import{ExportResultCode as Y$}from"@opentelemetry/core";import{ExportResultCode as F_}from"@opentelemetry/core";import{mkdir as s0,rename as l0,writeFile as d0}from"fs/promises";import{join as f_}from"path";class H_{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:F_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:F_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:F_.FAILED}});return Promise.resolve({code:F_.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 n of _){let C=x.get(n.partition);if(!C)C=[],x.set(n.partition,C);C.push(n.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([n,C])=>this.writeNDJSON(C,n).then(()=>n))),T=u.find((n)=>n.status==="rejected");if(T){let n=new Set;for(let K of u)if(K.status==="fulfilled")n.add(K.value);let C=_.filter((K)=>!n.has(K.partition));this.bufferItems=C.concat(this.bufferItems),this.bufferBytes=0;for(let K of this.bufferItems)this.bufferBytes+=Buffer.byteLength(K.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],n=x?f_(this.basePath,x,...T):f_(this.basePath,...T);if(!this.knownDirs.has(n))await s0(n,{recursive:!0,mode:448}),this.knownDirs.add(n);let C=`${crypto.randomUUID()}.ndjson`,K=f_(n,`.${C}.tmp`),N=f_(n,C),t=_.join(`
1279
1279
  `)+`
1280
- `;await d0(K,t,{mode:384}),await l0(K,N)}}import{ExportResultCode as A$}from"@opentelemetry/core";import{AggregationTemporality as i$,DataPointType as I$}from"@opentelemetry/sdk-metrics";import{ExportResultCode as g$}from"@opentelemetry/core";var a$=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as Ij,LoggerProvider as kj}from"@opentelemetry/sdk-logs";import{detectResources as Vj,envDetector as vj,hostDetector as qj,osDetector as gj,processDetector as cj,resourceFromAttributes as hj}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as aj}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as s$}from"@opentelemetry/api-logs";import{NodeSDK as sj}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as dj,SamplingDecision as q}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as xj}from"@opentelemetry/api";var CP="__d",NP=xP("Current request"),KP=1;var GT=(_)=>{let u=new URL(_.url).searchParams.get(CP);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class OT{inner;constructor(_){this.inner=_}shouldSample(_,x,u,T,n,C){let K=_.getValue(NP);if(!K){if(this.inner)return this.inner.shouldSample(_,x,u,T,n,C);return{decision:q.RECORD_AND_SAMPLED}}let N=GT(K);if(N)return{decision:q.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":N}};if(this.inner){let t=this.inner.shouldSample(_,x,u,T,n,C);if(t.decision===q.RECORD_AND_SAMPLED){let E=crypto.randomUUID();t.attributes={...t.attributes??{},"trace.debug.id":E}}return t}return{decision:q.NOT_RECORD}}toString(){return"DebugSampler"}}class wT{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:q.RECORD_AND_SAMPLED};return{decision:q.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var _W=new TP({preventServerStart:!0}),xW=new OT(new wT(KP));var BT=mP.getTracer("studio","1.0.0"),__=uP.getMeter("studio","1.0.0"),tP=nP.getLogger("studio","1.0.0"),Mn=(_,x,u)=>{let T={},n=u,C=u[u.length-1];if(C!==null&&typeof C==="object"&&!Array.isArray(C)&&!(C instanceof Error)&&Object.getPrototypeOf(C)===Object.prototype)T=C,n=u.slice(0,-1);let K=n.map((N)=>{if(N instanceof Error)return`${N.name}: ${N.message}`;if(typeof N==="object")try{return JSON.stringify(N)}catch{return"[Object]"}return String(N)}).join(" ");tP.emit({severityNumber:_,severityText:x,body:K,attributes:{"log.source":"console",...T}})},Yn={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{Mn(Hn.ERROR,"ERROR",_),Yn.error(..._)};console.warn=(..._)=>{Mn(Hn.WARN,"WARN",_),Yn.warn(..._)};console.debug=(..._)=>{Mn(Hn.DEBUG,"DEBUG",_),Yn.debug(..._)};var Bn,AT=0,Gn=500;function EP(){if(Bn)return;let _=performance.now()+Gn;Bn=setInterval(()=>{let x=performance.now();AT=Math.max(0,x-_),_=x+Gn},Gn),Bn.unref?.()}function ST(){return EP(),AT}var yP=()=>__.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),iT=()=>__.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),IT=400,PP=100,UP=(_)=>(x)=>{let u={"db.statement":x.query.sql,"db.status":x.level==="error"?"error":"success"};if(x.queryDurationMillis>IT){let T=ST(),n=T>IT/2;console.error(n?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(T),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:M_()}})}if(yP().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function JP(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let T=performance.now(),n=M_(),C=_.idleCount===0&&_.totalCount>=n,K=_.idleCount;return x().then((N)=>{let t=performance.now()-T;if(iT().record(t,{"db.pool.outcome":C?"contended":"available"}),t>PP)if(C)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:t,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:n});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:t,idleAtStart:K,total:_.totalCount,max:n});return N},(N)=>{throw iT().record(performance.now()-T,{"db.pool.outcome":"error"}),N})},_}var VT={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function vT(){try{return v().databasePgSsl}catch{return!1}}function M_(){try{return v().databasePoolMax}catch{return 10}}function $P(_){let x=JP(new pT({connectionString:_,max:M_(),ssl:vT(),...VT})),u=new kT({pool:x});return{type:"postgres",db:new zP({dialect:u,log:UP(x)}),pool:x}}function u_(){return v().databaseUrl}function qT(_){let x=_||u_();return new kT({pool:new pT({connectionString:x,max:M_(),ssl:vT(),...VT})})}function jP(_){let x=_||u_();return $P(x)}async function gT(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===x_)x_=null}var x_=null;function On(){if(!x_)x_=jP(u_());return x_}async function cT(_){let u={database:qT(_||u_()),plugins:[ZP({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),DP(),QP(),LP(),fP(),FP({loginPage:"/login"}),XP(),RP({sendMagicLink:async()=>{}}),HP({sendVerificationOTP:async()=>{}})]},{toBeAdded:T,toBeCreated:n,runMigrations:C}=await WP(u);if(!T.length&&!n.length)return"up to date";return await C(),`${n.length+T.length} table(s) migrated`}async function oT(_,x){return(await g`
1280
+ `;await d0(K,t,{mode:384}),await l0(K,N)}}import{ExportResultCode as A$}from"@opentelemetry/core";import{AggregationTemporality as S$,DataPointType as i$}from"@opentelemetry/sdk-metrics";import{ExportResultCode as g$}from"@opentelemetry/core";var a$=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as ij,LoggerProvider as kj}from"@opentelemetry/sdk-logs";import{detectResources as Vj,envDetector as vj,hostDetector as qj,osDetector as gj,processDetector as cj,resourceFromAttributes as hj}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as aj}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as s$}from"@opentelemetry/api-logs";import{NodeSDK as sj}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as dj,SamplingDecision as q}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as xj}from"@opentelemetry/api";var CP="__d",NP=xP("Current request"),KP=1;var GT=(_)=>{let u=new URL(_.url).searchParams.get(CP);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class OT{inner;constructor(_){this.inner=_}shouldSample(_,x,u,T,n,C){let K=_.getValue(NP);if(!K){if(this.inner)return this.inner.shouldSample(_,x,u,T,n,C);return{decision:q.RECORD_AND_SAMPLED}}let N=GT(K);if(N)return{decision:q.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":N}};if(this.inner){let t=this.inner.shouldSample(_,x,u,T,n,C);if(t.decision===q.RECORD_AND_SAMPLED){let E=crypto.randomUUID();t.attributes={...t.attributes??{},"trace.debug.id":E}}return t}return{decision:q.NOT_RECORD}}toString(){return"DebugSampler"}}class wT{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:q.RECORD_AND_SAMPLED};return{decision:q.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var _W=new TP({preventServerStart:!0}),xW=new OT(new wT(KP));var BT=mP.getTracer("studio","1.0.0"),__=uP.getMeter("studio","1.0.0"),tP=nP.getLogger("studio","1.0.0"),Mn=(_,x,u)=>{let T={},n=u,C=u[u.length-1];if(C!==null&&typeof C==="object"&&!Array.isArray(C)&&!(C instanceof Error)&&Object.getPrototypeOf(C)===Object.prototype)T=C,n=u.slice(0,-1);let K=n.map((N)=>{if(N instanceof Error)return`${N.name}: ${N.message}`;if(typeof N==="object")try{return JSON.stringify(N)}catch{return"[Object]"}return String(N)}).join(" ");tP.emit({severityNumber:_,severityText:x,body:K,attributes:{"log.source":"console",...T}})},Yn={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{Mn(Hn.ERROR,"ERROR",_),Yn.error(..._)};console.warn=(..._)=>{Mn(Hn.WARN,"WARN",_),Yn.warn(..._)};console.debug=(..._)=>{Mn(Hn.DEBUG,"DEBUG",_),Yn.debug(..._)};var Bn,AT=0,Gn=500;function EP(){if(Bn)return;let _=performance.now()+Gn;Bn=setInterval(()=>{let x=performance.now();AT=Math.max(0,x-_),_=x+Gn},Gn),Bn.unref?.()}function IT(){return EP(),AT}var yP=()=>__.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),ST=()=>__.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),iT=400,PP=100,UP=(_)=>(x)=>{let u={"db.statement":x.query.sql,"db.status":x.level==="error"?"error":"success"};if(x.queryDurationMillis>iT){let T=IT(),n=T>iT/2;console.error(n?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(T),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:M_()}})}if(yP().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function JP(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let T=performance.now(),n=M_(),C=_.idleCount===0&&_.totalCount>=n,K=_.idleCount;return x().then((N)=>{let t=performance.now()-T;if(ST().record(t,{"db.pool.outcome":C?"contended":"available"}),t>PP)if(C)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:t,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:n});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:t,idleAtStart:K,total:_.totalCount,max:n});return N},(N)=>{throw ST().record(performance.now()-T,{"db.pool.outcome":"error"}),N})},_}var VT={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function vT(){try{return v().databasePgSsl}catch{return!1}}function M_(){try{return v().databasePoolMax}catch{return 10}}function $P(_){let x=JP(new pT({connectionString:_,max:M_(),ssl:vT(),...VT})),u=new kT({pool:x});return{type:"postgres",db:new zP({dialect:u,log:UP(x)}),pool:x}}function u_(){return v().databaseUrl}function qT(_){let x=_||u_();return new kT({pool:new pT({connectionString:x,max:M_(),ssl:vT(),...VT})})}function jP(_){let x=_||u_();return $P(x)}async function gT(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===x_)x_=null}var x_=null;function On(){if(!x_)x_=jP(u_());return x_}async function cT(_){let u={database:qT(_||u_()),plugins:[ZP({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),DP(),QP(),LP(),fP(),FP({loginPage:"/login"}),XP(),RP({sendMagicLink:async()=>{}}),HP({sendVerificationOTP:async()=>{}})]},{toBeAdded:T,toBeCreated:n,runMigrations:C}=await WP(u);if(!T.length&&!n.length)return"up to date";return await C(),`${n.length+T.length} table(s) migrated`}async function oT(_,x){return(await g`
1281
1281
  SELECT table_name FROM information_schema.tables
1282
1282
  WHERE table_schema='public' AND table_name=${x}
1283
1283
  `.execute(_)).rows.length>0}async function MP(_){if(await oT(_,"plugin_migrations"))return;await g`