decocms 4.207.0 → 4.207.2

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 (225) hide show
  1. package/dist/client/assets/{AlertCircle-BIsXZUEO.js → AlertCircle-CXc40Ar6.js} +1 -1
  2. package/dist/client/assets/{AreaChart-CoasZrX-.js → AreaChart-C27tNchs.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-BNm4jfzs.js → ArrowLeft-BLxfklwI.js} +1 -1
  4. package/dist/client/assets/{ArrowUp-u32tNbR1.js → ArrowUp-Dt_UBFfb.js} +1 -1
  5. package/dist/client/assets/{ArrowUpRight-DVVt11mJ.js → ArrowUpRight-B-uxDkHp.js} +1 -1
  6. package/dist/client/assets/{Check-Bs-R8wY0.js → Check-bZA9Z1eF.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-CGtmaXJ3.js → CheckCircle-D2XQVczr.js} +1 -1
  8. package/dist/client/assets/{ChevronDown-CAqrusJs.js → ChevronDown-BGaOCqOd.js} +1 -1
  9. package/dist/client/assets/{ChevronRight-Cd_UlsvT.js → ChevronRight-DgtqlYpW.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-DHpSE6iq.js → ChevronUp-CU6rC-TG.js} +1 -1
  11. package/dist/client/assets/{Copy01-CZJepdy4.js → Copy01-BvlcT5Ak.js} +1 -1
  12. package/dist/client/assets/{CpuChip01-C8cqXunC.js → CpuChip01-De0DRzcV.js} +1 -1
  13. package/dist/client/assets/{CreditCard01-D6PzfgWu.js → CreditCard01-HzK6QPzC.js} +1 -1
  14. package/dist/client/assets/{DotsVertical-Vpwvdr0J.js → DotsVertical-Bag93q8O.js} +1 -1
  15. package/dist/client/assets/{Eye-BPXX6VoG.js → Eye-C2y40JOs.js} +1 -1
  16. package/dist/client/assets/{FilterLines-CgbRxiww.js → FilterLines-8Tl5IgAp.js} +1 -1
  17. package/dist/client/assets/{Globe01-D-EcIcjy.js → Globe01-DnjVyKuc.js} +1 -1
  18. package/dist/client/assets/{Globe04-BJ1ETG77.js → Globe04-BSBp9x9K.js} +1 -1
  19. package/dist/client/assets/{HardDrive-CW66Zlzo.js → HardDrive-ztiySPY3.js} +1 -1
  20. package/dist/client/assets/{Key01-Dm0VSwoE.js → Key01-DgMd07Bt.js} +1 -1
  21. package/dist/client/assets/{LayoutLeft-DAM1ssfV.js → LayoutLeft-CSX405Cu.js} +1 -1
  22. package/dist/client/assets/{LinkExternal01-CGD6IOB8.js → LinkExternal01-DdJQIgWn.js} +1 -1
  23. package/dist/client/assets/{LogOut01-CLpRV4f-.js → LogOut01-B0-7s2BH.js} +1 -1
  24. package/dist/client/assets/{Monitor01-BNJLU4eV.js → Monitor01-BBsMz7mA.js} +1 -1
  25. package/dist/client/assets/{Palette-G2-WnzIs.js → Palette-CmXv5yHg.js} +1 -1
  26. package/dist/client/assets/{Play-BDuxhiMt.js → Play-CFmLewXQ.js} +1 -1
  27. package/dist/client/assets/{Plus-B0eVBe4O.js → Plus-lM34Fm-Y.js} +1 -1
  28. package/dist/client/assets/{SearchLg-COL5Pxp8.js → SearchLg-CuGk6O6r.js} +1 -1
  29. package/dist/client/assets/{SearchMd-98Yunm63.js → SearchMd-DAvgULQa.js} +1 -1
  30. package/dist/client/assets/{Settings02-Cdk2KHA2.js → Settings02-C8pTBq19.js} +1 -1
  31. package/dist/client/assets/{Share07-DUxBHhPW.js → Share07-CvTKb5Cr.js} +1 -1
  32. package/dist/client/assets/{Shield01-CWIglVdc.js → Shield01-C4-B78z8.js} +1 -1
  33. package/dist/client/assets/{Star01-bE5Nu5fA.js → Star01-CUGeyTl-.js} +1 -1
  34. package/dist/client/assets/{Stars01-Co1kSV-L.js → Stars01-DCLEiWVl.js} +1 -1
  35. package/dist/client/assets/{Stars02-BkdGU3id.js → Stars02-C6NUxJ3v.js} +1 -1
  36. package/dist/client/assets/{Sun-DxdxUNls.js → Sun-CCpfLp3_.js} +1 -1
  37. package/dist/client/assets/{SwitchHorizontal01-DjU8_mcJ.js → SwitchHorizontal01-DI2GMRDp.js} +1 -1
  38. package/dist/client/assets/{Tool01-DwPmealV.js → Tool01-CPX10VXL.js} +1 -1
  39. package/dist/client/assets/{Tool02-DQj02UM8.js → Tool02-B1Y3c2VD.js} +1 -1
  40. package/dist/client/assets/{Trash01-BkDAP6Ui.js → Trash01-BMmfvKlv.js} +1 -1
  41. package/dist/client/assets/{TrendUp01-CdZjUaI8.js → TrendUp01-BKg0xQwM.js} +1 -1
  42. package/dist/client/assets/{Upload01-98MfYlMN.js → Upload01-B1cBCKT8.js} +1 -1
  43. package/dist/client/assets/{User01-yY2eh1_d.js → User01-BWxiE43u.js} +1 -1
  44. package/dist/client/assets/{Users01-CsLOaOqj.js → Users01-Bm4pxg61.js} +1 -1
  45. package/dist/client/assets/{Users03-DM0x0Tg1.js → Users03-D9fqA39L.js} +1 -1
  46. package/dist/client/assets/{X-BbkFrdIq.js → X-Cqi1_WmZ.js} +1 -1
  47. package/dist/client/assets/{XCircle-CJrledJK.js → XCircle-7dp2AJa7.js} +1 -1
  48. package/dist/client/assets/{XClose-HopZyIt-.js → XClose-CCYFw001.js} +1 -1
  49. package/dist/client/assets/{Zap-D__0UMqn.js → Zap-BjAoOGZy.js} +1 -1
  50. package/dist/client/assets/{ZapSquare-Cc7FxAwc.js → ZapSquare-CySeWwxR.js} +1 -1
  51. package/dist/client/assets/{access-gate-C8DnsdiI.js → access-gate-B1fm4HnI.js} +1 -1
  52. package/dist/client/assets/{agent-icon-1vKhAiKW.js → agent-icon-CsKv98kn.js} +1 -1
  53. package/dist/client/assets/{agents-list-DaBNoT0j.js → agents-list-B4fEE15t.js} +1 -1
  54. package/dist/client/assets/{ai-providers-DfQ-3Mtn.js → ai-providers-Dg70YHFf.js} +1 -1
  55. package/dist/client/assets/{alert-wnC44Lcu.js → alert-DtUrF-Jl.js} +1 -1
  56. package/dist/client/assets/{alert-dialog-B94RKrpB.js → alert-dialog-aW9uE3iw.js} +1 -1
  57. package/dist/client/assets/{app-editor-DnQbSXlY.js → app-editor-B0jVKIpV.js} +1 -1
  58. package/dist/client/assets/{auth-BCvvRTRT.js → auth-2KiKWAkl.js} +1 -1
  59. package/dist/client/assets/{auth-catchall-BDWRJ7VM.js → auth-catchall-DVcTU2RJ.js} +1 -1
  60. package/dist/client/assets/{auth-entry-CIdfCkx0.js → auth-entry-Cc644sSQ.js} +1 -1
  61. package/dist/client/assets/{auth-split-layout-7vwIV9m_.js → auth-split-layout-CYkTtEXP.js} +1 -1
  62. package/dist/client/assets/{authenticate-and-persist-oauth-Cl9pN4A7.js → authenticate-and-persist-oauth-CJ0AY64X.js} +1 -1
  63. package/dist/client/assets/{automation-list-row-B8lsVwA9.js → automation-list-row-q5ph9tUp.js} +1 -1
  64. package/dist/client/assets/{automation-runs-COGzW48W.js → automation-runs-C6JMyCKb.js} +1 -1
  65. package/dist/client/assets/{automations-D-A522sd.js → automations-BsYbBUoP.js} +1 -1
  66. package/dist/client/assets/{avatar-DdgFyVIK.js → avatar-ZnWhik7z.js} +1 -1
  67. package/dist/client/assets/{badge-Ds1Wnxgf.js → badge-BrTFVDsZ.js} +1 -1
  68. package/dist/client/assets/{billing-Yb3sA68U.js → billing-Dkv0Ch6o.js} +1 -1
  69. package/dist/client/assets/{block-document-DVEtY996.js → block-document-CgKO9mVv.js} +1 -1
  70. package/dist/client/assets/{brand-context-CVKoHubR.js → brand-context-8g7zhW8B.js} +1 -1
  71. package/dist/client/assets/{buckets-CkFa01HI.js → buckets-Cs8HaBE9.js} +1 -1
  72. package/dist/client/assets/{bulk-category-panel-CHKdOPND.js → bulk-category-panel-r4P7-YZG.js} +1 -1
  73. package/dist/client/assets/{capability-load-error-BktCLsTE.js → capability-load-error-DGN89M4A.js} +1 -1
  74. package/dist/client/assets/{card-DlHf-lsN.js → card-Djbfm7g6.js} +1 -1
  75. package/dist/client/assets/{cards-RuESfpOS.js → cards-DfWQ7Qfa.js} +1 -1
  76. package/dist/client/assets/{category-editor-CJpr4IWv.js → category-editor-BT99_Xr2.js} +1 -1
  77. package/dist/client/assets/{chat-context-nBPGo5Lk.js → chat-context-DaRp_QoN.js} +1 -1
  78. package/dist/client/assets/{checkbox-DKT6dO8Z.js → checkbox-BVl4NM3V.js} +1 -1
  79. package/dist/client/assets/{cli-auth-success-A61_Ra8B.js → cli-auth-success-DeHP94Wy.js} +1 -1
  80. package/dist/client/assets/{collection-detail-BlwZCaka.js → collection-detail-BDqwAwhM.js} +1 -1
  81. package/dist/client/assets/{collection-display-button-H1biHeps.js → collection-display-button-CQqHdi-q.js} +1 -1
  82. package/dist/client/assets/{collection-search-27Z_ZWZT.js → collection-search-Bw4RaUQw.js} +1 -1
  83. package/dist/client/assets/{collection-table-wrapper-JUU17uAc.js → collection-table-wrapper-CQJ5ywVm.js} +1 -1
  84. package/dist/client/assets/{collection-tabs-DkBeoa5Z.js → collection-tabs-C6tpry-d.js} +1 -1
  85. package/dist/client/assets/{command-DjAcFSs1.js → command-C1hTHyH4.js} +1 -1
  86. package/dist/client/assets/{commerce-onboarding-Cy-gCnLt.js → commerce-onboarding-BGNqNLKO.js} +1 -1
  87. package/dist/client/assets/{connect-kZOs8CHa.js → connect-CueoMMwi.js} +1 -1
  88. package/dist/client/assets/{connection-Cy8L3aJ3.js → connection-CqYrQzJN.js} +1 -1
  89. package/dist/client/assets/{connection-card-BCOCK_Eb.js → connection-card-ChLOu03x.js} +1 -1
  90. package/dist/client/assets/{connection-detail-DhPSnaZV.js → connection-detail-Bz9MpROg.js} +1 -1
  91. package/dist/client/assets/{connection-form-helpers-DmSfP11N.js → connection-form-helpers-DqJddwE8.js} +1 -1
  92. package/dist/client/assets/{connections-HOeS1AJd.js → connections-Cx_h9o6t.js} +1 -1
  93. package/dist/client/assets/{decopilot-sse-pool-DeMGFbxJ.js → decopilot-sse-pool-19xPv_KT.js} +1 -1
  94. package/dist/client/assets/{dialog-B9uSdMGN.js → dialog-CA0qqjyi.js} +1 -1
  95. package/dist/client/assets/{domain-settings-CxG8FQYU.js → domain-settings-W1Cr8ngd.js} +1 -1
  96. package/dist/client/assets/{drawer-98eLt1an.js → drawer-GuYvsNGa.js} +1 -1
  97. package/dist/client/assets/{dropdown-menu-C1hjqODM.js → dropdown-menu-BAbRcskP.js} +1 -1
  98. package/dist/client/assets/{empty-state-o0gQhpc4.js → empty-state-B4pZCQIN.js} +1 -1
  99. package/dist/client/assets/{extract-connection-data-BFlArbmP.js → extract-connection-data-DlldFhRH.js} +1 -1
  100. package/dist/client/assets/{file-explorer-Bc1LxF5Z.js → file-explorer-CaJe6BOl.js} +1 -1
  101. package/dist/client/assets/{file-type-icon-CUqlbkN4.js → file-type-icon-jYSypdXz.js} +1 -1
  102. package/dist/client/assets/{form-D_woCs7l.js → form-CXgKW-FR.js} +1 -1
  103. package/dist/client/assets/{general-Dk9AO_Dn.js → general-DQT1SG48.js} +1 -1
  104. package/dist/client/assets/{github-repo-picker-BMJy82Ev.js → github-repo-picker-DBv3km-6.js} +1 -1
  105. package/dist/client/assets/{hooks-Gv0gN8aJ.js → hooks-DXhypX2m.js} +1 -1
  106. package/dist/client/assets/{index-9XUiIWTR.js → index-6hsDNm7n.js} +1 -1
  107. package/dist/client/assets/{index-LkjnDNlx.js → index-B4QMrIft.js} +1 -1
  108. package/dist/client/assets/{index-C3G-6I1r.js → index-CGTxx1y8.js} +1 -1
  109. package/dist/client/assets/{index-C1vwFKI6.js → index-CfFRy8o8.js} +1 -1
  110. package/dist/client/assets/{index-CHLuEKuC.js → index-CsogwfdS.js} +1 -1
  111. package/dist/client/assets/{index-BruORjTP.js → index-DAn-7yTL.js} +1 -1
  112. package/dist/client/assets/{index-DI3yzcq9.js → index-DFAQ1EJ-.js} +3 -3
  113. package/dist/client/assets/{index-BROruwzJ.js → index-Dq4RN-Tc.js} +1 -1
  114. package/dist/client/assets/{index-51f6XlwG.js → index-Vqs_AAna.js} +1 -1
  115. package/dist/client/assets/{index-DN_t9Vle.js → index-i1MJ6BZf.js} +5 -5
  116. package/dist/client/assets/{index-redirect-Xm-Wfcmk.js → index-redirect-BErKD-Ul.js} +1 -1
  117. package/dist/client/assets/{input-rqb9s9a8.js → input-9WxsmvVz.js} +1 -1
  118. package/dist/client/assets/{integration-icon-NgM6caDc.js → integration-icon-DxLv-APu.js} +1 -1
  119. package/dist/client/assets/{invite-member-dialog-CFpFsOm-.js → invite-member-dialog-Dexd3Uay.js} +1 -1
  120. package/dist/client/assets/{label-CQkrTrwb.js → label-CFZCMSb8.js} +1 -1
  121. package/dist/client/assets/{layout-CPTYQuI4.js → layout-BcuDRyLO.js} +1 -1
  122. package/dist/client/assets/{login-D59iMEla.js → login-BDdcyKEE.js} +1 -1
  123. package/dist/client/assets/{mcp-oauth-X21IvZ1G.js → mcp-oauth-DDhIYBuK.js} +1 -1
  124. package/dist/client/assets/{members-CyiAS0Pa.js → members-BRSj6r0T.js} +1 -1
  125. package/dist/client/assets/{monaco-editor-CaRaMucM.js → monaco-editor-CmKmm0FK.js} +1 -1
  126. package/dist/client/assets/{monitoring-stats-row-B4DBqbQ2.js → monitoring-stats-row-DST0zWF_.js} +1 -1
  127. package/dist/client/assets/{multi-select-DOObsNJA.js → multi-select-DxOQZVfL.js} +1 -1
  128. package/dist/client/assets/{oauth-callback-BzGwDXCC.js → oauth-callback-BOVgVCFm.js} +1 -1
  129. package/dist/client/assets/{oauth-callback-ai-provider-BKWs28AL.js → oauth-callback-ai-provider-SPBIZ07m.js} +1 -1
  130. package/dist/client/assets/{onboarding-Czj8G4s9.js → onboarding-C-QSMb-G.js} +1 -1
  131. package/dist/client/assets/{org-layout-D_JBIC42.js → org-layout-CTP3vumM.js} +1 -1
  132. package/dist/client/assets/{organization-choice-CNtAOuw9.js → organization-choice-4tixXzlH.js} +1 -1
  133. package/dist/client/assets/{orgs-WFw9FKpT.js → orgs-C-g9pi2K.js} +1 -1
  134. package/dist/client/assets/{page-seo-form-C1g7UFST.js → page-seo-form-rwXXHzG0.js} +1 -1
  135. package/dist/client/assets/{popover-1grKPHF-.js → popover-Cj9zRw6i.js} +1 -1
  136. package/dist/client/assets/{post-editor-B_Fg_PtG.js → post-editor-ip8KBLaE.js} +1 -1
  137. package/dist/client/assets/{primitives-B1JFDByD.js → primitives-2GzooOrV.js} +1 -1
  138. package/dist/client/assets/{profile-awrxi6Uz.js → profile-Cvu_EoMx.js} +1 -1
  139. package/dist/client/assets/{project-app-view-mt45EZmG.js → project-app-view-CJIo89x6.js} +1 -1
  140. package/dist/client/assets/record-editor-DI3Bhe1G.js +1 -0
  141. package/dist/client/assets/{redirect-editor-CcmQCF7Y.js → redirect-editor-BjmS8eUr.js} +1 -1
  142. package/dist/client/assets/registry-BPqrOBsl.js +2 -0
  143. package/dist/client/assets/{registry-layout-7yZvOqOy.js → registry-layout-DMDDnV_q.js} +1 -1
  144. package/dist/client/assets/{reports-DCwj-kO-.js → reports-BO4tWYW7.js} +1 -1
  145. package/dist/client/assets/{require-capability-D1cW6Q8M.js → require-capability-D5OkbEgr.js} +1 -1
  146. package/dist/client/assets/{required-auth-layout-BvG-ioDs.js → required-auth-layout-Da5oFv2d.js} +1 -1
  147. package/dist/client/assets/{reset-password-CkKHp2p5.js → reset-password-DtLAFqy7.js} +1 -1
  148. package/dist/client/assets/{roles-21C2zkxi.js → roles-CPQLfaqM.js} +1 -1
  149. package/dist/client/assets/{search-input-CJHrGfWW.js → search-input-C_0BXBUE.js} +1 -1
  150. package/dist/client/assets/{secrets-CvR9yj2i.js → secrets-BPAYuBeu.js} +1 -1
  151. package/dist/client/assets/{sections-editor-fp1wM8pw.js → sections-editor-dBBkYgzd.js} +1 -1
  152. package/dist/client/assets/{select--TLOq7j8.js → select-90QtnyOa.js} +1 -1
  153. package/dist/client/assets/{select-model-BHOo1rp9.js → select-model-BehxtIgI.js} +1 -1
  154. package/dist/client/assets/{self-tool-result-CrB2rXFl.js → self-tool-result-BZdNeZSO.js} +1 -1
  155. package/dist/client/assets/{seo-editor-CYyt6O16.js → seo-editor-sivkxRiC.js} +1 -1
  156. package/dist/client/assets/{settings-layout-REfjxme3.js → settings-layout-CfUQ0tRJ.js} +1 -1
  157. package/dist/client/assets/{settings-section-C3ONEfGE.js → settings-section-BZ5lvRtv.js} +1 -1
  158. package/dist/client/assets/{shell-controls-BzV056SW.js → shell-controls-BQjORh0z.js} +1 -1
  159. package/dist/client/assets/{shell-layout-DlKj27bb.js → shell-layout-BFfYBuH8.js} +1 -1
  160. package/dist/client/assets/{sidebar-CNeZ85zy.js → sidebar-BGD7QssJ.js} +1 -1
  161. package/dist/client/assets/{skeleton-Dl3k4lxd.js → skeleton-BrszoFmI.js} +1 -1
  162. package/dist/client/assets/{spinner-kqhk2wdd.js → spinner-CcXrJu8r.js} +1 -1
  163. package/dist/client/assets/{sso-CPPmaCwP.js → sso-BvzSSLNB.js} +1 -1
  164. package/dist/client/assets/{store-Dmee7NFI.js → store-DZOEfSbI.js} +1 -1
  165. package/dist/client/assets/store-registry-Dyf7ckJJ.js +2 -0
  166. package/dist/client/assets/{studio-tools-Bdk11iXL.js → studio-tools-B67rnasf.js} +1 -1
  167. package/dist/client/assets/{switch-CG0_fDX9.js → switch-A_8GxjwB.js} +1 -1
  168. package/dist/client/assets/{synced-repos-B9BOntjb.js → synced-repos-C0OQcT4d.js} +1 -1
  169. package/dist/client/assets/{tab-id-BgguDV_T.js → tab-id-00aGi4r-.js} +1 -1
  170. package/dist/client/assets/{table-Cx2OcF-5.js → table-BnFpCqDf.js} +1 -1
  171. package/dist/client/assets/{tabs-CbawcjgJ.js → tabs-6cs1ZcJu.js} +1 -1
  172. package/dist/client/assets/{textarea-DLes0m8p.js → textarea-DOMWl7hz.js} +1 -1
  173. package/dist/client/assets/{toggle-group-DyUnK4OS.js → toggle-group-BPptYrIi.js} +1 -1
  174. package/dist/client/assets/{toolbar-D8hTZ_p2.js → toolbar-Bl6qY3rO.js} +1 -1
  175. package/dist/client/assets/{tooltip-DcLUD06s.js → tooltip-CHWh13MB.js} +1 -1
  176. package/dist/client/assets/{use-ai-providers-CUYq8orO.js → use-ai-providers-WSA7m6LX.js} +1 -1
  177. package/dist/client/assets/{use-automations-BjstAQWn.js → use-automations-D3vG6yKH.js} +1 -1
  178. package/dist/client/assets/{use-autosave-oRIz3IWx.js → use-autosave-BxhftnSO.js} +1 -1
  179. package/dist/client/assets/{use-capability-A1Nh-1c-.js → use-capability-DakEJHuv.js} +1 -1
  180. package/dist/client/assets/{use-clock-tick-CFHYPlbJ.js → use-clock-tick-Be7huOEc.js} +1 -1
  181. package/dist/client/assets/{use-connection-MqEPg6ky.js → use-connection-BbSK0zCm.js} +1 -1
  182. package/dist/client/assets/{use-copy-_jjDU2g1.js → use-copy-BefhlW44.js} +1 -1
  183. package/dist/client/assets/{use-create-virtual-mcp-Svxxjbnm.js → use-create-virtual-mcp-DY6DJSU_.js} +1 -1
  184. package/dist/client/assets/{use-debounced-autosave-D9paTl-2.js → use-debounced-autosave-CeYXg8DG.js} +1 -1
  185. package/dist/client/assets/{use-debounced-value-BIPN2O6h.js → use-debounced-value-Bj8A4dgk.js} +1 -1
  186. package/dist/client/assets/{use-deco-credits-D-bUjGxi.js → use-deco-credits-BuN_0hQH.js} +1 -1
  187. package/dist/client/assets/{use-decopilot-events-BBTIMFGs.js → use-decopilot-events-KbbNQEic.js} +1 -1
  188. package/dist/client/assets/{use-delete-connection-SIfEMhcg.js → use-delete-connection-B4bGuw52.js} +1 -1
  189. package/dist/client/assets/{use-deployment-admin-DkqoZQYC.js → use-deployment-admin-CeceKVIb.js} +1 -1
  190. package/dist/client/assets/{use-file-configs-BuZ7hFmK.js → use-file-configs-DZngbiME.js} +1 -1
  191. package/dist/client/assets/{use-infinite-scroll-72q6jUv6.js → use-infinite-scroll-DQhZHsvX.js} +1 -1
  192. package/dist/client/assets/{use-join-requests-Cbz31rNV.js → use-join-requests-DpJ7-Al5.js} +1 -1
  193. package/dist/client/assets/{use-mcp-client-BekaO9lz.js → use-mcp-client-CVm31V6F.js} +1 -1
  194. package/dist/client/assets/{use-mcp-tools-CIXlr8N2.js → use-mcp-tools-CYLIBnYs.js} +1 -1
  195. package/dist/client/assets/{use-members-0qUDlbAr.js → use-members-BzaWrkKT.js} +1 -1
  196. package/dist/client/assets/{use-mobile-DMbNnlTA.js → use-mobile-D8UMZtPl.js} +1 -1
  197. package/dist/client/assets/{use-navigate-to-agent-CET38Vg9.js → use-navigate-to-agent-CuaGQwJF.js} +1 -1
  198. package/dist/client/assets/{use-open-billing-url-CCadFnV1.js → use-open-billing-url-Cc80RM1m.js} +1 -1
  199. package/dist/client/assets/{use-org-auth-client-DFK_0KSz.js → use-org-auth-client-D5YL3Y-K.js} +1 -1
  200. package/dist/client/assets/{use-org-sso-B_1DEBvf.js → use-org-sso-CL5Bnwn7.js} +1 -1
  201. package/dist/client/assets/{use-organization-roles-Cx3CvgUK.js → use-organization-roles-Z8qc0s_T.js} +1 -1
  202. package/dist/client/assets/{use-organization-settings-Bxh2HDDm.js → use-organization-settings-Akz9Tqr2.js} +1 -1
  203. package/dist/client/assets/{use-registry-connections-Mw00EKui.js → use-registry-connections-DZ4rBsG_.js} +1 -1
  204. package/dist/client/assets/{use-secrets-Dp3WT00a.js → use-secrets-Bq5oFU1S.js} +1 -1
  205. package/dist/client/assets/{use-section-preview-base-DdNJ2arm.js → use-section-preview-base-CoF5vuNM.js} +1 -1
  206. package/dist/client/assets/{use-status-sounds-Bc12sBux.js → use-status-sounds-BNQaG5gv.js} +1 -1
  207. package/dist/client/assets/{use-tags-j37diAvW.js → use-tags-R_IwgWua.js} +1 -1
  208. package/dist/client/assets/{use-view-mode-DCcwKbXe.js → use-view-mode-Cs3yL9pb.js} +1 -1
  209. package/dist/client/assets/{use-virtual-mcp-CqU6VupE.js → use-virtual-mcp-DxweTSkQ.js} +1 -1
  210. package/dist/client/assets/useInfiniteQuery-DtySonqq.js +1 -0
  211. package/dist/client/assets/{useRouterState-xxRU2w37.js → useRouterState-DlqVqaTo.js} +1 -1
  212. package/dist/client/assets/useSuspenseInfiniteQuery-BL9Mn7SA.js +1 -0
  213. package/dist/client/assets/{users-DYAgABwe.js → users-ChvPEbAw.js} +1 -1
  214. package/dist/client/assets/{variant-calendar-eFgFIV4T.js → variant-calendar-DXB8YJhY.js} +1 -1
  215. package/dist/client/assets/{view-mode-toggle-g5jce1H8.js → view-mode-toggle-DX-7gXWI.js} +1 -1
  216. package/dist/client/index.html +1 -1
  217. package/dist/server/cli.js +4 -4
  218. package/dist/server/migrate.js +20 -20
  219. package/dist/server/server.js +4 -4
  220. package/package.json +1 -1
  221. package/dist/client/assets/record-editor-BBEHvVwc.js +0 -1
  222. package/dist/client/assets/registry-BlqGlt4F.js +0 -2
  223. package/dist/client/assets/store-registry-PhKSKGkg.js +0 -2
  224. package/dist/client/assets/useInfiniteQuery-BFbHksQ0.js +0 -1
  225. package/dist/client/assets/useSuspenseInfiniteQuery-Ciwo96ge.js +0 -1
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null,t)}var u=(n,t)=>{for(var _ in t)fm(n,_,{get:t[_],enumerable:!0,configurable:!0,set:Pm.bind(t,_)})};import{Migrator as Km,sql as O}from"kysely";var Wn={};u(Wn,{up:()=>wm,down:()=>Um});import{sql as $}from"kysely";async function wm(n){await n.schema.createTable("connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(t)=>t.notNull()).addColumn("connectionUrl","text",(t)=>t.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("api_keys").addColumn("id","text",(t)=>t.primaryKey()).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("hashedKey","text",(t)=>t.notNull().unique()).addColumn("permissions","text",(t)=>t.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("audit_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await n.schema.createTable("oauth_clients").addColumn("id","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(t)=>t.notNull()).addColumn("redirectUris","text",(t)=>t.notNull()).addColumn("grantTypes","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("oauth_authorization_codes").addColumn("code","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(t)=>t.notNull()).addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("downstream_tokens").addColumn("id","text",(t)=>t.primaryKey()).addColumn("connectionId","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(t)=>t.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(t)=>t.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await n.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function Um(n){await n.schema.dropTable("downstream_tokens").execute(),await n.schema.dropTable("oauth_refresh_tokens").execute(),await n.schema.dropTable("oauth_authorization_codes").execute(),await n.schema.dropTable("oauth_clients").execute(),await n.schema.dropTable("audit_logs").execute(),await n.schema.dropTable("api_keys").execute(),await n.schema.dropTable("connections").execute()}var Rn={};u(Rn,{up:()=>Jm,down:()=>jm});import{sql as ix}from"kysely";async function Jm(n){await n.schema.createTable("organization_settings").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(ix`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(ix`CURRENT_TIMESTAMP`)).execute()}async function jm(n){await n.schema.dropTable("organization_settings").execute()}var Xn={};u(Xn,{up:()=>am,down:()=>$m});async function am(n){await n.schema.alterTable("connections").renameColumn("name","title").execute(),await n.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await n.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await n.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await n.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await n.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await n.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await n.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await n.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await n.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await n.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await n.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function $m(n){await n.schema.alterTable("connections").renameColumn("title","name").execute(),await n.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await n.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await n.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await n.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await n.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await n.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await n.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await n.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await n.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await n.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await n.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Qn={};u(Qn,{up:()=>Dm,down:()=>Lm});async function Dm(n){await n.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await n.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await n.schema.dropTable("organization_settings").execute(),await n.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function Lm(n){await n.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await n.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId",t.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await n.schema.dropTable("organization_settings").execute(),await n.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Zn={};u(Zn,{up:()=>Wm,down:()=>Rm});async function Wm(n){await n.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await n.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function Rm(n){await n.schema.alterTable("connections").dropColumn("configuration_state").execute(),await n.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Fn={};u(Fn,{up:()=>Qm,down:()=>Zm});import{sql as Xm}from"kysely";async function Qm(n){await n.schema.alterTable("organization_settings").addColumn("sidebar_items",Xm`text`).execute()}async function Zm(n){await n.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Mn={};u(Mn,{up:()=>Fm,down:()=>Mm});async function Fm(n){await n.schema.createTable("monitoring_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(t)=>t.notNull()).addColumn("tool_name","text",(t)=>t.notNull()).addColumn("input","text",(t)=>t.notNull()).addColumn("output","text",(t)=>t.notNull()).addColumn("is_error","integer",(t)=>t.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(t)=>t.notNull()).addColumn("timestamp","text",(t)=>t.notNull()).addColumn("user_id","text").addColumn("request_id","text",(t)=>t.notNull()).execute(),await n.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await n.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await n.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function Mm(n){await n.schema.dropIndex("monitoring_logs_is_error").execute(),await n.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await n.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await n.schema.dropTable("monitoring_logs").execute()}var Yn={};u(Yn,{up:()=>Ym,down:()=>Hm});import{sql as I}from"kysely";async function Ym(n){await n.schema.createTable("events").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(t)=>t.notNull()).addColumn("source","text",(t)=>t.notNull()).addColumn("specversion","text",(t)=>t.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(t)=>t.notNull()).addColumn("datacontenttype","text",(t)=>t.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("event_subscriptions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(t)=>t.notNull()).addColumn("filter","text").addColumn("enabled","integer",(t)=>t.notNull().defaultTo(1)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("event_deliveries").addColumn("id","text",(t)=>t.primaryKey()).addColumn("event_id","text",(t)=>t.notNull()).addColumn("subscription_id","text",(t)=>t.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await n.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await n.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await n.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await n.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await n.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await n.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await n.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await n.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await n.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await n.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function Hm(n){await n.schema.dropIndex("idx_deliveries_retry").execute(),await n.schema.dropIndex("idx_deliveries_subscription_status").execute(),await n.schema.dropIndex("idx_deliveries_event").execute(),await n.schema.dropIndex("idx_subscriptions_unique").execute(),await n.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await n.schema.dropIndex("idx_subscriptions_type").execute(),await n.schema.dropIndex("idx_subscriptions_connection").execute(),await n.schema.dropIndex("idx_events_retry").execute(),await n.schema.dropIndex("idx_events_type").execute(),await n.schema.dropIndex("idx_events_source").execute(),await n.schema.dropIndex("idx_events_org_status").execute(),await n.schema.dropTable("event_deliveries").execute(),await n.schema.dropTable("event_subscriptions").execute(),await n.schema.dropTable("events").execute()}var Hn={};u(Hn,{up:()=>Bm,down:()=>Gm});import{sql as pm}from"kysely";async function Bm(n){await n.schema.dropTable("audit_logs").ifExists().execute()}async function Gm(n){await n.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(pm`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await n.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await n.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var pn={};u(pn,{up:()=>Am,down:()=>Sm});import{sql as d}from"kysely";async function Am(n){await n.schema.createTable("gateways").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(t)=>t.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("is_default","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await n.schema.createTable("gateway_connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("gateway_id","text",(t)=>t.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await n.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await d`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(n),await n.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await n.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await n.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function Sm(n){await n.schema.dropIndex("idx_gateway_connections_unique").execute(),await n.schema.dropIndex("idx_gateway_connections_connection").execute(),await n.schema.dropIndex("idx_gateway_connections_gateway").execute(),await n.schema.dropIndex("idx_gateways_default_per_org").execute(),await n.schema.dropIndex("idx_gateways_org_status").execute(),await n.schema.dropIndex("idx_gateways_org").execute(),await n.schema.dropTable("gateway_connections").execute(),await n.schema.dropTable("gateways").execute()}var Bn={};u(Bn,{up:()=>Om,down:()=>Im});async function Om(n){await n.schema.alterTable("gateways").addColumn("icon","text").execute()}async function Im(n){await n.schema.alterTable("gateways").dropColumn("icon").execute()}var Gn={};u(Gn,{up:()=>em,down:()=>om});import{sql as b}from"kysely";async function em(n){await n.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(t)=>t.notNull().defaultTo("inclusion")).execute(),await b`
2
+ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null,t)}var u=(n,t)=>{for(var _ in t)fm(n,_,{get:t[_],enumerable:!0,configurable:!0,set:Pm.bind(t,_)})};import{Migrator as Km,sql as O}from"kysely";var Wn={};u(Wn,{up:()=>wm,down:()=>Um});import{sql as a}from"kysely";async function wm(n){await n.schema.createTable("connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(t)=>t.notNull()).addColumn("connectionUrl","text",(t)=>t.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("api_keys").addColumn("id","text",(t)=>t.primaryKey()).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("hashedKey","text",(t)=>t.notNull().unique()).addColumn("permissions","text",(t)=>t.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("audit_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await n.schema.createTable("oauth_clients").addColumn("id","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(t)=>t.notNull()).addColumn("redirectUris","text",(t)=>t.notNull()).addColumn("grantTypes","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("oauth_authorization_codes").addColumn("code","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(t)=>t.notNull()).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("downstream_tokens").addColumn("id","text",(t)=>t.primaryKey()).addColumn("connectionId","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(t)=>t.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(t)=>t.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await n.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function Um(n){await n.schema.dropTable("downstream_tokens").execute(),await n.schema.dropTable("oauth_refresh_tokens").execute(),await n.schema.dropTable("oauth_authorization_codes").execute(),await n.schema.dropTable("oauth_clients").execute(),await n.schema.dropTable("audit_logs").execute(),await n.schema.dropTable("api_keys").execute(),await n.schema.dropTable("connections").execute()}var Rn={};u(Rn,{up:()=>Jm,down:()=>jm});import{sql as ix}from"kysely";async function Jm(n){await n.schema.createTable("organization_settings").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(ix`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(ix`CURRENT_TIMESTAMP`)).execute()}async function jm(n){await n.schema.dropTable("organization_settings").execute()}var Xn={};u(Xn,{up:()=>$m,down:()=>am});async function $m(n){await n.schema.alterTable("connections").renameColumn("name","title").execute(),await n.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await n.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await n.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await n.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await n.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await n.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await n.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await n.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await n.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await n.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await n.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function am(n){await n.schema.alterTable("connections").renameColumn("title","name").execute(),await n.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await n.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await n.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await n.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await n.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await n.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await n.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await n.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await n.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await n.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await n.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Qn={};u(Qn,{up:()=>Dm,down:()=>Lm});async function Dm(n){await n.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await n.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await n.schema.dropTable("organization_settings").execute(),await n.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function Lm(n){await n.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await n.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId",t.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await n.schema.dropTable("organization_settings").execute(),await n.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Zn={};u(Zn,{up:()=>Wm,down:()=>Rm});async function Wm(n){await n.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await n.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function Rm(n){await n.schema.alterTable("connections").dropColumn("configuration_state").execute(),await n.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Fn={};u(Fn,{up:()=>Qm,down:()=>Zm});import{sql as Xm}from"kysely";async function Qm(n){await n.schema.alterTable("organization_settings").addColumn("sidebar_items",Xm`text`).execute()}async function Zm(n){await n.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Mn={};u(Mn,{up:()=>Fm,down:()=>Mm});async function Fm(n){await n.schema.createTable("monitoring_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(t)=>t.notNull()).addColumn("tool_name","text",(t)=>t.notNull()).addColumn("input","text",(t)=>t.notNull()).addColumn("output","text",(t)=>t.notNull()).addColumn("is_error","integer",(t)=>t.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(t)=>t.notNull()).addColumn("timestamp","text",(t)=>t.notNull()).addColumn("user_id","text").addColumn("request_id","text",(t)=>t.notNull()).execute(),await n.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await n.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await n.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function Mm(n){await n.schema.dropIndex("monitoring_logs_is_error").execute(),await n.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await n.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await n.schema.dropTable("monitoring_logs").execute()}var Yn={};u(Yn,{up:()=>Ym,down:()=>Hm});import{sql as I}from"kysely";async function Ym(n){await n.schema.createTable("events").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(t)=>t.notNull()).addColumn("source","text",(t)=>t.notNull()).addColumn("specversion","text",(t)=>t.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(t)=>t.notNull()).addColumn("datacontenttype","text",(t)=>t.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("event_subscriptions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(t)=>t.notNull()).addColumn("filter","text").addColumn("enabled","integer",(t)=>t.notNull().defaultTo(1)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("event_deliveries").addColumn("id","text",(t)=>t.primaryKey()).addColumn("event_id","text",(t)=>t.notNull()).addColumn("subscription_id","text",(t)=>t.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await n.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await n.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await n.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await n.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await n.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await n.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await n.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await n.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await n.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await n.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function Hm(n){await n.schema.dropIndex("idx_deliveries_retry").execute(),await n.schema.dropIndex("idx_deliveries_subscription_status").execute(),await n.schema.dropIndex("idx_deliveries_event").execute(),await n.schema.dropIndex("idx_subscriptions_unique").execute(),await n.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await n.schema.dropIndex("idx_subscriptions_type").execute(),await n.schema.dropIndex("idx_subscriptions_connection").execute(),await n.schema.dropIndex("idx_events_retry").execute(),await n.schema.dropIndex("idx_events_type").execute(),await n.schema.dropIndex("idx_events_source").execute(),await n.schema.dropIndex("idx_events_org_status").execute(),await n.schema.dropTable("event_deliveries").execute(),await n.schema.dropTable("event_subscriptions").execute(),await n.schema.dropTable("events").execute()}var Hn={};u(Hn,{up:()=>Bm,down:()=>Gm});import{sql as pm}from"kysely";async function Bm(n){await n.schema.dropTable("audit_logs").ifExists().execute()}async function Gm(n){await n.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(pm`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await n.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await n.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var pn={};u(pn,{up:()=>Am,down:()=>Sm});import{sql as d}from"kysely";async function Am(n){await n.schema.createTable("gateways").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(t)=>t.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("is_default","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await n.schema.createTable("gateway_connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("gateway_id","text",(t)=>t.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await n.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await d`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(n),await n.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await n.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await n.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function Sm(n){await n.schema.dropIndex("idx_gateway_connections_unique").execute(),await n.schema.dropIndex("idx_gateway_connections_connection").execute(),await n.schema.dropIndex("idx_gateway_connections_gateway").execute(),await n.schema.dropIndex("idx_gateways_default_per_org").execute(),await n.schema.dropIndex("idx_gateways_org_status").execute(),await n.schema.dropIndex("idx_gateways_org").execute(),await n.schema.dropTable("gateway_connections").execute(),await n.schema.dropTable("gateways").execute()}var Bn={};u(Bn,{up:()=>Om,down:()=>Im});async function Om(n){await n.schema.alterTable("gateways").addColumn("icon","text").execute()}async function Im(n){await n.schema.alterTable("gateways").dropColumn("icon").execute()}var Gn={};u(Gn,{up:()=>em,down:()=>om});import{sql as b}from"kysely";async function em(n){await n.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(t)=>t.notNull().defaultTo("inclusion")).execute(),await b`
3
3
  UPDATE gateways
4
4
  SET tool_selection_mode = CASE
5
5
  WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
@@ -116,7 +116,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.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(n)}var bn={};u(bn,{up:()=>ji,down:()=>ai});import{sql as dn}from"kysely";async function ji(n){await dn`
119
+ `.execute(n)}var bn={};u(bn,{up:()=>ji,down:()=>$i});import{sql as dn}from"kysely";async function ji(n){await dn`
120
120
  UPDATE connections
121
121
  SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
122
122
  tools = NULL,
@@ -130,13 +130,13 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
130
130
  WHERE connection_url LIKE '%/mcp/self'
131
131
  AND app_name = '@deco/management-mcp'
132
132
  AND tools IS NOT NULL
133
- `.execute(n)}async function ai(n){await dn`
133
+ `.execute(n)}async function $i(n){await dn`
134
134
  UPDATE connections
135
135
  SET connection_url = REPLACE(connection_url, '/mcp/self', '/mcp/management'),
136
136
  updated_at = CURRENT_TIMESTAMP
137
137
  WHERE connection_url LIKE '%/mcp/self'
138
138
  AND app_name = '@deco/management-mcp'
139
- `.execute(n)}var nt={};u(nt,{up:()=>$i,down:()=>Di});async function $i(n){await n.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function Di(n){await n.schema.alterTable("connections").dropColumn("updated_by").execute()}var tt={};u(tt,{up:()=>Li,down:()=>Wi});import{sql as Cx}from"kysely";async function Li(n){await n.schema.createTable("organization_tags").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Cx`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("member_tags").addColumn("id","text",(t)=>t.primaryKey()).addColumn("member_id","text",(t)=>t.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(t)=>t.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Cx`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await n.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await n.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await n.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await n.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function Wi(n){await n.schema.dropIndex("idx_member_tags_unique").execute(),await n.schema.dropIndex("idx_member_tags_tag").execute(),await n.schema.dropIndex("idx_member_tags_member").execute(),await n.schema.dropIndex("idx_organization_tags_unique_name").execute(),await n.schema.dropIndex("idx_organization_tags_org").execute(),await n.schema.dropTable("member_tags").execute(),await n.schema.dropTable("organization_tags").execute()}var _t={};u(_t,{up:()=>Ri,down:()=>Xi});import{sql as e}from"kysely";async function Ri(n){await e`
139
+ `.execute(n)}var nt={};u(nt,{up:()=>ai,down:()=>Di});async function ai(n){await n.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function Di(n){await n.schema.alterTable("connections").dropColumn("updated_by").execute()}var tt={};u(tt,{up:()=>Li,down:()=>Wi});import{sql as Cx}from"kysely";async function Li(n){await n.schema.createTable("organization_tags").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Cx`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("member_tags").addColumn("id","text",(t)=>t.primaryKey()).addColumn("member_id","text",(t)=>t.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(t)=>t.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Cx`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await n.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await n.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await n.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await n.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function Wi(n){await n.schema.dropIndex("idx_member_tags_unique").execute(),await n.schema.dropIndex("idx_member_tags_tag").execute(),await n.schema.dropIndex("idx_member_tags_member").execute(),await n.schema.dropIndex("idx_organization_tags_unique_name").execute(),await n.schema.dropIndex("idx_organization_tags_org").execute(),await n.schema.dropTable("member_tags").execute(),await n.schema.dropTable("organization_tags").execute()}var _t={};u(_t,{up:()=>Ri,down:()=>Xi});import{sql as e}from"kysely";async function Ri(n){await e`
140
140
  ALTER TABLE connection_aggregations
141
141
  ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
142
142
  `.execute(n),await n.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function Xi(n){if(await n.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await e`SELECT current_database()`.execute(n).then(()=>!0).catch(()=>!1))await e`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(n);else await n.schema.dropIndex("idx_conn_agg_unique").execute(),await n.schema.dropIndex("idx_conn_agg_child").execute(),await n.schema.dropIndex("idx_conn_agg_parent").execute(),await n.schema.createTable("connection_aggregations_new").addColumn("id","text",(_)=>_.primaryKey()).addColumn("parent_connection_id","text",(_)=>_.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(_)=>_.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(_)=>_.notNull().defaultTo(e`CURRENT_TIMESTAMP`)).execute(),await e`
@@ -204,15 +204,15 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
204
204
  `.execute(n),await Ut`
205
205
  DELETE FROM project_plugin_configs
206
206
  WHERE plugin_id = 'object-storage'
207
- `.execute(n)}async function CT(n){}var jt={};u(jt,{up:()=>yT,down:()=>NT});import{sql as zx}from"kysely";async function yT(n){await n.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await zx`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(n)}async function NT(n){await zx`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(n),await n.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var $t={};u($t,{up:()=>KT,down:()=>ET});import{sql as at}from"kysely";async function KT(n){await n.schema.alterTable("connections").addColumn("subtype","text").execute(),await at`
207
+ `.execute(n)}async function CT(n){}var jt={};u(jt,{up:()=>yT,down:()=>NT});import{sql as zx}from"kysely";async function yT(n){await n.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await zx`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(n)}async function NT(n){await zx`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(n),await n.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var at={};u(at,{up:()=>KT,down:()=>ET});import{sql as $t}from"kysely";async function KT(n){await n.schema.alterTable("connections").addColumn("subtype","text").execute(),await $t`
208
208
  ALTER TABLE connections
209
209
  ADD CONSTRAINT chk_connections_subtype
210
210
  CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
211
- `.execute(n),await n.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await at`
211
+ `.execute(n),await n.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await $t`
212
212
  UPDATE connections
213
213
  SET subtype = 'agent'
214
214
  WHERE connection_type = 'VIRTUAL'
215
- `.execute(n),await n.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(T)=>T.primaryKey()).addColumn("virtual_mcp_id","text",(T)=>T.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(T)=>T.notNull()).addColumn("connection_id","text",(T)=>T.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(T)=>T.notNull()).addColumn("updated_at","text",(T)=>T.notNull()).execute(),await n.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await n.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let t=await n.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),_=await n.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),m=new Map;for(let T of _)m.set(T.organizationId,T.userId);let x=new Map;for(let T of t){let y=`vir_${H()}`;x.set(T.id,y);let N=T.ui?JSON.parse(T.ui):null,K=JSON.stringify({enabled_plugins:T.enabled_plugins?JSON.parse(T.enabled_plugins):null,ui:N,migrated_from_project:T.id,migrated_project_slug:T.slug}),f=m.get(T.organization_id);if(!f)continue;await n.insertInto("connections").values({id:y,organization_id:T.organization_id,created_by:f,updated_by:null,title:T.name,description:T.description,icon:N?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${y}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:K,bindings:null,status:"active",subtype:"project",created_at:T.created_at,updated_at:T.updated_at}).execute()}let i=await n.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let T of i){let y=x.get(T.project_id);if(!y)continue;await n.insertInto("connection_aggregations").values({id:`agg_${H()}`,parent_connection_id:y,child_connection_id:T.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:T.created_at}).onConflict((N)=>N.doNothing()).execute()}let C=await n.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let T of C){let y=x.get(T.project_id);if(!y)continue;await n.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${H()}`,virtual_mcp_id:y,plugin_id:T.plugin_id,connection_id:T.connection_id,settings:T.settings,created_at:T.created_at,updated_at:T.updated_at}).execute()}await n.schema.dropTable("project_plugin_configs").execute(),await n.schema.dropTable("project_connections").execute(),await n.schema.dropTable("projects").execute()}async function ET(n){await n.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await n.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await at`
215
+ `.execute(n),await n.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(T)=>T.primaryKey()).addColumn("virtual_mcp_id","text",(T)=>T.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(T)=>T.notNull()).addColumn("connection_id","text",(T)=>T.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(T)=>T.notNull()).addColumn("updated_at","text",(T)=>T.notNull()).execute(),await n.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await n.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let t=await n.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),_=await n.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),m=new Map;for(let T of _)m.set(T.organizationId,T.userId);let x=new Map;for(let T of t){let y=`vir_${H()}`;x.set(T.id,y);let N=T.ui?JSON.parse(T.ui):null,K=JSON.stringify({enabled_plugins:T.enabled_plugins?JSON.parse(T.enabled_plugins):null,ui:N,migrated_from_project:T.id,migrated_project_slug:T.slug}),f=m.get(T.organization_id);if(!f)continue;await n.insertInto("connections").values({id:y,organization_id:T.organization_id,created_by:f,updated_by:null,title:T.name,description:T.description,icon:N?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${y}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:K,bindings:null,status:"active",subtype:"project",created_at:T.created_at,updated_at:T.updated_at}).execute()}let i=await n.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let T of i){let y=x.get(T.project_id);if(!y)continue;await n.insertInto("connection_aggregations").values({id:`agg_${H()}`,parent_connection_id:y,child_connection_id:T.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:T.created_at}).onConflict((N)=>N.doNothing()).execute()}let C=await n.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let T of C){let y=x.get(T.project_id);if(!y)continue;await n.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${H()}`,virtual_mcp_id:y,plugin_id:T.plugin_id,connection_id:T.connection_id,settings:T.settings,created_at:T.created_at,updated_at:T.updated_at}).execute()}await n.schema.dropTable("project_plugin_configs").execute(),await n.schema.dropTable("project_connections").execute(),await n.schema.dropTable("projects").execute()}async function ET(n){await n.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await n.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await $t`
216
216
  ALTER TABLE connections
217
217
  DROP CONSTRAINT IF EXISTS chk_connections_subtype
218
218
  `.execute(n),await n.schema.alterTable("connections").dropColumn("subtype").execute()}var Dt={};u(Dt,{up:()=>zT,down:()=>PT});import{sql as fT}from"kysely";async function zT(n){await fT`
@@ -220,7 +220,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
220
220
  WHERE connection_type = 'VIRTUAL'
221
221
  AND subtype = 'project'
222
222
  AND metadata::json->>'migrated_project_slug' = 'org-admin'
223
- `.execute(n)}async function PT(n){}var Lt={};u(Lt,{up:()=>UT,down:()=>JT});import{sql as wT}from"kysely";async function UT(n){await n.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await wT`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(n)}async function JT(n){await n.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await n.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var Rt={};u(Rt,{up:()=>jT,down:()=>aT});import{sql as Wt}from"kysely";async function jT(n){await n.schema.createTable("org_sso_config").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(t)=>t.notNull()).addColumn("client_id","text",(t)=>t.notNull()).addColumn("client_secret","text",(t)=>t.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(t)=>t.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(t)=>t.notNull()).addColumn("enforced","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await n.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await n.schema.createTable("org_sso_sessions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("user_id","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(t)=>t.notNull()).addColumn("expires_at","text",(t)=>t.notNull()).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function aT(n){await n.schema.dropTable("org_sso_sessions").execute(),await n.schema.dropTable("org_sso_config").execute()}var Xt={};u(Xt,{up:()=>$T,down:()=>DT});async function $T(n){await n.schema.alterTable("threads").addColumn("agent_ids","text",(t)=>t.defaultTo("[]")).execute()}async function DT(n){await n.schema.alterTable("threads").dropColumn("agent_ids").execute()}var Qt={};u(Qt,{up:()=>LT,down:()=>WT});async function LT(n){await n.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function WT(n){await n.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var Ft={};u(Ft,{up:()=>XT,down:()=>QT});import{sql as Px}from"kysely";function Zt(n){return n.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function RT(n){if(n.app_name)return n.app_name;if(n.connection_url)try{let t=new URL(n.connection_url),m=((t.port?`${t.hostname}-${t.port}`:t.hostname)+t.pathname).replace(/\/+$/,"");return Zt(m)}catch{return Zt(n.connection_url)}if(n.title)return Zt(n.title);return n.id}async function XT(n){await n.schema.alterTable("connections").addColumn("slug","text").execute();let t=await Px`
223
+ `.execute(n)}async function PT(n){}var Lt={};u(Lt,{up:()=>UT,down:()=>JT});import{sql as wT}from"kysely";async function UT(n){await n.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await wT`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(n)}async function JT(n){await n.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await n.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var Rt={};u(Rt,{up:()=>jT,down:()=>$T});import{sql as Wt}from"kysely";async function jT(n){await n.schema.createTable("org_sso_config").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(t)=>t.notNull()).addColumn("client_id","text",(t)=>t.notNull()).addColumn("client_secret","text",(t)=>t.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(t)=>t.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(t)=>t.notNull()).addColumn("enforced","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await n.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await n.schema.createTable("org_sso_sessions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("user_id","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(t)=>t.notNull()).addColumn("expires_at","text",(t)=>t.notNull()).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function $T(n){await n.schema.dropTable("org_sso_sessions").execute(),await n.schema.dropTable("org_sso_config").execute()}var Xt={};u(Xt,{up:()=>aT,down:()=>DT});async function aT(n){await n.schema.alterTable("threads").addColumn("agent_ids","text",(t)=>t.defaultTo("[]")).execute()}async function DT(n){await n.schema.alterTable("threads").dropColumn("agent_ids").execute()}var Qt={};u(Qt,{up:()=>LT,down:()=>WT});async function LT(n){await n.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function WT(n){await n.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var Ft={};u(Ft,{up:()=>XT,down:()=>QT});import{sql as Px}from"kysely";function Zt(n){return n.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function RT(n){if(n.app_name)return n.app_name;if(n.connection_url)try{let t=new URL(n.connection_url),m=((t.port?`${t.hostname}-${t.port}`:t.hostname)+t.pathname).replace(/\/+$/,"");return Zt(m)}catch{return Zt(n.connection_url)}if(n.title)return Zt(n.title);return n.id}async function XT(n){await n.schema.alterTable("connections").addColumn("slug","text").execute();let t=await Px`
224
224
  SELECT id, app_name, connection_url, title FROM connections
225
225
  `.execute(n);for(let _ of t.rows){let m=RT(_);await Px`UPDATE connections SET slug = ${m} WHERE id = ${_.id}`.execute(n)}await n.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function QT(n){await n.schema.dropIndex("idx_connections_org_slug").execute(),await n.schema.alterTable("connections").dropColumn("slug").execute()}var Mt={};u(Mt,{up:()=>ZT,down:()=>FT});import{sql as o}from"kysely";async function ZT(n){await n.schema.alterTable("connections").addColumn("pinned","boolean",(t)=>t.notNull().defaultTo(!1)).execute(),await o`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(n),await n.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await o`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(n),await n.schema.alterTable("connections").dropColumn("subtype").execute(),await n.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function FT(n){await n.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await n.schema.alterTable("connections").addColumn("subtype","text").execute(),await o`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(n),await o`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(n),await o`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(n),await n.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await n.schema.alterTable("connections").dropColumn("pinned").execute()}var Yt={};u(Yt,{up:()=>MT,down:()=>YT});async function MT(n){await n.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await n.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function YT(n){await n.schema.dropIndex("idx_automations_virtual_mcp").execute(),await n.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var Ht={};u(Ht,{up:()=>HT,down:()=>pT});import{sql as tn}from"kysely";async function HT(n){await n.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(t)=>t.notNull().defaultTo("")).execute(),await tn`
226
226
  UPDATE threads
@@ -273,7 +273,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
273
273
  UPDATE "organizationRole"
274
274
  SET permission = ${T}
275
275
  WHERE id = ${_.id}
276
- `.execute(n)}}async function wC(n){}var rt={};u(rt,{up:()=>UC,down:()=>JC});async function UC(n){await n.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await n.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").execute()}async function JC(n){await n.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await n.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}var st={};u(st,{up:()=>jC,down:()=>aC});async function jC(n){await n.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function aC(n){await n.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var lt={};u(lt,{up:()=>$C,down:()=>DC});import{sql as k}from"kysely";async function $C(n){await k`
276
+ `.execute(n)}}async function wC(n){}var rt={};u(rt,{up:()=>UC,down:()=>JC});async function UC(n){await n.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await n.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").execute()}async function JC(n){await n.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await n.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}var st={};u(st,{up:()=>jC,down:()=>$C});async function jC(n){await n.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function $C(n){await n.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var lt={};u(lt,{up:()=>aC,down:()=>DC});import{sql as k}from"kysely";async function aC(n){await k`
277
277
  UPDATE automations
278
278
  SET virtual_mcp_id = (agent::json ->> 'id')
279
279
  WHERE virtual_mcp_id IS NULL
@@ -289,7 +289,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
289
289
  `.execute(n),await k`
290
290
  ALTER TABLE automations
291
291
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
292
- `.execute(n)}var bt={};u(bt,{up:()=>XC,reshapeSimpleMode:()=>ax,inferAutomationTier:()=>$x,down:()=>QC,__testing:()=>RC});var LC={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},WC=["fast","smart","thinking","image","web_research"];function dt(n){if(!n||typeof n!=="object")return!1;let t=n;if(!("tiers"in t))return!1;let _=t.tiers;if(!_||typeof _!=="object")return!1;return WC.some((m)=>(m in _))}function ax(n){if(dt(n))return n;let t=n,_=t?.enabled===!0,m=(x)=>x&&x.keyId&&x.modelId?{keyId:x.keyId,modelId:x.modelId,title:x.title}:null;if(!_)return LC;return{tiers:{fast:m(t?.chat?.fast),smart:m(t?.chat?.smart),thinking:m(t?.chat?.thinking),image:m(t?.image),web_research:m(t?.webResearch)}}}function $x(n){if(n.tier==="fast"||n.tier==="smart"||n.tier==="thinking")return n.tier;if(n.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function Dx(n){if(!(n.tier==="fast"||n.tier==="smart"||n.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((m)=>n[m]===void 0)}var RC={isAlreadyReshapedSimpleMode:dt,isAlreadyReshapedAutomationModels:Dx};async function XC(n){let t=await n.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let m of t){let x=m.simple_mode?typeof m.simple_mode==="string"?JSON.parse(m.simple_mode):m.simple_mode:null;if(dt(x))continue;let i=ax(x);await n.updateTable("organization_settings").set({simple_mode:JSON.stringify(i)}).where("organizationId","=",m.organizationId).execute()}let _=await n.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let m of _){let x;try{x=typeof m.models==="string"?JSON.parse(m.models):m.models}catch{x={}}if(Dx(x))continue;let i=$x(x);if(await n.updateTable("automations").set({models:JSON.stringify({tier:i})}).where("id","=",m.id).execute(),x.thinking?.capabilities?.image)console.log(`[migration 077] automation ${m.id} previously used an image-only model; mapped to "${i}"`)}}async function QC(n){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var n_={};u(n_,{up:()=>ZC,down:()=>FC});import{sql as R}from"kysely";async function ZC(n){await n.schema.alterTable("automations").addColumn("kind","text",(t)=>t.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await R`
292
+ `.execute(n)}var bt={};u(bt,{up:()=>XC,reshapeSimpleMode:()=>$x,inferAutomationTier:()=>ax,down:()=>QC,__testing:()=>RC});var LC={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},WC=["fast","smart","thinking","image","web_research"];function dt(n){if(!n||typeof n!=="object")return!1;let t=n;if(!("tiers"in t))return!1;let _=t.tiers;if(!_||typeof _!=="object")return!1;return WC.some((m)=>(m in _))}function $x(n){if(dt(n))return n;let t=n,_=t?.enabled===!0,m=(x)=>x&&x.keyId&&x.modelId?{keyId:x.keyId,modelId:x.modelId,title:x.title}:null;if(!_)return LC;return{tiers:{fast:m(t?.chat?.fast),smart:m(t?.chat?.smart),thinking:m(t?.chat?.thinking),image:m(t?.image),web_research:m(t?.webResearch)}}}function ax(n){if(n.tier==="fast"||n.tier==="smart"||n.tier==="thinking")return n.tier;if(n.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function Dx(n){if(!(n.tier==="fast"||n.tier==="smart"||n.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((m)=>n[m]===void 0)}var RC={isAlreadyReshapedSimpleMode:dt,isAlreadyReshapedAutomationModels:Dx};async function XC(n){let t=await n.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let m of t){let x=m.simple_mode?typeof m.simple_mode==="string"?JSON.parse(m.simple_mode):m.simple_mode:null;if(dt(x))continue;let i=$x(x);await n.updateTable("organization_settings").set({simple_mode:JSON.stringify(i)}).where("organizationId","=",m.organizationId).execute()}let _=await n.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let m of _){let x;try{x=typeof m.models==="string"?JSON.parse(m.models):m.models}catch{x={}}if(Dx(x))continue;let i=ax(x);if(await n.updateTable("automations").set({models:JSON.stringify({tier:i})}).where("id","=",m.id).execute(),x.thinking?.capabilities?.image)console.log(`[migration 077] automation ${m.id} previously used an image-only model; mapped to "${i}"`)}}async function QC(n){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var n_={};u(n_,{up:()=>ZC,down:()=>FC});import{sql as R}from"kysely";async function ZC(n){await n.schema.alterTable("automations").addColumn("kind","text",(t)=>t.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await R`
293
293
  ALTER TABLE automations
294
294
  ALTER COLUMN virtual_mcp_id DROP NOT NULL
295
295
  `.execute(n),await R`
@@ -319,7 +319,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
319
319
  WHERE connection_type = 'VIRTUAL'
320
320
  AND metadata IS NOT NULL
321
321
  AND metadata LIKE '%vmMap%'
322
- `.execute(n);for(let _ of t.rows){if(!_.metadata)continue;let m;try{m=JSON.parse(_.metadata)}catch{continue}let x=m.vmMap;if(!x||typeof x!=="object")continue;let i=!1,C={};for(let[y,N]of Object.entries(x)){if(!N||typeof N!=="object"){i=!0;continue}let K={};for(let[f,E]of Object.entries(N)){if(!E||typeof E!=="object"){i=!0;continue}let a=E.runnerKind;if(a!==void 0&&!MC.has(a)){i=!0;continue}K[f]=E}if(Object.keys(K).length>0)C[y]=K;else i=!0}if(!i)continue;m.vmMap=C;let T=JSON.stringify(m);await Lx`
322
+ `.execute(n);for(let _ of t.rows){if(!_.metadata)continue;let m;try{m=JSON.parse(_.metadata)}catch{continue}let x=m.vmMap;if(!x||typeof x!=="object")continue;let i=!1,C={};for(let[y,N]of Object.entries(x)){if(!N||typeof N!=="object"){i=!0;continue}let K={};for(let[f,E]of Object.entries(N)){if(!E||typeof E!=="object"){i=!0;continue}let $=E.runnerKind;if($!==void 0&&!MC.has($)){i=!0;continue}K[f]=E}if(Object.keys(K).length>0)C[y]=K;else i=!0}if(!i)continue;m.vmMap=C;let T=JSON.stringify(m);await Lx`
323
323
  UPDATE "connections"
324
324
  SET metadata = ${T}
325
325
  WHERE id = ${_.id}
@@ -824,16 +824,16 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
824
824
  AND tool_input IS NOT NULL
825
825
  )
826
826
  )
827
- `.execute(n)}var j_={};u(j_,{up:()=>zy,down:()=>Py});async function zy(n){await n.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function Py(n){await n.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var $_={};u($_,{up:()=>wy,down:()=>Uy});import{sql as a_}from"kysely";var Tn="local-docker";async function wy(n){await a_`delete from sandbox_runner_state where sandbox_provider_kind = ${Tn}`.execute(n);let t=await a_`
827
+ `.execute(n)}var j_={};u(j_,{up:()=>zy,down:()=>Py});async function zy(n){await n.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function Py(n){await n.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var a_={};u(a_,{up:()=>wy,down:()=>Uy});import{sql as $_}from"kysely";var Tn="local-docker";async function wy(n){await $_`delete from sandbox_runner_state where sandbox_provider_kind = ${Tn}`.execute(n);let t=await $_`
828
828
  SELECT id, metadata FROM "connections"
829
829
  WHERE connection_type = 'VIRTUAL'
830
830
  AND metadata IS NOT NULL
831
831
  AND metadata LIKE ${"%"+Tn+"%"}
832
- `.execute(n);for(let _ of t.rows){if(!_.metadata)continue;let m;try{m=JSON.parse(_.metadata)}catch{continue}let x=m.sandboxMap;if(!x||typeof x!=="object")continue;let i=!1,C={};for(let[y,N]of Object.entries(x)){if(!N||typeof N!=="object"){i=!0;continue}let K={};for(let[f,E]of Object.entries(N)){if(!E||typeof E!=="object"){i=!0;continue}if(Tn in E){i=!0;let a={...E};if(delete a[Tn],Object.keys(a).length>0)K[f]=a}else K[f]=E}if(Object.keys(K).length>0)C[y]=K;else i=!0}if(!i)continue;m.sandboxMap=C;let T=JSON.stringify(m);await a_`
832
+ `.execute(n);for(let _ of t.rows){if(!_.metadata)continue;let m;try{m=JSON.parse(_.metadata)}catch{continue}let x=m.sandboxMap;if(!x||typeof x!=="object")continue;let i=!1,C={};for(let[y,N]of Object.entries(x)){if(!N||typeof N!=="object"){i=!0;continue}let K={};for(let[f,E]of Object.entries(N)){if(!E||typeof E!=="object"){i=!0;continue}if(Tn in E){i=!0;let $={...E};if(delete $[Tn],Object.keys($).length>0)K[f]=$}else K[f]=E}if(Object.keys(K).length>0)C[y]=K;else i=!0}if(!i)continue;m.sandboxMap=C;let T=JSON.stringify(m);await $_`
833
833
  UPDATE "connections"
834
834
  SET metadata = ${T}
835
835
  WHERE id = ${_.id}
836
- `.execute(n)}}async function Uy(n){}var D_={};u(D_,{up:()=>Jy,down:()=>jy});import{sql as Cn}from"kysely";async function Jy(n){await n.schema.createTable("thread_message_parts").addColumn("id","text",(t)=>t.primaryKey()).addColumn("seq","integer",(t)=>t.notNull()).addColumn("org_id","text",(t)=>t.notNull()).addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(t)=>t.notNull()).addColumn("message_id","text",(t)=>t.notNull()).addColumn("role","text",(t)=>t.notNull()).addColumn("kind","text",(t)=>t.notNull()).addColumn("payload","jsonb",(t)=>t.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(t)=>t.notNull()).execute(),await Cn`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(n),await Cn`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(n),await Cn`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(n),await Cn`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(n),await n.schema.alterTable("threads").addColumn("message_storage_version","integer",(t)=>t.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function jy(n){await n.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await n.schema.dropTable("thread_message_parts").ifExists().execute()}var L_={};u(L_,{up:()=>ay,down:()=>$y});async function ay(n){await n.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function $y(n){await n.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var W_={};u(W_,{up:()=>Dy,down:()=>Ly});async function Dy(n){await n.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function Ly(n){await n.schema.alterTable("threads").dropColumn("link_transport").execute()}var R_={};u(R_,{up:()=>Wy,down:()=>Ry});async function Wy(n){await n.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Ry(n){await n.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var X_={};u(X_,{up:()=>Xy,down:()=>Qy});async function Xy(n){await n.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await n.schema.alterTable("threads").addColumn("is_observation","boolean",(t)=>t.notNull().defaultTo(!1)).execute(),await n.schema.createTable("thread_observations").addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(t)=>t.notNull()).addColumn("last_observed_at","text",(t)=>t.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function Qy(n){await n.schema.dropTable("thread_observations").execute(),await n.schema.alterTable("threads").dropColumn("is_observation").execute(),await n.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var Q_={};u(Q_,{up:()=>Zy,down:()=>Fy});async function Zy(n){await n.schema.dropTable("thread_observations").ifExists().execute(),await n.schema.alterTable("threads").dropColumn("is_observation").execute(),await n.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function Fy(n){await n.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await n.schema.alterTable("threads").addColumn("is_observation","boolean",(t)=>t.notNull().defaultTo(!1)).execute(),await n.schema.createTable("thread_observations").addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(t)=>t.notNull()).addColumn("last_observed_at","text",(t)=>t.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var F_={};u(F_,{up:()=>Yy,down:()=>Hy});import{sql as L}from"kysely";var U="cluster",J="agent-sandbox";function G(n){return n!==null&&typeof n==="object"&&!Array.isArray(n)}function Z_(n,t,_){if(!G(n))return n;if(n.sandboxProviderKind!==t)return n;return{...n,sandboxProviderKind:_}}function yn(n){if(!G(n))return!1;if(typeof n.sandboxHandle!=="string")return!1;if(n.previewUrl!==null&&typeof n.previewUrl!=="string")return!1;if(n.sandboxApiUrl!==void 0&&n.sandboxApiUrl!==null&&typeof n.sandboxApiUrl!=="string")return!1;if(n.sandboxProviderKind!==void 0&&n.sandboxProviderKind!==U&&n.sandboxProviderKind!==J&&n.sandboxProviderKind!=="user-desktop")return!1;if(n.createdAt!==void 0&&typeof n.createdAt!=="number")return!1;if(n.startedWith!==void 0){if(!G(n.startedWith))return!1;for(let t of["packageManager","port","path"]){let _=n.startedWith[t];if(_!==void 0&&_!==null&&typeof _!=="string")return!1}}return!0}function My(n,t,_){if(!G(n))return null;let m=!1,x={};for(let[i,C]of Object.entries(n)){if(!G(C)){x[i]=C;continue}let T={};for(let[y,N]of Object.entries(C)){if(!G(N)){T[y]=N;continue}let K={};for(let[f,E]of Object.entries(N)){if(f===t){if(m=!0,!(_ in N))K[_]=Z_(E,t,_);else if(!yn(N[_])&&yn(E))K[_]=Z_(E,t,_);continue}let a=Z_(E,t,_);if(a!==E)m=!0;if(f===_&&f in K&&yn(K[f])&&!yn(a))continue;K[f]=a}T[y]=K}x[i]=T}return{sandboxMap:x,changed:m}}async function Zx(n,t,_){let m=await L`
836
+ `.execute(n)}}async function Uy(n){}var D_={};u(D_,{up:()=>Jy,down:()=>jy});import{sql as Cn}from"kysely";async function Jy(n){await n.schema.createTable("thread_message_parts").addColumn("id","text",(t)=>t.primaryKey()).addColumn("seq","integer",(t)=>t.notNull()).addColumn("org_id","text",(t)=>t.notNull()).addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(t)=>t.notNull()).addColumn("message_id","text",(t)=>t.notNull()).addColumn("role","text",(t)=>t.notNull()).addColumn("kind","text",(t)=>t.notNull()).addColumn("payload","jsonb",(t)=>t.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(t)=>t.notNull()).execute(),await Cn`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(n),await Cn`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(n),await Cn`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(n),await Cn`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(n),await n.schema.alterTable("threads").addColumn("message_storage_version","integer",(t)=>t.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function jy(n){await n.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await n.schema.dropTable("thread_message_parts").ifExists().execute()}var L_={};u(L_,{up:()=>$y,down:()=>ay});async function $y(n){await n.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function ay(n){await n.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var W_={};u(W_,{up:()=>Dy,down:()=>Ly});async function Dy(n){await n.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function Ly(n){await n.schema.alterTable("threads").dropColumn("link_transport").execute()}var R_={};u(R_,{up:()=>Wy,down:()=>Ry});async function Wy(n){await n.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Ry(n){await n.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var X_={};u(X_,{up:()=>Xy,down:()=>Qy});async function Xy(n){await n.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await n.schema.alterTable("threads").addColumn("is_observation","boolean",(t)=>t.notNull().defaultTo(!1)).execute(),await n.schema.createTable("thread_observations").addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(t)=>t.notNull()).addColumn("last_observed_at","text",(t)=>t.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function Qy(n){await n.schema.dropTable("thread_observations").execute(),await n.schema.alterTable("threads").dropColumn("is_observation").execute(),await n.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var Q_={};u(Q_,{up:()=>Zy,down:()=>Fy});async function Zy(n){await n.schema.dropTable("thread_observations").ifExists().execute(),await n.schema.alterTable("threads").dropColumn("is_observation").execute(),await n.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function Fy(n){await n.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await n.schema.alterTable("threads").addColumn("is_observation","boolean",(t)=>t.notNull().defaultTo(!1)).execute(),await n.schema.createTable("thread_observations").addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(t)=>t.notNull()).addColumn("last_observed_at","text",(t)=>t.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var F_={};u(F_,{up:()=>Yy,down:()=>Hy});import{sql as L}from"kysely";var U="cluster",J="agent-sandbox";function G(n){return n!==null&&typeof n==="object"&&!Array.isArray(n)}function Z_(n,t,_){if(!G(n))return n;if(n.sandboxProviderKind!==t)return n;return{...n,sandboxProviderKind:_}}function yn(n){if(!G(n))return!1;if(typeof n.sandboxHandle!=="string")return!1;if(n.previewUrl!==null&&typeof n.previewUrl!=="string")return!1;if(n.sandboxApiUrl!==void 0&&n.sandboxApiUrl!==null&&typeof n.sandboxApiUrl!=="string")return!1;if(n.sandboxProviderKind!==void 0&&n.sandboxProviderKind!==U&&n.sandboxProviderKind!==J&&n.sandboxProviderKind!=="user-desktop")return!1;if(n.createdAt!==void 0&&typeof n.createdAt!=="number")return!1;if(n.startedWith!==void 0){if(!G(n.startedWith))return!1;for(let t of["packageManager","port","path"]){let _=n.startedWith[t];if(_!==void 0&&_!==null&&typeof _!=="string")return!1}}return!0}function My(n,t,_){if(!G(n))return null;let m=!1,x={};for(let[i,C]of Object.entries(n)){if(!G(C)){x[i]=C;continue}let T={};for(let[y,N]of Object.entries(C)){if(!G(N)){T[y]=N;continue}let K={};for(let[f,E]of Object.entries(N)){if(f===t){if(m=!0,!(_ in N))K[_]=Z_(E,t,_);else if(!yn(N[_])&&yn(E))K[_]=Z_(E,t,_);continue}let $=Z_(E,t,_);if($!==E)m=!0;if(f===_&&f in K&&yn(K[f])&&!yn($))continue;K[f]=$}T[y]=K}x[i]=T}return{sandboxMap:x,changed:m}}async function Zx(n,t,_){let m=await L`
837
837
  SELECT id, metadata FROM connections
838
838
  WHERE connection_type = 'VIRTUAL'
839
839
  AND metadata IS NOT NULL
@@ -948,7 +948,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.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(n),await n.schema.createTable("connection_credential_grants").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(t)=>t.notNull()).addColumn("created_by","text",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(t)=>t.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await n.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await n.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 jN(n){await n.schema.dropTable("connection_credential_grants").ifExists().execute(),await n.schema.dropTable("connection_workload_tokens").ifExists().execute()}var l_={};u(l_,{up:()=>aN,down:()=>$N});async function aN(n){await n.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function $N(n){await n.schema.alterTable("threads").addColumn("projected_seq","integer",(t)=>t.notNull().defaultTo(0)).execute()}var d_={};u(d_,{up:()=>DN,down:()=>LN});import{sql as M}from"kysely";async function DN(n){await M`
951
+ `.execute(n),await n.schema.createTable("connection_credential_grants").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(t)=>t.notNull()).addColumn("created_by","text",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(t)=>t.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await n.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await n.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 jN(n){await n.schema.dropTable("connection_credential_grants").ifExists().execute(),await n.schema.dropTable("connection_workload_tokens").ifExists().execute()}var l_={};u(l_,{up:()=>$N,down:()=>aN});async function $N(n){await n.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function aN(n){await n.schema.alterTable("threads").addColumn("projected_seq","integer",(t)=>t.notNull().defaultTo(0)).execute()}var d_={};u(d_,{up:()=>DN,down:()=>LN});import{sql as M}from"kysely";async function DN(n){await M`
952
952
  CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
953
953
  RETURNS jsonb AS $fn$
954
954
  BEGIN
@@ -1038,15 +1038,15 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
1038
1038
  create index idx_org_billing_benefits_pending
1039
1039
  on organization_billing (updated_at)
1040
1040
  where benefits_reference_id is not null
1041
- `.execute(n)}async function EK(n){await Bx`drop index if exists idx_org_billing_benefits_pending`.execute(n)}var ju={};u(ju,{up:()=>fK,down:()=>zK});import{sql as Gx}from"kysely";async function fK(n){await n.schema.createTable("user_model_preferences").addColumn("user_id","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("tiers","jsonb",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(Gx`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(t)=>t.notNull().defaultTo(Gx`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await n.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function zK(n){await n.schema.dropTable("user_model_preferences").execute()}var au={};u(au,{up:()=>PK,down:()=>wK});async function PK(n){await n.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function wK(n){await n.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var $u={};u($u,{up:()=>UK,down:()=>JK});async function UK(n){await n.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await n.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function JK(n){}var Du={};u(Du,{up:()=>jK,down:()=>aK});import{sql as Ax}from"kysely";async function jK(n){await n.schema.alterTable("organization_settings").addColumn("flags","jsonb").execute(),await Ax`
1041
+ `.execute(n)}async function EK(n){await Bx`drop index if exists idx_org_billing_benefits_pending`.execute(n)}var ju={};u(ju,{up:()=>fK,down:()=>zK});import{sql as Gx}from"kysely";async function fK(n){await n.schema.createTable("user_model_preferences").addColumn("user_id","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("tiers","jsonb",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(Gx`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(t)=>t.notNull().defaultTo(Gx`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await n.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function zK(n){await n.schema.dropTable("user_model_preferences").execute()}var $u={};u($u,{up:()=>PK,down:()=>wK});async function PK(n){await n.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function wK(n){await n.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var au={};u(au,{up:()=>UK,down:()=>JK});async function UK(n){await n.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await n.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function JK(n){}var Du={};u(Du,{up:()=>jK,down:()=>$K});import{sql as Ax}from"kysely";async function jK(n){await n.schema.alterTable("organization_settings").addColumn("flags","jsonb").execute(),await Ax`
1042
1042
  UPDATE organization_settings
1043
1043
  SET flags = jsonb_build_object('reports_only', reports_only)
1044
1044
  WHERE reports_only IS NOT NULL
1045
- `.execute(n),await n.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function aK(n){await n.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute(),await Ax`
1045
+ `.execute(n),await n.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function $K(n){await n.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute(),await Ax`
1046
1046
  UPDATE organization_settings
1047
1047
  SET reports_only = (flags ->> 'reports_only')::boolean
1048
1048
  WHERE flags ? 'reports_only'
1049
- `.execute(n),await n.schema.alterTable("organization_settings").dropColumn("flags").execute()}var Lu={};u(Lu,{up:()=>DK,down:()=>LK});import{sql as $K}from"kysely";async function DK(n){await n.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(t)=>t.notNull().defaultTo(0)).execute(),await $K`
1049
+ `.execute(n),await n.schema.alterTable("organization_settings").dropColumn("flags").execute()}var Lu={};u(Lu,{up:()=>DK,down:()=>LK});import{sql as aK}from"kysely";async function DK(n){await n.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(t)=>t.notNull().defaultTo(0)).execute(),await aK`
1050
1050
  update task_board_items
1051
1051
  set sort_order = -extract(epoch from created_at)
1052
1052
  `.execute(n)}async function LK(n){await n.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var Wu={};u(Wu,{up:()=>WK,down:()=>RK,ACTIONS:()=>Sx});import{sql as fn}from"kysely";var Sx=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function WK(n){await n.schema.createTable("task_board_activity").addColumn("id","text",(t)=>t.primaryKey()).addColumn("task_board_item_id","text",(t)=>t.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("action","text",(t)=>t.notNull()).addColumn("actor_id","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("data","jsonb").addColumn("occurred_at","timestamptz",(t)=>t.notNull().defaultTo(fn`now()`)).addCheckConstraint("chk_task_board_activity_action",fn`action IN (${fn.join(Sx.map((t)=>fn.lit(t)))})`).execute(),await n.schema.createIndex("idx_task_board_activity_item").on("task_board_activity").columns(["task_board_item_id","occurred_at"]).execute()}async function RK(n){await n.schema.dropIndex("idx_task_board_activity_item").execute(),await n.schema.dropTable("task_board_activity").execute()}var Xu={};u(Xu,{up:()=>XK,down:()=>QK,ACTIONS:()=>Ru});import{sql as g}from"kysely";var Ru=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function XK(n){await n.schema.alterTable("organization_tags").addColumn("color","text").execute(),await n.schema.createTable("task_board_item_tags").addColumn("task_board_item_id","text",(t)=>t.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("id","text",(t)=>t.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_by","text",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(g`now()`)).addPrimaryKeyConstraint("task_board_item_tags_pkey",["task_board_item_id","id"]).execute(),await n.schema.createIndex("idx_task_board_item_tags_tag").on("task_board_item_tags").columns(["id"]).execute(),await Ox(n,Ru)}async function QK(n){await Ox(n,Ru.filter((t)=>t!=="tags_changed")),await n.schema.dropIndex("idx_task_board_item_tags_tag").execute(),await n.schema.dropTable("task_board_item_tags").execute(),await n.schema.alterTable("organization_tags").dropColumn("color").execute()}async function Ox(n,t){await g`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(n),await g`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${g.join(t.map((_)=>g.lit(_)))}))`.execute(n)}var Zu={};u(Zu,{up:()=>FK,down:()=>MK});import{sql as Ix}from"kysely";function Qu(n){return n.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function ZK(n){if(n.app_name)return n.app_name;if(n.connection_url)try{let t=new URL(n.connection_url),m=((t.port?`${t.hostname}-${t.port}`:t.hostname)+t.pathname).replace(/\/+$/,"");return Qu(m)}catch{return Qu(n.connection_url)}if(n.title)return Qu(n.title);return n.id}async function FK(n){let t=await Ix`
@@ -1133,9 +1133,9 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
1133
1133
  CREATE INDEX idx_org_repo_sync_enabled
1134
1134
  ON org_repo_sync (organization_id)
1135
1135
  WHERE enabled
1136
- `.execute(n)}async function fE(n){await qu`DROP TABLE IF EXISTS org_repo_sync`.execute(n)}var su={};u(su,{up:()=>PE,down:()=>wE,ACTIONS:()=>ru});import{sql as Jn}from"kysely";var ru=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution","merge_failed"],zE=new Set(["merge_failed"]);async function PE(n){await gx(n,ru)}async function wE(n){await gx(n,ru.filter((t)=>!zE.has(t)))}async function gx(n,t){await Jn`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(n),await Jn`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Jn.join(t.map((_)=>Jn.lit(_)))}))`.execute(n)}var lu={};u(lu,{up:()=>UE,down:()=>JE});async function UE(n){await n.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function JE(n){await n.schema.alterTable("task_board_items").dropColumn("repo").execute()}var jE={"001-initial-schema":Wn,"002-organization-settings":Rn,"003-connection-schema-align":Xn,"004-remove-models-binding":Qn,"005-connection-configuration":Zn,"006-add-views-to-settings":Fn,"007-monitoring-logs":Mn,"008-event-bus":Yn,"009-drop-audit-logs":Hn,"010-gateways":pn,"011-gateway-icon":Bn,"012-gateway-tool-selection-mode":Gn,"013-monitoring-user-agent-gateway":An,"014-gateway-resources-prompts":Sn,"015-monitoring-properties":On,"016-downstream-token-client-info":In,"017-downstream-token-remove-userid":en,"018-drop-gateway-tool-selection-strategy":on,"019-remove-gateway-is-default":kn,"020-enabled-plugins":cn,"021-threads":Vn,"022-rename-gateway-to-virtual-mcp":hn,"023-optimize-thread-indexes":gn,"024-consolidate-virtual-mcp":qn,"025-add-monitoring-virtual-mcp-id":vn,"026-restrict-child-connection-delete":rn,"027-update-management-mcp-url":ln,"028-update-management-mcp-to-self":bn,"029-add-updated-by-to-connections":nt,"030-member-tags":tt,"031-add-dependency-mode":_t,"032-projects":ut,"033-thread-status":xt,"034-monitoring-dashboards":mt,"035-project-connections":it,"036-update-registry-url":Tt,"037-ai-provider-keys":Ct,"038-oauth-pkce-states":yt,"039-automations":Nt,"040-replace-next-run-at-with-last-run-at":Kt,"041-ai-provider-keys-unique-constraint":Et,"042-rename-mesh-mcp-to-cms-mcp":ft,"043-rename-cms-mcp-to-deco-cms":zt,"044-drop-connections-tools-column":Pt,"045-thread-context-start-message":wt,"046-remove-object-storage-plugin":Jt,"047-add-next-run-at":jt,"048-merge-projects-agents":$t,"049-remove-org-admin-projects":Dt,"050-durable-agent-runs":Lt,"051-org-sso":Rt,"052-thread-agent-ids":Xt,"053-registry-config":Qt,"054-connection-slug":Ft,"055-spaces":Mt,"056-automation-project-scope":Yt,"057-thread-virtual-mcp-id":Ht,"058-trigger-callback-tokens":pt,"059-kv":Bt,"060-member-index":Gt,"061-downstream-token-connection-index":At,"062-private-registry":St,"063-event-subscriptions-enabled-boolean":Ot,"064-brand-context":It,"065-organization-domains":et,"066-brand-context-structured":ot,"067-threads-metadata":kt,"068-threads-branch":ct,"069-sandbox-runner-state":Vt,"070-model-categories":ht,"071-default-home-agents":gt,"072-ai-provider-key-preset-id":qt,"073-backfill-basic-usage-roles":vt,"074-sandbox-runner-state-handle-nonunique":rt,"075-thread-inflight-async-jobs":st,"076-automations-drop-agent-json":lt,"077-tier-only-model-selection":bt,"078-automation-tool-call-kind":n_,"079-strip-legacy-freestyle-vm-map-entries":t_,"080-async-research-jobs":__,"081-async-research-jobs-result-content":u_,"082-secrets":x_,"083-thread-run-locally":m_,"084-drop-host-sandbox-rows":i_,"085-rename-runner-kind":T_,"086-thread-pins-and-vm-map-rekey":C_,"087-fix-vm-map-rekey":y_,"088-purge-cli-activate-keys":N_,"089-rename-remote-user-to-desktop":K_,"090-automation-webhook-triggers":E_,"091-organization-domains-allow-multi":f_,"092-sandbox-naming-uniformization":z_,"093-backfill-global-search-basic-usage":P_,"094-org-file-configs":U_,"095-remove-automation-tool-call-kind":J_,"096-org-file-configs-public-url-base":j_,"097-drop-local-docker-sandbox-state":$_,"098-thread-message-parts":D_,"099-run-fence":L_,"100-link-transport":W_,"101-cancel-requested-at":R_,"102-observational-agent":X_,"103-revert-observational-agent":Q_,"104-agent-sandbox-provider-kind":F_,"105-org-fs":M_,"106-automation-tools":Y_,"107-org-fs-public-org":H_,"108-automation-max-agent-steps":p_,"109-thread-message-parts-per-message-seq":B_,"110-backfill-ghs-token-expiry":G_,"111-org-fs-thread-id":A_,"112-org-file-configs-credential-type":S_,"113-thread-failure-reason":O_,"114-run-acked-seq":I_,"115-thread-projected-seq":e_,"116-org-sites":o_,"117-org-file-configs-site-slug":k_,"118-organization-domains-multi-verify":c_,"119-organization-join-requests":V_,"120-org-fs-read-public":h_,"121-org-fs-share-password":g_,"122-split-web-research-tier":r_,"123-connection-credential-vault":s_,"124-drop-thread-projected-seq":l_,"125-github-child-single-parent":d_,"126-task-board":nu,"127-task-board-due-date":tu,"128-reports-only":_u,"129-task-board-assigned-by":uu,"130-task-board-thread-id":xu,"131-task-board-thread-link-cascade":mu,"132-task-board-item-prs":iu,"133-dedupe-duplicate-members":Tu,"134-drop-task-board-enabled":Cu,"135-task-board-item-fk-cascade":yu,"136-task-board-import-idempotency":Nu,"137-agent-sandbox-runner-state":Ku,"138-agent-sandbox-sessions":Eu,"139-organization-billing":fu,"140-seat-change-log":zu,"141-benefits-sync-pending":Pu,"142-stripe-event-watermark":wu,"143-armed-report-url":Uu,"144-benefits-pending-index":Ju,"145-user-model-preferences":ju,"146-organization-main-agent":au,"147-drop-agent-sandbox-tables":$u,"148-org-flags":Du,"149-task-board-item-sort-order":Lu,"150-task-board-activity":Wu,"151-task-board-tags":Xu,"152-repair-connection-slug":Zu,"153-task-board-latest-assistant-part-index":Fu,"154-task-board-qa-activity":Yu,"155-task-board-review-claims":Hu,"156-task-board-conflict-activity":Bu,"157-drop-seat-billing":Gu,"158-drop-github-child-single-parent":Au,"159-task-board-comments":Su,"160-task-quota-billing":Ou,"161-task-quota-claim-state":eu,"162-claude-subscriptions":ou,"163-task-board-item-dismissed":ku,"164-per-org-task-quota":cu,"165-task-board-pending-review-index":Vu,"166-task-board-last-swept-at":hu,"167-task-board-run-retry":gu,"168-org-repo-sync":vu,"169-task-board-merge-failed-activity":su,"170-task-board-item-repo":lu},du=jE;import{getMigrations as bE}from"better-auth/db";import{sso as nf}from"@better-auth/sso";import{organization as tf}from"@decocms/better-auth/plugins";import{admin as _f,apiKey as uf,jwt as xf,magicLink as mf,mcp as Tf,openAPI as Cf}from"better-auth/plugins";import{emailOTP as yf}from"better-auth/plugins/email-otp";import{Kysely as gE,PostgresDialect as xm}from"kysely";import{Pool as mm}from"pg";import{homedir as aE}from"os";var $E=new Set(["all","worker","api"]);function DE(n){let t=(n??"").trim();return $E.has(t)?t:"all"}var LE=new Set(["production","development","test"]);function WE(n){let t=(n??"").trim();return LE.has(t)?t:"development"}function W(n){return n==="true"||n==="1"}function RE(n){if(n===void 0||n==="")return;return W(n)}function bu(n,t,_){if(t===void 0||t==="")return;let m=Number(t);if(!Number.isSafeInteger(m)||m<=0)throw Error(`${n} must be a positive integer`);if(_!==void 0&&m>_)throw Error(`${n} must be at most ${_}`);return m}function j(n,t,_,m){return bu(n,t,m)??_}function XE(n,t,_,m){if(t===void 0||t==="")return _;let x=Number(t);if(!Number.isSafeInteger(x)||x<0)throw Error(`${n} must be a non-negative integer`);if(m!==void 0&&x>m)throw Error(`${n} must be at most ${m}`);return x}function qx(n,t){if(n===void 0||n==="")return t;return n==="true"||n==="1"}function vx(n){if(!n)return null;try{let _=new URL(n).hostname.replace(/^\[|\]$/g,"");if(_==="localhost"||_==="127.0.0.1"||_==="::1")return null;return n}catch{return null}}function QE(n){return n===void 0||n===""||n==="true"||n==="1"}function v(n,t){return n||t}var ZE=new Set(["agent-sandbox","user-desktop"]);function FE(n){let t=(n??"").trim(),_=t.length>0?t:"user-desktop";if(_==="cluster")return"agent-sandbox";if(!ZE.has(_))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${n}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return _}function rx(n,t){let _=n.home||t.DATA_DIR||t.DECOCMS_HOME||`${aE()}/deco`,m=n.localMode,x=n.nodeEnv||WE(t.NODE_ENV),i=t.NATS_URL||"nats://localhost:4222",C=RE(t.NATS_TUNNEL_PUBLIC_ENABLED)??!!t.NATS_PUBLIC_URL;return{settings:{nodeEnv:x,port:j("PORT",n.port||t.PORT,3000,65535),baseUrl:n.baseUrl||t.BASE_URL,publicUrl:v(t.STUDIO_PUBLIC_URL,t.MESH_PUBLIC_URL),dataDir:_,databasePgSsl:W(t.DATABASE_PG_SSL),databasePoolMax:j("DATABASE_POOL_MAX",t.DATABASE_POOL_MAX,5),dbosPoolSize:j("DBOS_POOL_SIZE",t.DBOS_POOL_SIZE,5),betterAuthSecret:t.BETTER_AUTH_SECRET||"",encryptionKey:t.ENCRYPTION_KEY||"",studioJwtSecret:v(t.STUDIO_JWT_SECRET,t.MESH_JWT_SECRET),localMode:m,disableRateLimit:W(t.DISABLE_RATE_LIMIT),studioProvisionSecretKey:t.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(t.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),clickhouseUrl:t.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:bu("CLICKHOUSE_MAX_MEMORY_USAGE",t.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:t.MONITORING_OTLP_ENDPOINT,otelServiceName:t.OTEL_SERVICE_NAME||"studio",natsPublicUrl:t.NATS_PUBLIC_URL,natsTunnelPublicEnabled:C,natsTunnelSessionTtlSeconds:j("NATS_TUNNEL_SESSION_TTL_SECONDS",t.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:t.NATS_OPERATOR_JWT,natsAccountJwt:t.NATS_ACCOUNT_JWT,natsAccountSigningKey:t.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:t.NATS_CREDS,configPath:t.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(t.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:t.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:t.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:t.STRIPE_WEBHOOK_SECRET,stripeSecretKey:t.STRIPE_SECRET_KEY,stripeOrgPriceId:t.STRIPE_ORG_PRICE_ID,topupFeePercent:XE("STUDIO_TOPUP_FEE_PERCENT",t.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:W(t.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:j("STUDIO_FREE_TASKS",t.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:j("STUDIO_MONTHLY_TASKS",t.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:j("STUDIO_MAX_RUNS_PER_TASK",t.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:W(t.ENABLE_DECO_IMPORT),mcpCacheEnabled:qx(t.MCP_CACHE_ENABLED,x!=="development"),orgFsPublicSetsJson:t.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(t.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:j("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",t.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:j("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",t.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:qx(t.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:j("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",t.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:t.S3_ENDPOINT,s3Bucket:t.S3_BUCKET,s3Region:t.S3_REGION||"auto",s3AccessKeyId:t.S3_ACCESS_KEY_ID,s3SecretAccessKey:t.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:QE(t.S3_FORCE_PATH_STYLE),monitoringS3Bucket:t.MONITORING_S3_BUCKET,monitoringS3Endpoint:t.MONITORING_S3_ENDPOINT,monitoringS3Region:t.MONITORING_S3_REGION,monitoringS3AccessKeyId:t.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:t.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:t.MONITORING_S3_PREFIX,duckdbExtensionDirectory:t.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:t.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:bu("DUCKDB_THREADS",t.DUCKDB_THREADS),isCli:!0,noTui:n.noTui===!0,podName:t.POD_NAME||crypto.randomUUID(),dispatchRole:DE(v(t.STUDIO_DISPATCH_ROLE,t.MESH_DISPATCH_ROLE)),sandboxProviderKind:FE(t.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:W(t.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:W(t.TASK_BOARD_RERUN_REUSES_PR_BRANCH),sandboxReleaseOnRunEndEnabled:W(t.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:j("SANDBOX_RELEASE_GRACE_MS",t.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:t.DECO_SUPABASE_URL,decoSupabaseServiceKey:t.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:t.FIRECRAWL_API_KEY,reportsInternalApiUrl:v(t.REPORTS_INTERNAL_API_URL,t.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:v(t.REPORTS_INTERNAL_API_KEY,t.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:t.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:t.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:t.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:t.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:t.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:t.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:t.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:vx(t.DATABASE_URL),externalNatsUrl:vx(i),skipMigrations:n.skipMigrations}}var jn=null;function A(){if(!jn)ME();return jn}function ME(){if(jn)return;let n={...process.env},t=rx({port:n.PORT||"3000",home:n.DATA_DIR||n.DECOCMS_HOME||"",localMode:n.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:n.DECO_NO_TUI==="true",vitePort:n.VITE_PORT,baseUrl:n.BASE_URL},n);jn=Object.freeze({...t.settings,databaseUrl:n.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(n.NATS_URL||"nats://localhost:4222").split(",").map((_)=>_.trim()).filter(Boolean)})}import{createContextKey as AE,metrics as SE,propagation as Iw,ROOT_CONTEXT as ew,SpanStatusCode as ow,trace as OE}from"@opentelemetry/api";import{logs as IE,SeverityNumber as nx}from"@opentelemetry/api-logs";import{OTLPLogExporter as Vw}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as eE}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as qw}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as rw}from"@opentelemetry/instrumentation-runtime-node";import{context as pP,propagation as BP,SpanKind as GP,SpanStatusCode as AP}from"@opentelemetry/api";var OP=globalThis.fetch;import{ExportResultCode as sP}from"@opentelemetry/core";import{ExportResultCode as an}from"@opentelemetry/core";import{mkdir as YE,rename as HE,writeFile as pE}from"fs/promises";import{join as $n}from"path";class Dn{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(n){this.basePath=n.basePath,this.flushThreshold=n.flushThreshold??1000,this.maxBufferBytes=n.maxBufferBytes??10485760,this.partitionKey=n.partitionKey;let t=n.flushIntervalMs??60000;if(t>0&&t<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((_)=>{console.error("[NDJSONExporter] Timer flush failed:",_)})},t),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(n){if(this.isShutdown)return Promise.resolve({code:an.FAILED});for(let t of n){let _=JSON.stringify(t),m=this.partitionKey?this.partitionKey(t):"";this.bufferItems.push({partition:m,json:_}),this.bufferBytes+=Buffer.byteLength(_,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:an.SUCCESS})).catch((t)=>{return console.error("[NDJSONExporter] Flush failed:",t),{code:an.FAILED}});return Promise.resolve({code:an.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 t=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=t,t}async doFlush(){if(this.bufferItems.length===0)return;let n=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let t=new Map;for(let x of n){let i=t.get(x.partition);if(!i)i=[],t.set(x.partition,i);i.push(x.json)}let _=await Promise.allSettled(Array.from(t.entries()).map(([x,i])=>this.writeNDJSON(i,x).then(()=>x))),m=_.find((x)=>x.status==="rejected");if(m){let x=new Set;for(let C of _)if(C.status==="fulfilled")x.add(C.value);let i=n.filter((C)=>!x.has(C.partition));this.bufferItems=i.concat(this.bufferItems),this.bufferBytes=0;for(let C of this.bufferItems)this.bufferBytes+=Buffer.byteLength(C.json,"utf8")+1;throw m.reason}}async writeNDJSON(n,t){let _=new Date,m=[String(_.getUTCFullYear()),String(_.getUTCMonth()+1).padStart(2,"0"),String(_.getUTCDate()).padStart(2,"0"),String(_.getUTCHours()).padStart(2,"0")],x=t?$n(this.basePath,t,...m):$n(this.basePath,...m);if(!this.knownDirs.has(x))await YE(x,{recursive:!0,mode:448}),this.knownDirs.add(x);let i=`${crypto.randomUUID()}.ndjson`,C=$n(x,`.${i}.tmp`),T=$n(x,i),y=n.join(`
1136
+ `.execute(n)}async function fE(n){await qu`DROP TABLE IF EXISTS org_repo_sync`.execute(n)}var su={};u(su,{up:()=>PE,down:()=>wE,ACTIONS:()=>ru});import{sql as Jn}from"kysely";var ru=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution","merge_failed"],zE=new Set(["merge_failed"]);async function PE(n){await gx(n,ru)}async function wE(n){await gx(n,ru.filter((t)=>!zE.has(t)))}async function gx(n,t){await Jn`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(n),await Jn`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Jn.join(t.map((_)=>Jn.lit(_)))}))`.execute(n)}var lu={};u(lu,{up:()=>UE,down:()=>JE});async function UE(n){await n.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function JE(n){await n.schema.alterTable("task_board_items").dropColumn("repo").execute()}var jE={"001-initial-schema":Wn,"002-organization-settings":Rn,"003-connection-schema-align":Xn,"004-remove-models-binding":Qn,"005-connection-configuration":Zn,"006-add-views-to-settings":Fn,"007-monitoring-logs":Mn,"008-event-bus":Yn,"009-drop-audit-logs":Hn,"010-gateways":pn,"011-gateway-icon":Bn,"012-gateway-tool-selection-mode":Gn,"013-monitoring-user-agent-gateway":An,"014-gateway-resources-prompts":Sn,"015-monitoring-properties":On,"016-downstream-token-client-info":In,"017-downstream-token-remove-userid":en,"018-drop-gateway-tool-selection-strategy":on,"019-remove-gateway-is-default":kn,"020-enabled-plugins":cn,"021-threads":Vn,"022-rename-gateway-to-virtual-mcp":hn,"023-optimize-thread-indexes":gn,"024-consolidate-virtual-mcp":qn,"025-add-monitoring-virtual-mcp-id":vn,"026-restrict-child-connection-delete":rn,"027-update-management-mcp-url":ln,"028-update-management-mcp-to-self":bn,"029-add-updated-by-to-connections":nt,"030-member-tags":tt,"031-add-dependency-mode":_t,"032-projects":ut,"033-thread-status":xt,"034-monitoring-dashboards":mt,"035-project-connections":it,"036-update-registry-url":Tt,"037-ai-provider-keys":Ct,"038-oauth-pkce-states":yt,"039-automations":Nt,"040-replace-next-run-at-with-last-run-at":Kt,"041-ai-provider-keys-unique-constraint":Et,"042-rename-mesh-mcp-to-cms-mcp":ft,"043-rename-cms-mcp-to-deco-cms":zt,"044-drop-connections-tools-column":Pt,"045-thread-context-start-message":wt,"046-remove-object-storage-plugin":Jt,"047-add-next-run-at":jt,"048-merge-projects-agents":at,"049-remove-org-admin-projects":Dt,"050-durable-agent-runs":Lt,"051-org-sso":Rt,"052-thread-agent-ids":Xt,"053-registry-config":Qt,"054-connection-slug":Ft,"055-spaces":Mt,"056-automation-project-scope":Yt,"057-thread-virtual-mcp-id":Ht,"058-trigger-callback-tokens":pt,"059-kv":Bt,"060-member-index":Gt,"061-downstream-token-connection-index":At,"062-private-registry":St,"063-event-subscriptions-enabled-boolean":Ot,"064-brand-context":It,"065-organization-domains":et,"066-brand-context-structured":ot,"067-threads-metadata":kt,"068-threads-branch":ct,"069-sandbox-runner-state":Vt,"070-model-categories":ht,"071-default-home-agents":gt,"072-ai-provider-key-preset-id":qt,"073-backfill-basic-usage-roles":vt,"074-sandbox-runner-state-handle-nonunique":rt,"075-thread-inflight-async-jobs":st,"076-automations-drop-agent-json":lt,"077-tier-only-model-selection":bt,"078-automation-tool-call-kind":n_,"079-strip-legacy-freestyle-vm-map-entries":t_,"080-async-research-jobs":__,"081-async-research-jobs-result-content":u_,"082-secrets":x_,"083-thread-run-locally":m_,"084-drop-host-sandbox-rows":i_,"085-rename-runner-kind":T_,"086-thread-pins-and-vm-map-rekey":C_,"087-fix-vm-map-rekey":y_,"088-purge-cli-activate-keys":N_,"089-rename-remote-user-to-desktop":K_,"090-automation-webhook-triggers":E_,"091-organization-domains-allow-multi":f_,"092-sandbox-naming-uniformization":z_,"093-backfill-global-search-basic-usage":P_,"094-org-file-configs":U_,"095-remove-automation-tool-call-kind":J_,"096-org-file-configs-public-url-base":j_,"097-drop-local-docker-sandbox-state":a_,"098-thread-message-parts":D_,"099-run-fence":L_,"100-link-transport":W_,"101-cancel-requested-at":R_,"102-observational-agent":X_,"103-revert-observational-agent":Q_,"104-agent-sandbox-provider-kind":F_,"105-org-fs":M_,"106-automation-tools":Y_,"107-org-fs-public-org":H_,"108-automation-max-agent-steps":p_,"109-thread-message-parts-per-message-seq":B_,"110-backfill-ghs-token-expiry":G_,"111-org-fs-thread-id":A_,"112-org-file-configs-credential-type":S_,"113-thread-failure-reason":O_,"114-run-acked-seq":I_,"115-thread-projected-seq":e_,"116-org-sites":o_,"117-org-file-configs-site-slug":k_,"118-organization-domains-multi-verify":c_,"119-organization-join-requests":V_,"120-org-fs-read-public":h_,"121-org-fs-share-password":g_,"122-split-web-research-tier":r_,"123-connection-credential-vault":s_,"124-drop-thread-projected-seq":l_,"125-github-child-single-parent":d_,"126-task-board":nu,"127-task-board-due-date":tu,"128-reports-only":_u,"129-task-board-assigned-by":uu,"130-task-board-thread-id":xu,"131-task-board-thread-link-cascade":mu,"132-task-board-item-prs":iu,"133-dedupe-duplicate-members":Tu,"134-drop-task-board-enabled":Cu,"135-task-board-item-fk-cascade":yu,"136-task-board-import-idempotency":Nu,"137-agent-sandbox-runner-state":Ku,"138-agent-sandbox-sessions":Eu,"139-organization-billing":fu,"140-seat-change-log":zu,"141-benefits-sync-pending":Pu,"142-stripe-event-watermark":wu,"143-armed-report-url":Uu,"144-benefits-pending-index":Ju,"145-user-model-preferences":ju,"146-organization-main-agent":$u,"147-drop-agent-sandbox-tables":au,"148-org-flags":Du,"149-task-board-item-sort-order":Lu,"150-task-board-activity":Wu,"151-task-board-tags":Xu,"152-repair-connection-slug":Zu,"153-task-board-latest-assistant-part-index":Fu,"154-task-board-qa-activity":Yu,"155-task-board-review-claims":Hu,"156-task-board-conflict-activity":Bu,"157-drop-seat-billing":Gu,"158-drop-github-child-single-parent":Au,"159-task-board-comments":Su,"160-task-quota-billing":Ou,"161-task-quota-claim-state":eu,"162-claude-subscriptions":ou,"163-task-board-item-dismissed":ku,"164-per-org-task-quota":cu,"165-task-board-pending-review-index":Vu,"166-task-board-last-swept-at":hu,"167-task-board-run-retry":gu,"168-org-repo-sync":vu,"169-task-board-merge-failed-activity":su,"170-task-board-item-repo":lu},du=jE;import{getMigrations as bE}from"better-auth/db";import{sso as nf}from"@better-auth/sso";import{organization as tf}from"@decocms/better-auth/plugins";import{admin as _f,apiKey as uf,jwt as xf,magicLink as mf,mcp as Tf,openAPI as Cf}from"better-auth/plugins";import{emailOTP as yf}from"better-auth/plugins/email-otp";import{Kysely as gE,PostgresDialect as xm}from"kysely";import{Pool as mm}from"pg";import{homedir as $E}from"os";var aE=new Set(["all","worker","api"]);function DE(n){let t=(n??"").trim();return aE.has(t)?t:"all"}var LE=new Set(["production","development","test"]);function WE(n){let t=(n??"").trim();return LE.has(t)?t:"development"}function W(n){return n==="true"||n==="1"}function RE(n){if(n===void 0||n==="")return;return W(n)}function bu(n,t,_){if(t===void 0||t==="")return;let m=Number(t);if(!Number.isSafeInteger(m)||m<=0)throw Error(`${n} must be a positive integer`);if(_!==void 0&&m>_)throw Error(`${n} must be at most ${_}`);return m}function j(n,t,_,m){return bu(n,t,m)??_}function XE(n,t,_,m){if(t===void 0||t==="")return _;let x=Number(t);if(!Number.isSafeInteger(x)||x<0)throw Error(`${n} must be a non-negative integer`);if(m!==void 0&&x>m)throw Error(`${n} must be at most ${m}`);return x}function qx(n,t){if(n===void 0||n==="")return t;return n==="true"||n==="1"}function vx(n){if(!n)return null;try{let _=new URL(n).hostname.replace(/^\[|\]$/g,"");if(_==="localhost"||_==="127.0.0.1"||_==="::1")return null;return n}catch{return null}}function QE(n){return n===void 0||n===""||n==="true"||n==="1"}function v(n,t){return n||t}var ZE=new Set(["agent-sandbox","user-desktop"]);function FE(n){let t=(n??"").trim(),_=t.length>0?t:"user-desktop";if(_==="cluster")return"agent-sandbox";if(!ZE.has(_))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${n}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return _}function rx(n,t){let _=n.home||t.DATA_DIR||t.DECOCMS_HOME||`${$E()}/deco`,m=n.localMode,x=n.nodeEnv||WE(t.NODE_ENV),i=t.NATS_URL||"nats://localhost:4222",C=RE(t.NATS_TUNNEL_PUBLIC_ENABLED)??!!t.NATS_PUBLIC_URL;return{settings:{nodeEnv:x,port:j("PORT",n.port||t.PORT,3000,65535),baseUrl:n.baseUrl||t.BASE_URL,publicUrl:v(t.STUDIO_PUBLIC_URL,t.MESH_PUBLIC_URL),dataDir:_,databasePgSsl:W(t.DATABASE_PG_SSL),databasePoolMax:j("DATABASE_POOL_MAX",t.DATABASE_POOL_MAX,5),dbosPoolSize:j("DBOS_POOL_SIZE",t.DBOS_POOL_SIZE,5),betterAuthSecret:t.BETTER_AUTH_SECRET||"",encryptionKey:t.ENCRYPTION_KEY||"",studioJwtSecret:v(t.STUDIO_JWT_SECRET,t.MESH_JWT_SECRET),localMode:m,disableRateLimit:W(t.DISABLE_RATE_LIMIT),studioProvisionSecretKey:t.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(t.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),clickhouseUrl:t.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:bu("CLICKHOUSE_MAX_MEMORY_USAGE",t.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:t.MONITORING_OTLP_ENDPOINT,otelServiceName:t.OTEL_SERVICE_NAME||"studio",natsPublicUrl:t.NATS_PUBLIC_URL,natsTunnelPublicEnabled:C,natsTunnelSessionTtlSeconds:j("NATS_TUNNEL_SESSION_TTL_SECONDS",t.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:t.NATS_OPERATOR_JWT,natsAccountJwt:t.NATS_ACCOUNT_JWT,natsAccountSigningKey:t.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:t.NATS_CREDS,configPath:t.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(t.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:t.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:t.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:t.STRIPE_WEBHOOK_SECRET,stripeSecretKey:t.STRIPE_SECRET_KEY,stripeOrgPriceId:t.STRIPE_ORG_PRICE_ID,stripeTopupProductId:t.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:XE("STUDIO_TOPUP_FEE_PERCENT",t.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:W(t.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:j("STUDIO_FREE_TASKS",t.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:j("STUDIO_MONTHLY_TASKS",t.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:j("STUDIO_MAX_RUNS_PER_TASK",t.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:W(t.ENABLE_DECO_IMPORT),mcpCacheEnabled:qx(t.MCP_CACHE_ENABLED,x!=="development"),orgFsPublicSetsJson:t.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(t.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:j("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",t.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:j("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",t.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:qx(t.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:j("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",t.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:t.S3_ENDPOINT,s3Bucket:t.S3_BUCKET,s3Region:t.S3_REGION||"auto",s3AccessKeyId:t.S3_ACCESS_KEY_ID,s3SecretAccessKey:t.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:QE(t.S3_FORCE_PATH_STYLE),monitoringS3Bucket:t.MONITORING_S3_BUCKET,monitoringS3Endpoint:t.MONITORING_S3_ENDPOINT,monitoringS3Region:t.MONITORING_S3_REGION,monitoringS3AccessKeyId:t.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:t.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:t.MONITORING_S3_PREFIX,duckdbExtensionDirectory:t.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:t.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:bu("DUCKDB_THREADS",t.DUCKDB_THREADS),isCli:!0,noTui:n.noTui===!0,podName:t.POD_NAME||crypto.randomUUID(),dispatchRole:DE(v(t.STUDIO_DISPATCH_ROLE,t.MESH_DISPATCH_ROLE)),sandboxProviderKind:FE(t.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:W(t.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:W(t.TASK_BOARD_RERUN_REUSES_PR_BRANCH),sandboxReleaseOnRunEndEnabled:W(t.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:j("SANDBOX_RELEASE_GRACE_MS",t.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:t.DECO_SUPABASE_URL,decoSupabaseServiceKey:t.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:t.FIRECRAWL_API_KEY,reportsInternalApiUrl:v(t.REPORTS_INTERNAL_API_URL,t.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:v(t.REPORTS_INTERNAL_API_KEY,t.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:t.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:t.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:t.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:t.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:t.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:t.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:t.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:vx(t.DATABASE_URL),externalNatsUrl:vx(i),skipMigrations:n.skipMigrations}}var jn=null;function A(){if(!jn)ME();return jn}function ME(){if(jn)return;let n={...process.env},t=rx({port:n.PORT||"3000",home:n.DATA_DIR||n.DECOCMS_HOME||"",localMode:n.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:n.DECO_NO_TUI==="true",vitePort:n.VITE_PORT,baseUrl:n.BASE_URL},n);jn=Object.freeze({...t.settings,databaseUrl:n.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(n.NATS_URL||"nats://localhost:4222").split(",").map((_)=>_.trim()).filter(Boolean)})}import{createContextKey as AE,metrics as SE,propagation as Iw,ROOT_CONTEXT as ew,SpanStatusCode as ow,trace as OE}from"@opentelemetry/api";import{logs as IE,SeverityNumber as nx}from"@opentelemetry/api-logs";import{OTLPLogExporter as Vw}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as eE}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as qw}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as rw}from"@opentelemetry/instrumentation-runtime-node";import{context as pP,propagation as BP,SpanKind as GP,SpanStatusCode as AP}from"@opentelemetry/api";var OP=globalThis.fetch;import{ExportResultCode as sP}from"@opentelemetry/core";import{ExportResultCode as $n}from"@opentelemetry/core";import{mkdir as YE,rename as HE,writeFile as pE}from"fs/promises";import{join as an}from"path";class Dn{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(n){this.basePath=n.basePath,this.flushThreshold=n.flushThreshold??1000,this.maxBufferBytes=n.maxBufferBytes??10485760,this.partitionKey=n.partitionKey;let t=n.flushIntervalMs??60000;if(t>0&&t<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((_)=>{console.error("[NDJSONExporter] Timer flush failed:",_)})},t),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(n){if(this.isShutdown)return Promise.resolve({code:$n.FAILED});for(let t of n){let _=JSON.stringify(t),m=this.partitionKey?this.partitionKey(t):"";this.bufferItems.push({partition:m,json:_}),this.bufferBytes+=Buffer.byteLength(_,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:$n.SUCCESS})).catch((t)=>{return console.error("[NDJSONExporter] Flush failed:",t),{code:$n.FAILED}});return Promise.resolve({code:$n.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 t=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=t,t}async doFlush(){if(this.bufferItems.length===0)return;let n=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let t=new Map;for(let x of n){let i=t.get(x.partition);if(!i)i=[],t.set(x.partition,i);i.push(x.json)}let _=await Promise.allSettled(Array.from(t.entries()).map(([x,i])=>this.writeNDJSON(i,x).then(()=>x))),m=_.find((x)=>x.status==="rejected");if(m){let x=new Set;for(let C of _)if(C.status==="fulfilled")x.add(C.value);let i=n.filter((C)=>!x.has(C.partition));this.bufferItems=i.concat(this.bufferItems),this.bufferBytes=0;for(let C of this.bufferItems)this.bufferBytes+=Buffer.byteLength(C.json,"utf8")+1;throw m.reason}}async writeNDJSON(n,t){let _=new Date,m=[String(_.getUTCFullYear()),String(_.getUTCMonth()+1).padStart(2,"0"),String(_.getUTCDate()).padStart(2,"0"),String(_.getUTCHours()).padStart(2,"0")],x=t?an(this.basePath,t,...m):an(this.basePath,...m);if(!this.knownDirs.has(x))await YE(x,{recursive:!0,mode:448}),this.knownDirs.add(x);let i=`${crypto.randomUUID()}.ndjson`,C=an(x,`.${i}.tmp`),T=an(x,i),y=n.join(`
1137
1137
  `)+`
1138
- `;await pE(C,y,{mode:384}),await HE(C,T)}}import{ExportResultCode as tw}from"@opentelemetry/core";import{AggregationTemporality as uw,DataPointType as xw}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Nw}from"@opentelemetry/core";var zw=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as xU,LoggerProvider as mU}from"@opentelemetry/sdk-logs";import{detectResources as TU,envDetector as CU,hostDetector as yU,osDetector as NU,processDetector as KU,resourceFromAttributes as EU}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as zU}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Uw}from"@opentelemetry/api-logs";import{NodeSDK as UU}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as jU,SamplingDecision as S}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Dw}from"@opentelemetry/api";var oE="__d",kE=AE("Current request"),cE=1;var lx=(n)=>{let _=new URL(n.url).searchParams.get(oE);if(_==="")return crypto.randomUUID();if(!_)_=n.headers.get("x-trace-debug-id");return _};class dx{inner;constructor(n){this.inner=n}shouldSample(n,t,_,m,x,i){let C=n.getValue(kE);if(!C){if(this.inner)return this.inner.shouldSample(n,t,_,m,x,i);return{decision:S.RECORD_AND_SAMPLED}}let T=lx(C);if(T)return{decision:S.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":T}};if(this.inner){let y=this.inner.shouldSample(n,t,_,m,x,i);if(y.decision===S.RECORD_AND_SAMPLED){let N=crypto.randomUUID();y.attributes={...y.attributes??{},"trace.debug.id":N}}return y}return{decision:S.NOT_RECORD}}toString(){return"DebugSampler"}}class bx{ratio;constructor(n){this.ratio=n}shouldSample(){if(Math.random()<this.ratio)return{decision:S.RECORD_AND_SAMPLED};return{decision:S.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var $U=new eE({preventServerStart:!0}),DU=new dx(new bx(cE));var sx=OE.getTracer("studio","1.0.0"),r=SE.getMeter("studio","1.0.0"),VE=IE.getLogger("studio","1.0.0"),tx=(n,t,_)=>{let m={},x=_,i=_[_.length-1];if(i!==null&&typeof i==="object"&&!Array.isArray(i)&&!(i instanceof Error)&&Object.getPrototypeOf(i)===Object.prototype)m=i,x=_.slice(0,-1);let C=x.map((T)=>{if(T instanceof Error)return`${T.name}: ${T.message}`;if(typeof T==="object")try{return JSON.stringify(T)}catch{return"[Object]"}return String(T)}).join(" ");VE.emit({severityNumber:n,severityText:t,body:C,attributes:{"log.source":"console",...m}})},_x={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...n)=>{tx(nx.ERROR,"ERROR",n),_x.error(...n)};console.warn=(...n)=>{tx(nx.WARN,"WARN",n),_x.warn(...n)};console.debug=(...n)=>{tx(nx.DEBUG,"DEBUG",n),_x.debug(...n)};var ux,nm=0,xx=500;function hE(){if(ux)return;let n=performance.now()+xx;ux=setInterval(()=>{let t=performance.now();nm=Math.max(0,t-n),n=t+xx},xx),ux.unref?.()}function tm(){return hE(),nm}var qE=()=>r.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),_m=()=>r.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),um=400,vE=100,rE=(n)=>(t)=>{let _={"db.statement":t.query.sql,"db.status":t.level==="error"?"error":"success"};if(t.queryDurationMillis>um){let m=tm(),x=m>um/2;console.error(x?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:t.queryDurationMillis,eventLoopLagMs:Math.round(m),sql:t.query.sql,pool:{total:n.totalCount,idle:n.idleCount,waiting:n.waitingCount,max:Ln()}})}if(qE().record(t.queryDurationMillis,_),t.level==="error")console.error("Query failed:",{durationMs:t.queryDurationMillis,error:t.error,sql:t.query.sql})};function sE(n){let t=n.connect.bind(n);return n.connect=(_)=>{if(typeof _==="function")return t(_);let m=performance.now(),x=Ln(),i=n.idleCount===0&&n.totalCount>=x,C=n.idleCount;return t().then((T)=>{let y=performance.now()-m;if(_m().record(y,{"db.pool.outcome":i?"contended":"available"}),y>vE)if(i)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:y,total:n.totalCount,idle:n.idleCount,waiting:n.waitingCount,max:x});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:y,idleAtStart:C,total:n.totalCount,max:x});return T},(T)=>{throw _m().record(performance.now()-m,{"db.pool.outcome":"error"}),T})},n}var im={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Tm(){try{return A().databasePgSsl}catch{return!1}}function Ln(){try{return A().databasePoolMax}catch{return 10}}function lE(n){let t=sE(new mm({connectionString:n,max:Ln(),ssl:Tm(),...im})),_=new xm({pool:t});return{type:"postgres",db:new gE({dialect:_,log:rE(t)}),pool:t}}function l(){return A().databaseUrl}function Cm(n){let t=n||l();return new xm({pool:new mm({connectionString:t,max:Ln(),ssl:Tm(),...im})})}function dE(n){let t=n||l();return lE(t)}async function ym(n){if(await n.db.destroy(),!n.pool.ended)await n.pool.end();if(n===s)s=null}var s=null;function mx(){if(!s)s=dE(l());return s}async function Nm(n){let _={database:Cm(n||l()),plugins:[tf({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),_f(),uf(),xf(),Cf(),Tf({loginPage:"/login"}),nf(),mf({sendMagicLink:async()=>{}}),yf({sendVerificationOTP:async()=>{}})]},{toBeAdded:m,toBeCreated:x,runMigrations:i}=await bE(_);if(!m.length&&!x.length)return"up to date";return await i(),`${x.length+m.length} table(s) migrated`}async function Em(n,t){return(await O`
1138
+ `;await pE(C,y,{mode:384}),await HE(C,T)}}import{ExportResultCode as tw}from"@opentelemetry/core";import{AggregationTemporality as uw,DataPointType as xw}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Nw}from"@opentelemetry/core";var zw=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as xU,LoggerProvider as mU}from"@opentelemetry/sdk-logs";import{detectResources as TU,envDetector as CU,hostDetector as yU,osDetector as NU,processDetector as KU,resourceFromAttributes as EU}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as zU}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Uw}from"@opentelemetry/api-logs";import{NodeSDK as UU}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as jU,SamplingDecision as S}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Dw}from"@opentelemetry/api";var oE="__d",kE=AE("Current request"),cE=1;var lx=(n)=>{let _=new URL(n.url).searchParams.get(oE);if(_==="")return crypto.randomUUID();if(!_)_=n.headers.get("x-trace-debug-id");return _};class dx{inner;constructor(n){this.inner=n}shouldSample(n,t,_,m,x,i){let C=n.getValue(kE);if(!C){if(this.inner)return this.inner.shouldSample(n,t,_,m,x,i);return{decision:S.RECORD_AND_SAMPLED}}let T=lx(C);if(T)return{decision:S.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":T}};if(this.inner){let y=this.inner.shouldSample(n,t,_,m,x,i);if(y.decision===S.RECORD_AND_SAMPLED){let N=crypto.randomUUID();y.attributes={...y.attributes??{},"trace.debug.id":N}}return y}return{decision:S.NOT_RECORD}}toString(){return"DebugSampler"}}class bx{ratio;constructor(n){this.ratio=n}shouldSample(){if(Math.random()<this.ratio)return{decision:S.RECORD_AND_SAMPLED};return{decision:S.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var aU=new eE({preventServerStart:!0}),DU=new dx(new bx(cE));var sx=OE.getTracer("studio","1.0.0"),r=SE.getMeter("studio","1.0.0"),VE=IE.getLogger("studio","1.0.0"),tx=(n,t,_)=>{let m={},x=_,i=_[_.length-1];if(i!==null&&typeof i==="object"&&!Array.isArray(i)&&!(i instanceof Error)&&Object.getPrototypeOf(i)===Object.prototype)m=i,x=_.slice(0,-1);let C=x.map((T)=>{if(T instanceof Error)return`${T.name}: ${T.message}`;if(typeof T==="object")try{return JSON.stringify(T)}catch{return"[Object]"}return String(T)}).join(" ");VE.emit({severityNumber:n,severityText:t,body:C,attributes:{"log.source":"console",...m}})},_x={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...n)=>{tx(nx.ERROR,"ERROR",n),_x.error(...n)};console.warn=(...n)=>{tx(nx.WARN,"WARN",n),_x.warn(...n)};console.debug=(...n)=>{tx(nx.DEBUG,"DEBUG",n),_x.debug(...n)};var ux,nm=0,xx=500;function hE(){if(ux)return;let n=performance.now()+xx;ux=setInterval(()=>{let t=performance.now();nm=Math.max(0,t-n),n=t+xx},xx),ux.unref?.()}function tm(){return hE(),nm}var qE=()=>r.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),_m=()=>r.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),um=400,vE=100,rE=(n)=>(t)=>{let _={"db.statement":t.query.sql,"db.status":t.level==="error"?"error":"success"};if(t.queryDurationMillis>um){let m=tm(),x=m>um/2;console.error(x?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:t.queryDurationMillis,eventLoopLagMs:Math.round(m),sql:t.query.sql,pool:{total:n.totalCount,idle:n.idleCount,waiting:n.waitingCount,max:Ln()}})}if(qE().record(t.queryDurationMillis,_),t.level==="error")console.error("Query failed:",{durationMs:t.queryDurationMillis,error:t.error,sql:t.query.sql})};function sE(n){let t=n.connect.bind(n);return n.connect=(_)=>{if(typeof _==="function")return t(_);let m=performance.now(),x=Ln(),i=n.idleCount===0&&n.totalCount>=x,C=n.idleCount;return t().then((T)=>{let y=performance.now()-m;if(_m().record(y,{"db.pool.outcome":i?"contended":"available"}),y>vE)if(i)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:y,total:n.totalCount,idle:n.idleCount,waiting:n.waitingCount,max:x});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:y,idleAtStart:C,total:n.totalCount,max:x});return T},(T)=>{throw _m().record(performance.now()-m,{"db.pool.outcome":"error"}),T})},n}var im={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Tm(){try{return A().databasePgSsl}catch{return!1}}function Ln(){try{return A().databasePoolMax}catch{return 10}}function lE(n){let t=sE(new mm({connectionString:n,max:Ln(),ssl:Tm(),...im})),_=new xm({pool:t});return{type:"postgres",db:new gE({dialect:_,log:rE(t)}),pool:t}}function l(){return A().databaseUrl}function Cm(n){let t=n||l();return new xm({pool:new mm({connectionString:t,max:Ln(),ssl:Tm(),...im})})}function dE(n){let t=n||l();return lE(t)}async function ym(n){if(await n.db.destroy(),!n.pool.ended)await n.pool.end();if(n===s)s=null}var s=null;function mx(){if(!s)s=dE(l());return s}async function Nm(n){let _={database:Cm(n||l()),plugins:[tf({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),_f(),uf(),xf(),Cf(),Tf({loginPage:"/login"}),nf(),mf({sendMagicLink:async()=>{}}),yf({sendVerificationOTP:async()=>{}})]},{toBeAdded:m,toBeCreated:x,runMigrations:i}=await bE(_);if(!m.length&&!x.length)return"up to date";return await i(),`${x.length+m.length} table(s) migrated`}async function Em(n,t){return(await O`
1139
1139
  SELECT table_name FROM information_schema.tables
1140
1140
  WHERE table_schema='public' AND table_name=${t}
1141
1141
  `.execute(n)).rows.length>0}async function Nf(n){if(await Em(n,"plugin_migrations"))return;await O`