decocms 4.158.2 → 4.158.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/client/assets/{AlertCircle-qIC_xSrj.js → AlertCircle-DHgcYhmj.js} +1 -1
  2. package/dist/client/assets/{AreaChart-HkmLkZy2.js → AreaChart-BEVQvTdB.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-Dv6dW9X3.js → ArrowUp-BjGiCrXd.js} +1 -1
  4. package/dist/client/assets/{ArrowUpRight-CQVsRNYA.js → ArrowUpRight-BrtQQBZo.js} +1 -1
  5. package/dist/client/assets/{Check-Dw0yb53j.js → Check-BUiHazRB.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-Dud6wUS9.js → CheckCircle-deIb8vfW.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-DvIRW9jR.js → ChevronDown-DVHT62Jv.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-C9FO0Ghk.js → ChevronRight-CXtW2QGA.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-C8zQGFtm.js → ChevronUp-DSV9XoLO.js} +1 -1
  10. package/dist/client/assets/{Copy01-DBF2xtLX.js → Copy01-BiScKkTl.js} +1 -1
  11. package/dist/client/assets/{CpuChip01-Bm59eh5F.js → CpuChip01-ymhd_CXE.js} +1 -1
  12. package/dist/client/assets/{DotsVertical-A7mKqECE.js → DotsVertical-BTRfdTt8.js} +1 -1
  13. package/dist/client/assets/{Eye-BQPVNie2.js → Eye-2NdB9a3I.js} +1 -1
  14. package/dist/client/assets/{FilterLines-CLE41-vv.js → FilterLines-D5dkLZLM.js} +1 -1
  15. package/dist/client/assets/{HardDrive-Iz7lTyC4.js → HardDrive-B0OtmSeU.js} +1 -1
  16. package/dist/client/assets/{Key01-Dj3z1dEv.js → Key01-YqgoRdYS.js} +1 -1
  17. package/dist/client/assets/{LayoutLeft-DMB2s9jy.js → LayoutLeft-BgM6Eamn.js} +1 -1
  18. package/dist/client/assets/{LinkExternal01-BiWFfTiD.js → LinkExternal01-4RYKD6aG.js} +1 -1
  19. package/dist/client/assets/{LogOut01-CmE_ZaFu.js → LogOut01-kyU9jk8Z.js} +1 -1
  20. package/dist/client/assets/{Monitor01-DpjnSDYR.js → Monitor01-CkCi418U.js} +1 -1
  21. package/dist/client/assets/{Palette-Cl97ZzbL.js → Palette-DL8ibZIP.js} +1 -1
  22. package/dist/client/assets/{Play-BpgcQFKU.js → Play-DXP2nawR.js} +1 -1
  23. package/dist/client/assets/{Plus-sJs2USHB.js → Plus-s9TXkCXf.js} +1 -1
  24. package/dist/client/assets/{SearchLg-DEgv-uG-.js → SearchLg-BJZ6HADY.js} +1 -1
  25. package/dist/client/assets/{SearchMd-D9FDebLE.js → SearchMd-B0b0JvjU.js} +1 -1
  26. package/dist/client/assets/{Settings02-Bl_0yVE7.js → Settings02-Cik_-8YD.js} +1 -1
  27. package/dist/client/assets/{Shield01-BO8-H5xY.js → Shield01-DktY1ymp.js} +1 -1
  28. package/dist/client/assets/{Star01-o2L6nHqw.js → Star01-B7B_Bp4u.js} +1 -1
  29. package/dist/client/assets/{Stars01-CuVmQ4th.js → Stars01-BuDHdfVJ.js} +1 -1
  30. package/dist/client/assets/{Stars02-DgSFkiw6.js → Stars02-D3gkU1sm.js} +1 -1
  31. package/dist/client/assets/{Sun-DL-zXPtw.js → Sun-oATNnXub.js} +1 -1
  32. package/dist/client/assets/{SwitchHorizontal01-DC3YBwC_.js → SwitchHorizontal01-BKhUbXg3.js} +1 -1
  33. package/dist/client/assets/{Tool01-DVkbgDKg.js → Tool01-bycCw6Yq.js} +1 -1
  34. package/dist/client/assets/{Tool02-GyxJVdhs.js → Tool02-DkWgM-Xb.js} +1 -1
  35. package/dist/client/assets/{Trash01-IiY64zb7.js → Trash01-OeJHEgLq.js} +1 -1
  36. package/dist/client/assets/{TrendUp01-BnywZeMt.js → TrendUp01-BNOj1CR7.js} +1 -1
  37. package/dist/client/assets/{Upload01-CHdkzkYk.js → Upload01-CagMm8l-.js} +1 -1
  38. package/dist/client/assets/{User01-Dic8NL9t.js → User01-Cl-WHRUM.js} +1 -1
  39. package/dist/client/assets/{Users01-CxHLm5J9.js → Users01-CdXPM6jQ.js} +1 -1
  40. package/dist/client/assets/{Users03-C-Rx_Rc3.js → Users03-D81pR5Nu.js} +1 -1
  41. package/dist/client/assets/{X-DTAX3OCa.js → X-Dlcnc76o.js} +1 -1
  42. package/dist/client/assets/{XCircle-u8Vikw7a.js → XCircle-B2ilB9Cf.js} +1 -1
  43. package/dist/client/assets/{XClose-DV1DPWGC.js → XClose-ClDBdatJ.js} +1 -1
  44. package/dist/client/assets/{Zap-C9po9Mov.js → Zap-DNeYc2oa.js} +1 -1
  45. package/dist/client/assets/{ZapSquare-yY2i-ZE0.js → ZapSquare-C9GDAGB2.js} +1 -1
  46. package/dist/client/assets/{access-gate-DKcnqzVk.js → access-gate-DFNR9Fa9.js} +1 -1
  47. package/dist/client/assets/{add-section-modal-BuZ_NECI.js → add-section-modal-CfAd9-k7.js} +1 -1
  48. package/dist/client/assets/{agent-icon-DwBPTcr7.js → agent-icon-Bi_etpab.js} +1 -1
  49. package/dist/client/assets/{agents-list-CNvUWwLk.js → agents-list-w_msxNoQ.js} +1 -1
  50. package/dist/client/assets/{ai-providers-BjmN_iJH.js → ai-providers-U35HOpCu.js} +1 -1
  51. package/dist/client/assets/{alert-CiHMyreR.js → alert-CaX780Df.js} +1 -1
  52. package/dist/client/assets/{alert-dialog-Ds78S35S.js → alert-dialog-8D4mUPqK.js} +1 -1
  53. package/dist/client/assets/{app-editor-CJiIIYx0.js → app-editor-c-LmG2YO.js} +1 -1
  54. package/dist/client/assets/{auth-B-WF-Fyk.js → auth-DvTfhvfV.js} +1 -1
  55. package/dist/client/assets/{auth-catchall-dNvPV8tq.js → auth-catchall-CqRte1cL.js} +1 -1
  56. package/dist/client/assets/{auth-entry-Dl0epUp1.js → auth-entry-ZakaoK2m.js} +1 -1
  57. package/dist/client/assets/{auth-split-layout-9KD_aCez.js → auth-split-layout-CelxYjP8.js} +1 -1
  58. package/dist/client/assets/{authenticate-and-persist-oauth-BSdP7jbF.js → authenticate-and-persist-oauth-ntAb-cm4.js} +1 -1
  59. package/dist/client/assets/{automation-list-row-Dwbyv5TT.js → automation-list-row-BEzgaGjj.js} +1 -1
  60. package/dist/client/assets/{automation-runs-DRI95Blq.js → automation-runs-DxJP2dcs.js} +1 -1
  61. package/dist/client/assets/{automations-CiegP5qa.js → automations-DfEHpXj-.js} +1 -1
  62. package/dist/client/assets/{avatar-CksInPMf.js → avatar-ClzxBV9e.js} +1 -1
  63. package/dist/client/assets/{badge-BQ6hSN97.js → badge-WA1F-Xjd.js} +1 -1
  64. package/dist/client/assets/{block-document-DtApBc50.js → block-document-D8mWb8_K.js} +1 -1
  65. package/dist/client/assets/{brand-context-hq-Z_9qV.js → brand-context-C_N6-kYm.js} +1 -1
  66. package/dist/client/assets/{buckets-DZEZvm_j.js → buckets-4LmeJZ5M.js} +1 -1
  67. package/dist/client/assets/{bulk-category-panel-_IbwEONi.js → bulk-category-panel-prDaiGMj.js} +1 -1
  68. package/dist/client/assets/{calendar-Dh6Ay4oq.js → calendar-B5abXP2V.js} +1 -1
  69. package/dist/client/assets/{capability-load-error-DmwIYHnQ.js → capability-load-error-ChNrkvvm.js} +1 -1
  70. package/dist/client/assets/{card-CSjRjipe.js → card-LO6dZXil.js} +1 -1
  71. package/dist/client/assets/{category-editor-BIqEh4Eq.js → category-editor-DTAvnXRa.js} +1 -1
  72. package/dist/client/assets/{chat-context-D64R7wZr.js → chat-context-zeqQcMti.js} +1 -1
  73. package/dist/client/assets/{checkbox-CPbhbD1e.js → checkbox-Cw8HKHHi.js} +1 -1
  74. package/dist/client/assets/{cli-auth-success-CIKWin3h.js → cli-auth-success-CuDoYzaJ.js} +1 -1
  75. package/dist/client/assets/{collection-detail-Cso7X5xa.js → collection-detail-DbfR6ex-.js} +1 -1
  76. package/dist/client/assets/{collection-display-button-0fTpEpjG.js → collection-display-button-CiMqtlsV.js} +1 -1
  77. package/dist/client/assets/{collection-search-BwFX8J9H.js → collection-search-D1_K1UqQ.js} +1 -1
  78. package/dist/client/assets/{collection-table-wrapper-zuHVMAKO.js → collection-table-wrapper-ClCoVIlJ.js} +1 -1
  79. package/dist/client/assets/{collection-tabs-CvyLDMWR.js → collection-tabs-1SHlsghV.js} +1 -1
  80. package/dist/client/assets/{command-57yejGBk.js → command-DShS1UxO.js} +1 -1
  81. package/dist/client/assets/{commerce-onboarding-CfO1R-2I.js → commerce-onboarding-mGrOJZ2Q.js} +1 -1
  82. package/dist/client/assets/{companions-core-DFao4P_s.js → companions-core-_Z_-cLK0.js} +1 -1
  83. package/dist/client/assets/{connect-CNm71Hjc.js → connect-8eg4814h.js} +1 -1
  84. package/dist/client/assets/{connection-QATUkG05.js → connection-C5dpxEWY.js} +1 -1
  85. package/dist/client/assets/{connection-card-DrJZGb5B.js → connection-card-Dy3kZgzh.js} +1 -1
  86. package/dist/client/assets/{connection-detail-C5oyVr86.js → connection-detail-C-T65p3D.js} +1 -1
  87. package/dist/client/assets/{connection-form-helpers-DrZpyl95.js → connection-form-helpers-DzIjKYNM.js} +1 -1
  88. package/dist/client/assets/{connections-D3o8P-Wb.js → connections-qb_n_b8X.js} +1 -1
  89. package/dist/client/assets/{decopilot-sse-pool-s13SK9y4.js → decopilot-sse-pool-UyDKxVe5.js} +1 -1
  90. package/dist/client/assets/{dialog-C7c6o6FP.js → dialog-DPP64Vmy.js} +1 -1
  91. package/dist/client/assets/{domain-settings-Mv5ZBGq6.js → domain-settings-qgk3KUji.js} +1 -1
  92. package/dist/client/assets/{drawer-BKO67Xux.js → drawer-DQBNgMoI.js} +1 -1
  93. package/dist/client/assets/{dropdown-menu-CbU2D-c0.js → dropdown-menu-_CNw_Rd2.js} +1 -1
  94. package/dist/client/assets/{empty-state-c2j5Ds6E.js → empty-state-Bo8R97U8.js} +1 -1
  95. package/dist/client/assets/{extract-connection-data-CHzJzImj.js → extract-connection-data-DJ_27HNh.js} +1 -1
  96. package/dist/client/assets/{file-explorer-DjGGJJmb.js → file-explorer-DYs3gXnq.js} +1 -1
  97. package/dist/client/assets/{form-4dv9_c-3.js → form-DN-xptG7.js} +1 -1
  98. package/dist/client/assets/{general-DmeeYFiw.js → general-Gj6efsET.js} +1 -1
  99. package/dist/client/assets/{github-repo-picker-BDJbJq_X.js → github-repo-picker-BZvtdGKM.js} +1 -1
  100. package/dist/client/assets/{hooks-CQZEoVeJ.js → hooks-CIkoIPmU.js} +1 -1
  101. package/dist/client/assets/{index-Bd5TxvXq.js → index-BJRntjkm.js} +1 -1
  102. package/dist/client/assets/{index-CCKcgzR3.js → index-BO5x5Pru.js} +3 -3
  103. package/dist/client/assets/{index-C_siJ8jb.js → index-C1sOBexM.js} +3 -3
  104. package/dist/client/assets/{index-C02mImEU.js → index-C7as0S1_.js} +1 -1
  105. package/dist/client/assets/{index-ObaO_KTB.js → index-CUEfZQxJ.js} +1 -1
  106. package/dist/client/assets/{index-DK327Z1m.js → index-Cywu6UQw.js} +1 -1
  107. package/dist/client/assets/{index-BUR03TdS.js → index-DH-TcJCw.js} +5 -5
  108. package/dist/client/assets/{index-BHj_z9is.js → index-DXarGZ3N.js} +1 -1
  109. package/dist/client/assets/{index-kTQ08f_V.js → index-DrFramxc.js} +1 -1
  110. package/dist/client/assets/{index-DhhX5FGH.js → index-UlYfRVpK.js} +1 -1
  111. package/dist/client/assets/{index-DoiyHa2I.js → index-kMUJRxxt.js} +1 -1
  112. package/dist/client/assets/{index-redirect-BM56RLHI.js → index-redirect-Du6MyR-M.js} +1 -1
  113. package/dist/client/assets/{input-C0DYQwT4.js → input-BTM0qsuN.js} +1 -1
  114. package/dist/client/assets/{integration-icon-qI9RoW2h.js → integration-icon-CdhO4lXW.js} +1 -1
  115. package/dist/client/assets/{invite-member-dialog-BuemHTqS.js → invite-member-dialog-C8tcZa6j.js} +1 -1
  116. package/dist/client/assets/{label-DwTm1B-u.js → label-BsRu6KPb.js} +1 -1
  117. package/dist/client/assets/{layout-BdY4uzlC.js → layout-C-4QBfaW.js} +1 -1
  118. package/dist/client/assets/{login-BdD1Za0l.js → login-CFy9FwMZ.js} +1 -1
  119. package/dist/client/assets/{mcp-oauth-Che7vtan.js → mcp-oauth-CjkIrNFU.js} +1 -1
  120. package/dist/client/assets/{members-CymT0WFw.js → members-DfwpiipA.js} +1 -1
  121. package/dist/client/assets/{monaco-editor-Cyh8g4ki.js → monaco-editor-Duf20mG5.js} +1 -1
  122. package/dist/client/assets/{monitoring-stats-row-ym6EVlnJ.js → monitoring-stats-row-6icDURsL.js} +1 -1
  123. package/dist/client/assets/{multi-select-D7N-MiN0.js → multi-select-DZpOU5j9.js} +1 -1
  124. package/dist/client/assets/{oauth-callback-BUEw7QDH.js → oauth-callback-DizBfpG2.js} +1 -1
  125. package/dist/client/assets/{oauth-callback-ai-provider-DRD_6RrT.js → oauth-callback-ai-provider-BnxkGN6L.js} +1 -1
  126. package/dist/client/assets/{onboarding-r5XtoSLm.js → onboarding-DEaTHfx_.js} +1 -1
  127. package/dist/client/assets/{org-layout-DC_k-BB6.js → org-layout-Clg5-oLk.js} +1 -1
  128. package/dist/client/assets/{organization-choice-D7ScNtlb.js → organization-choice-DYWtdMnp.js} +1 -1
  129. package/dist/client/assets/{orgs-CFErd6sg.js → orgs-IbJZUnEG.js} +1 -1
  130. package/dist/client/assets/{page-seo-form-hYazo0Jj.js → page-seo-form-B2tQRj6Q.js} +1 -1
  131. package/dist/client/assets/{popover-Gmg5lY4q.js → popover-Zr_OONk-.js} +1 -1
  132. package/dist/client/assets/{post-editor-COrFDOZo.js → post-editor-CkLtxn92.js} +1 -1
  133. package/dist/client/assets/{primitives-CE6etn75.js → primitives-BBu_-gLI.js} +1 -1
  134. package/dist/client/assets/{profile-C7W3wF9h.js → profile-DnOcgyRH.js} +1 -1
  135. package/dist/client/assets/project-app-view-DjdVPXJ-.js +1 -0
  136. package/dist/client/assets/record-editor-2656X6eZ.js +1 -0
  137. package/dist/client/assets/{redirect-editor-5lNy5HsW.js → redirect-editor-B4QHjtRH.js} +1 -1
  138. package/dist/client/assets/registry-CyFT1ImX.js +2 -0
  139. package/dist/client/assets/{registry-layout-CC2oyVmB.js → registry-layout-Bh-Lx1xs.js} +1 -1
  140. package/dist/client/assets/{reports-DTetgeJj.js → reports-I8qnlpjm.js} +1 -1
  141. package/dist/client/assets/{require-capability-DMai0dE_.js → require-capability-V9XEXyHx.js} +1 -1
  142. package/dist/client/assets/{required-auth-layout-BNLV3Z9n.js → required-auth-layout-BkLuz0xG.js} +1 -1
  143. package/dist/client/assets/{reset-password-BC57Hkeq.js → reset-password-BaJJa7Yt.js} +1 -1
  144. package/dist/client/assets/{roles-las8u9fW.js → roles-jPb9_FaL.js} +1 -1
  145. package/dist/client/assets/{search-input-C83eu_0r.js → search-input-DQKtw49i.js} +1 -1
  146. package/dist/client/assets/{secrets-TEsTjL46.js → secrets-k3uayOP4.js} +1 -1
  147. package/dist/client/assets/{sections-editor-C2Om6EFx.js → sections-editor-DoF6t-fy.js} +1 -1
  148. package/dist/client/assets/{select-CBqI6EKt.js → select-CxnnShqp.js} +1 -1
  149. package/dist/client/assets/{select-model-urZAnlWP.js → select-model-CFSMQJVJ.js} +1 -1
  150. package/dist/client/assets/{self-tool-result-BU8ra_BU.js → self-tool-result-0ZelGITE.js} +1 -1
  151. package/dist/client/assets/{seo-editor-CGrEOztm.js → seo-editor-zQDTGem3.js} +1 -1
  152. package/dist/client/assets/{settings-layout-B6UunhIC.js → settings-layout-BunbY8cn.js} +1 -1
  153. package/dist/client/assets/{settings-section-BkCa2hSF.js → settings-section-BitTAsAK.js} +1 -1
  154. package/dist/client/assets/{shell-controls-DvqqvSsN.js → shell-controls-D7oR6bHX.js} +1 -1
  155. package/dist/client/assets/{shell-layout-DK_eY-ht.js → shell-layout-wdm9O3k_.js} +1 -1
  156. package/dist/client/assets/{sidebar-DY8K_17u.js → sidebar-Dqgf5Z8w.js} +1 -1
  157. package/dist/client/assets/{skeleton-DNroJ5d2.js → skeleton-DtkAAnkz.js} +1 -1
  158. package/dist/client/assets/{spinner-CNTd4wtK.js → spinner-DduBhWu4.js} +1 -1
  159. package/dist/client/assets/{sso-DbH0TO7h.js → sso-BerwOrrj.js} +1 -1
  160. package/dist/client/assets/{store-DzjFcyTL.js → store-Dr_ZyF1h.js} +1 -1
  161. package/dist/client/assets/store-registry-CJbcJ96u.js +2 -0
  162. package/dist/client/assets/{studio-tools-Dnhpj5qh.js → studio-tools-DVHzOfNB.js} +1 -1
  163. package/dist/client/assets/{switch-D7HAjvDx.js → switch-DBwbz3Xi.js} +1 -1
  164. package/dist/client/assets/{tab-id-DxO0cBtb.js → tab-id-DIwNOdlI.js} +1 -1
  165. package/dist/client/assets/{table-BE4QKzOE.js → table-UWKt5pp7.js} +1 -1
  166. package/dist/client/assets/{tabs-O9QjcYrv.js → tabs-Cz18-C_m.js} +1 -1
  167. package/dist/client/assets/{textarea-DFBGfRuK.js → textarea-FkpTRIPl.js} +1 -1
  168. package/dist/client/assets/{toggle-group-BtPvM55s.js → toggle-group-B1h1YnnN.js} +1 -1
  169. package/dist/client/assets/{toolbar-Cpvuujer.js → toolbar-Dx-gYRwr.js} +1 -1
  170. package/dist/client/assets/{tooltip-D9s1yr4p.js → tooltip-ofGcZCQ9.js} +1 -1
  171. package/dist/client/assets/{use-ai-providers-CQPjpXWl.js → use-ai-providers-fv4N3cN0.js} +1 -1
  172. package/dist/client/assets/{use-automations-CKUnBMBC.js → use-automations-7DllPAoQ.js} +1 -1
  173. package/dist/client/assets/{use-autosave-Dg87V8v1.js → use-autosave-DWwd6YYs.js} +1 -1
  174. package/dist/client/assets/{use-capability-BHSV9gBd.js → use-capability-D0kE_ZCg.js} +1 -1
  175. package/dist/client/assets/{use-clock-tick-cqkvm-Ef.js → use-clock-tick-qhYBud6o.js} +1 -1
  176. package/dist/client/assets/{use-connection-Cy658_xM.js → use-connection-B3bJbKLC.js} +1 -1
  177. package/dist/client/assets/{use-copy-CVhZVr-U.js → use-copy-B5c1UABg.js} +1 -1
  178. package/dist/client/assets/{use-create-virtual-mcp-Bi8HgMn7.js → use-create-virtual-mcp-Cv8fn_R5.js} +1 -1
  179. package/dist/client/assets/{use-debounced-autosave-Ch2W7ZiY.js → use-debounced-autosave-MkDvOBH_.js} +1 -1
  180. package/dist/client/assets/{use-debounced-value-DOn4Suao.js → use-debounced-value-B2YQoJvH.js} +1 -1
  181. package/dist/client/assets/{use-deco-credits-C98B9sz1.js → use-deco-credits-BJ-zfpWl.js} +1 -1
  182. package/dist/client/assets/{use-decopilot-events-DHxI6exQ.js → use-decopilot-events-Dqe0FXIp.js} +1 -1
  183. package/dist/client/assets/{use-delete-connection-DJ9n74qf.js → use-delete-connection-BuM_Iq0b.js} +1 -1
  184. package/dist/client/assets/{use-deployment-admin-BqcUjJTV.js → use-deployment-admin-DVBkVgEx.js} +1 -1
  185. package/dist/client/assets/{use-file-configs-D9dmpUrg.js → use-file-configs-VF0CPN8y.js} +1 -1
  186. package/dist/client/assets/{use-infinite-scroll-Hu8-0kRx.js → use-infinite-scroll-BGYehp8R.js} +1 -1
  187. package/dist/client/assets/{use-join-requests-DcUe6bm_.js → use-join-requests-Cn1ZYd0X.js} +1 -1
  188. package/dist/client/assets/{use-mcp-auth-status-CkEtujGJ.js → use-mcp-auth-status-Bu0EtkQC.js} +1 -1
  189. package/dist/client/assets/{use-mcp-client-D51gNtSm.js → use-mcp-client-Bx5rEOWN.js} +1 -1
  190. package/dist/client/assets/{use-mcp-tools-B1FxPgHp.js → use-mcp-tools-DFFHiaSm.js} +1 -1
  191. package/dist/client/assets/{use-members-0ZMl36LX.js → use-members-B_BHE6F0.js} +1 -1
  192. package/dist/client/assets/{use-mobile-Be620oYx.js → use-mobile-DsXjrI_q.js} +1 -1
  193. package/dist/client/assets/{use-navigate-to-agent-Czj1eRPz.js → use-navigate-to-agent-CBxVi6Fh.js} +1 -1
  194. package/dist/client/assets/{use-org-auth-client-J_HWXHei.js → use-org-auth-client-CpjH_OGj.js} +1 -1
  195. package/dist/client/assets/{use-org-sso-0BdA3rsr.js → use-org-sso-CktOBlhC.js} +1 -1
  196. package/dist/client/assets/{use-organization-roles-CYDjrcGS.js → use-organization-roles-BVLRjjmy.js} +1 -1
  197. package/dist/client/assets/{use-organization-settings-Dx8YLTtr.js → use-organization-settings-ClbIG6OQ.js} +1 -1
  198. package/dist/client/assets/{use-registry-connections-CZVi37FP.js → use-registry-connections-C4l2MQas.js} +1 -1
  199. package/dist/client/assets/{use-secrets-C2jMKR1n.js → use-secrets-DbZZ7Rsf.js} +1 -1
  200. package/dist/client/assets/{use-status-sounds-3jCuX-9T.js → use-status-sounds-CdflbWVf.js} +1 -1
  201. package/dist/client/assets/{use-tags-D6OOOtp7.js → use-tags-DnBvmtgf.js} +1 -1
  202. package/dist/client/assets/{use-view-mode-CfanfKcA.js → use-view-mode-eqBMFxfR.js} +1 -1
  203. package/dist/client/assets/{use-virtual-mcp-DQmehG0S.js → use-virtual-mcp-DYU8JBzA.js} +1 -1
  204. package/dist/client/assets/useInfiniteQuery-DBAY8E_5.js +1 -0
  205. package/dist/client/assets/{useQueries-BRhSLBW5.js → useQueries-CCRzsil3.js} +1 -1
  206. package/dist/client/assets/{useRouterState-BTPqZkPv.js → useRouterState-w7yN5O6p.js} +1 -1
  207. package/dist/client/assets/useSuspenseInfiniteQuery-OxKNQfNq.js +1 -0
  208. package/dist/client/assets/{users-DetSWk8v.js → users-Dxn47AOx.js} +1 -1
  209. package/dist/client/assets/{variant-calendar-B7KPrNWl.js → variant-calendar-Bm6nnLeu.js} +1 -1
  210. package/dist/client/assets/{view-mode-toggle-BmJXsKF6.js → view-mode-toggle-B8Adb4AB.js} +1 -1
  211. package/dist/client/index.html +1 -1
  212. package/dist/server/cli.js +404 -404
  213. package/dist/server/migrate.js +7 -7
  214. package/dist/server/server.js +282 -282
  215. package/package.json +1 -1
  216. package/dist/client/assets/project-app-view-Drm83BNO.js +0 -1
  217. package/dist/client/assets/record-editor-Cd1O7CW0.js +0 -1
  218. package/dist/client/assets/registry-CA8KXJkV.js +0 -2
  219. package/dist/client/assets/store-registry-Bcjy_qj0.js +0 -2
  220. package/dist/client/assets/useInfiniteQuery-CazF2pt1.js +0 -1
  221. package/dist/client/assets/useSuspenseInfiniteQuery-BKzWCoNd.js +0 -1
@@ -148,7 +148,7 @@ var Hi=Object.defineProperty;var Yi=(t)=>t;function ri(t,n){this[t]=Yi.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 lt={};_(lt,{up:()=>tx,down:()=>nx});import{webcrypto as A_}from"crypto";var B_="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var qe=128,R,Q;function le(t){if(!R||R.length<t)R=Buffer.allocUnsafe(t*qe),A_.getRandomValues(R),Q=0;else if(Q+t>R.length)A_.getRandomValues(R),Q=0;Q+=t}function Z(t=21){le(t|=0);let n="";for(let u=Q-t;u<Q;u++)n+=B_[R[u]&63];return n}var de="org-admin",be="Organization Admin";async function tx(t){await t.schema.createTable("projects").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(u)=>u.notNull()).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await 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",(u)=>u.primaryKey()).addColumn("project_id","text",(u)=>u.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(u)=>u.notNull()).addColumn("connection_id","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await 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 u of n){let e=new Date().toISOString(),i=`proj_${Z()}`,x=await t.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await t.insertInto("projects").values({id:i,organization_id:u.id,slug:de,name:be,description:null,enabled_plugins:x?.enabled_plugins??null,ui:null,created_at:e,updated_at:e}).execute()}}async function nx(t){await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("projects").execute()}var dt={};_(dt,{up:()=>ux,down:()=>_x});async function ux(t){await t.schema.alterTable("threads").addColumn("status","text",(n)=>n.notNull().defaultTo("completed")).execute()}async function _x(t){await t.schema.alterTable("threads").dropColumn("status").execute()}var bt={};_(bt,{up:()=>ix,down:()=>ex});async function ix(t){}async function ex(t){}var tn={};_(tn,{up:()=>xx,down:()=>mx});async function xx(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 mx(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 nn={};_(nn,{up:()=>ax,down:()=>ox});import{sql as S_}from"kysely";async function ax(t){await S_`
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 lt={};_(lt,{up:()=>tx,down:()=>nx});import{webcrypto as A_}from"crypto";var B_="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var qe=128,W,Q;function le(t){if(!W||W.length<t)W=Buffer.allocUnsafe(t*qe),A_.getRandomValues(W),Q=0;else if(Q+t>W.length)A_.getRandomValues(W),Q=0;Q+=t}function Z(t=21){le(t|=0);let n="";for(let u=Q-t;u<Q;u++)n+=B_[W[u]&63];return n}var de="org-admin",be="Organization Admin";async function tx(t){await t.schema.createTable("projects").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(u)=>u.notNull()).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await 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",(u)=>u.primaryKey()).addColumn("project_id","text",(u)=>u.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(u)=>u.notNull()).addColumn("connection_id","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await 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 u of n){let e=new Date().toISOString(),i=`proj_${Z()}`,x=await t.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await t.insertInto("projects").values({id:i,organization_id:u.id,slug:de,name:be,description:null,enabled_plugins:x?.enabled_plugins??null,ui:null,created_at:e,updated_at:e}).execute()}}async function nx(t){await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("projects").execute()}var dt={};_(dt,{up:()=>ux,down:()=>_x});async function ux(t){await t.schema.alterTable("threads").addColumn("status","text",(n)=>n.notNull().defaultTo("completed")).execute()}async function _x(t){await t.schema.alterTable("threads").dropColumn("status").execute()}var bt={};_(bt,{up:()=>ix,down:()=>ex});async function ix(t){}async function ex(t){}var tn={};_(tn,{up:()=>xx,down:()=>mx});async function xx(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 mx(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 nn={};_(nn,{up:()=>ax,down:()=>ox});import{sql as S_}from"kysely";async function ax(t){await S_`
152
152
  UPDATE connections
153
153
  SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
154
154
  tools = NULL,
@@ -948,7 +948,7 @@ var Hi=Object.defineProperty;var Yi=(t)=>t;function ri(t,n){this[t]=Yi.bind(null
948
948
  CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
949
949
  ON connection_workload_tokens (organization_id, subject_connection_id, name)
950
950
  WHERE revoked_at IS NULL
951
- `.execute(t),await t.schema.createTable("connection_credential_grants").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function Go(t){await t.schema.dropTable("connection_credential_grants").ifExists().execute(),await t.schema.dropTable("connection_workload_tokens").ifExists().execute()}var gu={};_(gu,{up:()=>Oo,down:()=>ho});async function Oo(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function ho(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}var Vu={};_(Vu,{up:()=>Io,down:()=>go});import{sql as W}from"kysely";async function Io(t){await W`
951
+ `.execute(t),await t.schema.createTable("connection_credential_grants").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await t.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function Go(t){await t.schema.dropTable("connection_credential_grants").ifExists().execute(),await t.schema.dropTable("connection_workload_tokens").ifExists().execute()}var gu={};_(gu,{up:()=>Oo,down:()=>ho});async function Oo(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function ho(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}var Vu={};_(Vu,{up:()=>Io,down:()=>go});import{sql as X}from"kysely";async function Io(t){await X`
952
952
  CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
953
953
  RETURNS jsonb AS $fn$
954
954
  BEGIN
@@ -957,7 +957,7 @@ var Hi=Object.defineProperty;var Yi=(t)=>t;function ri(t,n){this[t]=Yi.bind(null
957
957
  RETURN NULL;
958
958
  END;
959
959
  $fn$ LANGUAGE plpgsql IMMUTABLE;
960
- `.execute(t),await W`
960
+ `.execute(t),await X`
961
961
  DELETE FROM connection_aggregations a
962
962
  USING (
963
963
  SELECT
@@ -981,7 +981,7 @@ var Hi=Object.defineProperty;var Yi=(t)=>t;function ri(t,n){this[t]=Yi.bind(null
981
981
  WHERE jsonb_typeof(try_parse_jsonb(child.metadata) -> 'repoScope') = 'object'
982
982
  ) ranked
983
983
  WHERE a.id = ranked.id AND ranked.rn > 1;
984
- `.execute(t),await W`
984
+ `.execute(t),await X`
985
985
  CREATE OR REPLACE FUNCTION enforce_repo_github_child_single_parent()
986
986
  RETURNS trigger AS $fn$
987
987
  BEGIN
@@ -1002,12 +1002,12 @@ var Hi=Object.defineProperty;var Yi=(t)=>t;function ri(t,n){this[t]=Yi.bind(null
1002
1002
  RETURN NEW;
1003
1003
  END;
1004
1004
  $fn$ LANGUAGE plpgsql;
1005
- `.execute(t),await W`
1005
+ `.execute(t),await X`
1006
1006
  CREATE TRIGGER trg_repo_github_child_single_parent
1007
1007
  BEFORE INSERT ON connection_aggregations
1008
1008
  FOR EACH ROW
1009
1009
  EXECUTE FUNCTION enforce_repo_github_child_single_parent();
1010
- `.execute(t)}async function go(t){await W`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await W`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await W`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var vu={};_(vu,{up:()=>Vo,down:()=>so});import{sql as su}from"kysely";async function Vo(t){await t.schema.createTable("task_board_items").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("status","text",(n)=>n.notNull().defaultTo("triage")).addColumn("priority","text",(n)=>n.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(su`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(su`now()`)).execute(),await t.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(su`false`)).execute()}async function so(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await t.schema.dropTable("task_board_items").execute()}var qu={};_(qu,{up:()=>vo,down:()=>qo});async function vo(t){await t.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function qo(t){await t.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var lu={};_(lu,{up:()=>lo,down:()=>bo});async function lo(t){await t.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function bo(t){await t.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var du={};_(du,{up:()=>ty,down:()=>ny});async function ty(t){await t.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function ny(t){await t.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var bu={};_(bu,{up:()=>_y,down:()=>iy});import{sql as uy}from"kysely";async function _y(t){await t.schema.createTable("task_board_item_threads").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(uy`now()`)).addPrimaryKeyConstraint("task_board_item_threads_pkey",["task_board_item_id","thread_id"]).execute(),await t.schema.createIndex("task_board_item_threads_item_idx").on("task_board_item_threads").columns(["organization_id","task_board_item_id"]).execute(),await t.schema.createIndex("task_board_item_threads_thread_idx").on("task_board_item_threads").column("thread_id").execute()}async function iy(t){await t.schema.dropTable("task_board_item_threads").execute()}var t_={};_(t_,{up:()=>ey,down:()=>xy});async function ey(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_thread_id_fkey",["thread_id"],"threads",["id"],(n)=>n.onDelete("cascade")).execute()}async function xy(t){await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var n_={};_(n_,{up:()=>ay,down:()=>oy});import{sql as my}from"kysely";async function ay(t){await t.schema.createTable("task_board_item_prs").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("url","text",(n)=>n.notNull()).addColumn("pr_number","integer",(n)=>n.notNull()).addColumn("repo_owner","text",(n)=>n.notNull()).addColumn("repo_name","text",(n)=>n.notNull()).addColumn("connection_id","text").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(my`now()`)).addPrimaryKeyConstraint("task_board_item_prs_pkey",["task_board_item_id","url"]).execute(),await t.schema.createIndex("task_board_item_prs_item_idx").on("task_board_item_prs").columns(["organization_id","task_board_item_id"]).execute()}async function oy(t){await t.schema.dropTable("task_board_item_prs").execute()}var u_={};_(u_,{up:()=>Ty,down:()=>Cy});import{sql as yy}from"kysely";async function Ty(t){await yy`
1010
+ `.execute(t)}async function go(t){await X`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await X`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await X`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var vu={};_(vu,{up:()=>Vo,down:()=>so});import{sql as su}from"kysely";async function Vo(t){await t.schema.createTable("task_board_items").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("status","text",(n)=>n.notNull().defaultTo("triage")).addColumn("priority","text",(n)=>n.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(su`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(su`now()`)).execute(),await t.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(su`false`)).execute()}async function so(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await t.schema.dropTable("task_board_items").execute()}var qu={};_(qu,{up:()=>vo,down:()=>qo});async function vo(t){await t.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function qo(t){await t.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var lu={};_(lu,{up:()=>lo,down:()=>bo});async function lo(t){await t.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function bo(t){await t.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var du={};_(du,{up:()=>ty,down:()=>ny});async function ty(t){await t.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function ny(t){await t.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var bu={};_(bu,{up:()=>_y,down:()=>iy});import{sql as uy}from"kysely";async function _y(t){await t.schema.createTable("task_board_item_threads").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(uy`now()`)).addPrimaryKeyConstraint("task_board_item_threads_pkey",["task_board_item_id","thread_id"]).execute(),await t.schema.createIndex("task_board_item_threads_item_idx").on("task_board_item_threads").columns(["organization_id","task_board_item_id"]).execute(),await t.schema.createIndex("task_board_item_threads_thread_idx").on("task_board_item_threads").column("thread_id").execute()}async function iy(t){await t.schema.dropTable("task_board_item_threads").execute()}var t_={};_(t_,{up:()=>ey,down:()=>xy});async function ey(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_thread_id_fkey",["thread_id"],"threads",["id"],(n)=>n.onDelete("cascade")).execute()}async function xy(t){await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var n_={};_(n_,{up:()=>ay,down:()=>oy});import{sql as my}from"kysely";async function ay(t){await t.schema.createTable("task_board_item_prs").addColumn("task_board_item_id","text",(n)=>n.notNull()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("url","text",(n)=>n.notNull()).addColumn("pr_number","integer",(n)=>n.notNull()).addColumn("repo_owner","text",(n)=>n.notNull()).addColumn("repo_name","text",(n)=>n.notNull()).addColumn("connection_id","text").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(my`now()`)).addPrimaryKeyConstraint("task_board_item_prs_pkey",["task_board_item_id","url"]).execute(),await t.schema.createIndex("task_board_item_prs_item_idx").on("task_board_item_prs").columns(["organization_id","task_board_item_id"]).execute()}async function oy(t){await t.schema.dropTable("task_board_item_prs").execute()}var u_={};_(u_,{up:()=>Ty,down:()=>Cy});import{sql as yy}from"kysely";async function Ty(t){await yy`
1011
1011
  DELETE FROM member
1012
1012
  WHERE id IN (
1013
1013
  SELECT id FROM (
@@ -1053,7 +1053,7 @@ var Hi=Object.defineProperty;var Yi=(t)=>t;function ri(t,n){this[t]=Yi.bind(null
1053
1053
  SELECT id, app_name, connection_url, title, slug
1054
1054
  FROM connections
1055
1055
  WHERE connection_type != 'VIRTUAL'
1056
- `.execute(t),u=0;for(let e of n.rows){let i=dy(e);if(i===e.slug)continue;await fi`UPDATE connections SET slug = ${i} WHERE id = ${e.id}`.execute(t),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function tT(){}var j_={};_(j_,{up:()=>uT,down:()=>_T});import{sql as nT}from"kysely";async function uT(t){await nT`CREATE INDEX idx_tmp_latest_assistant_text ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE role = 'assistant' AND kind = 'text'`.execute(t)}async function _T(t){await t.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var L_={};_(L_,{up:()=>eT,down:()=>xT,ACTIONS:()=>D_});import{sql as Ct}from"kysely";var D_=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],iT=new Set(["review_requested","review_approved","review_changes_requested"]);async function eT(t){await Ki(t,D_)}async function xT(t){await Ki(t,D_.filter((n)=>!iT.has(n)))}async function Ki(t,n){await Ct`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(t),await Ct`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Ct.join(n.map((u)=>Ct.lit(u)))}))`.execute(t)}var $_={};_($_,{up:()=>aT,down:()=>oT});import{sql as mT}from"kysely";async function aT(t){await t.schema.createTable("task_board_review_claims").addColumn("task_board_item_id","text",(n)=>n.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("reviewer","text",(n)=>n.notNull()).addColumn("cycle_at","timestamptz",(n)=>n.notNull()).addColumn("token","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(mT`now()`)).addPrimaryKeyConstraint("task_board_review_claims_pkey",["task_board_item_id","reviewer","cycle_at"]).execute(),await t.schema.createIndex("idx_task_board_review_claims_token").on("task_board_review_claims").columns(["task_board_item_id","token"]).execute()}async function oT(t){await t.schema.dropIndex("idx_task_board_review_claims_token").execute(),await t.schema.dropTable("task_board_review_claims").execute()}var yT={"001-initial-schema":pt,"002-organization-settings":ct,"003-connection-schema-align":zt,"004-remove-models-binding":Pt,"005-connection-configuration":Ut,"006-add-views-to-settings":Jt,"007-monitoring-logs":jt,"008-event-bus":Dt,"009-drop-audit-logs":Lt,"010-gateways":$t,"011-gateway-icon":Rt,"012-gateway-tool-selection-mode":Wt,"013-monitoring-user-agent-gateway":Xt,"014-gateway-resources-prompts":Qt,"015-monitoring-properties":Zt,"016-downstream-token-client-info":kt,"017-downstream-token-remove-userid":Ft,"018-drop-gateway-tool-selection-strategy":Mt,"019-remove-gateway-is-default":Ht,"020-enabled-plugins":Yt,"021-threads":rt,"022-rename-gateway-to-virtual-mcp":Bt,"023-optimize-thread-indexes":At,"024-consolidate-virtual-mcp":St,"025-add-monitoring-virtual-mcp-id":Gt,"026-restrict-child-connection-delete":Ot,"027-update-management-mcp-url":It,"028-update-management-mcp-to-self":Vt,"029-add-updated-by-to-connections":st,"030-member-tags":vt,"031-add-dependency-mode":qt,"032-projects":lt,"033-thread-status":dt,"034-monitoring-dashboards":bt,"035-project-connections":tn,"036-update-registry-url":nn,"037-ai-provider-keys":un,"038-oauth-pkce-states":_n,"039-automations":en,"040-replace-next-run-at-with-last-run-at":xn,"041-ai-provider-keys-unique-constraint":mn,"042-rename-mesh-mcp-to-cms-mcp":an,"043-rename-cms-mcp-to-deco-cms":on,"044-drop-connections-tools-column":yn,"045-thread-context-start-message":Tn,"046-remove-object-storage-plugin":Nn,"047-add-next-run-at":En,"048-merge-projects-agents":Kn,"049-remove-org-admin-projects":wn,"050-durable-agent-runs":pn,"051-org-sso":zn,"052-thread-agent-ids":Pn,"053-registry-config":Un,"054-connection-slug":jn,"055-spaces":Dn,"056-automation-project-scope":Ln,"057-thread-virtual-mcp-id":$n,"058-trigger-callback-tokens":Rn,"059-kv":Wn,"060-member-index":Xn,"061-downstream-token-connection-index":Qn,"062-private-registry":Zn,"063-event-subscriptions-enabled-boolean":kn,"064-brand-context":Fn,"065-organization-domains":Mn,"066-brand-context-structured":Hn,"067-threads-metadata":Yn,"068-threads-branch":rn,"069-sandbox-runner-state":Bn,"070-model-categories":An,"071-default-home-agents":Sn,"072-ai-provider-key-preset-id":Gn,"073-backfill-basic-usage-roles":On,"074-sandbox-runner-state-handle-nonunique":hn,"075-thread-inflight-async-jobs":In,"076-automations-drop-agent-json":gn,"077-tier-only-model-selection":sn,"078-automation-tool-call-kind":vn,"079-strip-legacy-freestyle-vm-map-entries":qn,"080-async-research-jobs":ln,"081-async-research-jobs-result-content":dn,"082-secrets":bn,"083-thread-run-locally":tu,"084-drop-host-sandbox-rows":nu,"085-rename-runner-kind":uu,"086-thread-pins-and-vm-map-rekey":_u,"087-fix-vm-map-rekey":iu,"088-purge-cli-activate-keys":eu,"089-rename-remote-user-to-desktop":xu,"090-automation-webhook-triggers":mu,"091-organization-domains-allow-multi":au,"092-sandbox-naming-uniformization":ou,"093-backfill-global-search-basic-usage":yu,"094-org-file-configs":Cu,"095-remove-automation-tool-call-kind":Nu,"096-org-file-configs-public-url-base":Eu,"097-drop-local-docker-sandbox-state":Ku,"098-thread-message-parts":wu,"099-run-fence":pu,"100-link-transport":cu,"101-cancel-requested-at":zu,"102-observational-agent":Pu,"103-revert-observational-agent":Uu,"104-agent-sandbox-provider-kind":ju,"105-org-fs":Du,"106-automation-tools":Lu,"107-org-fs-public-org":$u,"108-automation-max-agent-steps":Ru,"109-thread-message-parts-per-message-seq":Wu,"110-backfill-ghs-token-expiry":Xu,"111-org-fs-thread-id":Qu,"112-org-file-configs-credential-type":Zu,"113-thread-failure-reason":ku,"114-run-acked-seq":Fu,"115-thread-projected-seq":Mu,"116-org-sites":Hu,"117-org-file-configs-site-slug":Yu,"118-organization-domains-multi-verify":ru,"119-organization-join-requests":Bu,"120-org-fs-read-public":Au,"121-org-fs-share-password":Su,"122-split-web-research-tier":hu,"123-connection-credential-vault":Iu,"124-drop-thread-projected-seq":gu,"125-github-child-single-parent":Vu,"126-task-board":vu,"127-task-board-due-date":qu,"128-reports-only":lu,"129-task-board-assigned-by":du,"130-task-board-thread-id":bu,"131-task-board-thread-link-cascade":t_,"132-task-board-item-prs":n_,"133-dedupe-duplicate-members":u_,"134-drop-task-board-enabled":__,"135-task-board-item-fk-cascade":i_,"136-task-board-import-idempotency":e_,"137-agent-sandbox-runner-state":x_,"138-agent-sandbox-sessions":m_,"139-organization-billing":a_,"140-seat-change-log":o_,"141-benefits-sync-pending":y_,"142-stripe-event-watermark":T_,"143-armed-report-url":C_,"144-benefits-pending-index":N_,"145-user-model-preferences":E_,"146-organization-main-agent":f_,"147-drop-agent-sandbox-tables":K_,"148-org-flags":w_,"149-task-board-item-sort-order":p_,"150-task-board-activity":c_,"151-task-board-tags":P_,"152-repair-connection-slug":J_,"153-task-board-latest-assistant-part-index":j_,"154-task-board-qa-activity":L_,"155-task-board-review-claims":$_},R_=yT;import{getMigrations as hT}from"better-auth/db";import{sso as IT}from"@better-auth/sso";import{organization as gT}from"@decocms/better-auth/plugins";import{admin as VT,apiKey as sT,jwt as vT,magicLink as qT,mcp as lT,openAPI as dT}from"better-auth/plugins";import{emailOTP as bT}from"better-auth/plugins/email-otp";import{Kysely as YT,PostgresDialect as $i}from"kysely";import{Pool as Ri}from"pg";import{homedir as TT}from"os";var CT=new Set(["all","worker","api"]);function NT(t){let n=(t??"").trim();return CT.has(n)?n:"all"}var ET=new Set(["production","development","test"]);function fT(t){let n=(t??"").trim();return ET.has(n)?n:"development"}function X(t){return t==="true"||t==="1"}function KT(t){if(t===void 0||t==="")return;return X(t)}function W_(t,n,u){if(n===void 0||n==="")return;let e=Number(n);if(!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);if(u!==void 0&&e>u)throw Error(`${t} must be at most ${u}`);return e}function $(t,n,u,e){return W_(t,n,e)??u}function wT(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function wi(t){if(!t)return null;try{let u=new URL(t).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return t}catch{return null}}function pT(t){return t===void 0||t===""||t==="true"||t==="1"}function V(t,n){return t||n}var cT=new Set(["agent-sandbox","user-desktop"]);function zT(t){let n=(t??"").trim(),u=n.length>0?n:"user-desktop";if(u==="cluster")return"agent-sandbox";if(!cT.has(u))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return u}function pi(t,n){let u=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${TT()}/deco`,e=t.localMode,i=t.nodeEnv||fT(n.NODE_ENV),x=n.NATS_URL||"nats://localhost:4222",a=KT(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:i,port:$("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:V(n.STUDIO_PUBLIC_URL,n.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:X(n.DATABASE_PG_SSL),databasePoolMax:$("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),dbosPoolSize:$("DBOS_POOL_SIZE",n.DBOS_POOL_SIZE,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:V(n.STUDIO_JWT_SECRET,n.MESH_JWT_SECRET),localMode:e,disableRateLimit:X(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((o)=>o.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:W_("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:a,natsTunnelSessionTtlSeconds:$("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:X(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,seatAllowanceCents:$("STUDIO_SEAT_ALLOWANCE_CENTS",n.STUDIO_SEAT_ALLOWANCE_CENTS,500),stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeSeatPriceId:n.STRIPE_SEAT_PRICE_ID,topupFeePercent:$("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15,100),enableDecoImport:X(n.ENABLE_DECO_IMPORT),billingEnforced:X(n.STUDIO_BILLING_ENFORCED),mcpCacheEnabled:wT(n.MCP_CACHE_ENABLED,i!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:X(n.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:$("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",n.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:$("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",n.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),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:pT(n.S3_FORCE_PATH_STYLE),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:W_("DUCKDB_THREADS",n.DUCKDB_THREADS),isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME||crypto.randomUUID(),dispatchRole:NT(V(n.STUDIO_DISPATCH_ROLE,n.MESH_DISPATCH_ROLE)),sandboxProviderKind:zT(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:V(n.REPORTS_INTERNAL_API_URL,n.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:V(n.REPORTS_INTERNAL_API_KEY,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:wi(n.DATABASE_URL),externalNatsUrl:wi(x),skipMigrations:t.skipMigrations}}var Nt=null;function H(){if(!Nt)PT();return Nt}function PT(){if(Nt)return;let t={...process.env},n=pi({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);Nt=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as $T,metrics as RT,propagation as pf,ROOT_CONTEXT as cf,SpanStatusCode as zf,trace as WT}from"@opentelemetry/api";import{logs as XT,SeverityNumber as X_}from"@opentelemetry/api-logs";import{OTLPLogExporter as Jf}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as QT}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Lf}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Rf}from"@opentelemetry/instrumentation-runtime-node";import{context as TE,propagation as CE,SpanKind as NE,SpanStatusCode as EE}from"@opentelemetry/api";var KE=globalThis.fetch;import{ExportResultCode as RE}from"@opentelemetry/core";import{ExportResultCode as Et}from"@opentelemetry/core";import{mkdir as UT,rename as JT,writeFile as jT}from"fs/promises";import{join as ft}from"path";class Kt{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((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:Et.FAILED});for(let n of t){let u=JSON.stringify(n),e=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:e,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Et.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:Et.FAILED}});return Promise.resolve({code:Et.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 i of t){let x=n.get(i.partition);if(!x)x=[],n.set(i.partition,x);x.push(i.json)}let u=await Promise.allSettled(Array.from(n.entries()).map(([i,x])=>this.writeNDJSON(x,i).then(()=>i))),e=u.find((i)=>i.status==="rejected");if(e){let i=new Set;for(let a of u)if(a.status==="fulfilled")i.add(a.value);let x=t.filter((a)=>!i.has(a.partition));this.bufferItems=x.concat(this.bufferItems),this.bufferBytes=0;for(let a of this.bufferItems)this.bufferBytes+=Buffer.byteLength(a.json,"utf8")+1;throw e.reason}}async writeNDJSON(t,n){let u=new Date,e=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],i=n?ft(this.basePath,n,...e):ft(this.basePath,...e);if(!this.knownDirs.has(i))await UT(i,{recursive:!0,mode:448}),this.knownDirs.add(i);let x=`${crypto.randomUUID()}.ndjson`,a=ft(i,`.${x}.tmp`),m=ft(i,x),o=t.join(`
1056
+ `.execute(t),u=0;for(let e of n.rows){let i=dy(e);if(i===e.slug)continue;await fi`UPDATE connections SET slug = ${i} WHERE id = ${e.id}`.execute(t),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function tT(){}var j_={};_(j_,{up:()=>uT,down:()=>_T});import{sql as nT}from"kysely";async function uT(t){await nT`CREATE INDEX idx_tmp_latest_assistant_text ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE role = 'assistant' AND kind = 'text'`.execute(t)}async function _T(t){await t.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var L_={};_(L_,{up:()=>eT,down:()=>xT,ACTIONS:()=>D_});import{sql as Ct}from"kysely";var D_=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],iT=new Set(["review_requested","review_approved","review_changes_requested"]);async function eT(t){await Ki(t,D_)}async function xT(t){await Ki(t,D_.filter((n)=>!iT.has(n)))}async function Ki(t,n){await Ct`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(t),await Ct`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Ct.join(n.map((u)=>Ct.lit(u)))}))`.execute(t)}var $_={};_($_,{up:()=>aT,down:()=>oT});import{sql as mT}from"kysely";async function aT(t){await t.schema.createTable("task_board_review_claims").addColumn("task_board_item_id","text",(n)=>n.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("reviewer","text",(n)=>n.notNull()).addColumn("cycle_at","timestamptz",(n)=>n.notNull()).addColumn("token","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(mT`now()`)).addPrimaryKeyConstraint("task_board_review_claims_pkey",["task_board_item_id","reviewer","cycle_at"]).execute(),await t.schema.createIndex("idx_task_board_review_claims_token").on("task_board_review_claims").columns(["task_board_item_id","token"]).execute()}async function oT(t){await t.schema.dropIndex("idx_task_board_review_claims_token").execute(),await t.schema.dropTable("task_board_review_claims").execute()}var yT={"001-initial-schema":pt,"002-organization-settings":ct,"003-connection-schema-align":zt,"004-remove-models-binding":Pt,"005-connection-configuration":Ut,"006-add-views-to-settings":Jt,"007-monitoring-logs":jt,"008-event-bus":Dt,"009-drop-audit-logs":Lt,"010-gateways":$t,"011-gateway-icon":Rt,"012-gateway-tool-selection-mode":Wt,"013-monitoring-user-agent-gateway":Xt,"014-gateway-resources-prompts":Qt,"015-monitoring-properties":Zt,"016-downstream-token-client-info":kt,"017-downstream-token-remove-userid":Ft,"018-drop-gateway-tool-selection-strategy":Mt,"019-remove-gateway-is-default":Ht,"020-enabled-plugins":Yt,"021-threads":rt,"022-rename-gateway-to-virtual-mcp":Bt,"023-optimize-thread-indexes":At,"024-consolidate-virtual-mcp":St,"025-add-monitoring-virtual-mcp-id":Gt,"026-restrict-child-connection-delete":Ot,"027-update-management-mcp-url":It,"028-update-management-mcp-to-self":Vt,"029-add-updated-by-to-connections":st,"030-member-tags":vt,"031-add-dependency-mode":qt,"032-projects":lt,"033-thread-status":dt,"034-monitoring-dashboards":bt,"035-project-connections":tn,"036-update-registry-url":nn,"037-ai-provider-keys":un,"038-oauth-pkce-states":_n,"039-automations":en,"040-replace-next-run-at-with-last-run-at":xn,"041-ai-provider-keys-unique-constraint":mn,"042-rename-mesh-mcp-to-cms-mcp":an,"043-rename-cms-mcp-to-deco-cms":on,"044-drop-connections-tools-column":yn,"045-thread-context-start-message":Tn,"046-remove-object-storage-plugin":Nn,"047-add-next-run-at":En,"048-merge-projects-agents":Kn,"049-remove-org-admin-projects":wn,"050-durable-agent-runs":pn,"051-org-sso":zn,"052-thread-agent-ids":Pn,"053-registry-config":Un,"054-connection-slug":jn,"055-spaces":Dn,"056-automation-project-scope":Ln,"057-thread-virtual-mcp-id":$n,"058-trigger-callback-tokens":Rn,"059-kv":Wn,"060-member-index":Xn,"061-downstream-token-connection-index":Qn,"062-private-registry":Zn,"063-event-subscriptions-enabled-boolean":kn,"064-brand-context":Fn,"065-organization-domains":Mn,"066-brand-context-structured":Hn,"067-threads-metadata":Yn,"068-threads-branch":rn,"069-sandbox-runner-state":Bn,"070-model-categories":An,"071-default-home-agents":Sn,"072-ai-provider-key-preset-id":Gn,"073-backfill-basic-usage-roles":On,"074-sandbox-runner-state-handle-nonunique":hn,"075-thread-inflight-async-jobs":In,"076-automations-drop-agent-json":gn,"077-tier-only-model-selection":sn,"078-automation-tool-call-kind":vn,"079-strip-legacy-freestyle-vm-map-entries":qn,"080-async-research-jobs":ln,"081-async-research-jobs-result-content":dn,"082-secrets":bn,"083-thread-run-locally":tu,"084-drop-host-sandbox-rows":nu,"085-rename-runner-kind":uu,"086-thread-pins-and-vm-map-rekey":_u,"087-fix-vm-map-rekey":iu,"088-purge-cli-activate-keys":eu,"089-rename-remote-user-to-desktop":xu,"090-automation-webhook-triggers":mu,"091-organization-domains-allow-multi":au,"092-sandbox-naming-uniformization":ou,"093-backfill-global-search-basic-usage":yu,"094-org-file-configs":Cu,"095-remove-automation-tool-call-kind":Nu,"096-org-file-configs-public-url-base":Eu,"097-drop-local-docker-sandbox-state":Ku,"098-thread-message-parts":wu,"099-run-fence":pu,"100-link-transport":cu,"101-cancel-requested-at":zu,"102-observational-agent":Pu,"103-revert-observational-agent":Uu,"104-agent-sandbox-provider-kind":ju,"105-org-fs":Du,"106-automation-tools":Lu,"107-org-fs-public-org":$u,"108-automation-max-agent-steps":Ru,"109-thread-message-parts-per-message-seq":Wu,"110-backfill-ghs-token-expiry":Xu,"111-org-fs-thread-id":Qu,"112-org-file-configs-credential-type":Zu,"113-thread-failure-reason":ku,"114-run-acked-seq":Fu,"115-thread-projected-seq":Mu,"116-org-sites":Hu,"117-org-file-configs-site-slug":Yu,"118-organization-domains-multi-verify":ru,"119-organization-join-requests":Bu,"120-org-fs-read-public":Au,"121-org-fs-share-password":Su,"122-split-web-research-tier":hu,"123-connection-credential-vault":Iu,"124-drop-thread-projected-seq":gu,"125-github-child-single-parent":Vu,"126-task-board":vu,"127-task-board-due-date":qu,"128-reports-only":lu,"129-task-board-assigned-by":du,"130-task-board-thread-id":bu,"131-task-board-thread-link-cascade":t_,"132-task-board-item-prs":n_,"133-dedupe-duplicate-members":u_,"134-drop-task-board-enabled":__,"135-task-board-item-fk-cascade":i_,"136-task-board-import-idempotency":e_,"137-agent-sandbox-runner-state":x_,"138-agent-sandbox-sessions":m_,"139-organization-billing":a_,"140-seat-change-log":o_,"141-benefits-sync-pending":y_,"142-stripe-event-watermark":T_,"143-armed-report-url":C_,"144-benefits-pending-index":N_,"145-user-model-preferences":E_,"146-organization-main-agent":f_,"147-drop-agent-sandbox-tables":K_,"148-org-flags":w_,"149-task-board-item-sort-order":p_,"150-task-board-activity":c_,"151-task-board-tags":P_,"152-repair-connection-slug":J_,"153-task-board-latest-assistant-part-index":j_,"154-task-board-qa-activity":L_,"155-task-board-review-claims":$_},R_=yT;import{getMigrations as hT}from"better-auth/db";import{sso as IT}from"@better-auth/sso";import{organization as gT}from"@decocms/better-auth/plugins";import{admin as VT,apiKey as sT,jwt as vT,magicLink as qT,mcp as lT,openAPI as dT}from"better-auth/plugins";import{emailOTP as bT}from"better-auth/plugins/email-otp";import{Kysely as YT,PostgresDialect as $i}from"kysely";import{Pool as Ri}from"pg";import{homedir as TT}from"os";var CT=new Set(["all","worker","api"]);function NT(t){let n=(t??"").trim();return CT.has(n)?n:"all"}var ET=new Set(["production","development","test"]);function fT(t){let n=(t??"").trim();return ET.has(n)?n:"development"}function R(t){return t==="true"||t==="1"}function KT(t){if(t===void 0||t==="")return;return R(t)}function W_(t,n,u){if(n===void 0||n==="")return;let e=Number(n);if(!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);if(u!==void 0&&e>u)throw Error(`${t} must be at most ${u}`);return e}function $(t,n,u,e){return W_(t,n,e)??u}function wT(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function wi(t){if(!t)return null;try{let u=new URL(t).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return t}catch{return null}}function pT(t){return t===void 0||t===""||t==="true"||t==="1"}function V(t,n){return t||n}var cT=new Set(["agent-sandbox","user-desktop"]);function zT(t){let n=(t??"").trim(),u=n.length>0?n:"user-desktop";if(u==="cluster")return"agent-sandbox";if(!cT.has(u))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return u}function pi(t,n){let u=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${TT()}/deco`,e=t.localMode,i=t.nodeEnv||fT(n.NODE_ENV),x=n.NATS_URL||"nats://localhost:4222",a=KT(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:i,port:$("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:V(n.STUDIO_PUBLIC_URL,n.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:R(n.DATABASE_PG_SSL),databasePoolMax:$("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),dbosPoolSize:$("DBOS_POOL_SIZE",n.DBOS_POOL_SIZE,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:V(n.STUDIO_JWT_SECRET,n.MESH_JWT_SECRET),localMode:e,disableRateLimit:R(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((o)=>o.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:W_("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:a,natsTunnelSessionTtlSeconds:$("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:R(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,seatAllowanceCents:$("STUDIO_SEAT_ALLOWANCE_CENTS",n.STUDIO_SEAT_ALLOWANCE_CENTS,500),stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeSeatPriceId:n.STRIPE_SEAT_PRICE_ID,topupFeePercent:$("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15,100),enableDecoImport:R(n.ENABLE_DECO_IMPORT),billingEnforced:R(n.STUDIO_BILLING_ENFORCED),mcpCacheEnabled:wT(n.MCP_CACHE_ENABLED,i!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:R(n.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:$("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",n.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:$("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",n.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),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:pT(n.S3_FORCE_PATH_STYLE),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:W_("DUCKDB_THREADS",n.DUCKDB_THREADS),isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME||crypto.randomUUID(),dispatchRole:NT(V(n.STUDIO_DISPATCH_ROLE,n.MESH_DISPATCH_ROLE)),sandboxProviderKind:zT(n.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:R(n.SANDBOX_STICKY_HEAD_REF),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:V(n.REPORTS_INTERNAL_API_URL,n.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:V(n.REPORTS_INTERNAL_API_KEY,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:wi(n.DATABASE_URL),externalNatsUrl:wi(x),skipMigrations:t.skipMigrations}}var Nt=null;function H(){if(!Nt)PT();return Nt}function PT(){if(Nt)return;let t={...process.env},n=pi({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);Nt=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as $T,metrics as RT,propagation as pf,ROOT_CONTEXT as cf,SpanStatusCode as zf,trace as WT}from"@opentelemetry/api";import{logs as XT,SeverityNumber as X_}from"@opentelemetry/api-logs";import{OTLPLogExporter as Jf}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as QT}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Lf}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Rf}from"@opentelemetry/instrumentation-runtime-node";import{context as TE,propagation as CE,SpanKind as NE,SpanStatusCode as EE}from"@opentelemetry/api";var KE=globalThis.fetch;import{ExportResultCode as RE}from"@opentelemetry/core";import{ExportResultCode as Et}from"@opentelemetry/core";import{mkdir as UT,rename as JT,writeFile as jT}from"fs/promises";import{join as ft}from"path";class Kt{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((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:Et.FAILED});for(let n of t){let u=JSON.stringify(n),e=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:e,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Et.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:Et.FAILED}});return Promise.resolve({code:Et.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 i of t){let x=n.get(i.partition);if(!x)x=[],n.set(i.partition,x);x.push(i.json)}let u=await Promise.allSettled(Array.from(n.entries()).map(([i,x])=>this.writeNDJSON(x,i).then(()=>i))),e=u.find((i)=>i.status==="rejected");if(e){let i=new Set;for(let a of u)if(a.status==="fulfilled")i.add(a.value);let x=t.filter((a)=>!i.has(a.partition));this.bufferItems=x.concat(this.bufferItems),this.bufferBytes=0;for(let a of this.bufferItems)this.bufferBytes+=Buffer.byteLength(a.json,"utf8")+1;throw e.reason}}async writeNDJSON(t,n){let u=new Date,e=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],i=n?ft(this.basePath,n,...e):ft(this.basePath,...e);if(!this.knownDirs.has(i))await UT(i,{recursive:!0,mode:448}),this.knownDirs.add(i);let x=`${crypto.randomUUID()}.ndjson`,a=ft(i,`.${x}.tmp`),m=ft(i,x),o=t.join(`
1057
1057
  `)+`
1058
1058
  `;await jT(a,o,{mode:384}),await JT(a,m)}}import{ExportResultCode as kE}from"@opentelemetry/core";import{AggregationTemporality as ME,DataPointType as HE}from"@opentelemetry/sdk-metrics";import{ExportResultCode as GE}from"@opentelemetry/core";var gE=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as Yf,LoggerProvider as rf}from"@opentelemetry/sdk-logs";import{detectResources as Af,envDetector as Sf,hostDetector as Gf,osDetector as Of,processDetector as hf,resourceFromAttributes as If}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Vf}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as vE}from"@opentelemetry/api-logs";import{NodeSDK as qf}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as df,SamplingDecision as Y}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as tf}from"@opentelemetry/api";var ZT="__d",kT=$T("Current request"),FT=1;var zi=(t)=>{let u=new URL(t.url).searchParams.get(ZT);if(u==="")return crypto.randomUUID();if(!u)u=t.headers.get("x-trace-debug-id");return u};class Pi{inner;constructor(t){this.inner=t}shouldSample(t,n,u,e,i,x){let a=t.getValue(kT);if(!a){if(this.inner)return this.inner.shouldSample(t,n,u,e,i,x);return{decision:Y.RECORD_AND_SAMPLED}}let m=zi(a);if(m)return{decision:Y.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":m}};if(this.inner){let o=this.inner.shouldSample(t,n,u,e,i,x);if(o.decision===Y.RECORD_AND_SAMPLED){let y=crypto.randomUUID();o.attributes={...o.attributes??{},"trace.debug.id":y}}return o}return{decision:Y.NOT_RECORD}}toString(){return"DebugSampler"}}class Ui{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:Y.RECORD_AND_SAMPLED};return{decision:Y.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var tK=new QT({preventServerStart:!0}),nK=new Pi(new Ui(FT));var ci=WT.getTracer("studio","1.0.0"),s=RT.getMeter("studio","1.0.0"),MT=XT.getLogger("studio","1.0.0"),Q_=(t,n,u)=>{let e={},i=u,x=u[u.length-1];if(x!==null&&typeof x==="object"&&!Array.isArray(x)&&!(x instanceof Error)&&Object.getPrototypeOf(x)===Object.prototype)e=x,i=u.slice(0,-1);let a=i.map((m)=>{if(m instanceof Error)return`${m.name}: ${m.message}`;if(typeof m==="object")try{return JSON.stringify(m)}catch{return"[Object]"}return String(m)}).join(" ");MT.emit({severityNumber:t,severityText:n,body:a,attributes:{"log.source":"console",...e}})},Z_={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{Q_(X_.ERROR,"ERROR",t),Z_.error(...t)};console.warn=(...t)=>{Q_(X_.WARN,"WARN",t),Z_.warn(...t)};console.debug=(...t)=>{Q_(X_.DEBUG,"DEBUG",t),Z_.debug(...t)};var k_,Ji=0,F_=500;function HT(){if(k_)return;let t=performance.now()+F_;k_=setInterval(()=>{let n=performance.now();Ji=Math.max(0,n-t),t=n+F_},F_),k_.unref?.()}function ji(){return HT(),Ji}var rT=()=>s.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Di=()=>s.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Li=400,BT=100,AT=(t)=>(n)=>{let u={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>Li){let e=ji(),i=e>Li/2;console.error(i?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(e),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:wt()}})}if(rT().record(n.queryDurationMillis,u),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function ST(t){let n=t.connect.bind(t);return t.connect=(u)=>{if(typeof u==="function")return n(u);let e=performance.now(),i=wt(),x=t.idleCount===0&&t.totalCount>=i,a=t.idleCount;return n().then((m)=>{let o=performance.now()-e;if(Di().record(o,{"db.pool.outcome":x?"contended":"available"}),o>BT)if(x)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:o,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:i});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:o,idleAtStart:a,total:t.totalCount,max:i});return m},(m)=>{throw Di().record(performance.now()-e,{"db.pool.outcome":"error"}),m})},t}var Wi={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Xi(){try{return H().databasePgSsl}catch{return!1}}function wt(){try{return H().databasePoolMax}catch{return 10}}function GT(t){let n=ST(new Ri({connectionString:t,max:wt(),ssl:Xi(),...Wi})),u=new $i({pool:n});return{type:"postgres",db:new YT({dialect:u,log:AT(n)}),pool:n}}function q(){return H().databaseUrl}function Qi(t){let n=t||q();return new $i({pool:new Ri({connectionString:n,max:wt(),ssl:Xi(),...Wi})})}function OT(t){let n=t||q();return GT(n)}async function Zi(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===v)v=null}var v=null;function M_(){if(!v)v=OT(q());return v}async function ki(t){let u={database:Qi(t||q()),plugins:[gT({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),VT(),sT(),vT(),dT(),lT({loginPage:"/login"}),IT(),qT({sendMagicLink:async()=>{}}),bT({sendVerificationOTP:async()=>{}})]},{toBeAdded:e,toBeCreated:i,runMigrations:x}=await hT(u);if(!e.length&&!i.length)return"up to date";return await x(),`${i.length+e.length} table(s) migrated`}async function Mi(t,n){return(await r`
1059
1059
  SELECT table_name FROM information_schema.tables