decocms 4.109.4 → 4.109.6

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 (234) hide show
  1. package/dist/client/assets/{AlertCircle-DTGdkY4v.js → AlertCircle-BPU28ab_.js} +1 -1
  2. package/dist/client/assets/{AreaChart-Cpq1JYbf.js → AreaChart-BZiXyZdk.js} +1 -1
  3. package/dist/client/assets/{ArrowRight-PC735HZ1.js → ArrowRight-DNfX9hKQ.js} +1 -1
  4. package/dist/client/assets/{ArrowUp-DBofwRvt.js → ArrowUp-gqJ6w_RF.js} +1 -1
  5. package/dist/client/assets/{ArrowUpRight-Bh3rS-oY.js → ArrowUpRight-DY1QaiUN.js} +1 -1
  6. package/dist/client/assets/{Check-GR_jznEz.js → Check-ljYHgG7d.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-B-KrTQDp.js → CheckCircle-C9MZGQ9k.js} +1 -1
  8. package/dist/client/assets/{ChevronDown-BEbikgYh.js → ChevronDown-DG_rlm1i.js} +1 -1
  9. package/dist/client/assets/{ChevronRight-CHXwsTIX.js → ChevronRight-jE57y0XJ.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-Coj61awa.js → ChevronUp-CB19fDCs.js} +1 -1
  11. package/dist/client/assets/{Copy01-uHVc_Ne5.js → Copy01-CmKPPoaZ.js} +1 -1
  12. package/dist/client/assets/{DotsVertical-CX7Pr-t2.js → DotsVertical-BYnm3JUH.js} +1 -1
  13. package/dist/client/assets/{Eye-k4_HoCUy.js → Eye-COXNyC7C.js} +1 -1
  14. package/dist/client/assets/{FilterLines-B4GZVRrp.js → FilterLines-jhl8wINH.js} +1 -1
  15. package/dist/client/assets/{Globe01-q115Qi3g.js → Globe01-D9BdDei6.js} +1 -1
  16. package/dist/client/assets/{Globe04-Bq87mjQe.js → Globe04-7bHjlfYo.js} +1 -1
  17. package/dist/client/assets/{HardDrive-B5aHSW4o.js → HardDrive-PZ_tBqgQ.js} +1 -1
  18. package/dist/client/assets/{Image01-BMWn7zWX.js → Image01-BLfyMltA.js} +1 -1
  19. package/dist/client/assets/{Key01-DzW5H9Ye.js → Key01-DJ3nrImc.js} +1 -1
  20. package/dist/client/assets/{LayoutLeft-COYrdoS1.js → LayoutLeft-CfQCjKa5.js} +1 -1
  21. package/dist/client/assets/{LinkExternal01-BPtH8Bxh.js → LinkExternal01-C0dTj6df.js} +1 -1
  22. package/dist/client/assets/{Monitor01-OWC6oKho.js → Monitor01-D4sXxN2w.js} +1 -1
  23. package/dist/client/assets/{Package-BXAuMHnU.js → Package-C_tfJnpJ.js} +1 -1
  24. package/dist/client/assets/{Palette-PLEyPf-n.js → Palette-BGve8KC_.js} +1 -1
  25. package/dist/client/assets/{Play-8GhhfDbh.js → Play-BNoJwqSu.js} +1 -1
  26. package/dist/client/assets/{Plus-Cdmm_Soq.js → Plus-sMZGG-uZ.js} +1 -1
  27. package/dist/client/assets/{SearchLg-OYejBG3q.js → SearchLg-DypkWnuV.js} +1 -1
  28. package/dist/client/assets/{SearchMd-B3WNPtsE.js → SearchMd-BLMeIPoi.js} +1 -1
  29. package/dist/client/assets/{Settings02-CmDMm4kx.js → Settings02-BWXsX_j9.js} +1 -1
  30. package/dist/client/assets/{Shield01-ozMwg2ua.js → Shield01-DUAJgcNA.js} +1 -1
  31. package/dist/client/assets/{Star01-DSdAcuaT.js → Star01-BJMUAj-z.js} +1 -1
  32. package/dist/client/assets/{Stars01-CN8WhM5z.js → Stars01-Bv9V4PEv.js} +1 -1
  33. package/dist/client/assets/{Stars02-D52gnm-h.js → Stars02-DpNUEc4v.js} +1 -1
  34. package/dist/client/assets/{Sun-CFvLTOv2.js → Sun-BuCSP9uz.js} +1 -1
  35. package/dist/client/assets/{SwitchHorizontal01-lNIxCsT9.js → SwitchHorizontal01-B0HC7Nq6.js} +1 -1
  36. package/dist/client/assets/{Tool01-RnEOZWzF.js → Tool01-HTsnICVF.js} +1 -1
  37. package/dist/client/assets/{Tool02-DoRRA8PI.js → Tool02-ivIjqhK5.js} +1 -1
  38. package/dist/client/assets/{Trash01-siEtByjP.js → Trash01-BNphO3TM.js} +1 -1
  39. package/dist/client/assets/{TrendUp01-gRSb6YQY.js → TrendUp01-QEZFYpFE.js} +1 -1
  40. package/dist/client/assets/{Upload01-t1QsvGpD.js → Upload01-DyUsQ8WX.js} +1 -1
  41. package/dist/client/assets/{User01-BGIkFzEg.js → User01-CRNbClEm.js} +1 -1
  42. package/dist/client/assets/{Users01-D_U-eAZ0.js → Users01-Cre6vhmE.js} +1 -1
  43. package/dist/client/assets/{Users03-CM-5ls29.js → Users03-f5x2SkA5.js} +1 -1
  44. package/dist/client/assets/{X-Du4gvagc.js → X-CItZEbME.js} +1 -1
  45. package/dist/client/assets/{XCircle-D0B_srGA.js → XCircle-CIb7g6fu.js} +1 -1
  46. package/dist/client/assets/{XClose-DGEsOhfE.js → XClose-ClqZQnJ5.js} +1 -1
  47. package/dist/client/assets/{Zap-BwzVrOld.js → Zap-DENfvvl0.js} +1 -1
  48. package/dist/client/assets/{ZapSquare-feTZ4Zda.js → ZapSquare-ec5_T9if.js} +1 -1
  49. package/dist/client/assets/{ZoomOut-rj2rlKdv.js → ZoomOut-Dvaf-aDf.js} +1 -1
  50. package/dist/client/assets/{access-gate-CHvFsZEg.js → access-gate-Ci9qIDgq.js} +1 -1
  51. package/dist/client/assets/{add-section-modal-CF9yGwUG.js → add-section-modal-CPxuDhX3.js} +1 -1
  52. package/dist/client/assets/{agent-icon-Xlzugy4L.js → agent-icon-diKRXB67.js} +1 -1
  53. package/dist/client/assets/{agents-list-Bnl3rSOj.js → agents-list-CibOc84U.js} +1 -1
  54. package/dist/client/assets/{ai-providers-BpXlS_vB.js → ai-providers-Bbeai8oa.js} +1 -1
  55. package/dist/client/assets/{alert-dialog-Bpbn1MTQ.js → alert-dialog-HkpozX8Z.js} +1 -1
  56. package/dist/client/assets/{alert-DaFfFJW8.js → alert-xDFLfbjg.js} +1 -1
  57. package/dist/client/assets/{app-editor-BEDhL0WH.js → app-editor-C34BX29f.js} +1 -1
  58. package/dist/client/assets/{auth-x6lRckDZ.js → auth-D_Z2Jn9a.js} +1 -1
  59. package/dist/client/assets/{auth-catchall-Cb0FkoKA.js → auth-catchall-U6-9duli.js} +1 -1
  60. package/dist/client/assets/{auth-entry-DYxAGaz6.js → auth-entry-D8YbY89F.js} +1 -1
  61. package/dist/client/assets/{auth-split-layout-DlfDYd3J.js → auth-split-layout-DwKQWran.js} +1 -1
  62. package/dist/client/assets/{authenticate-and-persist-oauth-B2mxGH4e.js → authenticate-and-persist-oauth-D26xr7I9.js} +1 -1
  63. package/dist/client/assets/{automation-list-row-ChLGfUj-.js → automation-list-row-rwQ-ZESe.js} +1 -1
  64. package/dist/client/assets/{automation-runs-DSBn_Kne.js → automation-runs-B1g4q0D9.js} +1 -1
  65. package/dist/client/assets/{automations-D4_BOKTZ.js → automations-BTen4i9n.js} +1 -1
  66. package/dist/client/assets/{autosend-B2dpS7lH.js → autosend-COQymh05.js} +1 -1
  67. package/dist/client/assets/{avatar-GzFCCE1f.js → avatar-DZpEqp6U.js} +1 -1
  68. package/dist/client/assets/{badge-Bs6rGnHm.js → badge-CfvPdHMh.js} +1 -1
  69. package/dist/client/assets/{block-document-Cc3Vpx8d.js → block-document-o3uFTaGA.js} +1 -1
  70. package/dist/client/assets/{brand-context-BjAPiyzz.js → brand-context-DSdPBbBN.js} +1 -1
  71. package/dist/client/assets/{buckets-DHeAgKQT.js → buckets-C9tJ-QDl.js} +1 -1
  72. package/dist/client/assets/{bulk-category-panel-D81W6fOZ.js → bulk-category-panel-Kwc5WunM.js} +1 -1
  73. package/dist/client/assets/{calendar-B-rfQJsF.js → calendar-aW_UIwwI.js} +1 -1
  74. package/dist/client/assets/{capability-load-error-x9fgbdeh.js → capability-load-error-LUGv0SNG.js} +1 -1
  75. package/dist/client/assets/{card-C4jTT1Bh.js → card--XndOQFs.js} +1 -1
  76. package/dist/client/assets/{category-editor-CpiVLQ6_.js → category-editor-BsFEoMAe.js} +1 -1
  77. package/dist/client/assets/{chat-context-C6M3XFqQ.js → chat-context-CVN-GOZH.js} +1 -1
  78. package/dist/client/assets/{checkbox-CbsoXXFF.js → checkbox-HBaaacB0.js} +1 -1
  79. package/dist/client/assets/{cli-auth-success-BxRHtUdY.js → cli-auth-success-anRFzOps.js} +1 -1
  80. package/dist/client/assets/{collection-detail-BFgvOtlH.js → collection-detail-DbAohyc3.js} +1 -1
  81. package/dist/client/assets/{collection-display-button-Dc9gSZP2.js → collection-display-button-atWJXiBN.js} +1 -1
  82. package/dist/client/assets/{collection-search-BY0r7rxg.js → collection-search-KK_DLY42.js} +1 -1
  83. package/dist/client/assets/{collection-table-wrapper-0xp5rdD1.js → collection-table-wrapper-D4SyCO6E.js} +1 -1
  84. package/dist/client/assets/{collection-tabs-CrooiWm_.js → collection-tabs-uoW2plgf.js} +1 -1
  85. package/dist/client/assets/{command-DZBvYsBH.js → command-Cle94hK8.js} +1 -1
  86. package/dist/client/assets/{commerce-onboarding-vxxjjWjE.js → commerce-onboarding-BbKARcM5.js} +1 -1
  87. package/dist/client/assets/{companions-core-C6pj6Szf.js → companions-core-DIebi5yq.js} +1 -1
  88. package/dist/client/assets/{connect-CJrgGYRa.js → connect-C4ndfWwJ.js} +1 -1
  89. package/dist/client/assets/{connect-desktop-dialog-BVkAt72O.js → connect-desktop-dialog-CL2nq7YT.js} +1 -1
  90. package/dist/client/assets/{connection-card-CwSiDid6.js → connection-card-q47EMzNg.js} +1 -1
  91. package/dist/client/assets/{connection-detail-jIBJrr5N.js → connection-detail-DJUoXgPT.js} +1 -1
  92. package/dist/client/assets/{connection-form-helpers-C0unO2gP.js → connection-form-helpers-DEI-yizL.js} +1 -1
  93. package/dist/client/assets/{connections-CJvqn4ob.js → connections-CpQdk8pu.js} +1 -1
  94. package/dist/client/assets/{decopilot-sse-pool-BBEhp_gy.js → decopilot-sse-pool-CtvtKxbP.js} +1 -1
  95. package/dist/client/assets/{dialog-Y7ds54YK.js → dialog-DUmR-Apf.js} +1 -1
  96. package/dist/client/assets/{domain-settings-BhCVkCsI.js → domain-settings-DQ25E-hi.js} +1 -1
  97. package/dist/client/assets/{drawer-COy1ejAS.js → drawer-D3iZChK_.js} +1 -1
  98. package/dist/client/assets/{dropdown-menu-DUYq09GU.js → dropdown-menu-CtAMHQP1.js} +1 -1
  99. package/dist/client/assets/{empty-state-CTr8Z4nI.js → empty-state-CJJmwPbl.js} +1 -1
  100. package/dist/client/assets/{extract-connection-data-BEfMf2ps.js → extract-connection-data-Dz1TN1S-.js} +1 -1
  101. package/dist/client/assets/{file-explorer-DdTIVriN.js → file-explorer-DDnrwI8h.js} +1 -1
  102. package/dist/client/assets/{file-type-icon-BQanlHju.js → file-type-icon-DHORZGOR.js} +1 -1
  103. package/dist/client/assets/{files-BlOs0J3I.js → files-By7lr_C9.js} +1 -1
  104. package/dist/client/assets/{form-BxD0ax3W.js → form-DOMqlYx2.js} +1 -1
  105. package/dist/client/assets/{general-oxvizwJ3.js → general-BFFy127Q.js} +1 -1
  106. package/dist/client/assets/{github-repo-picker-D9j3EExn.js → github-repo-picker-CKIijKki.js} +1 -1
  107. package/dist/client/assets/{hooks-OALo42FK.js → hooks-A428qgLs.js} +1 -1
  108. package/dist/client/assets/{index-DeFHgHCV.js → index-B3x2bYKf.js} +5 -5
  109. package/dist/client/assets/{index-Ybjzg8YZ.js → index-B4q5FYR1.js} +1 -1
  110. package/dist/client/assets/{index-Bd0mGNAy.js → index-BHRiDATk.js} +1 -1
  111. package/dist/client/assets/{index-CNsSYURm.js → index-BgXegBBT.js} +1 -1
  112. package/dist/client/assets/{index-f1z0jJky.js → index-CF5bx-0w.js} +1 -1
  113. package/dist/client/assets/{index-BVVKqKV3.js → index-COwBGm4Q.js} +3 -3
  114. package/dist/client/assets/{index-DW0oBxp_.js → index-CkXsVP7f.js} +1 -1
  115. package/dist/client/assets/{index-BXQ6uK5x.js → index-CtfybzjT.js} +1 -1
  116. package/dist/client/assets/{index-D37FBRP_.js → index-DFI24Pw8.js} +1 -1
  117. package/dist/client/assets/{index-BAu1Pbvn.js → index-DlJZp1FF.js} +1 -1
  118. package/dist/client/assets/{index-CA701UO6.js → index-eW991xyv.js} +1 -1
  119. package/dist/client/assets/{index-CnoxKqZt.js → index-m59zCFcH.js} +1 -1
  120. package/dist/client/assets/{index-BMyv3nqz.js → index-qmM-6kzv.js} +4 -4
  121. package/dist/client/assets/{index-redirect-Ccqqeo-z.js → index-redirect-CiU-OA_g.js} +1 -1
  122. package/dist/client/assets/{input-jYCrRZti.js → input-B406QYOM.js} +1 -1
  123. package/dist/client/assets/{integration-icon-DlwIN2q5.js → integration-icon-B_KYIkDh.js} +1 -1
  124. package/dist/client/assets/{invite-member-dialog-C6sBEi_d.js → invite-member-dialog-Bn7w3pO1.js} +1 -1
  125. package/dist/client/assets/{label-C2JetEoc.js → label-BE8xU3qU.js} +1 -1
  126. package/dist/client/assets/{layout-D0HFySao.js → layout-t8Ho8hwz.js} +1 -1
  127. package/dist/client/assets/{login-CE3Ej6Pf.js → login-CiBS-_64.js} +1 -1
  128. package/dist/client/assets/{mcp-oauth-Ci60LhOo.js → mcp-oauth-CsBn1zwJ.js} +1 -1
  129. package/dist/client/assets/{members-BzifQ5ZX.js → members-Cgr0Pzfm.js} +1 -1
  130. package/dist/client/assets/{monaco-editor-DTNNMZ4a.js → monaco-editor-GcEZZYDR.js} +1 -1
  131. package/dist/client/assets/{monitoring-stats-row-BIR_xfF6.js → monitoring-stats-row-6hIxPGWW.js} +1 -1
  132. package/dist/client/assets/{multi-select-CglQ8io7.js → multi-select-DzYWfSmp.js} +1 -1
  133. package/dist/client/assets/{oauth-callback-Bp7V-YZR.js → oauth-callback-DygGGTkj.js} +1 -1
  134. package/dist/client/assets/{oauth-callback-ai-provider-DjLMc7QI.js → oauth-callback-ai-provider-DfYe25s5.js} +1 -1
  135. package/dist/client/assets/{onboarding-CLuKrIxH.js → onboarding-wfd1jq9J.js} +1 -1
  136. package/dist/client/assets/{org-install-DQ0KA5fD.js → org-install-DwA9DDkF.js} +1 -1
  137. package/dist/client/assets/{org-layout-BGGgzpE1.js → org-layout-B09IV7NQ.js} +1 -1
  138. package/dist/client/assets/{organization-choice-BqA-uB8I.js → organization-choice-C8qTEkHR.js} +1 -1
  139. package/dist/client/assets/{orgs-DugP1lBp.js → orgs-DvK3ix5b.js} +1 -1
  140. package/dist/client/assets/{page-seo-form-LZTTdqXz.js → page-seo-form-DADoh8-A.js} +1 -1
  141. package/dist/client/assets/page-seo-sheet-D-DslewH.js +1 -0
  142. package/dist/client/assets/{popover-vQ6Kzeye.js → popover-Ctp8t2TN.js} +1 -1
  143. package/dist/client/assets/{post-editor-DbFfWrRR.js → post-editor-B8JJa0SG.js} +1 -1
  144. package/dist/client/assets/{primitives-CcN_XDtS.js → primitives-mSwwikVC.js} +1 -1
  145. package/dist/client/assets/{profile-BljQCpyV.js → profile-Bwrm2607.js} +1 -1
  146. package/dist/client/assets/project-app-view-ICmAtF71.js +1 -0
  147. package/dist/client/assets/record-editor-Ci91Sces.js +1 -0
  148. package/dist/client/assets/redirect-editor-CIqUeWLT.js +1 -0
  149. package/dist/client/assets/registry-BG5-kTIo.js +2 -0
  150. package/dist/client/assets/{registry-layout-BV29nQrv.js → registry-layout-00w-WD_6.js} +1 -1
  151. package/dist/client/assets/{reports-B1azhmnn.js → reports-SiGzOBlO.js} +1 -1
  152. package/dist/client/assets/{require-capability-DDFZsXpQ.js → require-capability-o7OoepYM.js} +1 -1
  153. package/dist/client/assets/{required-auth-layout-BUUavgIq.js → required-auth-layout-DVBTPJsA.js} +1 -1
  154. package/dist/client/assets/{reset-password-CiHUADLZ.js → reset-password-BcWsBfF-.js} +1 -1
  155. package/dist/client/assets/{roles-BHxbgr5v.js → roles-5VRcOP6r.js} +1 -1
  156. package/dist/client/assets/{search-input-d5ToLpDL.js → search-input-BpvrwCAE.js} +1 -1
  157. package/dist/client/assets/{secrets-TXVMUJsr.js → secrets-BDSJ2rF3.js} +1 -1
  158. package/dist/client/assets/{sections-editor-DhJpBdR6.js → sections-editor-1qylDTXe.js} +1 -1
  159. package/dist/client/assets/{select-Cw9zOqjo.js → select-CLIVMpOy.js} +1 -1
  160. package/dist/client/assets/{select-model-CNvR1zCo.js → select-model-1KjY8XvE.js} +1 -1
  161. package/dist/client/assets/{self-tool-result-DYlhp87C.js → self-tool-result-BnS50z-6.js} +1 -1
  162. package/dist/client/assets/{seo-editor-D2Z0JxGD.js → seo-editor-0VD6__aZ.js} +1 -1
  163. package/dist/client/assets/{settings-layout-CgKpADzl.js → settings-layout-CQdt-3KD.js} +1 -1
  164. package/dist/client/assets/{settings-section-DyGHHqtI.js → settings-section-C9WMBoFd.js} +1 -1
  165. package/dist/client/assets/{shell-controls-Dm69zLOa.js → shell-controls-NVp4kho0.js} +1 -1
  166. package/dist/client/assets/{shell-layout-CUNLJSVJ.js → shell-layout-yi-eZT90.js} +1 -1
  167. package/dist/client/assets/{sidebar-DJbMsLW7.js → sidebar-ChgTLo-0.js} +1 -1
  168. package/dist/client/assets/{skeleton-Cf1bJ0bP.js → skeleton-GXu-efNA.js} +1 -1
  169. package/dist/client/assets/{sso-DtaJUQzn.js → sso-0rJV65YC.js} +1 -1
  170. package/dist/client/assets/{store-B5yptEcb.js → store-BjvQ1Vl4.js} +1 -1
  171. package/dist/client/assets/store-registry-BNgcXaij.js +2 -0
  172. package/dist/client/assets/{studio-tools-COZnyB5r.js → studio-tools-CN1oxl8e.js} +1 -1
  173. package/dist/client/assets/{switch-CgbbrJkE.js → switch-C2tVBDAf.js} +1 -1
  174. package/dist/client/assets/{table-C8q3JMMI.js → table-D13ZP2af.js} +1 -1
  175. package/dist/client/assets/{tabs-C9zElBiT.js → tabs-CUYqLtsN.js} +1 -1
  176. package/dist/client/assets/{textarea-7U9o44Le.js → textarea-DcGrsSH_.js} +1 -1
  177. package/dist/client/assets/{toggle-group-Dj6HpbPl.js → toggle-group-CO4gJn1X.js} +1 -1
  178. package/dist/client/assets/{toolbar-D8G1Pq_W.js → toolbar-DLq9CddS.js} +1 -1
  179. package/dist/client/assets/{toolbar-icon-button-BovNFc5w.js → toolbar-icon-button-DLs4LKwu.js} +1 -1
  180. package/dist/client/assets/{tooltip-JUiClCM8.js → tooltip-nFjr_snp.js} +1 -1
  181. package/dist/client/assets/{use-ai-providers-CIxqXq_E.js → use-ai-providers-BdICTdsx.js} +1 -1
  182. package/dist/client/assets/{use-api-keys-DdyqkfeM.js → use-api-keys-DqAXn1Zm.js} +1 -1
  183. package/dist/client/assets/{use-automations-CL64h-XS.js → use-automations-BnGUoxgu.js} +1 -1
  184. package/dist/client/assets/{use-autosave-BQrsxeUH.js → use-autosave-D3yjhw9R.js} +1 -1
  185. package/dist/client/assets/{use-capability-DzBPnh_f.js → use-capability-U4hc3MJt.js} +1 -1
  186. package/dist/client/assets/{use-clock-tick-CFvlMYDm.js → use-clock-tick-Cm-ojRj2.js} +1 -1
  187. package/dist/client/assets/{use-connection-CJ5quUZo.js → use-connection-DP130yU1.js} +1 -1
  188. package/dist/client/assets/{use-copy-JjDM-F13.js → use-copy-wUdQe3R4.js} +1 -1
  189. package/dist/client/assets/{use-create-virtual-mcp-DiDV0YP9.js → use-create-virtual-mcp-CfLiEbcr.js} +1 -1
  190. package/dist/client/assets/{use-debounced-autosave-DzB-LR8B.js → use-debounced-autosave-D9NKqKra.js} +1 -1
  191. package/dist/client/assets/{use-debounced-value-AP1aLpqA.js → use-debounced-value-Sljh8cz_.js} +1 -1
  192. package/dist/client/assets/{use-deco-credits-UjmhCMRa.js → use-deco-credits-BHMHZLe7.js} +1 -1
  193. package/dist/client/assets/{use-decopilot-events-DXZMSv3S.js → use-decopilot-events-C3VtvlxI.js} +1 -1
  194. package/dist/client/assets/{use-delete-connection-ztZQDYD4.js → use-delete-connection-BjjMIyjD.js} +1 -1
  195. package/dist/client/assets/{use-deployment-admin-D4W7N9Ds.js → use-deployment-admin-Dz-cZZTr.js} +1 -1
  196. package/dist/client/assets/{use-file-configs-C-BiWTPO.js → use-file-configs-Brp96ut_.js} +1 -1
  197. package/dist/client/assets/{use-infinite-scroll-CaS1_02K.js → use-infinite-scroll-C0-qxA_H.js} +1 -1
  198. package/dist/client/assets/{use-join-requests-8yInz1MP.js → use-join-requests-MnNl9acR.js} +1 -1
  199. package/dist/client/assets/{use-mcp-auth-status-B4F0IEF3.js → use-mcp-auth-status-CSnsjDgA.js} +1 -1
  200. package/dist/client/assets/{use-mcp-client-ZLb46s7n.js → use-mcp-client-e1AvK5j8.js} +1 -1
  201. package/dist/client/assets/{use-mcp-tools-CNXn9b4S.js → use-mcp-tools-DP-q620d.js} +1 -1
  202. package/dist/client/assets/{use-members-DkZrXGCJ.js → use-members-D25sH4TV.js} +1 -1
  203. package/dist/client/assets/{use-mobile-CCNVMbzK.js → use-mobile-BxbpXn2e.js} +1 -1
  204. package/dist/client/assets/{use-navigate-to-agent-DCmoE5Jm.js → use-navigate-to-agent-D4lj27Iz.js} +1 -1
  205. package/dist/client/assets/{use-org-auth-client-Ct33szyv.js → use-org-auth-client-BpB50e0t.js} +1 -1
  206. package/dist/client/assets/{use-org-sso-xb7tXECG.js → use-org-sso-CITa1AbZ.js} +1 -1
  207. package/dist/client/assets/{use-organization-roles-Cd9Mm8jl.js → use-organization-roles-0qDayRu0.js} +1 -1
  208. package/dist/client/assets/{use-organization-settings-C4auQSeU.js → use-organization-settings-7hL7UoRz.js} +1 -1
  209. package/dist/client/assets/{use-registry-app-oS63jKq4.js → use-registry-app-BJCddV-g.js} +1 -1
  210. package/dist/client/assets/{use-registry-connections-DZ0EPrSu.js → use-registry-connections-D9so0dNg.js} +1 -1
  211. package/dist/client/assets/{use-secrets-Jf-VjcPk.js → use-secrets-fRzkriDi.js} +1 -1
  212. package/dist/client/assets/{use-status-sounds-C6CUQiqC.js → use-status-sounds-DW5wnHU7.js} +1 -1
  213. package/dist/client/assets/{use-view-mode-Ck9HoH8k.js → use-view-mode-C1Dm3qJX.js} +1 -1
  214. package/dist/client/assets/{use-virtual-mcp-B-rrVQSk.js → use-virtual-mcp-ynChJp9O.js} +1 -1
  215. package/dist/client/assets/useInfiniteQuery-LeHWwS_T.js +1 -0
  216. package/dist/client/assets/{useQueries-BJwJ6u9U.js → useQueries-D9BKKPm9.js} +1 -1
  217. package/dist/client/assets/{useRouterState-BhI609aI.js → useRouterState-nfL1fG8Q.js} +1 -1
  218. package/dist/client/assets/useSuspenseInfiniteQuery-7pgJlyIg.js +1 -0
  219. package/dist/client/assets/{users-ih8IupLG.js → users-CmtNWpd8.js} +1 -1
  220. package/dist/client/assets/{variant-calendar-PadCV5eU.js → variant-calendar-CDipv_uU.js} +1 -1
  221. package/dist/client/assets/{view-mode-toggle-CL4WBNyW.js → view-mode-toggle-5ORB6Mvr.js} +1 -1
  222. package/dist/client/index.html +1 -1
  223. package/dist/server/cli.js +478 -478
  224. package/dist/server/migrate.js +14 -14
  225. package/dist/server/server.js +336 -336
  226. package/package.json +1 -1
  227. package/dist/client/assets/page-seo-sheet-Bkq5QppO.js +0 -1
  228. package/dist/client/assets/project-app-view-CDGzkFBY.js +0 -1
  229. package/dist/client/assets/record-editor-Cx3Pppfl.js +0 -1
  230. package/dist/client/assets/redirect-editor-C7pKQinE.js +0 -1
  231. package/dist/client/assets/registry-E9kCuzPu.js +0 -2
  232. package/dist/client/assets/store-registry-BEw1Zk7Y.js +0 -2
  233. package/dist/client/assets/useInfiniteQuery-DeFy9X4P.js +0 -1
  234. package/dist/client/assets/useSuspenseInfiniteQuery-DQ_PFJ0H.js +0 -1
@@ -148,7 +148,7 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
148
148
  id, parent_connection_id, child_connection_id,
149
149
  selected_tools, selected_resources, selected_prompts, created_at
150
150
  FROM connection_aggregations
151
- `.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var Bt={};i(Bt,{up:()=>Nu,down:()=>su});import{webcrypto as Ti}from"crypto";var ci="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Cu=128,D,J;function pu(t){if(!D||D.length<t)D=Buffer.allocUnsafe(t*Cu),Ti.getRandomValues(D),J=0;else if(J+t>D.length)Ti.getRandomValues(D),J=0;J+=t}function R(t=21){pu(t|=0);let n="";for(let e=J-t;e<J;e++)n+=ci[D[e]&63];return n}var wu="org-admin",fu="Organization Admin";async function Nu(t){await t.schema.createTable("projects").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(e)=>e.notNull()).addColumn("name","text",(e)=>e.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(e)=>e.notNull()).addColumn("updated_at","text",(e)=>e.notNull()).execute(),await t.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await t.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await t.schema.createTable("project_plugin_configs").addColumn("id","text",(e)=>e.primaryKey()).addColumn("project_id","text",(e)=>e.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(e)=>e.notNull()).addColumn("connection_id","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(e)=>e.notNull()).addColumn("updated_at","text",(e)=>e.notNull()).execute(),await t.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let n=await t.selectFrom("organization").select(["id"]).execute();for(let e of n){let u=new Date().toISOString(),a=`proj_${R()}`,o=await t.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",e.id).executeTakeFirst();await t.insertInto("projects").values({id:a,organization_id:e.id,slug:wu,name:fu,description:null,enabled_plugins:o?.enabled_plugins??null,ui:null,created_at:u,updated_at:u}).execute()}}async function su(t){await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("projects").execute()}var It={};i(It,{up:()=>Eu,down:()=>Ku});async function Eu(t){await t.schema.alterTable("threads").addColumn("status","text",(n)=>n.notNull().defaultTo("completed")).execute()}async function Ku(t){await t.schema.alterTable("threads").dropColumn("status").execute()}var Gt={};i(Gt,{up:()=>hu,down:()=>Pu});async function hu(t){}async function Pu(t){}var vt={};i(vt,{up:()=>zu,down:()=>ku});async function zu(t){await t.schema.createTable("project_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("project_id","text",(n)=>n.notNull().references("projects.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("created_at","text",(n)=>n.notNull()).execute(),await t.schema.createIndex("project_connections_project_conn_unique").on("project_connections").columns(["project_id","connection_id"]).unique().execute(),await t.schema.createIndex("project_connections_project_id_idx").on("project_connections").columns(["project_id"]).execute()}async function ku(t){await t.schema.dropIndex("project_connections_project_id_idx").execute(),await t.schema.dropIndex("project_connections_project_conn_unique").execute(),await t.schema.dropTable("project_connections").execute()}var Vt={};i(Vt,{up:()=>Uu,down:()=>Du});import{sql as Ci}from"kysely";async function Uu(t){await Ci`
151
+ `.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var Bt={};i(Bt,{up:()=>Nu,down:()=>su});import{webcrypto as Ti}from"crypto";var ci="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Cu=128,D,L;function pu(t){if(!D||D.length<t)D=Buffer.allocUnsafe(t*Cu),Ti.getRandomValues(D),L=0;else if(L+t>D.length)Ti.getRandomValues(D),L=0;L+=t}function J(t=21){pu(t|=0);let n="";for(let e=L-t;e<L;e++)n+=ci[D[e]&63];return n}var wu="org-admin",fu="Organization Admin";async function Nu(t){await t.schema.createTable("projects").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(e)=>e.notNull()).addColumn("name","text",(e)=>e.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(e)=>e.notNull()).addColumn("updated_at","text",(e)=>e.notNull()).execute(),await t.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await t.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await t.schema.createTable("project_plugin_configs").addColumn("id","text",(e)=>e.primaryKey()).addColumn("project_id","text",(e)=>e.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(e)=>e.notNull()).addColumn("connection_id","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(e)=>e.notNull()).addColumn("updated_at","text",(e)=>e.notNull()).execute(),await t.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let n=await t.selectFrom("organization").select(["id"]).execute();for(let e of n){let u=new Date().toISOString(),a=`proj_${J()}`,o=await t.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",e.id).executeTakeFirst();await t.insertInto("projects").values({id:a,organization_id:e.id,slug:wu,name:fu,description:null,enabled_plugins:o?.enabled_plugins??null,ui:null,created_at:u,updated_at:u}).execute()}}async function su(t){await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("projects").execute()}var It={};i(It,{up:()=>Eu,down:()=>Ku});async function Eu(t){await t.schema.alterTable("threads").addColumn("status","text",(n)=>n.notNull().defaultTo("completed")).execute()}async function Ku(t){await t.schema.alterTable("threads").dropColumn("status").execute()}var Gt={};i(Gt,{up:()=>hu,down:()=>Pu});async function hu(t){}async function Pu(t){}var vt={};i(vt,{up:()=>zu,down:()=>ku});async function zu(t){await t.schema.createTable("project_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("project_id","text",(n)=>n.notNull().references("projects.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("created_at","text",(n)=>n.notNull()).execute(),await t.schema.createIndex("project_connections_project_conn_unique").on("project_connections").columns(["project_id","connection_id"]).unique().execute(),await t.schema.createIndex("project_connections_project_id_idx").on("project_connections").columns(["project_id"]).execute()}async function ku(t){await t.schema.dropIndex("project_connections_project_id_idx").execute(),await t.schema.dropIndex("project_connections_project_conn_unique").execute(),await t.schema.dropTable("project_connections").execute()}var Vt={};i(Vt,{up:()=>Uu,down:()=>Du});import{sql as Ci}from"kysely";async function Uu(t){await Ci`
152
152
  UPDATE connections
153
153
  SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
154
154
  tools = NULL,
@@ -212,7 +212,7 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
212
212
  UPDATE connections
213
213
  SET subtype = 'agent'
214
214
  WHERE connection_type = 'VIRTUAL'
215
- `.execute(t),await t.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(_)=>_.primaryKey()).addColumn("virtual_mcp_id","text",(_)=>_.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(_)=>_.notNull()).addColumn("connection_id","text",(_)=>_.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(_)=>_.notNull()).addColumn("updated_at","text",(_)=>_.notNull()).execute(),await t.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await t.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let n=await t.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),e=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),u=new Map;for(let _ of e)u.set(_.organizationId,_.userId);let a=new Map;for(let _ of n){let x=`vir_${R()}`;a.set(_.id,x);let r=_.ui?JSON.parse(_.ui):null,y=JSON.stringify({enabled_plugins:_.enabled_plugins?JSON.parse(_.enabled_plugins):null,ui:r,migrated_from_project:_.id,migrated_project_slug:_.slug}),T=u.get(_.organization_id);if(!T)continue;await t.insertInto("connections").values({id:x,organization_id:_.organization_id,created_by:T,updated_by:null,title:_.name,description:_.description,icon:r?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${x}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:y,bindings:null,status:"active",subtype:"project",created_at:_.created_at,updated_at:_.updated_at}).execute()}let o=await t.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let _ of o){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("connection_aggregations").values({id:`agg_${R()}`,parent_connection_id:x,child_connection_id:_.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:_.created_at}).onConflict((r)=>r.doNothing()).execute()}let m=await t.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let _ of m){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${R()}`,virtual_mcp_id:x,plugin_id:_.plugin_id,connection_id:_.connection_id,settings:_.settings,created_at:_.created_at,updated_at:_.updated_at}).execute()}await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("project_connections").execute(),await t.schema.dropTable("projects").execute()}async function bu(t){await t.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await xn`
215
+ `.execute(t),await t.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(_)=>_.primaryKey()).addColumn("virtual_mcp_id","text",(_)=>_.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(_)=>_.notNull()).addColumn("connection_id","text",(_)=>_.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(_)=>_.notNull()).addColumn("updated_at","text",(_)=>_.notNull()).execute(),await t.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await t.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let n=await t.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),e=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),u=new Map;for(let _ of e)u.set(_.organizationId,_.userId);let a=new Map;for(let _ of n){let x=`vir_${J()}`;a.set(_.id,x);let r=_.ui?JSON.parse(_.ui):null,y=JSON.stringify({enabled_plugins:_.enabled_plugins?JSON.parse(_.enabled_plugins):null,ui:r,migrated_from_project:_.id,migrated_project_slug:_.slug}),T=u.get(_.organization_id);if(!T)continue;await t.insertInto("connections").values({id:x,organization_id:_.organization_id,created_by:T,updated_by:null,title:_.name,description:_.description,icon:r?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${x}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:y,bindings:null,status:"active",subtype:"project",created_at:_.created_at,updated_at:_.updated_at}).execute()}let o=await t.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let _ of o){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("connection_aggregations").values({id:`agg_${J()}`,parent_connection_id:x,child_connection_id:_.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:_.created_at}).onConflict((r)=>r.doNothing()).execute()}let m=await t.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let _ of m){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${J()}`,virtual_mcp_id:x,plugin_id:_.plugin_id,connection_id:_.connection_id,settings:_.settings,created_at:_.created_at,updated_at:_.updated_at}).execute()}await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("project_connections").execute(),await t.schema.dropTable("projects").execute()}async function bu(t){await t.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await xn`
216
216
  ALTER TABLE connections
217
217
  DROP CONSTRAINT IF EXISTS chk_connections_subtype
218
218
  `.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute()}var yn={};i(yn,{up:()=>no,down:()=>eo});import{sql as to}from"kysely";async function no(t){await to`
@@ -239,24 +239,24 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
239
239
  THEN jsonb_build_array(virtual_mcp_id)::text
240
240
  ELSE '[]'
241
241
  END
242
- `.execute(t),await l`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(t),await t.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var hn={};i(hn,{up:()=>Ko,down:()=>ho});async function Ko(t){await t.schema.createTable("trigger_callback_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(n)=>n.notNull().unique()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).execute(),await t.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function ho(t){await t.schema.dropTable("trigger_callback_tokens").execute()}var Pn={};i(Pn,{up:()=>Po,down:()=>zo});async function Po(t){await t.schema.createTable("kv").addColumn("organization_id","text",(n)=>n.notNull()).addColumn("key","text",(n)=>n.notNull()).addColumn("value","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function zo(t){await t.schema.dropTable("kv").execute()}var zn={};i(zn,{up:()=>ko,down:()=>Uo});async function ko(t){await t.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function Uo(t){await t.schema.dropIndex("idx_member_user_org").execute()}var kn={};i(kn,{up:()=>Do,down:()=>jo});async function Do(t){await t.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function jo(t){await t.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var Un={};i(Un,{up:()=>Lo,down:()=>Jo});import{sql as w}from"kysely";async function Lo(t){await t.schema.createTable("private_registry_item").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.references("user.id").onDelete("set null")).execute(),await t.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await t.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await w`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(t),await t.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await w`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(t),await t.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("key_hash","text",(n)=>n.notNull()).addColumn("prefix","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await t.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tested_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("passed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("failed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("skipped_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await t.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("run_id","text",(n)=>n.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("item_title","text",(n)=>n.notNull()).addColumn("status","text",(n)=>n.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tools_listed","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(n)=>n.notNull().defaultTo(0)).addColumn("action_taken","text",(n)=>n.notNull().defaultTo("none")).addColumn("tested_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await t.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(n)=>n.notNull().defaultTo("none")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function Jo(t){await t.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_run").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await t.schema.dropTable("private_registry_publish_api_key").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await t.schema.dropTable("private_registry_publish_request").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await t.schema.dropTable("private_registry_item").ifExists().execute()}var Dn={};i(Dn,{up:()=>Ro,down:()=>Wo});import{sql as W}from"kysely";async function Ro(t){await W`
242
+ `.execute(t),await l`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(t),await t.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var hn={};i(hn,{up:()=>Ko,down:()=>ho});async function Ko(t){await t.schema.createTable("trigger_callback_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(n)=>n.notNull().unique()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).execute(),await t.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function ho(t){await t.schema.dropTable("trigger_callback_tokens").execute()}var Pn={};i(Pn,{up:()=>Po,down:()=>zo});async function Po(t){await t.schema.createTable("kv").addColumn("organization_id","text",(n)=>n.notNull()).addColumn("key","text",(n)=>n.notNull()).addColumn("value","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function zo(t){await t.schema.dropTable("kv").execute()}var zn={};i(zn,{up:()=>ko,down:()=>Uo});async function ko(t){await t.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function Uo(t){await t.schema.dropIndex("idx_member_user_org").execute()}var kn={};i(kn,{up:()=>Do,down:()=>jo});async function Do(t){await t.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function jo(t){await t.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var Un={};i(Un,{up:()=>Lo,down:()=>Jo});import{sql as w}from"kysely";async function Lo(t){await t.schema.createTable("private_registry_item").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.references("user.id").onDelete("set null")).execute(),await t.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await t.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await w`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(t),await t.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await w`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(t),await t.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("key_hash","text",(n)=>n.notNull()).addColumn("prefix","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await t.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tested_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("passed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("failed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("skipped_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await t.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("run_id","text",(n)=>n.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("item_title","text",(n)=>n.notNull()).addColumn("status","text",(n)=>n.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tools_listed","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(n)=>n.notNull().defaultTo(0)).addColumn("action_taken","text",(n)=>n.notNull().defaultTo("none")).addColumn("tested_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await t.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(n)=>n.notNull().defaultTo("none")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function Jo(t){await t.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_run").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await t.schema.dropTable("private_registry_publish_api_key").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await t.schema.dropTable("private_registry_publish_request").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await t.schema.dropTable("private_registry_item").ifExists().execute()}var Dn={};i(Dn,{up:()=>Ro,down:()=>Wo});import{sql as R}from"kysely";async function Ro(t){await R`
243
243
  ALTER TABLE event_subscriptions
244
244
  ALTER COLUMN enabled DROP DEFAULT
245
- `.execute(t),await W`
245
+ `.execute(t),await R`
246
246
  ALTER TABLE event_subscriptions
247
247
  ALTER COLUMN enabled TYPE boolean
248
248
  USING enabled::boolean
249
- `.execute(t),await W`
249
+ `.execute(t),await R`
250
250
  ALTER TABLE event_subscriptions
251
251
  ALTER COLUMN enabled SET DEFAULT true
252
- `.execute(t)}async function Wo(t){await W`
252
+ `.execute(t)}async function Wo(t){await R`
253
253
  ALTER TABLE event_subscriptions
254
254
  ALTER COLUMN enabled DROP DEFAULT
255
- `.execute(t),await W`
255
+ `.execute(t),await R`
256
256
  ALTER TABLE event_subscriptions
257
257
  ALTER COLUMN enabled TYPE integer
258
258
  USING enabled::integer
259
- `.execute(t),await W`
259
+ `.execute(t),await R`
260
260
  ALTER TABLE event_subscriptions
261
261
  ALTER COLUMN enabled SET DEFAULT 1
262
262
  `.execute(t)}var jn={};i(jn,{up:()=>$o,down:()=>go});import{sql as si}from"kysely";async function $o(t){await t.schema.createTable("brand_context").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("domain","text",(n)=>n.notNull()).addColumn("overview","text",(n)=>n.notNull()).addColumn("logo","text").addColumn("favicon","text").addColumn("og_image","text").addColumn("fonts","text").addColumn("colors","text").addColumn("images","text").addColumn("metadata","text").addColumn("archived_at","timestamptz").addColumn("is_default","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(si`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(si`now()`)).execute(),await t.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function go(t){await t.schema.dropTable("brand_context").execute()}var Ln={};i(Ln,{up:()=>Ao,down:()=>Xo});import{sql as Ei}from"kysely";async function Ao(t){await t.schema.createTable("organization_domains").addColumn("organization_id","text",(n)=>n.primaryKey().notNull().references("organization.id").onDelete("cascade")).addColumn("domain","text",(n)=>n.notNull().unique()).addColumn("auto_join_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ei`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Ei`now()`)).execute()}async function Xo(t){await t.schema.dropTable("organization_domains").execute()}var Jn={};i(Jn,{up:()=>Mo,down:()=>Ho});import{sql as Ki}from"kysely";var d=new Set(["primary","secondary","accent","background","foreground"]),Qo={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function Zo(t){let n={};if(!t)return{structured:null,extra:n};if(!Array.isArray(t)&&typeof t==="object"){let e=t;if(Object.keys(e).some((a)=>d.has(a))){let a={};for(let[o,m]of Object.entries(e)){if(typeof m!=="string")continue;if(d.has(o))a[o]=m;else n[o]=m}return{structured:Object.keys(a).length>0?JSON.stringify(a):null,extra:n}}let u={};for(let[a,o]of Object.entries(e)){if(typeof o!=="string")continue;if(d.has(a.toLowerCase()))u[a.toLowerCase()]=o;else n[a]=o}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:n}}if(Array.isArray(t)){let e={};for(let u of t){let a=u,o=a.label?.toLowerCase?.(),m=a.value;if(!o||!m)continue;if(d.has(o))e[o]=m;else n[o]=m}return{structured:Object.keys(e).length>0?JSON.stringify(e):null,extra:n}}return{structured:null,extra:n}}function Fo(t){if(!t)return null;if(!Array.isArray(t)&&typeof t==="object"){let n=t;if(typeof n.heading==="string"||typeof n.body==="string"||typeof n.code==="string")return JSON.stringify(n);return null}if(Array.isArray(t)){let n={},e=[];for(let u of t){let a=u,o=a.name??a.family??void 0,m=a.role?.toLowerCase?.()??"";if(!o)continue;let _=Qo[m];if(_&&!n[_])n[_]=o;else e.push(o)}if(!n.body&&e[0])n.body=e[0];return Object.keys(n).length>0?JSON.stringify(n):null}return null}async function Mo(t){let n=await Ki`SELECT id, colors, fonts, metadata FROM brand_context`.execute(t);for(let e of n.rows){let u=!1,a=!1,o=!1,m=e.colors,_=e.fonts,x={};try{x=e.metadata?JSON.parse(e.metadata):{}}catch{}if(e.colors)try{let r=JSON.parse(e.colors);if(Array.isArray(r)){let y=Zo(r);if(m=y.structured,u=!0,Object.keys(y.extra).length>0)x.extraColors=y.extra,o=!0}}catch{}if(e.fonts)try{let r=JSON.parse(e.fonts);if(Array.isArray(r))_=Fo(r),a=!0}catch{}if(u||a||o){let r=o?JSON.stringify(x):e.metadata;await Ki`
@@ -331,20 +331,20 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
331
331
  ALTER TABLE async_research_jobs
332
332
  ADD CONSTRAINT chk_async_research_jobs_status
333
333
  CHECK (status IN ('pending','polling','completed','failed','cancelled','abandoned'))
334
- `.execute(t)}async function h_(t){await t.schema.dropTable("async_research_jobs").ifExists().execute()}var In={};i(In,{up:()=>P_,down:()=>z_});async function P_(t){await t.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function z_(t){await t.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Gn={};i(Gn,{up:()=>k_,down:()=>U_});import{sql as $}from"kysely";async function k_(t){await t.schema.createTable("secrets").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("user_id","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("encrypted_value","text",(n)=>n.notNull()).addColumn("description","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await $`
334
+ `.execute(t)}async function h_(t){await t.schema.dropTable("async_research_jobs").ifExists().execute()}var In={};i(In,{up:()=>P_,down:()=>z_});async function P_(t){await t.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function z_(t){await t.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Gn={};i(Gn,{up:()=>k_,down:()=>U_});import{sql as W}from"kysely";async function k_(t){await t.schema.createTable("secrets").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("user_id","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("encrypted_value","text",(n)=>n.notNull()).addColumn("description","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).execute(),await W`
335
335
  ALTER TABLE secrets
336
336
  ADD CONSTRAINT chk_secrets_scope CHECK (scope IN ('user', 'organization'))
337
- `.execute(t),await $`
337
+ `.execute(t),await W`
338
338
  ALTER TABLE secrets
339
339
  ADD CONSTRAINT chk_secrets_scope_user_id CHECK (
340
340
  (scope = 'user' AND user_id IS NOT NULL)
341
341
  OR (scope = 'organization' AND user_id IS NULL)
342
342
  )
343
- `.execute(t),await t.schema.createIndex("idx_secrets_org").on("secrets").column("organization_id").execute(),await $`
343
+ `.execute(t),await t.schema.createIndex("idx_secrets_org").on("secrets").column("organization_id").execute(),await W`
344
344
  CREATE UNIQUE INDEX idx_secrets_user_name
345
345
  ON secrets (organization_id, user_id, lower(name))
346
346
  WHERE scope = 'user'
347
- `.execute(t),await $`
347
+ `.execute(t),await W`
348
348
  CREATE UNIQUE INDEX idx_secrets_org_name
349
349
  ON secrets (organization_id, lower(name))
350
350
  WHERE scope = 'organization'
@@ -833,7 +833,7 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
833
833
  UPDATE "connections"
834
834
  SET metadata = ${_}
835
835
  WHERE id = ${e.id}
836
- `.execute(t)}}async function um(t){}var ye={};i(ye,{up:()=>om,down:()=>_m});import{sql as it}from"kysely";async function om(t){await t.schema.createTable("thread_message_parts").addColumn("id","text",(n)=>n.primaryKey()).addColumn("seq","integer",(n)=>n.notNull()).addColumn("org_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("message_id","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("kind","text",(n)=>n.notNull()).addColumn("payload","jsonb",(n)=>n.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(n)=>n.notNull()).execute(),await it`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await it`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await it`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await it`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(t),await t.schema.alterTable("threads").addColumn("message_storage_version","integer",(n)=>n.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function _m(t){await t.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await t.schema.dropTable("thread_message_parts").ifExists().execute()}var ce={};i(ce,{up:()=>mm,down:()=>xm});async function mm(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function xm(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Te={};i(Te,{up:()=>rm,down:()=>ym});async function rm(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function ym(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var Ce={};i(Ce,{up:()=>cm,down:()=>Tm});async function cm(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Tm(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var pe={};i(pe,{up:()=>Cm,down:()=>pm});async function Cm(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function pm(t){await t.schema.dropTable("thread_observations").execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var we={};i(we,{up:()=>wm,down:()=>fm});async function wm(t){await t.schema.dropTable("thread_observations").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function fm(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var Ne={};i(Ne,{up:()=>sm,down:()=>Em});import{sql as h}from"kysely";var f="cluster",N="agent-sandbox";function g(t){return t!==null&&typeof t==="object"&&!Array.isArray(t)}function fe(t,n,e){if(!g(t))return t;if(t.sandboxProviderKind!==n)return t;return{...t,sandboxProviderKind:e}}function at(t){if(!g(t))return!1;if(typeof t.sandboxHandle!=="string")return!1;if(t.previewUrl!==null&&typeof t.previewUrl!=="string")return!1;if(t.sandboxApiUrl!==void 0&&t.sandboxApiUrl!==null&&typeof t.sandboxApiUrl!=="string")return!1;if(t.sandboxProviderKind!==void 0&&t.sandboxProviderKind!==f&&t.sandboxProviderKind!==N&&t.sandboxProviderKind!=="user-desktop")return!1;if(t.createdAt!==void 0&&typeof t.createdAt!=="number")return!1;if(t.startedWith!==void 0){if(!g(t.startedWith))return!1;for(let n of["packageManager","port","path"]){let e=t.startedWith[n];if(e!==void 0&&e!==null&&typeof e!=="string")return!1}}return!0}function Nm(t,n,e){if(!g(t))return null;let u=!1,a={};for(let[o,m]of Object.entries(t)){if(!g(m)){a[o]=m;continue}let _={};for(let[x,r]of Object.entries(m)){if(!g(r)){_[x]=r;continue}let y={};for(let[T,c]of Object.entries(r)){if(T===n){if(u=!0,!(e in r))y[e]=fe(c,n,e);else if(!at(r[e])&&at(c))y[e]=fe(c,n,e);continue}let s=fe(c,n,e);if(s!==c)u=!0;if(T===e&&T in y&&at(y[T])&&!at(s))continue;y[T]=s}_[x]=y}a[o]=_}return{sandboxMap:a,changed:u}}async function Ri(t,n,e){let u=await h`
836
+ `.execute(t)}}async function um(t){}var ye={};i(ye,{up:()=>om,down:()=>_m});import{sql as it}from"kysely";async function om(t){await t.schema.createTable("thread_message_parts").addColumn("id","text",(n)=>n.primaryKey()).addColumn("seq","integer",(n)=>n.notNull()).addColumn("org_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("message_id","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("kind","text",(n)=>n.notNull()).addColumn("payload","jsonb",(n)=>n.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(n)=>n.notNull()).execute(),await it`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await it`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await it`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await it`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(t),await t.schema.alterTable("threads").addColumn("message_storage_version","integer",(n)=>n.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function _m(t){await t.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await t.schema.dropTable("thread_message_parts").ifExists().execute()}var ce={};i(ce,{up:()=>mm,down:()=>xm});async function mm(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function xm(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Te={};i(Te,{up:()=>rm,down:()=>ym});async function rm(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function ym(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var Ce={};i(Ce,{up:()=>cm,down:()=>Tm});async function cm(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Tm(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var pe={};i(pe,{up:()=>Cm,down:()=>pm});async function Cm(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function pm(t){await t.schema.dropTable("thread_observations").execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var we={};i(we,{up:()=>wm,down:()=>fm});async function wm(t){await t.schema.dropTable("thread_observations").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function fm(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var Ne={};i(Ne,{up:()=>sm,down:()=>Em});import{sql as h}from"kysely";var f="cluster",N="agent-sandbox";function $(t){return t!==null&&typeof t==="object"&&!Array.isArray(t)}function fe(t,n,e){if(!$(t))return t;if(t.sandboxProviderKind!==n)return t;return{...t,sandboxProviderKind:e}}function at(t){if(!$(t))return!1;if(typeof t.sandboxHandle!=="string")return!1;if(t.previewUrl!==null&&typeof t.previewUrl!=="string")return!1;if(t.sandboxApiUrl!==void 0&&t.sandboxApiUrl!==null&&typeof t.sandboxApiUrl!=="string")return!1;if(t.sandboxProviderKind!==void 0&&t.sandboxProviderKind!==f&&t.sandboxProviderKind!==N&&t.sandboxProviderKind!=="user-desktop")return!1;if(t.createdAt!==void 0&&typeof t.createdAt!=="number")return!1;if(t.startedWith!==void 0){if(!$(t.startedWith))return!1;for(let n of["packageManager","port","path"]){let e=t.startedWith[n];if(e!==void 0&&e!==null&&typeof e!=="string")return!1}}return!0}function Nm(t,n,e){if(!$(t))return null;let u=!1,a={};for(let[o,m]of Object.entries(t)){if(!$(m)){a[o]=m;continue}let _={};for(let[x,r]of Object.entries(m)){if(!$(r)){_[x]=r;continue}let y={};for(let[T,c]of Object.entries(r)){if(T===n){if(u=!0,!(e in r))y[e]=fe(c,n,e);else if(!at(r[e])&&at(c))y[e]=fe(c,n,e);continue}let s=fe(c,n,e);if(s!==c)u=!0;if(T===e&&T in y&&at(y[T])&&!at(s))continue;y[T]=s}_[x]=y}a[o]=_}return{sandboxMap:a,changed:u}}async function Ri(t,n,e){let u=await h`
837
837
  SELECT id, metadata FROM connections
838
838
  WHERE connection_type = 'VIRTUAL'
839
839
  AND metadata IS NOT NULL
@@ -1026,7 +1026,7 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
1026
1026
  ) ranked
1027
1027
  WHERE ranked.rn > 1
1028
1028
  )
1029
- `.execute(t)}async function Jx(t){}var le={};i(le,{up:()=>Rx,down:()=>Wx});async function Rx(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function Wx(t){await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).execute()}var de={};i(de,{up:()=>$x,down:()=>gx});async function $x(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(n)=>n.onDelete("cascade")).execute(),await t.schema.alterTable("task_board_item_prs").addForeignKeyConstraint("task_board_item_prs_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(n)=>n.onDelete("cascade")).execute()}async function gx(t){await t.schema.alterTable("task_board_item_prs").dropConstraint("task_board_item_prs_task_board_item_id_fkey").execute(),await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_task_board_item_id_fkey").execute()}var be={};i(be,{up:()=>Xx,down:()=>Qx});import{sql as Ax}from"kysely";async function Xx(t){await t.schema.createTable("task_board_import_runs").addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ax`now()`)).addPrimaryKeyConstraint("task_board_import_runs_pkey",["organization_id","run_id"]).execute(),await t.schema.alterTable("task_board_items").addColumn("external_key","text").execute(),await t.schema.createIndex("idx_task_board_items_org_external_key").on("task_board_items").columns(["organization_id","external_key"]).execute()}async function Qx(t){await t.schema.dropIndex("idx_task_board_items_org_external_key").execute(),await t.schema.alterTable("task_board_items").dropColumn("external_key").execute(),await t.schema.dropTable("task_board_import_runs").execute()}var ti={};i(ti,{up:()=>Fx,down:()=>Mx});import{sql as Zx}from"kysely";async function Fx(t){await t.schema.createTable("agent_sandbox_runner_state").addColumn("project_ref","text",(n)=>n.notNull()).addColumn("sandbox_provider_kind","text",(n)=>n.notNull()).addColumn("handle","text",(n)=>n.notNull()).addColumn("state","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Zx`now()`)).addPrimaryKeyConstraint("agent_sandbox_runner_state_pkey",["project_ref","sandbox_provider_kind"]).execute(),await t.schema.createIndex("agent_sandbox_runner_state_handle_idx").on("agent_sandbox_runner_state").column("handle").execute()}async function Mx(t){await t.schema.dropTable("agent_sandbox_runner_state").execute()}var ni={};i(ni,{up:()=>Hx,down:()=>Ox});import{sql as ot}from"kysely";async function Hx(t){await t.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(n)=>n.notNull()).addColumn("branch","text",(n)=>n.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(n)=>n.notNull().defaultTo("running")).addColumn("status","text",(n)=>n.notNull().defaultTo("provisioning")).addColumn("generation","integer",(n)=>n.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("last_started_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ot`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(ot`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",ot`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",ot`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await t.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await t.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function Ox(t){await t.schema.dropTable("agent_sandbox_sessions").execute()}var Sx={"001-initial-schema":ct,"002-organization-settings":Tt,"003-connection-schema-align":Ct,"004-remove-models-binding":pt,"005-connection-configuration":wt,"006-add-views-to-settings":ft,"007-monitoring-logs":Nt,"008-event-bus":st,"009-drop-audit-logs":Et,"010-gateways":Kt,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":Pt,"013-monitoring-user-agent-gateway":zt,"014-gateway-resources-prompts":kt,"015-monitoring-properties":Ut,"016-downstream-token-client-info":Dt,"017-downstream-token-remove-userid":jt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":Jt,"020-enabled-plugins":Rt,"021-threads":Wt,"022-rename-gateway-to-virtual-mcp":$t,"023-optimize-thread-indexes":gt,"024-consolidate-virtual-mcp":At,"025-add-monitoring-virtual-mcp-id":Xt,"026-restrict-child-connection-delete":Qt,"027-update-management-mcp-url":Ft,"028-update-management-mcp-to-self":Ht,"029-add-updated-by-to-connections":Ot,"030-member-tags":St,"031-add-dependency-mode":Yt,"032-projects":Bt,"033-thread-status":It,"034-monitoring-dashboards":Gt,"035-project-connections":vt,"036-update-registry-url":Vt,"037-ai-provider-keys":qt,"038-oauth-pkce-states":lt,"039-automations":dt,"040-replace-next-run-at-with-last-run-at":bt,"041-ai-provider-keys-unique-constraint":tn,"042-rename-mesh-mcp-to-cms-mcp":nn,"043-rename-cms-mcp-to-deco-cms":en,"044-drop-connections-tools-column":an,"045-thread-context-start-message":un,"046-remove-object-storage-plugin":_n,"047-add-next-run-at":mn,"048-merge-projects-agents":rn,"049-remove-org-admin-projects":yn,"050-durable-agent-runs":cn,"051-org-sso":Cn,"052-thread-agent-ids":pn,"053-registry-config":wn,"054-connection-slug":Nn,"055-spaces":sn,"056-automation-project-scope":En,"057-thread-virtual-mcp-id":Kn,"058-trigger-callback-tokens":hn,"059-kv":Pn,"060-member-index":zn,"061-downstream-token-connection-index":kn,"062-private-registry":Un,"063-event-subscriptions-enabled-boolean":Dn,"064-brand-context":jn,"065-organization-domains":Ln,"066-brand-context-structured":Jn,"067-threads-metadata":Rn,"068-threads-branch":Wn,"069-sandbox-runner-state":$n,"070-model-categories":gn,"071-default-home-agents":An,"072-ai-provider-key-preset-id":Xn,"073-backfill-basic-usage-roles":Qn,"074-sandbox-runner-state-handle-nonunique":Zn,"075-thread-inflight-async-jobs":Fn,"076-automations-drop-agent-json":Mn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":Sn,"079-strip-legacy-freestyle-vm-map-entries":Yn,"080-async-research-jobs":Bn,"081-async-research-jobs-result-content":In,"082-secrets":Gn,"083-thread-run-locally":vn,"084-drop-host-sandbox-rows":Vn,"085-rename-runner-kind":qn,"086-thread-pins-and-vm-map-rekey":ln,"087-fix-vm-map-rekey":dn,"088-purge-cli-activate-keys":bn,"089-rename-remote-user-to-desktop":te,"090-automation-webhook-triggers":ne,"091-organization-domains-allow-multi":ee,"092-sandbox-naming-uniformization":ie,"093-backfill-global-search-basic-usage":ae,"094-org-file-configs":oe,"095-remove-automation-tool-call-kind":_e,"096-org-file-configs-public-url-base":me,"097-drop-local-docker-sandbox-state":re,"098-thread-message-parts":ye,"099-run-fence":ce,"100-link-transport":Te,"101-cancel-requested-at":Ce,"102-observational-agent":pe,"103-revert-observational-agent":we,"104-agent-sandbox-provider-kind":Ne,"105-org-fs":se,"106-automation-tools":Ee,"107-org-fs-public-org":Ke,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":Pe,"110-backfill-ghs-token-expiry":ze,"111-org-fs-thread-id":ke,"112-org-file-configs-credential-type":Ue,"113-thread-failure-reason":De,"114-run-acked-seq":je,"115-thread-projected-seq":Le,"116-org-sites":Je,"117-org-file-configs-site-slug":Re,"118-organization-domains-multi-verify":We,"119-organization-join-requests":$e,"120-org-fs-read-public":ge,"121-org-fs-share-password":Ae,"122-split-web-research-tier":Ze,"123-connection-credential-vault":Fe,"124-drop-thread-projected-seq":Me,"125-github-child-single-parent":He,"126-task-board":Se,"127-task-board-due-date":Ye,"128-reports-only":Be,"129-task-board-assigned-by":Ie,"130-task-board-thread-id":Ge,"131-task-board-thread-link-cascade":ve,"132-task-board-item-prs":Ve,"133-dedupe-duplicate-members":qe,"134-drop-task-board-enabled":le,"135-task-board-item-fk-cascade":de,"136-task-board-import-idempotency":be,"137-agent-sandbox-runner-state":ti,"138-agent-sandbox-sessions":ni},ei=Sx;import{getMigrations as Kr}from"better-auth/db";import{sso as hr}from"@better-auth/sso";import{organization as Pr}from"@decocms/better-auth/plugins";import{admin as zr,apiKey as kr,jwt as Ur,magicLink as Dr,mcp as jr,openAPI as Lr}from"better-auth/plugins";import{emailOTP as Jr}from"better-auth/plugins/email-otp";import{Kysely as Cr,PostgresDialect as Bi}from"kysely";import{Pool as Ii}from"pg";import{homedir as Yx}from"os";var Bx=new Set(["all","worker","api"]);function Ix(t){let n=(t??"").trim();return Bx.has(n)?n:"all"}function L(t){return t==="true"||t==="1"}function Gx(t){if(t===void 0||t==="")return;return L(t)}function vx(t,n,e){if(n===void 0||n==="")return e;let u=Number(n);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function Vx(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Ai(t){if(!t)return null;try{let e=new URL(t).hostname;if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}var qx=new Set(["agent-sandbox","user-desktop"]);function lx(t){let n=t&&t.length>0?t:"user-desktop";if(n==="cluster")return"agent-sandbox";if(!qx.has(n))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return n}function Xi(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${Yx()}/deco`,u=t.localMode,a=t.nodeEnv||n.NODE_ENV||"development",o=n.NATS_URL||"nats://localhost:4222",m=Gx(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:a,port:Number(t.port)||Number(n.PORT)||3000,baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:L(n.DATABASE_PG_SSL),databasePoolMax:Number(n.DATABASE_POOL_MAX)||5,betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",meshJwtSecret:n.MESH_JWT_SECRET,localMode:u,disableRateLimit:L(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(n.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:vx("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:L(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:L(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Vx(n.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(n.DISABLE_ORGFS_MOUNTS),sharedAgentSandboxesEnabled:L(n.SHARED_AGENT_SANDBOXES_ENABLED),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:n.S3_FORCE_PATH_STYLE===void 0||n.S3_FORCE_PATH_STYLE===""||n.S3_FORCE_PATH_STYLE==="true"||n.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:Ix(n.MESH_DISPATCH_ROLE),sandboxProviderKind:lx(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,commerceDiscoveryInternalApiUrl:n.COMMERCE_DISCOVERY_INTERNAL_API_URL,commerceDiscoveryInternalApiKey:n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:Ai(n.DATABASE_URL),externalNatsUrl:Ai(o),skipMigrations:t.skipMigrations}}var _t=null;function A(){if(!_t)dx();return _t}function dx(){if(_t)return;let t={...process.env},n=Xi({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);_t=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as ar,metrics as ur,propagation as AT,ROOT_CONTEXT as XT,SpanStatusCode as QT,trace as or}from"@opentelemetry/api";import{logs as _r,SeverityNumber as ii}from"@opentelemetry/api-logs";import{OTLPLogExporter as MT}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as mr}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as ST}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as BT}from"@opentelemetry/instrumentation-runtime-node";import{context as Lc,propagation as Jc,SpanKind as Rc,SpanStatusCode as Wc}from"@opentelemetry/api";var gc=globalThis.fetch;import{ExportResultCode as Ic}from"@opentelemetry/core";import{ExportResultCode as mt}from"@opentelemetry/core";import{mkdir as bx,rename as tr,writeFile as nr}from"fs/promises";import{join as xt}from"path";class rt{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:mt.FAILED});for(let n of t){let e=JSON.stringify(n),u=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:u,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:mt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:mt.FAILED}});return Promise.resolve({code:mt.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let a of t){let o=n.get(a.partition);if(!o)o=[],n.set(a.partition,o);o.push(a.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([a,o])=>this.writeNDJSON(o,a).then(()=>a))),u=e.find((a)=>a.status==="rejected");if(u){let a=new Set;for(let m of e)if(m.status==="fulfilled")a.add(m.value);let o=t.filter((m)=>!a.has(m.partition));this.bufferItems=o.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw u.reason}}async writeNDJSON(t,n){let e=new Date,u=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],a=n?xt(this.basePath,n,...u):xt(this.basePath,...u);if(!this.knownDirs.has(a))await bx(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=xt(a,`.${o}.tmp`),_=xt(a,o),x=t.join(`
1029
+ `.execute(t)}async function Jx(t){}var le={};i(le,{up:()=>Rx,down:()=>Wx});async function Rx(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function Wx(t){await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).execute()}var de={};i(de,{up:()=>$x,down:()=>gx});async function $x(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(n)=>n.onDelete("cascade")).execute(),await t.schema.alterTable("task_board_item_prs").addForeignKeyConstraint("task_board_item_prs_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(n)=>n.onDelete("cascade")).execute()}async function gx(t){await t.schema.alterTable("task_board_item_prs").dropConstraint("task_board_item_prs_task_board_item_id_fkey").execute(),await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_task_board_item_id_fkey").execute()}var be={};i(be,{up:()=>Xx,down:()=>Qx});import{sql as Ax}from"kysely";async function Xx(t){await t.schema.createTable("task_board_import_runs").addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ax`now()`)).addPrimaryKeyConstraint("task_board_import_runs_pkey",["organization_id","run_id"]).execute(),await t.schema.alterTable("task_board_items").addColumn("external_key","text").execute(),await t.schema.createIndex("idx_task_board_items_org_external_key").on("task_board_items").columns(["organization_id","external_key"]).execute()}async function Qx(t){await t.schema.dropIndex("idx_task_board_items_org_external_key").execute(),await t.schema.alterTable("task_board_items").dropColumn("external_key").execute(),await t.schema.dropTable("task_board_import_runs").execute()}var ti={};i(ti,{up:()=>Fx,down:()=>Mx});import{sql as Zx}from"kysely";async function Fx(t){await t.schema.createTable("agent_sandbox_runner_state").addColumn("project_ref","text",(n)=>n.notNull()).addColumn("sandbox_provider_kind","text",(n)=>n.notNull()).addColumn("handle","text",(n)=>n.notNull()).addColumn("state","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Zx`now()`)).addPrimaryKeyConstraint("agent_sandbox_runner_state_pkey",["project_ref","sandbox_provider_kind"]).execute(),await t.schema.createIndex("agent_sandbox_runner_state_handle_idx").on("agent_sandbox_runner_state").column("handle").execute()}async function Mx(t){await t.schema.dropTable("agent_sandbox_runner_state").execute()}var ni={};i(ni,{up:()=>Hx,down:()=>Ox});import{sql as ot}from"kysely";async function Hx(t){await t.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(n)=>n.notNull()).addColumn("branch","text",(n)=>n.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(n)=>n.notNull().defaultTo("running")).addColumn("status","text",(n)=>n.notNull().defaultTo("provisioning")).addColumn("generation","integer",(n)=>n.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("last_started_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ot`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(ot`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",ot`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",ot`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await t.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await t.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function Ox(t){await t.schema.dropTable("agent_sandbox_sessions").execute()}var Sx={"001-initial-schema":ct,"002-organization-settings":Tt,"003-connection-schema-align":Ct,"004-remove-models-binding":pt,"005-connection-configuration":wt,"006-add-views-to-settings":ft,"007-monitoring-logs":Nt,"008-event-bus":st,"009-drop-audit-logs":Et,"010-gateways":Kt,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":Pt,"013-monitoring-user-agent-gateway":zt,"014-gateway-resources-prompts":kt,"015-monitoring-properties":Ut,"016-downstream-token-client-info":Dt,"017-downstream-token-remove-userid":jt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":Jt,"020-enabled-plugins":Rt,"021-threads":Wt,"022-rename-gateway-to-virtual-mcp":$t,"023-optimize-thread-indexes":gt,"024-consolidate-virtual-mcp":At,"025-add-monitoring-virtual-mcp-id":Xt,"026-restrict-child-connection-delete":Qt,"027-update-management-mcp-url":Ft,"028-update-management-mcp-to-self":Ht,"029-add-updated-by-to-connections":Ot,"030-member-tags":St,"031-add-dependency-mode":Yt,"032-projects":Bt,"033-thread-status":It,"034-monitoring-dashboards":Gt,"035-project-connections":vt,"036-update-registry-url":Vt,"037-ai-provider-keys":qt,"038-oauth-pkce-states":lt,"039-automations":dt,"040-replace-next-run-at-with-last-run-at":bt,"041-ai-provider-keys-unique-constraint":tn,"042-rename-mesh-mcp-to-cms-mcp":nn,"043-rename-cms-mcp-to-deco-cms":en,"044-drop-connections-tools-column":an,"045-thread-context-start-message":un,"046-remove-object-storage-plugin":_n,"047-add-next-run-at":mn,"048-merge-projects-agents":rn,"049-remove-org-admin-projects":yn,"050-durable-agent-runs":cn,"051-org-sso":Cn,"052-thread-agent-ids":pn,"053-registry-config":wn,"054-connection-slug":Nn,"055-spaces":sn,"056-automation-project-scope":En,"057-thread-virtual-mcp-id":Kn,"058-trigger-callback-tokens":hn,"059-kv":Pn,"060-member-index":zn,"061-downstream-token-connection-index":kn,"062-private-registry":Un,"063-event-subscriptions-enabled-boolean":Dn,"064-brand-context":jn,"065-organization-domains":Ln,"066-brand-context-structured":Jn,"067-threads-metadata":Rn,"068-threads-branch":Wn,"069-sandbox-runner-state":$n,"070-model-categories":gn,"071-default-home-agents":An,"072-ai-provider-key-preset-id":Xn,"073-backfill-basic-usage-roles":Qn,"074-sandbox-runner-state-handle-nonunique":Zn,"075-thread-inflight-async-jobs":Fn,"076-automations-drop-agent-json":Mn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":Sn,"079-strip-legacy-freestyle-vm-map-entries":Yn,"080-async-research-jobs":Bn,"081-async-research-jobs-result-content":In,"082-secrets":Gn,"083-thread-run-locally":vn,"084-drop-host-sandbox-rows":Vn,"085-rename-runner-kind":qn,"086-thread-pins-and-vm-map-rekey":ln,"087-fix-vm-map-rekey":dn,"088-purge-cli-activate-keys":bn,"089-rename-remote-user-to-desktop":te,"090-automation-webhook-triggers":ne,"091-organization-domains-allow-multi":ee,"092-sandbox-naming-uniformization":ie,"093-backfill-global-search-basic-usage":ae,"094-org-file-configs":oe,"095-remove-automation-tool-call-kind":_e,"096-org-file-configs-public-url-base":me,"097-drop-local-docker-sandbox-state":re,"098-thread-message-parts":ye,"099-run-fence":ce,"100-link-transport":Te,"101-cancel-requested-at":Ce,"102-observational-agent":pe,"103-revert-observational-agent":we,"104-agent-sandbox-provider-kind":Ne,"105-org-fs":se,"106-automation-tools":Ee,"107-org-fs-public-org":Ke,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":Pe,"110-backfill-ghs-token-expiry":ze,"111-org-fs-thread-id":ke,"112-org-file-configs-credential-type":Ue,"113-thread-failure-reason":De,"114-run-acked-seq":je,"115-thread-projected-seq":Le,"116-org-sites":Je,"117-org-file-configs-site-slug":Re,"118-organization-domains-multi-verify":We,"119-organization-join-requests":$e,"120-org-fs-read-public":ge,"121-org-fs-share-password":Ae,"122-split-web-research-tier":Ze,"123-connection-credential-vault":Fe,"124-drop-thread-projected-seq":Me,"125-github-child-single-parent":He,"126-task-board":Se,"127-task-board-due-date":Ye,"128-reports-only":Be,"129-task-board-assigned-by":Ie,"130-task-board-thread-id":Ge,"131-task-board-thread-link-cascade":ve,"132-task-board-item-prs":Ve,"133-dedupe-duplicate-members":qe,"134-drop-task-board-enabled":le,"135-task-board-item-fk-cascade":de,"136-task-board-import-idempotency":be,"137-agent-sandbox-runner-state":ti,"138-agent-sandbox-sessions":ni},ei=Sx;import{getMigrations as Kr}from"better-auth/db";import{sso as hr}from"@better-auth/sso";import{organization as Pr}from"@decocms/better-auth/plugins";import{admin as zr,apiKey as kr,jwt as Ur,magicLink as Dr,mcp as jr,openAPI as Lr}from"better-auth/plugins";import{emailOTP as Jr}from"better-auth/plugins/email-otp";import{Kysely as Cr,PostgresDialect as Bi}from"kysely";import{Pool as Ii}from"pg";import{homedir as Yx}from"os";var Bx=new Set(["all","worker","api"]);function Ix(t){let n=(t??"").trim();return Bx.has(n)?n:"all"}function g(t){return t==="true"||t==="1"}function Gx(t){if(t===void 0||t==="")return;return g(t)}function vx(t,n,e){if(n===void 0||n==="")return e;let u=Number(n);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function Vx(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Ai(t){if(!t)return null;try{let e=new URL(t).hostname;if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}var qx=new Set(["agent-sandbox","user-desktop"]);function lx(t){let n=t&&t.length>0?t:"user-desktop";if(n==="cluster")return"agent-sandbox";if(!qx.has(n))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return n}function Xi(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${Yx()}/deco`,u=t.localMode,a=t.nodeEnv||n.NODE_ENV||"development",o=n.NATS_URL||"nats://localhost:4222",m=Gx(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:a,port:Number(t.port)||Number(n.PORT)||3000,baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:g(n.DATABASE_PG_SSL),databasePoolMax:Number(n.DATABASE_POOL_MAX)||5,betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",meshJwtSecret:n.MESH_JWT_SECRET,localMode:u,disableRateLimit:g(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(n.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:vx("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:g(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:g(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Vx(n.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:g(n.DISABLE_ORGFS_MOUNTS),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:n.S3_FORCE_PATH_STYLE===void 0||n.S3_FORCE_PATH_STYLE===""||n.S3_FORCE_PATH_STYLE==="true"||n.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:Ix(n.MESH_DISPATCH_ROLE),sandboxProviderKind:lx(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,commerceDiscoveryInternalApiUrl:n.COMMERCE_DISCOVERY_INTERNAL_API_URL,commerceDiscoveryInternalApiKey:n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:Ai(n.DATABASE_URL),externalNatsUrl:Ai(o),skipMigrations:t.skipMigrations}}var _t=null;function A(){if(!_t)dx();return _t}function dx(){if(_t)return;let t={...process.env},n=Xi({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);_t=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as ar,metrics as ur,propagation as AT,ROOT_CONTEXT as XT,SpanStatusCode as QT,trace as or}from"@opentelemetry/api";import{logs as _r,SeverityNumber as ii}from"@opentelemetry/api-logs";import{OTLPLogExporter as MT}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as mr}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as ST}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as BT}from"@opentelemetry/instrumentation-runtime-node";import{context as Lc,propagation as Jc,SpanKind as Rc,SpanStatusCode as Wc}from"@opentelemetry/api";var gc=globalThis.fetch;import{ExportResultCode as Ic}from"@opentelemetry/core";import{ExportResultCode as mt}from"@opentelemetry/core";import{mkdir as bx,rename as tr,writeFile as nr}from"fs/promises";import{join as xt}from"path";class rt{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:mt.FAILED});for(let n of t){let e=JSON.stringify(n),u=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:u,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:mt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:mt.FAILED}});return Promise.resolve({code:mt.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let a of t){let o=n.get(a.partition);if(!o)o=[],n.set(a.partition,o);o.push(a.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([a,o])=>this.writeNDJSON(o,a).then(()=>a))),u=e.find((a)=>a.status==="rejected");if(u){let a=new Set;for(let m of e)if(m.status==="fulfilled")a.add(m.value);let o=t.filter((m)=>!a.has(m.partition));this.bufferItems=o.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw u.reason}}async writeNDJSON(t,n){let e=new Date,u=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],a=n?xt(this.basePath,n,...u):xt(this.basePath,...u);if(!this.knownDirs.has(a))await bx(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=xt(a,`.${o}.tmp`),_=xt(a,o),x=t.join(`
1030
1030
  `)+`
1031
1031
  `;await nr(m,x,{mode:384}),await tr(m,_)}}import{ExportResultCode as lc}from"@opentelemetry/core";import{AggregationTemporality as bc,DataPointType as tT}from"@opentelemetry/sdk-metrics";import{ExportResultCode as oT}from"@opentelemetry/core";var rT=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as tC,LoggerProvider as nC}from"@opentelemetry/sdk-logs";import{detectResources as iC,envDetector as aC,hostDetector as uC,osDetector as oC,processDetector as _C,resourceFromAttributes as mC}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as rC}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as TT}from"@opentelemetry/api-logs";import{NodeSDK as TC}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as pC,SamplingDecision as X}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as NT}from"@opentelemetry/api";var xr="__d",rr=ar("Current request"),yr=1;var Zi=(t)=>{let e=new URL(t.url).searchParams.get(xr);if(e==="")return crypto.randomUUID();if(!e)e=t.headers.get("x-trace-debug-id");return e};class Fi{inner;constructor(t){this.inner=t}shouldSample(t,n,e,u,a,o){let m=t.getValue(rr);if(!m){if(this.inner)return this.inner.shouldSample(t,n,e,u,a,o);return{decision:X.RECORD_AND_SAMPLED}}let _=Zi(m);if(_)return{decision:X.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":_}};if(this.inner){let x=this.inner.shouldSample(t,n,e,u,a,o);if(x.decision===X.RECORD_AND_SAMPLED){let r=crypto.randomUUID();x.attributes={...x.attributes??{},"trace.debug.id":r}}return x}return{decision:X.NOT_RECORD}}toString(){return"DebugSampler"}}class Mi{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:X.RECORD_AND_SAMPLED};return{decision:X.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var fC=new mr({preventServerStart:!0}),NC=new Fi(new Mi(yr));var Qi=or.getTracer("studio","1.0.0"),B=ur.getMeter("studio","1.0.0"),cr=_r.getLogger("studio","1.0.0"),ai=(t,n,e)=>{let u={},a=e,o=e[e.length-1];if(o!==null&&typeof o==="object"&&!Array.isArray(o)&&!(o instanceof Error)&&Object.getPrototypeOf(o)===Object.prototype)u=o,a=e.slice(0,-1);let m=a.map((_)=>{if(_ instanceof Error)return`${_.name}: ${_.message}`;if(typeof _==="object")try{return JSON.stringify(_)}catch{return"[Object]"}return String(_)}).join(" ");cr.emit({severityNumber:t,severityText:n,body:m,attributes:{"log.source":"console",...u}})},ui={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{ai(ii.ERROR,"ERROR",t),ui.error(...t)};console.warn=(...t)=>{ai(ii.WARN,"WARN",t),ui.warn(...t)};console.debug=(...t)=>{ai(ii.DEBUG,"DEBUG",t),ui.debug(...t)};var oi,Hi=0,_i=500;function Tr(){if(oi)return;let t=performance.now()+_i;oi=setInterval(()=>{let n=performance.now();Hi=Math.max(0,n-t),t=n+_i},_i),oi.unref?.()}function Oi(){return Tr(),Hi}var pr=()=>B.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Si=()=>B.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Yi=400,wr=100,fr=(t)=>(n)=>{let e={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>Yi){let u=Oi(),a=u>Yi/2;console.error(a?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(u),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:yt()}})}if(pr().record(n.queryDurationMillis,e),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function Nr(t){let n=t.connect.bind(t);return t.connect=(e)=>{if(typeof e==="function")return n(e);let u=performance.now(),a=yt(),o=t.idleCount===0&&t.totalCount>=a,m=t.idleCount;return n().then((_)=>{let x=performance.now()-u;if(Si().record(x,{"db.pool.outcome":o?"contended":"available"}),x>wr)if(o)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:x,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:a});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:x,idleAtStart:m,total:t.totalCount,max:a});return _},(_)=>{throw Si().record(performance.now()-u,{"db.pool.outcome":"error"}),_})},t}var Gi={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function vi(){try{return A().databasePgSsl}catch{return!1}}function yt(){try{return A().databasePoolMax}catch{return 10}}function sr(t){let n=Nr(new Ii({connectionString:t,max:yt(),ssl:vi(),...Gi})),e=new Bi({pool:n});return{type:"postgres",db:new Cr({dialect:e,log:fr(n)}),pool:n}}function G(){return A().databaseUrl}function Vi(t){let n=t||G();return new Bi({pool:new Ii({connectionString:n,max:yt(),ssl:vi(),...Gi})})}function Er(t){let n=t||G();return sr(n)}async function qi(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===I)I=null}var I=null;function mi(){if(!I)I=Er(G());return I}async function li(t){let e={database:Vi(t||G()),plugins:[Pr({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),zr(),kr(),Ur(),Lr(),jr({loginPage:"/login"}),hr(),Dr({sendMagicLink:async()=>{}}),Jr({sendVerificationOTP:async()=>{}})]},{toBeAdded:u,toBeCreated:a,runMigrations:o}=await Kr(e);if(!u.length&&!a.length)return"up to date";return await o(),`${a.length+u.length} table(s) migrated`}async function bi(t,n){return(await Q`
1032
1032
  SELECT table_name FROM information_schema.tables