decocms 4.76.82 → 4.76.84

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 (236) hide show
  1. package/dist/client/assets/{AlertCircle-AG3wMiKN.js → AlertCircle-89HkA19U.js} +1 -1
  2. package/dist/client/assets/{AreaChart-Btkp61FW.js → AreaChart-ITw0s9L9.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-CRXLd41p.js → ArrowUp-BSfN3WOK.js} +1 -1
  4. package/dist/client/assets/{ArrowUpRight-uMDXLlUd.js → ArrowUpRight-BwRGCQrl.js} +1 -1
  5. package/dist/client/assets/{Check-BlWwUFu2.js → Check-AX1b0Jck.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-DygZmfIy.js → CheckCircle-C_mD93RA.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-B-sTasuA.js → ChevronDown-CSE8_8K7.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-Bd6uF5Nv.js → ChevronRight-Dx9L8DSw.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-QAJkjt82.js → ChevronUp-Bku60rv3.js} +1 -1
  10. package/dist/client/assets/{Circle-CN8KGCQz.js → Circle-D4u-KtSB.js} +1 -1
  11. package/dist/client/assets/{Copy01-CsXlKGBO.js → Copy01-DgLCK9lQ.js} +1 -1
  12. package/dist/client/assets/{DotsVertical-BrbHwlhd.js → DotsVertical-viFRwkWt.js} +1 -1
  13. package/dist/client/assets/{Eye-CZJwkxAO.js → Eye-mGDh4opI.js} +1 -1
  14. package/dist/client/assets/{FilterLines-CZ1XB3V0.js → FilterLines-D5S665vE.js} +1 -1
  15. package/dist/client/assets/{Flag01-UQd5b54g.js → Flag01-XoiyLPoB.js} +1 -1
  16. package/dist/client/assets/{Globe01-C0yB0Gl4.js → Globe01-Dw4XMVNs.js} +1 -1
  17. package/dist/client/assets/{Globe04-kImncD7J.js → Globe04-DBxZcRaY.js} +1 -1
  18. package/dist/client/assets/{HardDrive-BWKeRsf7.js → HardDrive-JTkVK5Ju.js} +1 -1
  19. package/dist/client/assets/{Image01-BF_G6wgm.js → Image01-CiZ52u6U.js} +1 -1
  20. package/dist/client/assets/{Key01-DzRk00Fp.js → Key01-pgXEzLIG.js} +1 -1
  21. package/dist/client/assets/{LayoutLeft-BaRF4R3Y.js → LayoutLeft-GTqTDbU1.js} +1 -1
  22. package/dist/client/assets/{LinkExternal01-DuDJ-Djc.js → LinkExternal01-D0DXN_yv.js} +1 -1
  23. package/dist/client/assets/{List-ikZphIo5.js → List-B7sBu6Uw.js} +1 -1
  24. package/dist/client/assets/{Monitor01-DG8RxWYk.js → Monitor01-B_FecB4w.js} +1 -1
  25. package/dist/client/assets/{Package-PFs6htll.js → Package-_roWGfu_.js} +1 -1
  26. package/dist/client/assets/{Palette-PmeDnd3L.js → Palette-CSUiFVIE.js} +1 -1
  27. package/dist/client/assets/{Play-qKmO68zm.js → Play-CtnaKhSd.js} +1 -1
  28. package/dist/client/assets/{Plus-CgeeDRZU.js → Plus-C_xH4Qiq.js} +1 -1
  29. package/dist/client/assets/{SearchLg-CySDlsri.js → SearchLg-iRrMVt04.js} +1 -1
  30. package/dist/client/assets/{SearchMd-DVJcsSFr.js → SearchMd-DA3civ82.js} +1 -1
  31. package/dist/client/assets/{Settings02-BXFfPEy7.js → Settings02-Pu8eH6cC.js} +1 -1
  32. package/dist/client/assets/{Shield01-BmPr3s_7.js → Shield01-D0_wutl0.js} +1 -1
  33. package/dist/client/assets/{Star01-DHniDQHw.js → Star01-Bt01ARgv.js} +1 -1
  34. package/dist/client/assets/{Stars01-t0Lxd7N6.js → Stars01-kStnyCoA.js} +1 -1
  35. package/dist/client/assets/{Stars02-CcDICdBx.js → Stars02-Bf_mMsBT.js} +1 -1
  36. package/dist/client/assets/{Sun-B1pjBlRh.js → Sun-ClmKH-vp.js} +1 -1
  37. package/dist/client/assets/{SwitchHorizontal01-BbZBXUAP.js → SwitchHorizontal01-D_K-Ddm-.js} +1 -1
  38. package/dist/client/assets/{Tool01-Cn8YUENk.js → Tool01-BJaHI1Hv.js} +1 -1
  39. package/dist/client/assets/{Tool02-CwKKc2J2.js → Tool02-CUL63qqS.js} +1 -1
  40. package/dist/client/assets/{Trash01-C7OLkhsh.js → Trash01-7ibENcAn.js} +1 -1
  41. package/dist/client/assets/{TrendUp01-BTCoBdbw.js → TrendUp01-BPhKG8zG.js} +1 -1
  42. package/dist/client/assets/{Upload01-CWqBjn1G.js → Upload01-BBjwXhcB.js} +1 -1
  43. package/dist/client/assets/{User01-Cc7hhScM.js → User01-DzEEVbAF.js} +1 -1
  44. package/dist/client/assets/{UserPlus01-DjKP4BnE.js → UserPlus01-CSVE0rc3.js} +1 -1
  45. package/dist/client/assets/{Users01-Dc1CBhTC.js → Users01-Be6FelzN.js} +1 -1
  46. package/dist/client/assets/{Users03-BDUlyUQn.js → Users03-hxTHp19S.js} +1 -1
  47. package/dist/client/assets/{X-BI8RG8lS.js → X-BdDIO_4y.js} +1 -1
  48. package/dist/client/assets/{XCircle-D6jDvoNl.js → XCircle-9mfy0hUx.js} +1 -1
  49. package/dist/client/assets/{XClose-BrMGaVDY.js → XClose-2USUOvZM.js} +1 -1
  50. package/dist/client/assets/{Zap-BlEdXifo.js → Zap-CfeLmvQd.js} +1 -1
  51. package/dist/client/assets/{ZapSquare-CO-9Ovea.js → ZapSquare-Ch1Smyms.js} +1 -1
  52. package/dist/client/assets/{ZoomOut-C6ZJ5VQ3.js → ZoomOut-BFWDbG6N.js} +1 -1
  53. package/dist/client/assets/{access-gate-Btf3y0Gh.js → access-gate-Bja-bYRn.js} +1 -1
  54. package/dist/client/assets/{add-section-modal-BGNFU-xF.js → add-section-modal-DrBbeJAv.js} +1 -1
  55. package/dist/client/assets/{agent-icon-CnYGP-G4.js → agent-icon-DkzSL1oq.js} +1 -1
  56. package/dist/client/assets/{agents-list-B1vVe84q.js → agents-list-FxMrs32K.js} +1 -1
  57. package/dist/client/assets/{ai-providers-BB5TGzy6.js → ai-providers-otIJl21W.js} +1 -1
  58. package/dist/client/assets/{alert-BRGXLNlP.js → alert-CRaFSRB6.js} +1 -1
  59. package/dist/client/assets/{alert-dialog-DLoXXfEE.js → alert-dialog-DBE-Ekfx.js} +1 -1
  60. package/dist/client/assets/{app-editor-C3ocF0Bt.js → app-editor-nTj0sShI.js} +1 -1
  61. package/dist/client/assets/{auth-DSRqwurX.js → auth-CIfjRWj1.js} +1 -1
  62. package/dist/client/assets/{auth-catchall-DFvGUI-e.js → auth-catchall-Doeawphw.js} +1 -1
  63. package/dist/client/assets/{auth-entry-B5Ha1KR7.js → auth-entry-Cgxbi7bu.js} +1 -1
  64. package/dist/client/assets/{auth-split-layout-DCpa4vob.js → auth-split-layout-DlnPzHPH.js} +1 -1
  65. package/dist/client/assets/{authenticate-and-persist-oauth-D5UTf4oT.js → authenticate-and-persist-oauth-BAnnSK1o.js} +1 -1
  66. package/dist/client/assets/{automation-list-row-a50AsFvU.js → automation-list-row-CaBFU29P.js} +1 -1
  67. package/dist/client/assets/{automation-runs-sOwVkRzC.js → automation-runs-BqD3JnWN.js} +1 -1
  68. package/dist/client/assets/automations-CwBwfoD8.js +1 -0
  69. package/dist/client/assets/{autosend-CtrKbt1V.js → autosend-D8Rhr7g3.js} +1 -1
  70. package/dist/client/assets/{avatar-Dwon5Tdk.js → avatar-DvQ36k7l.js} +1 -1
  71. package/dist/client/assets/{badge-DxueWqee.js → badge-CWCHMd3J.js} +1 -1
  72. package/dist/client/assets/{block-document-DK38DtTV.js → block-document-Cn3nTQKI.js} +1 -1
  73. package/dist/client/assets/{brand-context-BhXbr9jd.js → brand-context-DoHGauqe.js} +1 -1
  74. package/dist/client/assets/{buckets-BbuoIfTJ.js → buckets-zpwkc9Pz.js} +1 -1
  75. package/dist/client/assets/{bulk-category-panel-3mNXjDx2.js → bulk-category-panel-BmrKFNUj.js} +1 -1
  76. package/dist/client/assets/{calendar-D5OuSmtG.js → calendar-Dn4zQXkI.js} +1 -1
  77. package/dist/client/assets/{capability-load-error-B4yp0az1.js → capability-load-error-DgXXPEy-.js} +1 -1
  78. package/dist/client/assets/{card-eedCMl-Y.js → card-C_CxH7-T.js} +1 -1
  79. package/dist/client/assets/{category-editor-DpglYmeL.js → category-editor-Bn5mBLcB.js} +1 -1
  80. package/dist/client/assets/{chat-context-DWUArCQQ.js → chat-context-Bzlv6EbT.js} +1 -1
  81. package/dist/client/assets/{checkbox-C7iuTeds.js → checkbox-BDYZ6TVB.js} +1 -1
  82. package/dist/client/assets/{cli-auth-success-1YGMn5vq.js → cli-auth-success-T6_2jKQY.js} +1 -1
  83. package/dist/client/assets/{collection-detail-C03AZEul.js → collection-detail-Hhtgua1X.js} +1 -1
  84. package/dist/client/assets/{collection-display-button-BEStqMnl.js → collection-display-button-CyZaQdEN.js} +1 -1
  85. package/dist/client/assets/{collection-search-QhAFmOQL.js → collection-search-DS3TFkXa.js} +1 -1
  86. package/dist/client/assets/{collection-table-wrapper-Y_kpXjqo.js → collection-table-wrapper--oS3TnPg.js} +1 -1
  87. package/dist/client/assets/{collection-tabs-nSu5uvAz.js → collection-tabs-BTiW1nX-.js} +1 -1
  88. package/dist/client/assets/{command-DcnkCDwp.js → command-u-f3RfsG.js} +1 -1
  89. package/dist/client/assets/{commerce-onboarding-DCP-GHI8.js → commerce-onboarding-Dwv79EyO.js} +1 -1
  90. package/dist/client/assets/{companions-core-DurPwskD.js → companions-core-CMw8aqH0.js} +1 -1
  91. package/dist/client/assets/{connect-desktop-dialog-BX7rDjSy.js → connect-desktop-dialog-CeZ8VLLP.js} +1 -1
  92. package/dist/client/assets/{connection-card-Dx1d2omN.js → connection-card-C09e3uQ7.js} +1 -1
  93. package/dist/client/assets/{connection-detail-CgpqhM1v.js → connection-detail-DElG_UOx.js} +1 -1
  94. package/dist/client/assets/{connection-form-helpers-CJzSvxt7.js → connection-form-helpers-BRTfq_xa.js} +1 -1
  95. package/dist/client/assets/{connections-B3ZCYFf-.js → connections-BPF9teGw.js} +1 -1
  96. package/dist/client/assets/{decopilot-sse-pool-CrgmfCyo.js → decopilot-sse-pool-kP-RK2CF.js} +1 -1
  97. package/dist/client/assets/{dialog-u20-AyfG.js → dialog-C4lgr-pp.js} +1 -1
  98. package/dist/client/assets/{domain-settings-B6HVn6oO.js → domain-settings-BspEdQqC.js} +1 -1
  99. package/dist/client/assets/{drawer-QHBv8OR3.js → drawer-BdaMKoV2.js} +1 -1
  100. package/dist/client/assets/{dropdown-menu-ClQbEgNt.js → dropdown-menu-BZeHGTAQ.js} +1 -1
  101. package/dist/client/assets/{empty-state-Cqcehc17.js → empty-state-Bw2Eo32i.js} +1 -1
  102. package/dist/client/assets/{extract-connection-data-D3eBeNpR.js → extract-connection-data-DCDEHlSY.js} +1 -1
  103. package/dist/client/assets/{file-explorer-CUfd_Ttc.js → file-explorer-Bs_-khGf.js} +1 -1
  104. package/dist/client/assets/{file-type-icon-a6doYMhx.js → file-type-icon-_4T0fmMQ.js} +1 -1
  105. package/dist/client/assets/{files-IU2KHL7K.js → files-C_B_n9By.js} +1 -1
  106. package/dist/client/assets/{form-Exx3wIQI.js → form-Qzq0FlbW.js} +1 -1
  107. package/dist/client/assets/{general-C9ZSnMs4.js → general-D0tlnZXq.js} +1 -1
  108. package/dist/client/assets/{github-repo-picker-B44XFigS.js → github-repo-picker-DFG3kNO9.js} +1 -1
  109. package/dist/client/assets/{hooks-FnCAA1-l.js → hooks-BsyU32gy.js} +1 -1
  110. package/dist/client/assets/{index-nFy9kCFO.js → index-By0D-Qh0.js} +3 -3
  111. package/dist/client/assets/{index-B4Cw_482.js → index-C2EaYcI4.js} +1 -1
  112. package/dist/client/assets/{index-D1mUVEgg.js → index-CFXImwEf.js} +1 -1
  113. package/dist/client/assets/{index-elYMA7QP.js → index-CXW8AHIm.js} +1 -1
  114. package/dist/client/assets/{index-Cq7y99mv.js → index-CqRYmC77.js} +2 -2
  115. package/dist/client/assets/{index-C_4pUhRr.js → index-D0-Uc5_H.js} +1 -1
  116. package/dist/client/assets/{index-D-tH5uFR.js → index-D1uG2VH8.js} +1 -1
  117. package/dist/client/assets/{index-CFBQFsW3.js → index-DKMeUxYl.js} +23 -23
  118. package/dist/client/assets/{index-B7BHANYG.js → index-DMOoZUyV.js} +1 -1
  119. package/dist/client/assets/{index-CHHP6B1w.js → index-DZhL3oUw.js} +1 -1
  120. package/dist/client/assets/{index-DHUtUZoF.js → index-Dr6sp0Lb.js} +1 -1
  121. package/dist/client/assets/{index-DvpF6ED4.js → index-ExIodXpZ.js} +1 -1
  122. package/dist/client/assets/{index-CzefNi6u.js → index-FPeJ7ydi.js} +1 -1
  123. package/dist/client/assets/{index-Bp4tZzo0.js → index-lRd6QDf8.js} +1 -1
  124. package/dist/client/assets/{index-redirect-KpJjTcqj.js → index-redirect-DYibQ3VR.js} +1 -1
  125. package/dist/client/assets/{input-Dc74YMs1.js → input-BvCBj_uw.js} +1 -1
  126. package/dist/client/assets/{integration-icon-Bz245Wx7.js → integration-icon-D6Rzg0zF.js} +1 -1
  127. package/dist/client/assets/{invite-member-dialog-T306zQdW.js → invite-member-dialog-CDX9jGR3.js} +1 -1
  128. package/dist/client/assets/{label-Cx-j8mnU.js → label-BMNoijOq.js} +1 -1
  129. package/dist/client/assets/{layout-Dv4svreM.js → layout-7DjYzyWs.js} +1 -1
  130. package/dist/client/assets/{login-CIIUW4UV.js → login-D0mPf26Y.js} +1 -1
  131. package/dist/client/assets/{mcp-oauth-D3zsSX7F.js → mcp-oauth-q3xhrAEj.js} +1 -1
  132. package/dist/client/assets/{members-DEagBiyu.js → members-CdXW4Ffq.js} +1 -1
  133. package/dist/client/assets/{monaco-editor-BnnHM0EN.js → monaco-editor-CjeyXmZJ.js} +1 -1
  134. package/dist/client/assets/{monitoring-stats-row-C8TuLdyu.js → monitoring-stats-row-Di0uNPSB.js} +1 -1
  135. package/dist/client/assets/{multi-select-C3O4Ywqt.js → multi-select-BeX4eMp0.js} +1 -1
  136. package/dist/client/assets/{oauth-callback-1bKwsDR7.js → oauth-callback-D4nwHSfU.js} +1 -1
  137. package/dist/client/assets/{oauth-callback-ai-provider-D59C2k9w.js → oauth-callback-ai-provider-pxwnNwV7.js} +1 -1
  138. package/dist/client/assets/{onboarding-D8KE0WfL.js → onboarding-BV0jzLGZ.js} +1 -1
  139. package/dist/client/assets/{org-install-BwCCXIi2.js → org-install-BAuWRVSm.js} +1 -1
  140. package/dist/client/assets/{org-layout-BnUEo_EY.js → org-layout-DHNpsKyV.js} +1 -1
  141. package/dist/client/assets/{organization-choice-CvD-q0Qb.js → organization-choice-DNSf7HJw.js} +1 -1
  142. package/dist/client/assets/{orgs-D_do1pN7.js → orgs-QNBBCfO6.js} +1 -1
  143. package/dist/client/assets/{page-seo-form-ChEpAEtO.js → page-seo-form-Du5yA2Ss.js} +1 -1
  144. package/dist/client/assets/page-seo-sheet-DwG_zb5a.js +1 -0
  145. package/dist/client/assets/{popover-CFomYccT.js → popover-CstI39dR.js} +1 -1
  146. package/dist/client/assets/{post-editor-bNLGxvzt.js → post-editor-C9L6Riz_.js} +1 -1
  147. package/dist/client/assets/{primitives-B7w9CKZU.js → primitives-Bzep_XFo.js} +1 -1
  148. package/dist/client/assets/{profile-Bnw079Fk.js → profile-cXa6pip7.js} +1 -1
  149. package/dist/client/assets/project-app-view-CDcGcd5P.js +1 -0
  150. package/dist/client/assets/record-editor-IS9L_jhA.js +1 -0
  151. package/dist/client/assets/redirect-editor-BNnBulVW.js +1 -0
  152. package/dist/client/assets/registry-RGGB6_os.js +2 -0
  153. package/dist/client/assets/{registry-layout-CtB11sXl.js → registry-layout-1L-7zs8O.js} +1 -1
  154. package/dist/client/assets/{reports-CLr4K5AN.js → reports-BBSvcCkA.js} +1 -1
  155. package/dist/client/assets/{require-capability-KYcD1lb2.js → require-capability-C_fwHSUJ.js} +1 -1
  156. package/dist/client/assets/{required-auth-layout-Bq3jxD0o.js → required-auth-layout-CnLVs4KQ.js} +1 -1
  157. package/dist/client/assets/{reset-password-_o16-KUi.js → reset-password-MJJU4xk0.js} +1 -1
  158. package/dist/client/assets/{roles-C3xhuo0F.js → roles-Bo5HcJfZ.js} +1 -1
  159. package/dist/client/assets/{search-input-BZ80mW2R.js → search-input-CRNxiVAF.js} +1 -1
  160. package/dist/client/assets/{secrets-Da4NN1Ag.js → secrets-BELB5nqr.js} +1 -1
  161. package/dist/client/assets/{sections-editor-CjQT0W5D.js → sections-editor-qljneKAZ.js} +1 -1
  162. package/dist/client/assets/{select-CK6jz6RE.js → select-DG1MaAMF.js} +1 -1
  163. package/dist/client/assets/{select-model-BH547gc7.js → select-model-BGR7iP_V.js} +1 -1
  164. package/dist/client/assets/{self-tool-result-COs4Rfyy.js → self-tool-result-DtOyZDBX.js} +1 -1
  165. package/dist/client/assets/{seo-editor-C5JKmJW0.js → seo-editor-4SFr3G7B.js} +1 -1
  166. package/dist/client/assets/{settings-layout-Db5iOVE2.js → settings-layout-De_lfKV6.js} +1 -1
  167. package/dist/client/assets/{settings-section-CbiSLLU4.js → settings-section-ChDHThHc.js} +1 -1
  168. package/dist/client/assets/{shell-controls-CGRSFh1X.js → shell-controls-C4kTZA97.js} +1 -1
  169. package/dist/client/assets/{shell-layout-IVuuul8W.js → shell-layout-DXSL0O4d.js} +1 -1
  170. package/dist/client/assets/{sidebar-C3FS-Cis.js → sidebar-CgjqYrSs.js} +1 -1
  171. package/dist/client/assets/{skeleton-B8j0FKTv.js → skeleton-DfMbrlGN.js} +1 -1
  172. package/dist/client/assets/{sso-BVgqDHF3.js → sso-BMj5BS2k.js} +1 -1
  173. package/dist/client/assets/{store-1sehXiCc.js → store-isVMLyrg.js} +1 -1
  174. package/dist/client/assets/store-registry-DmaAHw9z.js +2 -0
  175. package/dist/client/assets/{studio-tools-DoSDPqfH.js → studio-tools-DoIX0XnP.js} +1 -1
  176. package/dist/client/assets/{switch-SqhVSj3n.js → switch-mgg0Jo6b.js} +1 -1
  177. package/dist/client/assets/{table-CCDY4eeH.js → table-BhpF4xCh.js} +1 -1
  178. package/dist/client/assets/{tabs-B7ECFmH6.js → tabs-zBuOzlBb.js} +1 -1
  179. package/dist/client/assets/{textarea-CQv18hEL.js → textarea-D0GVxtez.js} +1 -1
  180. package/dist/client/assets/{toggle-group-Cmw-Snx_.js → toggle-group-CehqBGSV.js} +1 -1
  181. package/dist/client/assets/{toolbar-RJTG17O1.js → toolbar-DwoTYMMC.js} +1 -1
  182. package/dist/client/assets/{toolbar-icon-button-EwgVv98w.js → toolbar-icon-button-DUOPN5-q.js} +1 -1
  183. package/dist/client/assets/{tooltip-MXgNLEHC.js → tooltip-DOBcUjGK.js} +1 -1
  184. package/dist/client/assets/{use-ai-providers-DWaWVWAS.js → use-ai-providers-C2a1O4CY.js} +1 -1
  185. package/dist/client/assets/{use-automations-DoTIsFEV.js → use-automations-Dk9mhZ6Z.js} +1 -1
  186. package/dist/client/assets/{use-autosave-CKfDX_Yv.js → use-autosave-DSg-yjlk.js} +1 -1
  187. package/dist/client/assets/{use-capability-CwSwr2cd.js → use-capability-CaqcaJ3Y.js} +1 -1
  188. package/dist/client/assets/{use-clock-tick-1fQZil0Q.js → use-clock-tick-D26EILXR.js} +1 -1
  189. package/dist/client/assets/{use-collections-g613pRan.js → use-collections-DelTYEOx.js} +1 -1
  190. package/dist/client/assets/{use-connection-YBXJGpKb.js → use-connection-BZumH03f.js} +1 -1
  191. package/dist/client/assets/{use-copy-DGvhcBji.js → use-copy-DPE6_x6x.js} +1 -1
  192. package/dist/client/assets/{use-create-virtual-mcp-B86b2JlI.js → use-create-virtual-mcp-Cke4XC7a.js} +1 -1
  193. package/dist/client/assets/{use-debounced-autosave-Ce7wmXHO.js → use-debounced-autosave-R5nUWWwi.js} +1 -1
  194. package/dist/client/assets/{use-debounced-value-D3ySactk.js → use-debounced-value-DJ_20hQ6.js} +1 -1
  195. package/dist/client/assets/{use-deco-credits-DaiNBXQx.js → use-deco-credits-C-05NYen.js} +1 -1
  196. package/dist/client/assets/{use-decopilot-events-BiUhoo9i.js → use-decopilot-events-CLO7dw-w.js} +1 -1
  197. package/dist/client/assets/{use-delete-connection-2qHAg8uw.js → use-delete-connection-BwGmbPfv.js} +1 -1
  198. package/dist/client/assets/{use-deployment-admin-BQyEPpVS.js → use-deployment-admin-CYvqlf4E.js} +1 -1
  199. package/dist/client/assets/{use-file-configs-BHhGj00I.js → use-file-configs-Hu31mxro.js} +1 -1
  200. package/dist/client/assets/{use-infinite-scroll-p0KNYICo.js → use-infinite-scroll-Cy5ljlX0.js} +1 -1
  201. package/dist/client/assets/{use-join-requests-brjRfSiZ.js → use-join-requests-D2WmrD4w.js} +1 -1
  202. package/dist/client/assets/{use-mcp-auth-status-Fcy7BRsK.js → use-mcp-auth-status-DAPwDUHH.js} +1 -1
  203. package/dist/client/assets/{use-mcp-client-nAdo4kHv.js → use-mcp-client-KjHOFsIe.js} +1 -1
  204. package/dist/client/assets/{use-mcp-tools-BjJ_Cy4l.js → use-mcp-tools-rjIgQtqz.js} +1 -1
  205. package/dist/client/assets/{use-members-CrKZsydY.js → use-members-BCsbtxRf.js} +1 -1
  206. package/dist/client/assets/{use-mobile-tcjaPTyl.js → use-mobile-Bl-ARwdf.js} +1 -1
  207. package/dist/client/assets/{use-navigate-to-agent-CD2LTfQD.js → use-navigate-to-agent-Vpxhbad6.js} +1 -1
  208. package/dist/client/assets/{use-org-auth-client-ppofWyvq.js → use-org-auth-client-C3ezS3e8.js} +1 -1
  209. package/dist/client/assets/{use-org-sso-Cod2vzfn.js → use-org-sso-cmkGcxfZ.js} +1 -1
  210. package/dist/client/assets/{use-organization-roles-1VY0EKSW.js → use-organization-roles-DUrrxcGv.js} +1 -1
  211. package/dist/client/assets/{use-organization-settings-D3o6hZU_.js → use-organization-settings-B_2L6ED5.js} +1 -1
  212. package/dist/client/assets/{use-registry-connections-Wj-6EjAM.js → use-registry-connections-W6aA8z1G.js} +1 -1
  213. package/dist/client/assets/{use-secrets-BOWxp-Ep.js → use-secrets-BimxEq2V.js} +1 -1
  214. package/dist/client/assets/{use-status-sounds-gVBubl3s.js → use-status-sounds-Cu-c-FCU.js} +1 -1
  215. package/dist/client/assets/{use-view-mode-B7xL-mnq.js → use-view-mode-BtYl-7Xn.js} +1 -1
  216. package/dist/client/assets/{use-virtual-mcp-BI7Iwlww.js → use-virtual-mcp-BhWtB1be.js} +1 -1
  217. package/dist/client/assets/useInfiniteQuery-DsETJ4bL.js +1 -0
  218. package/dist/client/assets/{useRouterState-C6j-XGBc.js → useRouterState-BqWy3MbR.js} +1 -1
  219. package/dist/client/assets/useSuspenseInfiniteQuery-B2z2Gg7s.js +1 -0
  220. package/dist/client/assets/{users-BdVQHLn2.js → users-Bcs8dlVd.js} +1 -1
  221. package/dist/client/assets/{variant-calendar-CHvTEBo7.js → variant-calendar-WyAKJ3xp.js} +1 -1
  222. package/dist/client/assets/{view-mode-toggle-Cqdf6ItF.js → view-mode-toggle-o7A8ZZRW.js} +1 -1
  223. package/dist/client/index.html +1 -1
  224. package/dist/server/cli.js +5 -5
  225. package/dist/server/migrate.js +19 -19
  226. package/dist/server/server.js +5 -5
  227. package/package.json +1 -1
  228. package/dist/client/assets/automations-DZIt5csA.js +0 -1
  229. package/dist/client/assets/page-seo-sheet-C9bW9vz8.js +0 -1
  230. package/dist/client/assets/project-app-view-wWR7aIC2.js +0 -1
  231. package/dist/client/assets/record-editor-9Z8rYJb0.js +0 -1
  232. package/dist/client/assets/redirect-editor-Ffub5X9j.js +0 -1
  233. package/dist/client/assets/registry-r2XVfall.js +0 -2
  234. package/dist/client/assets/store-registry-gjVGwHda.js +0 -2
  235. package/dist/client/assets/useInfiniteQuery-B_1mE9Yh.js +0 -1
  236. package/dist/client/assets/useSuspenseInfiniteQuery-wNkexpXS.js +0 -1
@@ -21,7 +21,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
21
21
  ) ranked
22
22
  WHERE rn = 1
23
23
  )
24
- `.execute(t),await t.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await t.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function $a(t){await t.schema.dropIndex("idx_downstream_tokens_connection").execute(),await t.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await t.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var Lt={};i(Lt,{up:()=>Aa,down:()=>Xa});async function Aa(t){await t.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function Xa(t){await t.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(n)=>n.notNull().defaultTo("passthrough")).execute()}var jt={};i(jt,{up:()=>ga,down:()=>Qa});import{sql as ai}from"kysely";async function ga(t){await ai`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(t),await t.schema.alterTable("gateways").dropColumn("is_default").execute()}async function Qa(t){await t.schema.alterTable("gateways").addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).execute(),await ai`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t)}var Jt={};i(Jt,{up:()=>Fa,down:()=>Za});async function Fa(t){await t.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function Za(t){await t.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Rt={};i(Rt,{up:()=>Ma,down:()=>Oa});import{sql as q}from"kysely";async function Ma(t){await t.schema.createTable("threads").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("hidden","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("thread_messages").addColumn("id","text",(n)=>n.primaryKey()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function Oa(t){await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropTable("thread_messages").execute(),await t.schema.dropTable("threads").execute()}var Wt={};i(Wt,{up:()=>Ha,down:()=>Sa});async function Ha(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await t.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await t.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function Sa(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await t.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await t.schema.dropIndex("idx_virtual_mcps_org").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await t.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var $t={};i($t,{up:()=>Ya,down:()=>Ba});async function Ya(t){await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await t.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function Ba(t){await t.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await t.schema.dropIndex("idx_threads_created_by_updated").execute(),await t.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var At={};i(At,{up:()=>Ia,down:()=>Ga});import{sql as w}from"kysely";async function Ia(t){await w`
24
+ `.execute(t),await t.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await t.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function $a(t){await t.schema.dropIndex("idx_downstream_tokens_connection").execute(),await t.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await t.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var Lt={};i(Lt,{up:()=>Aa,down:()=>Xa});async function Aa(t){await t.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function Xa(t){await t.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(n)=>n.notNull().defaultTo("passthrough")).execute()}var jt={};i(jt,{up:()=>ga,down:()=>Qa});import{sql as ai}from"kysely";async function ga(t){await ai`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(t),await t.schema.alterTable("gateways").dropColumn("is_default").execute()}async function Qa(t){await t.schema.alterTable("gateways").addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).execute(),await ai`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t)}var Jt={};i(Jt,{up:()=>Fa,down:()=>Za});async function Fa(t){await t.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function Za(t){await t.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Rt={};i(Rt,{up:()=>Sa,down:()=>Oa});import{sql as q}from"kysely";async function Sa(t){await t.schema.createTable("threads").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("hidden","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("thread_messages").addColumn("id","text",(n)=>n.primaryKey()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function Oa(t){await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropTable("thread_messages").execute(),await t.schema.dropTable("threads").execute()}var Wt={};i(Wt,{up:()=>Ha,down:()=>Ma});async function Ha(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await t.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await t.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function Ma(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await t.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await t.schema.dropIndex("idx_virtual_mcps_org").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await t.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var $t={};i($t,{up:()=>Ya,down:()=>Ba});async function Ya(t){await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await t.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function Ba(t){await t.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await t.schema.dropIndex("idx_threads_created_by_updated").execute(),await t.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var At={};i(At,{up:()=>Ia,down:()=>Ga});import{sql as w}from"kysely";async function Ia(t){await w`
25
25
  INSERT INTO connections (
26
26
  id,
27
27
  organization_id,
@@ -116,7 +116,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
116
116
  updated_at = CURRENT_TIMESTAMP
117
117
  WHERE connection_url LIKE '%/mcp/management'
118
118
  AND app_name = '@deco/management-mcp'
119
- `.execute(t)}var Mt={};i(Mt,{up:()=>tu,down:()=>nu});import{sql as Zt}from"kysely";async function tu(t){await Zt`
119
+ `.execute(t)}var St={};i(St,{up:()=>tu,down:()=>nu});import{sql as Zt}from"kysely";async function tu(t){await Zt`
120
120
  UPDATE connections
121
121
  SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
122
122
  tools = NULL,
@@ -136,7 +136,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.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(t)}var Ot={};i(Ot,{up:()=>eu,down:()=>iu});async function eu(t){await t.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function iu(t){await t.schema.alterTable("connections").dropColumn("updated_by").execute()}var Ht={};i(Ht,{up:()=>au,down:()=>uu});import{sql as ui}from"kysely";async function au(t){await t.schema.createTable("organization_tags").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(ui`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("member_tags").addColumn("id","text",(n)=>n.primaryKey()).addColumn("member_id","text",(n)=>n.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(n)=>n.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(ui`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await t.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await t.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await t.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function uu(t){await t.schema.dropIndex("idx_member_tags_unique").execute(),await t.schema.dropIndex("idx_member_tags_tag").execute(),await t.schema.dropIndex("idx_member_tags_member").execute(),await t.schema.dropIndex("idx_organization_tags_unique_name").execute(),await t.schema.dropIndex("idx_organization_tags_org").execute(),await t.schema.dropTable("member_tags").execute(),await t.schema.dropTable("organization_tags").execute()}var St={};i(St,{up:()=>ou,down:()=>_u});import{sql as Z}from"kysely";async function ou(t){await Z`
139
+ `.execute(t)}var Ot={};i(Ot,{up:()=>eu,down:()=>iu});async function eu(t){await t.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function iu(t){await t.schema.alterTable("connections").dropColumn("updated_by").execute()}var Ht={};i(Ht,{up:()=>au,down:()=>uu});import{sql as ui}from"kysely";async function au(t){await t.schema.createTable("organization_tags").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(ui`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("member_tags").addColumn("id","text",(n)=>n.primaryKey()).addColumn("member_id","text",(n)=>n.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(n)=>n.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(ui`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await t.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await t.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await t.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function uu(t){await t.schema.dropIndex("idx_member_tags_unique").execute(),await t.schema.dropIndex("idx_member_tags_tag").execute(),await t.schema.dropIndex("idx_member_tags_member").execute(),await t.schema.dropIndex("idx_organization_tags_unique_name").execute(),await t.schema.dropIndex("idx_organization_tags_org").execute(),await t.schema.dropTable("member_tags").execute(),await t.schema.dropTable("organization_tags").execute()}var Mt={};i(Mt,{up:()=>ou,down:()=>_u});import{sql as Z}from"kysely";async function ou(t){await Z`
140
140
  ALTER TABLE connection_aggregations
141
141
  ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
142
142
  `.execute(t),await t.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function _u(t){if(await t.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await Z`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1))await Z`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(t);else await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.createTable("connection_aggregations_new").addColumn("id","text",(e)=>e.primaryKey()).addColumn("parent_connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(e)=>e.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(e)=>e.notNull().defaultTo(Z`CURRENT_TIMESTAMP`)).execute(),await Z`
@@ -183,7 +183,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
183
183
  SET title = 'CMS MCP',
184
184
  updated_at = CURRENT_TIMESTAMP
185
185
  WHERE app_name = '@deco/management-mcp'
186
- `.execute(t)}var en={};i(en,{up:()=>Fu,down:()=>Zu});async function Fu(t){await t.schema.alterTable("connections").dropColumn("tools").execute()}async function Zu(t){await t.schema.alterTable("connections").addColumn("tools","text").execute()}var an={};i(an,{up:()=>Mu,down:()=>Ou});async function Mu(t){await t.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function Ou(t){await t.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var on={};i(on,{up:()=>Hu,down:()=>Su});import{sql as un}from"kysely";async function Hu(t){await un`
186
+ `.execute(t)}var en={};i(en,{up:()=>Fu,down:()=>Zu});async function Fu(t){await t.schema.alterTable("connections").dropColumn("tools").execute()}async function Zu(t){await t.schema.alterTable("connections").addColumn("tools","text").execute()}var an={};i(an,{up:()=>Su,down:()=>Ou});async function Su(t){await t.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function Ou(t){await t.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var on={};i(on,{up:()=>Hu,down:()=>Mu});import{sql as un}from"kysely";async function Hu(t){await un`
187
187
  UPDATE organization_settings
188
188
  SET enabled_plugins = (
189
189
  SELECT COALESCE(json_agg(elem), '[]'::json)::text
@@ -204,7 +204,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
204
204
  `.execute(t),await un`
205
205
  DELETE FROM project_plugin_configs
206
206
  WHERE plugin_id = 'object-storage'
207
- `.execute(t)}async function Su(t){}var _n={};i(_n,{up:()=>Yu,down:()=>Bu});import{sql as yi}from"kysely";async function Yu(t){await t.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await yi`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(t)}async function Bu(t){await yi`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(t),await t.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var xn={};i(xn,{up:()=>Iu,down:()=>Gu});import{sql as mn}from"kysely";async function Iu(t){await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await mn`
207
+ `.execute(t)}async function Mu(t){}var _n={};i(_n,{up:()=>Yu,down:()=>Bu});import{sql as yi}from"kysely";async function Yu(t){await t.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await yi`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(t)}async function Bu(t){await yi`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(t),await t.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var xn={};i(xn,{up:()=>Iu,down:()=>Gu});import{sql as mn}from"kysely";async function Iu(t){await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await mn`
208
208
  ALTER TABLE connections
209
209
  ADD CONSTRAINT chk_connections_subtype
210
210
  CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
@@ -222,7 +222,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
222
222
  AND metadata::json->>'migrated_project_slug' = 'org-admin'
223
223
  `.execute(t)}async function qu(t){}var yn={};i(yn,{up:()=>du,down:()=>bu});import{sql as lu}from"kysely";async function du(t){await t.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await lu`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(t)}async function bu(t){await t.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var Tn={};i(Tn,{up:()=>to,down:()=>no});import{sql as cn}from"kysely";async function to(t){await t.schema.createTable("org_sso_config").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(n)=>n.notNull()).addColumn("client_id","text",(n)=>n.notNull()).addColumn("client_secret","text",(n)=>n.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(n)=>n.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(n)=>n.notNull()).addColumn("enforced","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(cn`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(cn`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await t.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await t.schema.createTable("org_sso_sessions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("user_id","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(n)=>n.notNull()).addColumn("expires_at","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(cn`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function no(t){await t.schema.dropTable("org_sso_sessions").execute(),await t.schema.dropTable("org_sso_config").execute()}var wn={};i(wn,{up:()=>eo,down:()=>io});async function eo(t){await t.schema.alterTable("threads").addColumn("agent_ids","text",(n)=>n.defaultTo("[]")).execute()}async function io(t){await t.schema.alterTable("threads").dropColumn("agent_ids").execute()}var pn={};i(pn,{up:()=>ao,down:()=>uo});async function ao(t){await t.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function uo(t){await t.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var Cn={};i(Cn,{up:()=>_o,down:()=>mo});import{sql as ci}from"kysely";function fn(t){return t.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function oo(t){if(t.app_name)return t.app_name;if(t.connection_url)try{let n=new URL(t.connection_url),u=((n.port?`${n.hostname}-${n.port}`:n.hostname)+n.pathname).replace(/\/+$/,"");return fn(u)}catch{return fn(t.connection_url)}if(t.title)return fn(t.title);return t.id}async function _o(t){await t.schema.alterTable("connections").addColumn("slug","text").execute();let n=await ci`
224
224
  SELECT id, app_name, connection_url, title FROM connections
225
- `.execute(t);for(let e of n.rows){let u=oo(e);await ci`UPDATE connections SET slug = ${u} WHERE id = ${e.id}`.execute(t)}await t.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function mo(t){await t.schema.dropIndex("idx_connections_org_slug").execute(),await t.schema.alterTable("connections").dropColumn("slug").execute()}var Nn={};i(Nn,{up:()=>xo,down:()=>ro});import{sql as M}from"kysely";async function xo(t){await t.schema.alterTable("connections").addColumn("pinned","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await M`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(t),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await M`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute(),await t.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function ro(t){await t.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await M`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(t),await M`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(t),await M`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(t),await t.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await t.schema.alterTable("connections").dropColumn("pinned").execute()}var En={};i(En,{up:()=>yo,down:()=>co});async function yo(t){await t.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await t.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function co(t){await t.schema.dropIndex("idx_automations_virtual_mcp").execute(),await t.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var sn={};i(sn,{up:()=>To,down:()=>wo});import{sql as l}from"kysely";async function To(t){await t.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(n)=>n.notNull().defaultTo("")).execute(),await l`
225
+ `.execute(t);for(let e of n.rows){let u=oo(e);await ci`UPDATE connections SET slug = ${u} WHERE id = ${e.id}`.execute(t)}await t.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function mo(t){await t.schema.dropIndex("idx_connections_org_slug").execute(),await t.schema.alterTable("connections").dropColumn("slug").execute()}var Nn={};i(Nn,{up:()=>xo,down:()=>ro});import{sql as S}from"kysely";async function xo(t){await t.schema.alterTable("connections").addColumn("pinned","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await S`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(t),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await S`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute(),await t.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function ro(t){await t.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await S`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(t),await S`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(t),await S`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(t),await t.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await t.schema.alterTable("connections").dropColumn("pinned").execute()}var En={};i(En,{up:()=>yo,down:()=>co});async function yo(t){await t.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await t.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function co(t){await t.schema.dropIndex("idx_automations_virtual_mcp").execute(),await t.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var sn={};i(sn,{up:()=>To,down:()=>wo});import{sql as l}from"kysely";async function To(t){await t.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(n)=>n.notNull().defaultTo("")).execute(),await l`
226
226
  UPDATE threads
227
227
  SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
228
228
  WHERE agent_ids IS NOT NULL
@@ -267,7 +267,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
267
267
  metadata = ${r},
268
268
  updated_at = NOW()
269
269
  WHERE id = ${e.id}
270
- `.execute(t)}}}async function Xo(t){}var Jn={};i(Jn,{up:()=>Qo,down:()=>Fo});import{sql as go}from"kysely";async function Qo(t){await t.schema.alterTable("threads").addColumn("metadata","jsonb",(n)=>n.notNull().defaultTo(go`'{}'::jsonb`)).execute()}async function Fo(t){await t.schema.alterTable("threads").dropColumn("metadata").execute()}var Rn={};i(Rn,{up:()=>Zo,down:()=>Mo});async function Zo(t){await t.schema.alterTable("threads").addColumn("branch","text").execute()}async function Mo(t){await t.schema.alterTable("threads").dropColumn("branch").execute()}var Wn={};i(Wn,{up:()=>Oo,down:()=>Ho});async function Oo(t){await t.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(n)=>n.notNull()).addColumn("project_ref","text",(n)=>n.notNull()).addColumn("runner_kind","text",(n)=>n.notNull()).addColumn("handle","text",(n)=>n.notNull()).addColumn("state","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await t.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function Ho(t){await t.schema.dropTable("sandbox_runner_state").execute()}var $n={};i($n,{up:()=>So,down:()=>Yo});async function So(t){await t.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function Yo(t){await t.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var An={};i(An,{up:()=>Bo,down:()=>Io});async function Bo(t){await t.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function Io(t){await t.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var Xn={};i(Xn,{up:()=>Go,down:()=>vo});async function Go(t){await t.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function vo(t){await t.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var gn={};i(gn,{up:()=>qo,down:()=>lo});import{sql as fi}from"kysely";var Vo=["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 qo(t){let n=await fi`
270
+ `.execute(t)}}}async function Xo(t){}var Jn={};i(Jn,{up:()=>Qo,down:()=>Fo});import{sql as go}from"kysely";async function Qo(t){await t.schema.alterTable("threads").addColumn("metadata","jsonb",(n)=>n.notNull().defaultTo(go`'{}'::jsonb`)).execute()}async function Fo(t){await t.schema.alterTable("threads").dropColumn("metadata").execute()}var Rn={};i(Rn,{up:()=>Zo,down:()=>So});async function Zo(t){await t.schema.alterTable("threads").addColumn("branch","text").execute()}async function So(t){await t.schema.alterTable("threads").dropColumn("branch").execute()}var Wn={};i(Wn,{up:()=>Oo,down:()=>Ho});async function Oo(t){await t.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(n)=>n.notNull()).addColumn("project_ref","text",(n)=>n.notNull()).addColumn("runner_kind","text",(n)=>n.notNull()).addColumn("handle","text",(n)=>n.notNull()).addColumn("state","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await t.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function Ho(t){await t.schema.dropTable("sandbox_runner_state").execute()}var $n={};i($n,{up:()=>Mo,down:()=>Yo});async function Mo(t){await t.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function Yo(t){await t.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var An={};i(An,{up:()=>Bo,down:()=>Io});async function Bo(t){await t.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function Io(t){await t.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var Xn={};i(Xn,{up:()=>Go,down:()=>vo});async function Go(t){await t.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function vo(t){await t.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var gn={};i(gn,{up:()=>qo,down:()=>lo});import{sql as fi}from"kysely";var Vo=["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 qo(t){let n=await fi`
271
271
  SELECT id, permission FROM "organizationRole"
272
272
  `.execute(t);for(let e of n.rows){if(!e.permission)continue;let u;try{u=JSON.parse(e.permission)}catch{continue}let a=u.self;if(!Array.isArray(a))continue;if(a.length===1&&a[0]==="*")continue;let o=a,m=Array.from(new Set([...o,...Vo]));if(m.length===o.length)continue;u.self=m;let _=JSON.stringify(u);await fi`
273
273
  UPDATE "organizationRole"
@@ -289,7 +289,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
289
289
  `.execute(t),await O`
290
290
  ALTER TABLE automations
291
291
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
292
- `.execute(t)}var On={};i(On,{up:()=>m_,reshapeSimpleMode:()=>Ci,inferAutomationTier:()=>Ni,down:()=>x_,__testing:()=>__});var u_={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},o_=["fast","smart","thinking","image","web_research"];function Mn(t){if(!t||typeof t!=="object")return!1;let n=t;if(!("tiers"in n))return!1;let e=n.tiers;if(!e||typeof e!=="object")return!1;return o_.some((u)=>(u in e))}function Ci(t){if(Mn(t))return t;let n=t,e=n?.enabled===!0,u=(a)=>a&&a.keyId&&a.modelId?{keyId:a.keyId,modelId:a.modelId,title:a.title}:null;if(!e)return u_;return{tiers:{fast:u(n?.chat?.fast),smart:u(n?.chat?.smart),thinking:u(n?.chat?.thinking),image:u(n?.image),web_research:u(n?.webResearch)}}}function Ni(t){if(t.tier==="fast"||t.tier==="smart"||t.tier==="thinking")return t.tier;if(t.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function Ei(t){if(!(t.tier==="fast"||t.tier==="smart"||t.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((u)=>t[u]===void 0)}var __={isAlreadyReshapedSimpleMode:Mn,isAlreadyReshapedAutomationModels:Ei};async function m_(t){let n=await t.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let u of n){let a=u.simple_mode?typeof u.simple_mode==="string"?JSON.parse(u.simple_mode):u.simple_mode:null;if(Mn(a))continue;let o=Ci(a);await t.updateTable("organization_settings").set({simple_mode:JSON.stringify(o)}).where("organizationId","=",u.organizationId).execute()}let e=await t.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let u of e){let a;try{a=typeof u.models==="string"?JSON.parse(u.models):u.models}catch{a={}}if(Ei(a))continue;let o=Ni(a);if(await t.updateTable("automations").set({models:JSON.stringify({tier:o})}).where("id","=",u.id).execute(),a.thinking?.capabilities?.image)console.log(`[migration 077] automation ${u.id} previously used an image-only model; mapped to "${o}"`)}}async function x_(t){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var Hn={};i(Hn,{up:()=>r_,down:()=>y_});import{sql as k}from"kysely";async function r_(t){await t.schema.alterTable("automations").addColumn("kind","text",(n)=>n.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await k`
292
+ `.execute(t)}var On={};i(On,{up:()=>m_,reshapeSimpleMode:()=>Ci,inferAutomationTier:()=>Ni,down:()=>x_,__testing:()=>__});var u_={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},o_=["fast","smart","thinking","image","web_research"];function Sn(t){if(!t||typeof t!=="object")return!1;let n=t;if(!("tiers"in n))return!1;let e=n.tiers;if(!e||typeof e!=="object")return!1;return o_.some((u)=>(u in e))}function Ci(t){if(Sn(t))return t;let n=t,e=n?.enabled===!0,u=(a)=>a&&a.keyId&&a.modelId?{keyId:a.keyId,modelId:a.modelId,title:a.title}:null;if(!e)return u_;return{tiers:{fast:u(n?.chat?.fast),smart:u(n?.chat?.smart),thinking:u(n?.chat?.thinking),image:u(n?.image),web_research:u(n?.webResearch)}}}function Ni(t){if(t.tier==="fast"||t.tier==="smart"||t.tier==="thinking")return t.tier;if(t.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function Ei(t){if(!(t.tier==="fast"||t.tier==="smart"||t.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((u)=>t[u]===void 0)}var __={isAlreadyReshapedSimpleMode:Sn,isAlreadyReshapedAutomationModels:Ei};async function m_(t){let n=await t.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let u of n){let a=u.simple_mode?typeof u.simple_mode==="string"?JSON.parse(u.simple_mode):u.simple_mode:null;if(Sn(a))continue;let o=Ci(a);await t.updateTable("organization_settings").set({simple_mode:JSON.stringify(o)}).where("organizationId","=",u.organizationId).execute()}let e=await t.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let u of e){let a;try{a=typeof u.models==="string"?JSON.parse(u.models):u.models}catch{a={}}if(Ei(a))continue;let o=Ni(a);if(await t.updateTable("automations").set({models:JSON.stringify({tier:o})}).where("id","=",u.id).execute(),a.thinking?.capabilities?.image)console.log(`[migration 077] automation ${u.id} previously used an image-only model; mapped to "${o}"`)}}async function x_(t){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var Hn={};i(Hn,{up:()=>r_,down:()=>y_});import{sql as k}from"kysely";async function r_(t){await t.schema.alterTable("automations").addColumn("kind","text",(n)=>n.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await k`
293
293
  ALTER TABLE automations
294
294
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
295
295
  `.execute(t),await k`
@@ -314,7 +314,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
314
314
  `.execute(t)}async function y_(t){await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(t),await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(t),await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(t),await k`DELETE FROM automations WHERE kind = 'tool_call'`.execute(t),await k`
315
315
  ALTER TABLE automations
316
316
  ALTER COLUMN virtual_mcp_id SET NOT NULL
317
- `.execute(t),await t.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var Sn={};i(Sn,{up:()=>T_,down:()=>w_});import{sql as si}from"kysely";var c_=new Set(["host","docker","agent-sandbox"]);async function T_(t){let n=await si`
317
+ `.execute(t),await t.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var Mn={};i(Mn,{up:()=>T_,down:()=>w_});import{sql as si}from"kysely";var c_=new Set(["host","docker","agent-sandbox"]);async function T_(t){let n=await si`
318
318
  SELECT id, metadata FROM "connections"
319
319
  WHERE connection_type = 'VIRTUAL'
320
320
  AND metadata IS NOT NULL
@@ -695,10 +695,10 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
695
695
  UPDATE threads
696
696
  SET sandbox_provider_kind = 'desktop'
697
697
  WHERE sandbox_provider_kind = 'remote-user'
698
- `.execute(t)}async function g_(t){}var te={};i(te,{up:()=>Q_,down:()=>F_});import{sql as S}from"kysely";async function Q_(t){await S`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(t),await S`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event', 'webhook'))`.execute(t),await t.schema.alterTable("automation_triggers").addColumn("api_key_id","text").execute()}async function F_(t){await t.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await S`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(t),await S`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(t),await S`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(t)}var ne={};i(ne,{up:()=>Z_,down:()=>M_});import{sql as ki}from"kysely";async function Z_(t){await ki`
698
+ `.execute(t)}async function g_(t){}var te={};i(te,{up:()=>Q_,down:()=>F_});import{sql as M}from"kysely";async function Q_(t){await M`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(t),await M`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event', 'webhook'))`.execute(t),await t.schema.alterTable("automation_triggers").addColumn("api_key_id","text").execute()}async function F_(t){await t.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await M`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(t),await M`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(t),await M`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(t)}var ne={};i(ne,{up:()=>Z_,down:()=>S_});import{sql as ki}from"kysely";async function Z_(t){await ki`
699
699
  ALTER TABLE organization_domains
700
700
  DROP CONSTRAINT IF EXISTS organization_domains_domain_key
701
- `.execute(t),await t.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function M_(t){await t.schema.dropIndex("organization_domains_domain_idx").ifExists().execute(),await ki`
701
+ `.execute(t),await t.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function S_(t){await t.schema.dropIndex("organization_domains_domain_idx").ifExists().execute(),await ki`
702
702
  ALTER TABLE organization_domains
703
703
  ADD CONSTRAINT organization_domains_domain_key UNIQUE (domain)
704
704
  `.execute(t)}var ee={};i(ee,{up:()=>O_,down:()=>H_});import{sql as nt}from"kysely";async function O_(t){await nt`
@@ -790,9 +790,9 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
790
790
  WHERE c.connection_type = 'VIRTUAL'
791
791
  AND c.metadata IS NOT NULL
792
792
  AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
793
- `.execute(t)}async function H_(t){}var ie={};i(ie,{up:()=>Y_,down:()=>B_});import{sql as Pi}from"kysely";var S_=["GLOBAL_SEARCH"];async function Y_(t){let n=await Pi`
793
+ `.execute(t)}async function H_(t){}var ie={};i(ie,{up:()=>Y_,down:()=>B_});import{sql as Pi}from"kysely";var M_=["GLOBAL_SEARCH"];async function Y_(t){let n=await Pi`
794
794
  SELECT id, permission FROM "organizationRole"
795
- `.execute(t);for(let e of n.rows){if(!e.permission)continue;let u;try{u=JSON.parse(e.permission)}catch{continue}let a=u.self;if(!Array.isArray(a))continue;if(a.length===1&&a[0]==="*")continue;let o=a,m=Array.from(new Set([...o,...S_]));if(m.length===o.length)continue;u.self=m;let _=JSON.stringify(u);await Pi`
795
+ `.execute(t);for(let e of n.rows){if(!e.permission)continue;let u;try{u=JSON.parse(e.permission)}catch{continue}let a=u.self;if(!Array.isArray(a))continue;if(a.length===1&&a[0]==="*")continue;let o=a,m=Array.from(new Set([...o,...M_]));if(m.length===o.length)continue;u.self=m;let _=JSON.stringify(u);await Pi`
796
796
  UPDATE "organizationRole"
797
797
  SET permission = ${_}
798
798
  WHERE id = ${e.id}
@@ -928,7 +928,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
928
928
  UPDATE downstream_tokens
929
929
  SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
930
930
  WHERE "expiresAt" IS NULL
931
- `.execute(t)}async function Dm(t){}var Pe={};i(Pe,{up:()=>Lm,down:()=>jm});async function Lm(t){await t.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function jm(t){await t.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var ze={};i(ze,{up:()=>Jm,down:()=>Rm});async function Jm(t){await t.schema.alterTable("org_file_configs").addColumn("credential_type","text",(n)=>n.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function Rm(t){await t.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var Ue={};i(Ue,{up:()=>Wm,down:()=>$m});async function Wm(t){await t.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await t.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function $m(t){await t.schema.alterTable("threads").dropColumn("failure_kind").execute(),await t.schema.alterTable("threads").dropColumn("failure_reason").execute()}var De={};i(De,{up:()=>Am,down:()=>Xm});async function Am(t){await t.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function Xm(t){await t.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Le={};i(Le,{up:()=>gm,down:()=>Qm});async function gm(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}async function Qm(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}var je={};i(je,{up:()=>Fm,down:()=>Zm});import{sql as Li}from"kysely";async function Fm(t){await t.schema.createTable("org_sites").addColumn("slug","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(n)=>n.notNull().defaultTo("deco-import")).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Li`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Li`now()`)).execute(),await t.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function Zm(t){await t.schema.dropTable("org_sites").execute()}var Je={};i(Je,{up:()=>Mm,down:()=>Om});async function Mm(t){await t.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function Om(t){await t.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var Re={};i(Re,{up:()=>Hm,down:()=>Sm});import{sql as p}from"kysely";async function Hm(t){await t.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 p`
931
+ `.execute(t)}async function Dm(t){}var Pe={};i(Pe,{up:()=>Lm,down:()=>jm});async function Lm(t){await t.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function jm(t){await t.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var ze={};i(ze,{up:()=>Jm,down:()=>Rm});async function Jm(t){await t.schema.alterTable("org_file_configs").addColumn("credential_type","text",(n)=>n.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function Rm(t){await t.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var Ue={};i(Ue,{up:()=>Wm,down:()=>$m});async function Wm(t){await t.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await t.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function $m(t){await t.schema.alterTable("threads").dropColumn("failure_kind").execute(),await t.schema.alterTable("threads").dropColumn("failure_reason").execute()}var De={};i(De,{up:()=>Am,down:()=>Xm});async function Am(t){await t.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function Xm(t){await t.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Le={};i(Le,{up:()=>gm,down:()=>Qm});async function gm(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}async function Qm(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}var je={};i(je,{up:()=>Fm,down:()=>Zm});import{sql as Li}from"kysely";async function Fm(t){await t.schema.createTable("org_sites").addColumn("slug","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(n)=>n.notNull().defaultTo("deco-import")).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Li`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Li`now()`)).execute(),await t.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function Zm(t){await t.schema.dropTable("org_sites").execute()}var Je={};i(Je,{up:()=>Sm,down:()=>Om});async function Sm(t){await t.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function Om(t){await t.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var Re={};i(Re,{up:()=>Hm,down:()=>Mm});import{sql as p}from"kysely";async function Hm(t){await t.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 p`
932
932
  UPDATE organization_domains
933
933
  SET
934
934
  id = gen_random_uuid()::text,
@@ -937,7 +937,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
937
937
  verification_method = 'email',
938
938
  verified_at = created_at
939
939
  WHERE id IS NULL
940
- `.execute(t),await p`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(t),await p`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await t.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function Sm(t){await t.schema.dropIndex("organization_domains_org_domain_idx").ifExists().execute(),await t.schema.alterTable("organization_domains").addColumn("auto_join_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await p`
940
+ `.execute(t),await p`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(t),await p`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(t),await p`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await t.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function Mm(t){await t.schema.dropIndex("organization_domains_org_domain_idx").ifExists().execute(),await t.schema.alterTable("organization_domains").addColumn("auto_join_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await p`
941
941
  UPDATE organization_domains
942
942
  SET auto_join_enabled = (join_mode = 'auto')
943
943
  `.execute(t),await p`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await p`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var We={};i(We,{up:()=>Ym,down:()=>Bm});import{sql as ut}from"kysely";async function Ym(t){await t.schema.createTable("organization_join_requests").addColumn("id","text",(n)=>n.primaryKey().defaultTo(ut`gen_random_uuid()::text`)).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("decided_by","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("decided_at","timestamptz").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ut`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(ut`now()`)).execute(),await ut`
@@ -948,7 +948,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
948
948
  CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
949
949
  ON connection_workload_tokens (organization_id, subject_connection_id, name)
950
950
  WHERE revoked_at IS NULL
951
- `.execute(t),await t.schema.createTable("connection_credential_grants").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Y`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Y`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function nx(t){await t.schema.dropTable("connection_credential_grants").ifExists().execute(),await t.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Ze={};i(Ze,{up:()=>ex,down:()=>ix});async function ex(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function ix(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}var Me={};i(Me,{up:()=>ax,down:()=>ux});import{sql as L}from"kysely";async function ax(t){await L`
951
+ `.execute(t),await t.schema.createTable("connection_credential_grants").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Y`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Y`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function nx(t){await t.schema.dropTable("connection_credential_grants").ifExists().execute(),await t.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Ze={};i(Ze,{up:()=>ex,down:()=>ix});async function ex(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function ix(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}var Se={};i(Se,{up:()=>ax,down:()=>ux});import{sql as L}from"kysely";async function ax(t){await L`
952
952
  CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
953
953
  RETURNS jsonb AS $fn$
954
954
  BEGIN
@@ -1007,7 +1007,7 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
1007
1007
  BEFORE INSERT ON connection_aggregations
1008
1008
  FOR EACH ROW
1009
1009
  EXECUTE FUNCTION enforce_repo_github_child_single_parent();
1010
- `.execute(t)}async function ux(t){await L`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await L`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await L`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var He={};i(He,{up:()=>ox,down:()=>_x});import{sql as Oe}from"kysely";async function ox(t){await t.schema.createTable("task_board_items").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("status","text",(n)=>n.notNull().defaultTo("triage")).addColumn("priority","text",(n)=>n.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).execute(),await t.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(Oe`false`)).execute()}async function _x(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await t.schema.dropTable("task_board_items").execute()}var Se={};i(Se,{up:()=>mx,down:()=>xx});async function mx(t){await t.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function xx(t){await t.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var Ye={};i(Ye,{up:()=>rx,down:()=>yx});async function rx(t){await t.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function yx(t){await t.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var Be={};i(Be,{up:()=>cx,down:()=>Tx});async function cx(t){await t.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function Tx(t){await t.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var Ie={};i(Ie,{up:()=>px,down:()=>fx});import{sql as wx}from"kysely";async function px(t){await t.schema.createTable("task_board_item_threads").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(wx`now()`)).addPrimaryKeyConstraint("task_board_item_threads_pkey",["task_board_item_id","thread_id"]).execute(),await t.schema.createIndex("task_board_item_threads_item_idx").on("task_board_item_threads").columns(["organization_id","task_board_item_id"]).execute(),await t.schema.createIndex("task_board_item_threads_thread_idx").on("task_board_item_threads").column("thread_id").execute()}async function fx(t){await t.schema.dropTable("task_board_item_threads").execute()}var Ge={};i(Ge,{up:()=>Cx,down:()=>Nx});async function Cx(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_thread_id_fkey",["thread_id"],"threads",["id"],(n)=>n.onDelete("cascade")).execute()}async function Nx(t){await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var ve={};i(ve,{up:()=>sx,down:()=>hx});import{sql as Ex}from"kysely";async function sx(t){await t.schema.createTable("task_board_item_prs").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("url","text",(n)=>n.notNull()).addColumn("pr_number","integer",(n)=>n.notNull()).addColumn("repo_owner","text",(n)=>n.notNull()).addColumn("repo_name","text",(n)=>n.notNull()).addColumn("connection_id","text").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ex`now()`)).addPrimaryKeyConstraint("task_board_item_prs_pkey",["task_board_item_id","url"]).execute(),await t.schema.createIndex("task_board_item_prs_item_idx").on("task_board_item_prs").columns(["organization_id","task_board_item_id"]).execute()}async function hx(t){await t.schema.dropTable("task_board_item_prs").execute()}var Ve={};i(Ve,{up:()=>kx,down:()=>Px});import{sql as Kx}from"kysely";async function kx(t){await Kx`
1010
+ `.execute(t)}async function ux(t){await L`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await L`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await L`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var He={};i(He,{up:()=>ox,down:()=>_x});import{sql as Oe}from"kysely";async function ox(t){await t.schema.createTable("task_board_items").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("status","text",(n)=>n.notNull().defaultTo("triage")).addColumn("priority","text",(n)=>n.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).execute(),await t.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(Oe`false`)).execute()}async function _x(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await t.schema.dropTable("task_board_items").execute()}var Me={};i(Me,{up:()=>mx,down:()=>xx});async function mx(t){await t.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function xx(t){await t.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var Ye={};i(Ye,{up:()=>rx,down:()=>yx});async function rx(t){await t.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function yx(t){await t.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var Be={};i(Be,{up:()=>cx,down:()=>Tx});async function cx(t){await t.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function Tx(t){await t.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var Ie={};i(Ie,{up:()=>px,down:()=>fx});import{sql as wx}from"kysely";async function px(t){await t.schema.createTable("task_board_item_threads").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(wx`now()`)).addPrimaryKeyConstraint("task_board_item_threads_pkey",["task_board_item_id","thread_id"]).execute(),await t.schema.createIndex("task_board_item_threads_item_idx").on("task_board_item_threads").columns(["organization_id","task_board_item_id"]).execute(),await t.schema.createIndex("task_board_item_threads_thread_idx").on("task_board_item_threads").column("thread_id").execute()}async function fx(t){await t.schema.dropTable("task_board_item_threads").execute()}var Ge={};i(Ge,{up:()=>Cx,down:()=>Nx});async function Cx(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_thread_id_fkey",["thread_id"],"threads",["id"],(n)=>n.onDelete("cascade")).execute()}async function Nx(t){await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var ve={};i(ve,{up:()=>sx,down:()=>hx});import{sql as Ex}from"kysely";async function sx(t){await t.schema.createTable("task_board_item_prs").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("url","text",(n)=>n.notNull()).addColumn("pr_number","integer",(n)=>n.notNull()).addColumn("repo_owner","text",(n)=>n.notNull()).addColumn("repo_name","text",(n)=>n.notNull()).addColumn("connection_id","text").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ex`now()`)).addPrimaryKeyConstraint("task_board_item_prs_pkey",["task_board_item_id","url"]).execute(),await t.schema.createIndex("task_board_item_prs_item_idx").on("task_board_item_prs").columns(["organization_id","task_board_item_id"]).execute()}async function hx(t){await t.schema.dropTable("task_board_item_prs").execute()}var Ve={};i(Ve,{up:()=>kx,down:()=>Px});import{sql as Kx}from"kysely";async function kx(t){await Kx`
1011
1011
  DELETE FROM member
1012
1012
  WHERE id IN (
1013
1013
  SELECT id FROM (
@@ -1026,9 +1026,9 @@ var vi=Object.defineProperty;var Vi=(t)=>t;function qi(t,n){this[t]=Vi.bind(null
1026
1026
  ) ranked
1027
1027
  WHERE ranked.rn > 1
1028
1028
  )
1029
- `.execute(t)}async function Px(t){}var zx={"001-initial-schema":yt,"002-organization-settings":ct,"003-connection-schema-align":Tt,"004-remove-models-binding":wt,"005-connection-configuration":pt,"006-add-views-to-settings":ft,"007-monitoring-logs":Ct,"008-event-bus":Nt,"009-drop-audit-logs":Et,"010-gateways":st,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":Kt,"013-monitoring-user-agent-gateway":kt,"014-gateway-resources-prompts":Pt,"015-monitoring-properties":zt,"016-downstream-token-client-info":Ut,"017-downstream-token-remove-userid":Dt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":jt,"020-enabled-plugins":Jt,"021-threads":Rt,"022-rename-gateway-to-virtual-mcp":Wt,"023-optimize-thread-indexes":$t,"024-consolidate-virtual-mcp":At,"025-add-monitoring-virtual-mcp-id":Xt,"026-restrict-child-connection-delete":gt,"027-update-management-mcp-url":Ft,"028-update-management-mcp-to-self":Mt,"029-add-updated-by-to-connections":Ot,"030-member-tags":Ht,"031-add-dependency-mode":St,"032-projects":Yt,"033-thread-status":Bt,"034-monitoring-dashboards":It,"035-project-connections":Gt,"036-update-registry-url":vt,"037-ai-provider-keys":Vt,"038-oauth-pkce-states":qt,"039-automations":lt,"040-replace-next-run-at-with-last-run-at":dt,"041-ai-provider-keys-unique-constraint":bt,"042-rename-mesh-mcp-to-cms-mcp":tn,"043-rename-cms-mcp-to-deco-cms":nn,"044-drop-connections-tools-column":en,"045-thread-context-start-message":an,"046-remove-object-storage-plugin":on,"047-add-next-run-at":_n,"048-merge-projects-agents":xn,"049-remove-org-admin-projects":rn,"050-durable-agent-runs":yn,"051-org-sso":Tn,"052-thread-agent-ids":wn,"053-registry-config":pn,"054-connection-slug":Cn,"055-spaces":Nn,"056-automation-project-scope":En,"057-thread-virtual-mcp-id":sn,"058-trigger-callback-tokens":hn,"059-kv":Kn,"060-member-index":kn,"061-downstream-token-connection-index":Pn,"062-private-registry":zn,"063-event-subscriptions-enabled-boolean":Un,"064-brand-context":Dn,"065-organization-domains":Ln,"066-brand-context-structured":jn,"067-threads-metadata":Jn,"068-threads-branch":Rn,"069-sandbox-runner-state":Wn,"070-model-categories":$n,"071-default-home-agents":An,"072-ai-provider-key-preset-id":Xn,"073-backfill-basic-usage-roles":gn,"074-sandbox-runner-state-handle-nonunique":Qn,"075-thread-inflight-async-jobs":Fn,"076-automations-drop-agent-json":Zn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":Hn,"079-strip-legacy-freestyle-vm-map-entries":Sn,"080-async-research-jobs":Yn,"081-async-research-jobs-result-content":Bn,"082-secrets":In,"083-thread-run-locally":Gn,"084-drop-host-sandbox-rows":vn,"085-rename-runner-kind":Vn,"086-thread-pins-and-vm-map-rekey":qn,"087-fix-vm-map-rekey":ln,"088-purge-cli-activate-keys":dn,"089-rename-remote-user-to-desktop":bn,"090-automation-webhook-triggers":te,"091-organization-domains-allow-multi":ne,"092-sandbox-naming-uniformization":ee,"093-backfill-global-search-basic-usage":ie,"094-org-file-configs":ue,"095-remove-automation-tool-call-kind":oe,"096-org-file-configs-public-url-base":_e,"097-drop-local-docker-sandbox-state":xe,"098-thread-message-parts":re,"099-run-fence":ye,"100-link-transport":ce,"101-cancel-requested-at":Te,"102-observational-agent":we,"103-revert-observational-agent":pe,"104-agent-sandbox-provider-kind":Ce,"105-org-fs":Ne,"106-automation-tools":Ee,"107-org-fs-public-org":se,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":Ke,"110-backfill-ghs-token-expiry":ke,"111-org-fs-thread-id":Pe,"112-org-file-configs-credential-type":ze,"113-thread-failure-reason":Ue,"114-run-acked-seq":De,"115-thread-projected-seq":Le,"116-org-sites":je,"117-org-file-configs-site-slug":Je,"118-organization-domains-multi-verify":Re,"119-organization-join-requests":We,"120-org-fs-read-public":$e,"121-org-fs-share-password":Ae,"122-split-web-research-tier":Qe,"123-connection-credential-vault":Fe,"124-drop-thread-projected-seq":Ze,"125-github-child-single-parent":Me,"126-task-board":He,"127-task-board-due-date":Se,"128-reports-only":Ye,"129-task-board-assigned-by":Be,"130-task-board-thread-id":Ie,"131-task-board-thread-link-cascade":Ge,"132-task-board-item-prs":ve,"133-dedupe-duplicate-members":Ve},qe=zx;import{getMigrations as ir}from"better-auth/db";import{sso as ar}from"@better-auth/sso";import{organization as ur}from"@decocms/better-auth/plugins";import{admin as or,apiKey as _r,jwt as mr,magicLink as xr,mcp as rr,openAPI as yr}from"better-auth/plugins";import{emailOTP as cr}from"better-auth/plugins/email-otp";import{Kysely as qx,PostgresDialect as Zi}from"kysely";import{Pool as Mi}from"pg";import{homedir as Ux}from"os";var Dx=new Set(["all","worker","api"]);function Lx(t){let n=(t??"").trim();return Dx.has(n)?n:"all"}function A(t){return t==="true"||t==="1"}function jx(t){if(t===void 0||t==="")return;return A(t)}function Jx(t,n,e){if(n===void 0||n==="")return e;let u=Number(n);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function Rx(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function ji(t){if(!t)return null;try{let e=new URL(t).hostname;if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}var Wx=new Set(["agent-sandbox","user-desktop"]);function $x(t){let n=t&&t.length>0?t:"user-desktop";if(n==="cluster")return"agent-sandbox";if(!Wx.has(n))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return n}function Ji(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${Ux()}/deco`,u=t.localMode,a=t.nodeEnv||n.NODE_ENV||"development",o=n.NATS_URL||"nats://localhost:4222",m=jx(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:a,port:Number(t.port)||Number(n.PORT)||3000,baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:A(n.DATABASE_PG_SSL),databasePoolMax:Number(n.DATABASE_POOL_MAX)||5,betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",meshJwtSecret:n.MESH_JWT_SECRET,localMode:u,disableRateLimit:A(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(n.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:Jx("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:A(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:A(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Rx(n.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:A(n.DISABLE_ORGFS_MOUNTS),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:n.S3_FORCE_PATH_STYLE===void 0||n.S3_FORCE_PATH_STYLE===""||n.S3_FORCE_PATH_STYLE==="true"||n.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:Lx(n.MESH_DISPATCH_ROLE),sandboxProviderKind:$x(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,commerceDiscoveryInternalApiUrl:n.COMMERCE_DISCOVERY_INTERNAL_API_URL,commerceDiscoveryInternalApiKey:n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:ji(n.DATABASE_URL),externalNatsUrl:ji(o),skipMigrations:t.skipMigrations}}var ot=null;function X(){if(!ot)Ax();return ot}function Ax(){if(ot)return;let t={...process.env},n=Ji({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);ot=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as Mx,metrics as Ox,propagation as wT,ROOT_CONTEXT as pT,SpanStatusCode as fT,trace as Hx}from"@opentelemetry/api";import{logs as Sx,SeverityNumber as le}from"@opentelemetry/api-logs";import{OTLPLogExporter as ET}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Yx}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as KT}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as PT}from"@opentelemetry/instrumentation-runtime-node";import{context as mc,propagation as xc,SpanKind as rc,SpanStatusCode as yc}from"@opentelemetry/api";var Tc=globalThis.fetch;import{ExportResultCode as zc}from"@opentelemetry/core";import{ExportResultCode as _t}from"@opentelemetry/core";import{mkdir as Xx,rename as gx,writeFile as Qx}from"fs/promises";import{join as mt}from"path";class xt{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:_t.FAILED});for(let n of t){let e=JSON.stringify(n),u=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:u,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:_t.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:_t.FAILED}});return Promise.resolve({code:_t.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 n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let a of t){let o=n.get(a.partition);if(!o)o=[],n.set(a.partition,o);o.push(a.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([a,o])=>this.writeNDJSON(o,a).then(()=>a))),u=e.find((a)=>a.status==="rejected");if(u){let a=new Set;for(let m of e)if(m.status==="fulfilled")a.add(m.value);let o=t.filter((m)=>!a.has(m.partition));this.bufferItems=o.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw u.reason}}async writeNDJSON(t,n){let e=new Date,u=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],a=n?mt(this.basePath,n,...u):mt(this.basePath,...u);if(!this.knownDirs.has(a))await Xx(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=mt(a,`.${o}.tmp`),_=mt(a,o),x=t.join(`
1029
+ `.execute(t)}async function Px(t){}var zx={"001-initial-schema":yt,"002-organization-settings":ct,"003-connection-schema-align":Tt,"004-remove-models-binding":wt,"005-connection-configuration":pt,"006-add-views-to-settings":ft,"007-monitoring-logs":Ct,"008-event-bus":Nt,"009-drop-audit-logs":Et,"010-gateways":st,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":Kt,"013-monitoring-user-agent-gateway":kt,"014-gateway-resources-prompts":Pt,"015-monitoring-properties":zt,"016-downstream-token-client-info":Ut,"017-downstream-token-remove-userid":Dt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":jt,"020-enabled-plugins":Jt,"021-threads":Rt,"022-rename-gateway-to-virtual-mcp":Wt,"023-optimize-thread-indexes":$t,"024-consolidate-virtual-mcp":At,"025-add-monitoring-virtual-mcp-id":Xt,"026-restrict-child-connection-delete":gt,"027-update-management-mcp-url":Ft,"028-update-management-mcp-to-self":St,"029-add-updated-by-to-connections":Ot,"030-member-tags":Ht,"031-add-dependency-mode":Mt,"032-projects":Yt,"033-thread-status":Bt,"034-monitoring-dashboards":It,"035-project-connections":Gt,"036-update-registry-url":vt,"037-ai-provider-keys":Vt,"038-oauth-pkce-states":qt,"039-automations":lt,"040-replace-next-run-at-with-last-run-at":dt,"041-ai-provider-keys-unique-constraint":bt,"042-rename-mesh-mcp-to-cms-mcp":tn,"043-rename-cms-mcp-to-deco-cms":nn,"044-drop-connections-tools-column":en,"045-thread-context-start-message":an,"046-remove-object-storage-plugin":on,"047-add-next-run-at":_n,"048-merge-projects-agents":xn,"049-remove-org-admin-projects":rn,"050-durable-agent-runs":yn,"051-org-sso":Tn,"052-thread-agent-ids":wn,"053-registry-config":pn,"054-connection-slug":Cn,"055-spaces":Nn,"056-automation-project-scope":En,"057-thread-virtual-mcp-id":sn,"058-trigger-callback-tokens":hn,"059-kv":Kn,"060-member-index":kn,"061-downstream-token-connection-index":Pn,"062-private-registry":zn,"063-event-subscriptions-enabled-boolean":Un,"064-brand-context":Dn,"065-organization-domains":Ln,"066-brand-context-structured":jn,"067-threads-metadata":Jn,"068-threads-branch":Rn,"069-sandbox-runner-state":Wn,"070-model-categories":$n,"071-default-home-agents":An,"072-ai-provider-key-preset-id":Xn,"073-backfill-basic-usage-roles":gn,"074-sandbox-runner-state-handle-nonunique":Qn,"075-thread-inflight-async-jobs":Fn,"076-automations-drop-agent-json":Zn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":Hn,"079-strip-legacy-freestyle-vm-map-entries":Mn,"080-async-research-jobs":Yn,"081-async-research-jobs-result-content":Bn,"082-secrets":In,"083-thread-run-locally":Gn,"084-drop-host-sandbox-rows":vn,"085-rename-runner-kind":Vn,"086-thread-pins-and-vm-map-rekey":qn,"087-fix-vm-map-rekey":ln,"088-purge-cli-activate-keys":dn,"089-rename-remote-user-to-desktop":bn,"090-automation-webhook-triggers":te,"091-organization-domains-allow-multi":ne,"092-sandbox-naming-uniformization":ee,"093-backfill-global-search-basic-usage":ie,"094-org-file-configs":ue,"095-remove-automation-tool-call-kind":oe,"096-org-file-configs-public-url-base":_e,"097-drop-local-docker-sandbox-state":xe,"098-thread-message-parts":re,"099-run-fence":ye,"100-link-transport":ce,"101-cancel-requested-at":Te,"102-observational-agent":we,"103-revert-observational-agent":pe,"104-agent-sandbox-provider-kind":Ce,"105-org-fs":Ne,"106-automation-tools":Ee,"107-org-fs-public-org":se,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":Ke,"110-backfill-ghs-token-expiry":ke,"111-org-fs-thread-id":Pe,"112-org-file-configs-credential-type":ze,"113-thread-failure-reason":Ue,"114-run-acked-seq":De,"115-thread-projected-seq":Le,"116-org-sites":je,"117-org-file-configs-site-slug":Je,"118-organization-domains-multi-verify":Re,"119-organization-join-requests":We,"120-org-fs-read-public":$e,"121-org-fs-share-password":Ae,"122-split-web-research-tier":Qe,"123-connection-credential-vault":Fe,"124-drop-thread-projected-seq":Ze,"125-github-child-single-parent":Se,"126-task-board":He,"127-task-board-due-date":Me,"128-reports-only":Ye,"129-task-board-assigned-by":Be,"130-task-board-thread-id":Ie,"131-task-board-thread-link-cascade":Ge,"132-task-board-item-prs":ve,"133-dedupe-duplicate-members":Ve},qe=zx;import{getMigrations as ir}from"better-auth/db";import{sso as ar}from"@better-auth/sso";import{organization as ur}from"@decocms/better-auth/plugins";import{admin as or,apiKey as _r,jwt as mr,magicLink as xr,mcp as rr,openAPI as yr}from"better-auth/plugins";import{emailOTP as cr}from"better-auth/plugins/email-otp";import{Kysely as qx,PostgresDialect as Zi}from"kysely";import{Pool as Si}from"pg";import{homedir as Ux}from"os";var Dx=new Set(["all","worker","api"]);function Lx(t){let n=(t??"").trim();return Dx.has(n)?n:"all"}function A(t){return t==="true"||t==="1"}function jx(t){if(t===void 0||t==="")return;return A(t)}function Jx(t,n,e){if(n===void 0||n==="")return e;let u=Number(n);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function Rx(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function ji(t){if(!t)return null;try{let e=new URL(t).hostname;if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}var Wx=new Set(["agent-sandbox","user-desktop"]);function $x(t){let n=t&&t.length>0?t:"user-desktop";if(n==="cluster")return"agent-sandbox";if(!Wx.has(n))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return n}function Ji(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${Ux()}/deco`,u=t.localMode,a=t.nodeEnv||n.NODE_ENV||"development",o=n.NATS_URL||"nats://localhost:4222",m=jx(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:a,port:Number(t.port)||Number(n.PORT)||3000,baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:A(n.DATABASE_PG_SSL),databasePoolMax:Number(n.DATABASE_POOL_MAX)||5,betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",meshJwtSecret:n.MESH_JWT_SECRET,localMode:u,disableRateLimit:A(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(n.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:Jx("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:A(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:A(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Rx(n.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:A(n.DISABLE_ORGFS_MOUNTS),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:n.S3_FORCE_PATH_STYLE===void 0||n.S3_FORCE_PATH_STYLE===""||n.S3_FORCE_PATH_STYLE==="true"||n.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:Lx(n.MESH_DISPATCH_ROLE),sandboxProviderKind:$x(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,commerceDiscoveryInternalApiUrl:n.COMMERCE_DISCOVERY_INTERNAL_API_URL,commerceDiscoveryInternalApiKey:n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:ji(n.DATABASE_URL),externalNatsUrl:ji(o),skipMigrations:t.skipMigrations}}var ot=null;function X(){if(!ot)Ax();return ot}function Ax(){if(ot)return;let t={...process.env},n=Ji({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);ot=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as Sx,metrics as Ox,propagation as wT,ROOT_CONTEXT as pT,SpanStatusCode as fT,trace as Hx}from"@opentelemetry/api";import{logs as Mx,SeverityNumber as le}from"@opentelemetry/api-logs";import{OTLPLogExporter as ET}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Yx}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as KT}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as PT}from"@opentelemetry/instrumentation-runtime-node";import{context as mc,propagation as xc,SpanKind as rc,SpanStatusCode as yc}from"@opentelemetry/api";var Tc=globalThis.fetch;import{ExportResultCode as zc}from"@opentelemetry/core";import{ExportResultCode as _t}from"@opentelemetry/core";import{mkdir as Xx,rename as gx,writeFile as Qx}from"fs/promises";import{join as mt}from"path";class xt{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:_t.FAILED});for(let n of t){let e=JSON.stringify(n),u=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:u,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:_t.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:_t.FAILED}});return Promise.resolve({code:_t.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 n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let a of t){let o=n.get(a.partition);if(!o)o=[],n.set(a.partition,o);o.push(a.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([a,o])=>this.writeNDJSON(o,a).then(()=>a))),u=e.find((a)=>a.status==="rejected");if(u){let a=new Set;for(let m of e)if(m.status==="fulfilled")a.add(m.value);let o=t.filter((m)=>!a.has(m.partition));this.bufferItems=o.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw u.reason}}async writeNDJSON(t,n){let e=new Date,u=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],a=n?mt(this.basePath,n,...u):mt(this.basePath,...u);if(!this.knownDirs.has(a))await Xx(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=mt(a,`.${o}.tmp`),_=mt(a,o),x=t.join(`
1030
1030
  `)+`
1031
- `;await Qx(m,x,{mode:384}),await gx(m,_)}}import{ExportResultCode as Jc}from"@opentelemetry/core";import{AggregationTemporality as Wc,DataPointType as $c}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Zc}from"@opentelemetry/core";var Sc=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as $T,LoggerProvider as AT}from"@opentelemetry/sdk-logs";import{detectResources as gT,envDetector as QT,hostDetector as FT,osDetector as ZT,processDetector as MT,resourceFromAttributes as OT}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as ST}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Ic}from"@opentelemetry/api-logs";import{NodeSDK as IT}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as vT,SamplingDecision as g}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as lc}from"@opentelemetry/api";var Bx="__d",Ix=Mx("Current request"),Gx=1;var Wi=(t)=>{let e=new URL(t.url).searchParams.get(Bx);if(e==="")return crypto.randomUUID();if(!e)e=t.headers.get("x-trace-debug-id");return e};class $i{inner;constructor(t){this.inner=t}shouldSample(t,n,e,u,a,o){let m=t.getValue(Ix);if(!m){if(this.inner)return this.inner.shouldSample(t,n,e,u,a,o);return{decision:g.RECORD_AND_SAMPLED}}let _=Wi(m);if(_)return{decision:g.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":_}};if(this.inner){let x=this.inner.shouldSample(t,n,e,u,a,o);if(x.decision===g.RECORD_AND_SAMPLED){let r=crypto.randomUUID();x.attributes={...x.attributes??{},"trace.debug.id":r}}return x}return{decision:g.NOT_RECORD}}toString(){return"DebugSampler"}}class Ai{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:g.RECORD_AND_SAMPLED};return{decision:g.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var qT=new Yx({preventServerStart:!0}),lT=new $i(new Ai(Gx));var Ri=Hx.getTracer("studio","1.0.0"),B=Ox.getMeter("studio","1.0.0"),vx=Sx.getLogger("studio","1.0.0"),de=(t,n,e)=>{let u={},a=e,o=e[e.length-1];if(o!==null&&typeof o==="object"&&!Array.isArray(o)&&!(o instanceof Error)&&Object.getPrototypeOf(o)===Object.prototype)u=o,a=e.slice(0,-1);let m=a.map((_)=>{if(_ instanceof Error)return`${_.name}: ${_.message}`;if(typeof _==="object")try{return JSON.stringify(_)}catch{return"[Object]"}return String(_)}).join(" ");vx.emit({severityNumber:t,severityText:n,body:m,attributes:{"log.source":"console",...u}})},be={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{de(le.ERROR,"ERROR",t),be.error(...t)};console.warn=(...t)=>{de(le.WARN,"WARN",t),be.warn(...t)};console.debug=(...t)=>{de(le.DEBUG,"DEBUG",t),be.debug(...t)};var ti,Xi=0,ni=500;function Vx(){if(ti)return;let t=performance.now()+ni;ti=setInterval(()=>{let n=performance.now();Xi=Math.max(0,n-t),t=n+ni},ni),ti.unref?.()}function gi(){return Vx(),Xi}var lx=()=>B.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Qi=()=>B.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Fi=400,dx=100,bx=(t)=>(n)=>{let e={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>Fi){let u=gi(),a=u>Fi/2;console.error(a?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(u),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:rt()}})}if(lx().record(n.queryDurationMillis,e),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function tr(t){let n=t.connect.bind(t);return t.connect=(e)=>{if(typeof e==="function")return n(e);let u=performance.now(),a=rt(),o=t.idleCount===0&&t.totalCount>=a,m=t.idleCount;return n().then((_)=>{let x=performance.now()-u;if(Qi().record(x,{"db.pool.outcome":o?"contended":"available"}),x>dx)if(o)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:x,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:a});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:x,idleAtStart:m,total:t.totalCount,max:a});return _},(_)=>{throw Qi().record(performance.now()-u,{"db.pool.outcome":"error"}),_})},t}var Oi={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Hi(){try{return X().databasePgSsl}catch{return!1}}function rt(){try{return X().databasePoolMax}catch{return 10}}function nr(t){let n=tr(new Mi({connectionString:t,max:rt(),ssl:Hi(),...Oi})),e=new Zi({pool:n});return{type:"postgres",db:new qx({dialect:e,log:bx(n)}),pool:n}}function G(){return X().databaseUrl}function Si(t){let n=t||G();return new Zi({pool:new Mi({connectionString:n,max:rt(),ssl:Hi(),...Oi})})}function er(t){let n=t||G();return nr(n)}async function Yi(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===I)I=null}var I=null;function ei(){if(!I)I=er(G());return I}async function Bi(t){let e={database:Si(t||G()),plugins:[ur({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),or(),_r(),mr(),yr(),rr({loginPage:"/login"}),ar(),xr({sendMagicLink:async()=>{}}),cr({sendVerificationOTP:async()=>{}})]},{toBeAdded:u,toBeCreated:a,runMigrations:o}=await ir(e);if(!u.length&&!a.length)return"up to date";return await o(),`${a.length+u.length} table(s) migrated`}async function Gi(t,n){return(await Q`
1031
+ `;await Qx(m,x,{mode:384}),await gx(m,_)}}import{ExportResultCode as Jc}from"@opentelemetry/core";import{AggregationTemporality as Wc,DataPointType as $c}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Zc}from"@opentelemetry/core";var Mc=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as $T,LoggerProvider as AT}from"@opentelemetry/sdk-logs";import{detectResources as gT,envDetector as QT,hostDetector as FT,osDetector as ZT,processDetector as ST,resourceFromAttributes as OT}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as MT}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Ic}from"@opentelemetry/api-logs";import{NodeSDK as IT}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as vT,SamplingDecision as g}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as lc}from"@opentelemetry/api";var Bx="__d",Ix=Sx("Current request"),Gx=1;var Wi=(t)=>{let e=new URL(t.url).searchParams.get(Bx);if(e==="")return crypto.randomUUID();if(!e)e=t.headers.get("x-trace-debug-id");return e};class $i{inner;constructor(t){this.inner=t}shouldSample(t,n,e,u,a,o){let m=t.getValue(Ix);if(!m){if(this.inner)return this.inner.shouldSample(t,n,e,u,a,o);return{decision:g.RECORD_AND_SAMPLED}}let _=Wi(m);if(_)return{decision:g.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":_}};if(this.inner){let x=this.inner.shouldSample(t,n,e,u,a,o);if(x.decision===g.RECORD_AND_SAMPLED){let r=crypto.randomUUID();x.attributes={...x.attributes??{},"trace.debug.id":r}}return x}return{decision:g.NOT_RECORD}}toString(){return"DebugSampler"}}class Ai{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:g.RECORD_AND_SAMPLED};return{decision:g.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var qT=new Yx({preventServerStart:!0}),lT=new $i(new Ai(Gx));var Ri=Hx.getTracer("studio","1.0.0"),B=Ox.getMeter("studio","1.0.0"),vx=Mx.getLogger("studio","1.0.0"),de=(t,n,e)=>{let u={},a=e,o=e[e.length-1];if(o!==null&&typeof o==="object"&&!Array.isArray(o)&&!(o instanceof Error)&&Object.getPrototypeOf(o)===Object.prototype)u=o,a=e.slice(0,-1);let m=a.map((_)=>{if(_ instanceof Error)return`${_.name}: ${_.message}`;if(typeof _==="object")try{return JSON.stringify(_)}catch{return"[Object]"}return String(_)}).join(" ");vx.emit({severityNumber:t,severityText:n,body:m,attributes:{"log.source":"console",...u}})},be={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{de(le.ERROR,"ERROR",t),be.error(...t)};console.warn=(...t)=>{de(le.WARN,"WARN",t),be.warn(...t)};console.debug=(...t)=>{de(le.DEBUG,"DEBUG",t),be.debug(...t)};var ti,Xi=0,ni=500;function Vx(){if(ti)return;let t=performance.now()+ni;ti=setInterval(()=>{let n=performance.now();Xi=Math.max(0,n-t),t=n+ni},ni),ti.unref?.()}function gi(){return Vx(),Xi}var lx=()=>B.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Qi=()=>B.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Fi=400,dx=100,bx=(t)=>(n)=>{let e={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>Fi){let u=gi(),a=u>Fi/2;console.error(a?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(u),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:rt()}})}if(lx().record(n.queryDurationMillis,e),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function tr(t){let n=t.connect.bind(t);return t.connect=(e)=>{if(typeof e==="function")return n(e);let u=performance.now(),a=rt(),o=t.idleCount===0&&t.totalCount>=a,m=t.idleCount;return n().then((_)=>{let x=performance.now()-u;if(Qi().record(x,{"db.pool.outcome":o?"contended":"available"}),x>dx)if(o)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:x,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:a});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:x,idleAtStart:m,total:t.totalCount,max:a});return _},(_)=>{throw Qi().record(performance.now()-u,{"db.pool.outcome":"error"}),_})},t}var Oi={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Hi(){try{return X().databasePgSsl}catch{return!1}}function rt(){try{return X().databasePoolMax}catch{return 10}}function nr(t){let n=tr(new Si({connectionString:t,max:rt(),ssl:Hi(),...Oi})),e=new Zi({pool:n});return{type:"postgres",db:new qx({dialect:e,log:bx(n)}),pool:n}}function G(){return X().databaseUrl}function Mi(t){let n=t||G();return new Zi({pool:new Si({connectionString:n,max:rt(),ssl:Hi(),...Oi})})}function er(t){let n=t||G();return nr(n)}async function Yi(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===I)I=null}var I=null;function ei(){if(!I)I=er(G());return I}async function Bi(t){let e={database:Mi(t||G()),plugins:[ur({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),or(),_r(),mr(),yr(),rr({loginPage:"/login"}),ar(),xr({sendMagicLink:async()=>{}}),cr({sendVerificationOTP:async()=>{}})]},{toBeAdded:u,toBeCreated:a,runMigrations:o}=await ir(e);if(!u.length&&!a.length)return"up to date";return await o(),`${a.length+u.length} table(s) migrated`}async function Gi(t,n){return(await Q`
1032
1032
  SELECT table_name FROM information_schema.tables
1033
1033
  WHERE table_schema='public' AND table_name=${n}
1034
1034
  `.execute(t)).rows.length>0}async function Tr(t){if(await Gi(t,"plugin_migrations"))return;await Q`