decocms 4.358.9 → 4.358.10

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 (261) hide show
  1. package/dist/client/assets/{AlertCircle-DM1wOTV-.js → AlertCircle-CGv2LagT.js} +1 -1
  2. package/dist/client/assets/{AreaChart-C5Hnj1Lj.js → AreaChart-C8jz28H2.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-9dpHwu9-.js → ArrowLeft-CrqXhP5Q.js} +1 -1
  4. package/dist/client/assets/{ArrowRight-B-LgiGJk.js → ArrowRight-PtPDnQeO.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-OudgxKkt.js → ArrowUp-DWMH94N-.js} +1 -1
  6. package/dist/client/assets/{Check-B_YxhG30.js → Check-OrdEpHh8.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-dm6kQxSf.js → CheckCircle-ZifqNZkG.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-CHv3VYgp.js → ChevronRight-CLj2ZqtT.js} +1 -1
  9. package/dist/client/assets/{ChevronSelectorVertical-DE7kv4Kd.js → ChevronSelectorVertical-CpUm5l1j.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-t8t4fwnR.js → ChevronUp-DwN4CSvk.js} +1 -1
  11. package/dist/client/assets/{Copy01-Cka2uFEv.js → Copy01-iyRTWREU.js} +1 -1
  12. package/dist/client/assets/{CreditCard01-BRxvnKr_.js → CreditCard01-CoUWna_2.js} +1 -1
  13. package/dist/client/assets/{DotsVertical-BrftgIDe.js → DotsVertical-C05jEl8q.js} +1 -1
  14. package/dist/client/assets/{Download01-ytOYmKSZ.js → Download01-CzfGo2fl.js} +1 -1
  15. package/dist/client/assets/{ErrorBarContext-xi0yNR5E.js → ErrorBarContext-DxG-Gwqv.js} +1 -1
  16. package/dist/client/assets/{Eye-Cze9SkdO.js → Eye-Cz2-nV7m.js} +1 -1
  17. package/dist/client/assets/{GitBranch01-Dv92hLUV.js → GitBranch01-G4Xokeyr.js} +1 -1
  18. package/dist/client/assets/{Globe01-CFZdQViA.js → Globe01-c3fEChsS.js} +1 -1
  19. package/dist/client/assets/{HardDrive-B6O4Lzvt.js → HardDrive-CjWNQ53c.js} +1 -1
  20. package/dist/client/assets/{Image01-DPhR8WEz.js → Image01-CijeoW_8.js} +1 -1
  21. package/dist/client/assets/{Key01-CnMMlNjM.js → Key01-j6qNNGjk.js} +1 -1
  22. package/dist/client/assets/{Link01-BT9hUC6n.js → Link01-CtsE0R0D.js} +1 -1
  23. package/dist/client/assets/{LinkExternal01-Dd9_oVMY.js → LinkExternal01-DRhSoo2W.js} +1 -1
  24. package/dist/client/assets/{Monitor01-lCN_Uznr.js → Monitor01-ASpw1r2B.js} +1 -1
  25. package/dist/client/assets/{Package-Pjoambo8.js → Package-Co40SS3v.js} +1 -1
  26. package/dist/client/assets/{Palette-CPWVOo_O.js → Palette-l-bW1Jj5.js} +1 -1
  27. package/dist/client/assets/{Play-DUteIsFY.js → Play-DPtsotun.js} +1 -1
  28. package/dist/client/assets/{Plus-DsoHS1s-.js → Plus-Db5S94rk.js} +1 -1
  29. package/dist/client/assets/{SearchLg-DVGtsQMZ.js → SearchLg-BKpVdtSc.js} +1 -1
  30. package/dist/client/assets/{SearchMd-DBtIEQFG.js → SearchMd-5J9ZvzPt.js} +1 -1
  31. package/dist/client/assets/{Sector-B56duS3-.js → Sector-CEDNUVBW.js} +1 -1
  32. package/dist/client/assets/{Settings02-nB2LBjem.js → Settings02-CX9GU2_h.js} +1 -1
  33. package/dist/client/assets/{Share07-DxFaah4G.js → Share07-ajbW_r5c.js} +1 -1
  34. package/dist/client/assets/{Shield01-YkTEmRCE.js → Shield01-DKmYeZMQ.js} +1 -1
  35. package/dist/client/assets/{Stars01-XqGB97Zv.js → Stars01-Bx4pQeLg.js} +1 -1
  36. package/dist/client/assets/{Sun-Cf4BP4WB.js → Sun-B0zPFK-z.js} +1 -1
  37. package/dist/client/assets/{Tool01-BfzgVlWE.js → Tool01-C97w77mt.js} +1 -1
  38. package/dist/client/assets/{Tool02-DJ6ebzoK.js → Tool02-Rgho6xFo.js} +1 -1
  39. package/dist/client/assets/{Trash01-CdmAHj_X.js → Trash01-BnoaysZr.js} +1 -1
  40. package/dist/client/assets/{TrendUp01-CbspxXI2.js → TrendUp01-B2IK8kp9.js} +1 -1
  41. package/dist/client/assets/{Upload01-Bhk_UoPj.js → Upload01-QLEKcflz.js} +1 -1
  42. package/dist/client/assets/{User01-BkT796JC.js → User01-BYx93o00.js} +1 -1
  43. package/dist/client/assets/{UserSquare-BSLxGup_.js → UserSquare-D121VNlC.js} +1 -1
  44. package/dist/client/assets/{Users01-Dyo9ZzPj.js → Users01-DxZpgNMB.js} +1 -1
  45. package/dist/client/assets/{Users03-BX6ICswR.js → Users03-BH7DTuey.js} +1 -1
  46. package/dist/client/assets/{XCircle-CJuCeBSM.js → XCircle-CZewIPeW.js} +1 -1
  47. package/dist/client/assets/{XClose-C3LO4RAn.js → XClose-DPz14YDo.js} +1 -1
  48. package/dist/client/assets/{Zap-DNjSZhAl.js → Zap-PhE6JDGE.js} +1 -1
  49. package/dist/client/assets/{ZoomOut-vW_y2VPH.js → ZoomOut-DsYyutbV.js} +1 -1
  50. package/dist/client/assets/{access-gate-CsjPwmbX.js → access-gate-BtnmxIIZ.js} +1 -1
  51. package/dist/client/assets/{agent-icon-7Ul-3CFr.js → agent-icon-CqZT47B5.js} +1 -1
  52. package/dist/client/assets/{agents-list-C3jwjn4u.js → agents-list-BaWHdEgp.js} +1 -1
  53. package/dist/client/assets/{ai-providers-C8FU-ETD.js → ai-providers-BLwMpXNz.js} +1 -1
  54. package/dist/client/assets/{alert-1SFaWtG7.js → alert-Ziy_5z2J.js} +1 -1
  55. package/dist/client/assets/{alert-dialog-KXEmr_A6.js → alert-dialog-DPc_fzyi.js} +1 -1
  56. package/dist/client/assets/{analytics-tab-B2s4PZqh.js → analytics-tab-N1p2Xs04.js} +1 -1
  57. package/dist/client/assets/api-keys-C6t-kS4-.js +1 -0
  58. package/dist/client/assets/{api-keys-BtqlUWaN.js → api-keys-y8GYCxeE.js} +1 -1
  59. package/dist/client/assets/{app-editor-DfKghIRC.js → app-editor-BFFbsBfB.js} +1 -1
  60. package/dist/client/assets/{auth-jEXOVJdJ.js → auth-XEUSFe4G.js} +1 -1
  61. package/dist/client/assets/{auth-catchall-DE1giVB4.js → auth-catchall-rTdEtfmw.js} +1 -1
  62. package/dist/client/assets/{auth-entry-lo3TAtpl.js → auth-entry-BPySrhTo.js} +1 -1
  63. package/dist/client/assets/{auth-split-layout-BgmqQbTN.js → auth-split-layout-BONfi2Rj.js} +1 -1
  64. package/dist/client/assets/{authenticate-and-persist-oauth-C9jOdAvp.js → authenticate-and-persist-oauth-DRVJSg4u.js} +1 -1
  65. package/dist/client/assets/{automation-list-row-DvZQrXCp.js → automation-list-row-pWHxlUwn.js} +1 -1
  66. package/dist/client/assets/{automation-runs-aPXD_uTZ.js → automation-runs-CAJKg5F2.js} +1 -1
  67. package/dist/client/assets/{automations-CskLVFMr.js → automations-CdiuzHyh.js} +1 -1
  68. package/dist/client/assets/{autosend-mKs95JqV.js → autosend-DXSzImGH.js} +1 -1
  69. package/dist/client/assets/{avatar-BPVI4atE.js → avatar-2SmZuxZ8.js} +1 -1
  70. package/dist/client/assets/{badge-CLI8BJXF.js → badge-CsdSFwUS.js} +1 -1
  71. package/dist/client/assets/{block-document-rK9gmLgc.js → block-document-nZbGlStM.js} +1 -1
  72. package/dist/client/assets/{breadcrumb-DzQvHKGE.js → breadcrumb-BDNhTm3V.js} +1 -1
  73. package/dist/client/assets/{buckets-bSO6V5oa.js → buckets-eTPri2zC.js} +1 -1
  74. package/dist/client/assets/{bulk-category-panel-DlgEKp--.js → bulk-category-panel-BF6YfBVd.js} +1 -1
  75. package/dist/client/assets/{capability-load-error-Ewp013Fw.js → capability-load-error-x5n-DlZV.js} +1 -1
  76. package/dist/client/assets/{cards-CTM_z6JU.js → cards-C4c8buka.js} +1 -1
  77. package/dist/client/assets/{category-editor-55W8BV7D.js → category-editor-D3Mu7OT9.js} +1 -1
  78. package/dist/client/assets/{cdn-tab-DtO_62LW.js → cdn-tab-LzJwiBk6.js} +1 -1
  79. package/dist/client/assets/{chart-CfRLS9xT.js → chart-CRg8heLY.js} +1 -1
  80. package/dist/client/assets/{chat-context-Cnf8ag8e.js → chat-context-BF1udRnT.js} +1 -1
  81. package/dist/client/assets/{checkbox-DT8c2BIN.js → checkbox-D5qaWCp0.js} +1 -1
  82. package/dist/client/assets/{choose-editor-CwFAKCCH.js → choose-editor-kI07w4JH.js} +1 -1
  83. package/dist/client/assets/{cli-auth-success-CQci1-No.js → cli-auth-success-DHYJ8HFe.js} +1 -1
  84. package/dist/client/assets/{client-icons-DcCbGBcw.js → client-icons-C0PnsTTH.js} +1 -1
  85. package/dist/client/assets/{collection-detail-DfaKMGP2.js → collection-detail-DjaMsxtF.js} +1 -1
  86. package/dist/client/assets/{collection-display-button-ESAZgPL0.js → collection-display-button-C48rlblm.js} +1 -1
  87. package/dist/client/assets/{collection-search-B2UtpzT2.js → collection-search-BpTPwhoI.js} +1 -1
  88. package/dist/client/assets/{collection-table-wrapper-BASvvH9a.js → collection-table-wrapper-CJiI6Ia-.js} +1 -1
  89. package/dist/client/assets/{collection-tabs-b6io6wfY.js → collection-tabs-DJD19Xj2.js} +1 -1
  90. package/dist/client/assets/{command-CALmXOXE.js → command-185_z6Zw.js} +1 -1
  91. package/dist/client/assets/{commerce-onboarding-JQkLXz3m.js → commerce-onboarding-RNJRITMx.js} +1 -1
  92. package/dist/client/assets/{connect-BZsIEi1o.js → connect-D8bUIAHy.js} +1 -1
  93. package/dist/client/assets/{connect-layout-ByjvsYEz.js → connect-layout-RZifaua7.js} +1 -1
  94. package/dist/client/assets/{connection-B7GAvn4a.js → connection-CrGg2u4l.js} +1 -1
  95. package/dist/client/assets/{connection-card-BIzeMrZG.js → connection-card-BClWqucN.js} +1 -1
  96. package/dist/client/assets/{connection-detail-RTSEdP1X.js → connection-detail-DE1Qgr5A.js} +1 -1
  97. package/dist/client/assets/{connection-form-helpers-DDJ72RqH.js → connection-form-helpers-DUW9T-b4.js} +1 -1
  98. package/dist/client/assets/{connections-DKevs0dE.js → connections-Du71jGOQ.js} +1 -1
  99. package/dist/client/assets/{create-organization-dialog-YKR8Vlp2.js → create-organization-dialog-C54vb_Vq.js} +1 -1
  100. package/dist/client/assets/{decopilot-sse-pool-CciVCe4h.js → decopilot-sse-pool-BdZvUT3v.js} +1 -1
  101. package/dist/client/assets/{dialog-DBF7H4cU.js → dialog-ChihYhwF.js} +1 -1
  102. package/dist/client/assets/{domain-settings-BWFxKHvI.js → domain-settings-CKGbXxzq.js} +1 -1
  103. package/dist/client/assets/{drawer-49fZ3NcG.js → drawer-CzXVcBN1.js} +1 -1
  104. package/dist/client/assets/{dropdown-menu-C2_-PA0d.js → dropdown-menu-DWuIuZTX.js} +1 -1
  105. package/dist/client/assets/{e2e-tab-BGkU9tzm.js → e2e-tab-DDD6AJwF.js} +1 -1
  106. package/dist/client/assets/{editor-huY6kt2_.js → editor-H7C8lNIT.js} +1 -1
  107. package/dist/client/assets/{empty-state-D1sYtfoS.js → empty-state-01NavnmO.js} +1 -1
  108. package/dist/client/assets/{empty-state-Cm5_JlLy.js → empty-state-DbicIg3-.js} +1 -1
  109. package/dist/client/assets/{extract-connection-data-Bc1gK_oh.js → extract-connection-data-BAxq3n70.js} +1 -1
  110. package/dist/client/assets/{file-explorer-DLXlCaB9.js → file-explorer-DVbI9hET.js} +1 -1
  111. package/dist/client/assets/{file-type-icon-CGvcwfte.js → file-type-icon-BlQUrQtA.js} +1 -1
  112. package/dist/client/assets/{folder-icon-D_jwJiQ0.js → folder-icon-B6ia37fF.js} +1 -1
  113. package/dist/client/assets/{form-D5aJ2R1e.js → form-BDJs5Qvh.js} +1 -1
  114. package/dist/client/assets/{general-BXYUpmQg.js → general-CzDQYiv4.js} +1 -1
  115. package/dist/client/assets/{github-icon-CqsUvwtZ.js → github-icon-B2p3RHo5.js} +1 -1
  116. package/dist/client/assets/{hooks-DpCU1UBz.js → hooks-D33Qgg2F.js} +1 -1
  117. package/dist/client/assets/{index-F19mJ8_N.js → index-B-aYhG_e.js} +1 -1
  118. package/dist/client/assets/{index-DYCMd9af.js → index-B6i4XsT7.js} +1 -1
  119. package/dist/client/assets/{index-DTHoNV5y.js → index-BE0X_WUs.js} +1 -1
  120. package/dist/client/assets/{index-BB4x_gPK.js → index-BJjb-RrB.js} +1 -1
  121. package/dist/client/assets/{index-BbDu2xq3.js → index-COKDKMgK.js} +2 -2
  122. package/dist/client/assets/{index-E9nvagxo.js → index-CYM4KmAb.js} +1 -1
  123. package/dist/client/assets/{index-DLPAbVTv.js → index-Ceh367CC.js} +1 -1
  124. package/dist/client/assets/{index-DFIU7OfS.js → index-Cvaj1kBq.js} +1 -1
  125. package/dist/client/assets/{index-DClNZMTN.js → index-D_Xfdeox.js} +6 -6
  126. package/dist/client/assets/{index-Dp8VyMSk.js → index-DurnJcnQ.js} +1 -1
  127. package/dist/client/assets/index-HwmJeFgi.js +1 -0
  128. package/dist/client/assets/{index-Bl9g0J7w.js → index-iV4FO7D4.js} +1 -1
  129. package/dist/client/assets/{index-redirect-41OhTjna.js → index-redirect-CA8ApUBF.js} +1 -1
  130. package/dist/client/assets/{infiniteQueryObserver-BQw5N_tk.js → infiniteQueryObserver-B2p8wz-k.js} +1 -1
  131. package/dist/client/assets/{infra-billing-BRWmwXxq.js → infra-billing-CP45pBlh.js} +1 -1
  132. package/dist/client/assets/{input-2a-tqySq.js → input-6ZRoOsiB.js} +1 -1
  133. package/dist/client/assets/{integration-icon-BY9o6bXu.js → integration-icon-pfLnYyjw.js} +1 -1
  134. package/dist/client/assets/{invite-member-dialog-BjBLqi6k.js → invite-member-dialog-BLPYvues.js} +1 -1
  135. package/dist/client/assets/{label-Bw3LAQ_7.js → label-Cgkh_1r3.js} +1 -1
  136. package/dist/client/assets/{layout-UTo5bLEd.js → layout-DZ0ScegO.js} +1 -1
  137. package/dist/client/assets/{login-BMF-G7K6.js → login-CRmRFTIo.js} +1 -1
  138. package/dist/client/assets/{markdown-DUDS1ORg.js → markdown-Ba4606EI.js} +1 -1
  139. package/dist/client/assets/{mcp-app-renderer-D7KTrdiy.js → mcp-app-renderer-Wq2ZjTNw.js} +1 -1
  140. package/dist/client/assets/{mcp-oauth-DjBAF6Mn.js → mcp-oauth-Dln_4wHe.js} +1 -1
  141. package/dist/client/assets/{members-EfhqjbXN.js → members-C62QA17c.js} +1 -1
  142. package/dist/client/assets/{monaco-editor-CQBFoghF.js → monaco-editor-BdWxRxtU.js} +1 -1
  143. package/dist/client/assets/{monitoring-stats-row-ddTONEb4.js → monitoring-stats-row-B7g_eBc2.js} +1 -1
  144. package/dist/client/assets/{multi-select-Ctpcz_8m.js → multi-select-DykJphEQ.js} +1 -1
  145. package/dist/client/assets/{oauth-callback-ai-provider-CtAl4uAr.js → oauth-callback-ai-provider-CacdgFwn.js} +1 -1
  146. package/dist/client/assets/{oauth-callback-K9qYFmrD.js → oauth-callback-wIu9v975.js} +1 -1
  147. package/dist/client/assets/{onboarding-xfLGSHPu.js → onboarding-DbeL77sR.js} +1 -1
  148. package/dist/client/assets/{org-layout-XNRDbDzA.js → org-layout-BYvlasFg.js} +1 -1
  149. package/dist/client/assets/{organization-choice-Crsdzh3H.js → organization-choice-CVRJOb6w.js} +1 -1
  150. package/dist/client/assets/{orgs-xS8UVNgJ.js → orgs-Dh2fj-vC.js} +1 -1
  151. package/dist/client/assets/{page-seo-form-zl8f_p5D.js → page-seo-form-smCDVfuh.js} +1 -1
  152. package/dist/client/assets/{popover-VJSdSyV6.js → popover-BZalCRl4.js} +1 -1
  153. package/dist/client/assets/{post-calendar-BhIz7N7-.js → post-calendar-7D_MpmDL.js} +1 -1
  154. package/dist/client/assets/{post-editor-DbAORW9R.js → post-editor-DqXlddhs.js} +1 -1
  155. package/dist/client/assets/{primitives-CYgZUNfX.js → primitives-C1VlMQCy.js} +1 -1
  156. package/dist/client/assets/{profile-eYQPOj60.js → profile-BQBBmEO4.js} +1 -1
  157. package/dist/client/assets/{project-app-view-voAX5XmM.js → project-app-view-DNqnzR4P.js} +1 -1
  158. package/dist/client/assets/{project-icon-CmWzfvVM.js → project-icon-waYb9qf2.js} +1 -1
  159. package/dist/client/assets/{prompts-BpFmw-L7.js → prompts-C55rB_QX.js} +1 -1
  160. package/dist/client/assets/record-editor-kVrAelg9.js +1 -0
  161. package/dist/client/assets/redirect-editor-CUGhYigu.js +1 -0
  162. package/dist/client/assets/registry-Gg3kXYVK.js +2 -0
  163. package/dist/client/assets/{registry-layout-CdVDyJvL.js → registry-layout-BoH5DyRY.js} +1 -1
  164. package/dist/client/assets/{reports-BslOEc6P.js → reports-CajbWTc2.js} +1 -1
  165. package/dist/client/assets/{repositories-tRDlN6-J.js → repositories-DSL102aD.js} +1 -1
  166. package/dist/client/assets/{repository-import-picker-CSbM9sb0.js → repository-import-picker-DZRr44iG.js} +1 -1
  167. package/dist/client/assets/{repository-picker-BNZ7b3Oi.js → repository-picker-BUxhbBbj.js} +1 -1
  168. package/dist/client/assets/{require-capability-CmB8qaJ4.js → require-capability-B_9ys7EC.js} +1 -1
  169. package/dist/client/assets/{required-auth-layout-BhMyFWdP.js → required-auth-layout-DOxD4Y6H.js} +1 -1
  170. package/dist/client/assets/{reset-password-D0uP8U49.js → reset-password-DWsVyW70.js} +1 -1
  171. package/dist/client/assets/{review-settings-CnMZFUWw.js → review-settings-Di6D-8hx.js} +1 -1
  172. package/dist/client/assets/{roles-CC20KgEl.js → roles-Dfp9hUTm.js} +1 -1
  173. package/dist/client/assets/{schema-BCMlOSyV.js → schema-jzUpa2jr.js} +1 -1
  174. package/dist/client/assets/{scroll-area-C4BXuFg6.js → scroll-area-DbragFMD.js} +1 -1
  175. package/dist/client/assets/{search-input-Dg-G_3ZW.js → search-input-DNu9Ocbc.js} +1 -1
  176. package/dist/client/assets/{secrets-Tw7wlLs8.js → secrets-CMBWyHaD.js} +1 -1
  177. package/dist/client/assets/{sections-editor-DN1UJdxb.js → sections-editor-D6ajNoWD.js} +1 -1
  178. package/dist/client/assets/{select-model-BnRpD5qa.js → select-model-BXG1SRJJ.js} +1 -1
  179. package/dist/client/assets/{select-FSMMPzsI.js → select-zab8WvKE.js} +1 -1
  180. package/dist/client/assets/{self-tool-result-D79dnlsl.js → self-tool-result-CyjCFi1v.js} +1 -1
  181. package/dist/client/assets/{seo-editor-DgD5pi5-.js → seo-editor-CNF0Icj0.js} +1 -1
  182. package/dist/client/assets/settings-layout-CspCvfER.js +1 -0
  183. package/dist/client/assets/{settings-sidebar-VshDUdHD.js → settings-sidebar-B4oRDPXI.js} +1 -1
  184. package/dist/client/assets/{shell-controls-CeFoLZda.js → shell-controls-sbGWoJVI.js} +1 -1
  185. package/dist/client/assets/{shell-layout-CjwLOLgP.js → shell-layout-Ccj_SXnk.js} +1 -1
  186. package/dist/client/assets/{skill-preview-BV5FFdjf.js → skill-preview-CJaOSWIY.js} +1 -1
  187. package/dist/client/assets/{skills-_3m8uTz-.js → skills-D7ISxlba.js} +1 -1
  188. package/dist/client/assets/{sso--7F-_CVe.js → sso-D43Y1aDt.js} +1 -1
  189. package/dist/client/assets/{store-R-M6rYbT.js → store-B0nI88-L.js} +1 -1
  190. package/dist/client/assets/store-registry-DhrI2BH7.js +2 -0
  191. package/dist/client/assets/{switch-skcieNrk.js → switch-BlMtLJob.js} +1 -1
  192. package/dist/client/assets/{synced-repos-C_Jq3kxm.js → synced-repos-adBCVhN0.js} +1 -1
  193. package/dist/client/assets/{table-B5Vs3GY1.js → table-Dmi8ccp7.js} +1 -1
  194. package/dist/client/assets/{tabs-BES7zN53.js → tabs-B7ntmQTT.js} +1 -1
  195. package/dist/client/assets/{task-board-ztfxGGkb.js → task-board-y-SZtT16.js} +1 -1
  196. package/dist/client/assets/{task-route-BnxI9DH0.js → task-route-APkjt4_d.js} +1 -1
  197. package/dist/client/assets/{tasks-D47DMyGg.js → tasks-xw7VotyX.js} +1 -1
  198. package/dist/client/assets/{textarea-CLacFrbn.js → textarea-CYk__hb-.js} +1 -1
  199. package/dist/client/assets/{thread-intent-CMg782e5.js → thread-intent-BSwSc5Rc.js} +1 -1
  200. package/dist/client/assets/thread-route-BE_MFJTK.js +1 -0
  201. package/dist/client/assets/{toggle-group-D-1pHmtF.js → toggle-group-0CywZwEp.js} +1 -1
  202. package/dist/client/assets/{toolbar-CQH-_Amz.js → toolbar-ChEtWcxo.js} +1 -1
  203. package/dist/client/assets/{toolbar-icon-button-DstnJ2VV.js → toolbar-icon-button-DqEYlO40.js} +1 -1
  204. package/dist/client/assets/{track-DSESTI7a.js → track-fOdfQ32P.js} +1 -1
  205. package/dist/client/assets/{types-DejsVxb8.js → types-D2LkW7tm.js} +1 -1
  206. package/dist/client/assets/{use-ai-providers-B7KRAXK1.js → use-ai-providers-B9zLoSLV.js} +1 -1
  207. package/dist/client/assets/{use-automations-BdYWhhm1.js → use-automations-BGTeAVZt.js} +1 -1
  208. package/dist/client/assets/{use-autosave-CL8XjGub.js → use-autosave-GN52u-oI.js} +1 -1
  209. package/dist/client/assets/{use-connection-C2nO_AVv.js → use-connection-CsJuNLSb.js} +1 -1
  210. package/dist/client/assets/{use-copy-BBc3d83z.js → use-copy-s3gq1I2J.js} +1 -1
  211. package/dist/client/assets/{use-create-virtual-mcp-C6aRNtOe.js → use-create-virtual-mcp-BWTGIrto.js} +1 -1
  212. package/dist/client/assets/{use-date-fns-locale-wkJRogd2.js → use-date-fns-locale-CpaiyFeb.js} +1 -1
  213. package/dist/client/assets/{use-debounced-autosave-Li8rNiA_.js → use-debounced-autosave-e48SLqgk.js} +1 -1
  214. package/dist/client/assets/{use-debounced-value-DSll33a0.js → use-debounced-value-snJET5z8.js} +1 -1
  215. package/dist/client/assets/{use-decopilot-events-BRjyeJJo.js → use-decopilot-events-tVpJUj13.js} +1 -1
  216. package/dist/client/assets/{use-delete-connection-GnyECS3l.js → use-delete-connection-CNKkzHsp.js} +1 -1
  217. package/dist/client/assets/{use-deployment-admin-D2Td-HJz.js → use-deployment-admin-B1Q1KExf.js} +1 -1
  218. package/dist/client/assets/{use-destination-route-UJWTmz4J.js → use-destination-route-BLm-BAwC.js} +1 -1
  219. package/dist/client/assets/{use-file-configs-Cw4K3Ikl.js → use-file-configs-B7_VvtS_.js} +1 -1
  220. package/dist/client/assets/{use-infinite-scroll-ClPXgDIl.js → use-infinite-scroll-Cra9MhHK.js} +1 -1
  221. package/dist/client/assets/{use-join-requests-CHTNpd-L.js → use-join-requests-D_W99iIR.js} +1 -1
  222. package/dist/client/assets/{use-mcp-auth-status-CW1JSYmQ.js → use-mcp-auth-status-DDOAmttd.js} +1 -1
  223. package/dist/client/assets/{use-mcp-client-BPlXnENu.js → use-mcp-client-Cr62uIBo.js} +1 -1
  224. package/dist/client/assets/{use-mcp-prompts-D5jv-rPf.js → use-mcp-prompts-Dvu7jADE.js} +1 -1
  225. package/dist/client/assets/{use-mcp-tools-Dfar9HaU.js → use-mcp-tools-CguGG2Ni.js} +1 -1
  226. package/dist/client/assets/{use-members-BeBhwrLZ.js → use-members-B2SCOKsl.js} +1 -1
  227. package/dist/client/assets/{use-navigate-to-agent-874sGcUI.js → use-navigate-to-agent-BYYtuwrx.js} +1 -1
  228. package/dist/client/assets/{use-org-auth-client-CbGygSUB.js → use-org-auth-client-BGHwjU8g.js} +1 -1
  229. package/dist/client/assets/{use-org-notice-Dw__a7L-.js → use-org-notice-BX_9nz7z.js} +1 -1
  230. package/dist/client/assets/{use-org-sso-BHwfvM7l.js → use-org-sso-eOUYuNMl.js} +1 -1
  231. package/dist/client/assets/{use-organization-roles-wkqRpeS-.js → use-organization-roles-BVZrkWLM.js} +1 -1
  232. package/dist/client/assets/{use-organization-settings-B59Uxf99.js → use-organization-settings-DuZuLm7F.js} +1 -1
  233. package/dist/client/assets/{use-panel-navigate-BSB806-r.js → use-panel-navigate-Cd7zoDqa.js} +1 -1
  234. package/dist/client/assets/{use-registry-connections-C3vf-j5B.js → use-registry-connections-tJD8w0Y7.js} +1 -1
  235. package/dist/client/assets/{use-secrets-DFq1lqOb.js → use-secrets-BqOvXvNx.js} +1 -1
  236. package/dist/client/assets/{use-section-preview-base-BIWaaxNi.js → use-section-preview-base-c_3hslet.js} +1 -1
  237. package/dist/client/assets/{use-status-sounds-cvKo7fIi.js → use-status-sounds-Bw_PDFm1.js} +1 -1
  238. package/dist/client/assets/{use-tags-WgYTilH4.js → use-tags-DGhJYs5v.js} +1 -1
  239. package/dist/client/assets/{use-view-mode-CcItG9tS.js → use-view-mode-BmArn4WI.js} +1 -1
  240. package/dist/client/assets/{use-virtual-mcp-DaOGpnoF.js → use-virtual-mcp-0ZIPz8eH.js} +1 -1
  241. package/dist/client/assets/useInfiniteQuery-1kKiN9aZ.js +1 -0
  242. package/dist/client/assets/useSuspenseInfiniteQuery-C4h4CiTA.js +1 -0
  243. package/dist/client/assets/{users-0Elt2Qa1.js → users-CzFESlcK.js} +1 -1
  244. package/dist/client/assets/{variant-calendar-CAmxdOVL.js → variant-calendar-_o_Wke_W.js} +1 -1
  245. package/dist/client/assets/{view-mode-toggle-fkLwhK4U.js → view-mode-toggle-Dq1Higa9.js} +1 -1
  246. package/dist/client/index.html +1 -1
  247. package/dist/server/cli.js +364 -364
  248. package/dist/server/migrate-dbos.js +1 -1
  249. package/dist/server/migrate.js +1 -1
  250. package/dist/server/server.js +246 -246
  251. package/package.json +1 -1
  252. package/dist/client/assets/api-keys-DMaVxeam.js +0 -1
  253. package/dist/client/assets/index-CmmEYCmQ.js +0 -1
  254. package/dist/client/assets/record-editor-zneDMAxr.js +0 -1
  255. package/dist/client/assets/redirect-editor-C7D2vad7.js +0 -1
  256. package/dist/client/assets/registry-BWLPQoOd.js +0 -2
  257. package/dist/client/assets/settings-layout-BM_T9cjW.js +0 -1
  258. package/dist/client/assets/store-registry-CikLmiwt.js +0 -2
  259. package/dist/client/assets/thread-route-YcEgAyO3.js +0 -1
  260. package/dist/client/assets/useInfiniteQuery-DHse_DiU.js +0 -1
  261. package/dist/client/assets/useSuspenseInfiniteQuery-DnuTSRTu.js +0 -1
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- var M=import.meta.require;var q="11";function E(c){return{name:"decocms",systemDatabaseUrl:c.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:c.poolSize,runAdminServer:!1,executorID:c.executorID,applicationVersion:q,...c.listenQueues!==void 0?{listenQueues:c.listenQueues}:{}}}function k(c,h={}){let{signal:w}=h;if(w?.aborted)return Promise.reject(w.reason);return new Promise((f,y)=>{let J=()=>{clearTimeout(+m),y(w?.reason)},m=P(()=>{w?.removeEventListener("abort",J),f()},c);w?.addEventListener("abort",J,{once:!0})})}var Y=2147483647;function P(c,h){if(h=Math.trunc(Math.max(h,0)||0),h<=Y){let J=Number(setTimeout(c,h));return{valueOf:()=>J}}let w=Date.now(),f,y=()=>{let J=h-(Date.now()-w);f=J>Y?Number(setTimeout(y,Y)):Number(setTimeout(c,J))};return y(),{valueOf:()=>f}}import p from"pg";var R=8314027461559302n,A=600000,g=500;async function G(c,h){let{databaseUrl:w,lockTimeoutMs:f=A}=c,y=c.log??((D)=>console.log(D)),J=new p.Client({connectionString:w});await J.connect();let d=Date.now(),m=!1;try{while(!m){if(m=(await J.query("SELECT pg_try_advisory_lock($1) AS locked",[R.toString()])).rows[0]?.locked===!0,m)break;if(Date.now()-d>=f)throw Error(`Timed out after ${f}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await k(g)}let D=Date.now()-d;if(D>1000)y(`[dbos] waited ${D}ms for the migration lock; another process migrated first`);return await h()}finally{if(m)try{await J.query("SELECT pg_advisory_unlock($1)",[R.toString()])}catch{}await J.end().catch(()=>{})}}import{homedir as u}from"os";var I=new Set(["all","worker","api"]);function t(c){let h=(c??"").trim();return I.has(h)?h:"all"}var V=new Set(["production","development","test"]);function n(c){let h=(c??"").trim();return V.has(h)?h:"development"}function z(c){return c==="true"||c==="1"}function K(c,h,w){if(h===void 0||h==="")return;let f=Number(h);if(!Number.isSafeInteger(f)||f<=0)throw Error(`${c} must be a positive integer`);if(w!==void 0&&f>w)throw Error(`${c} must be at most ${w}`);return f}function W(c,h,w,f){return K(c,h,f)??w}function l(c,h,w,f){if(h===void 0||h==="")return w;let y=Number(h);if(!Number.isSafeInteger(y)||y<0)throw Error(`${c} must be a non-negative integer`);if(f!==void 0&&y>f)throw Error(`${c} must be at most ${f}`);return y}function B(c,h){if(c===void 0||c==="")return h;return c==="true"||c==="1"}function O(c){if(!c)return null;try{let w=new URL(c).hostname.replace(/^\[|\]$/g,"");if(w==="localhost"||w==="127.0.0.1"||w==="::1")return null;return c}catch{return null}}function v(c){return c===void 0||c===""||c==="true"||c==="1"}function $(c,h){return c||h}function L(c,h){let w=c.home||h.DATA_DIR||h.DECOCMS_HOME||`${u()}/deco`,f=c.localMode,y=c.nodeEnv||n(h.NODE_ENV),J=h.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:y,port:W("PORT",c.port||h.PORT,3000,65535),baseUrl:c.baseUrl||h.BASE_URL,publicUrl:$(h.STUDIO_PUBLIC_URL,h.MESH_PUBLIC_URL),dataDir:w,databasePgSsl:z(h.DATABASE_PG_SSL),databasePoolMax:W("DATABASE_POOL_MAX",h.DATABASE_POOL_MAX,5),dbosPoolSize:W("DBOS_POOL_SIZE",h.DBOS_POOL_SIZE,5),betterAuthSecret:h.BETTER_AUTH_SECRET||"",encryptionKey:h.ENCRYPTION_KEY||"",studioJwtSecret:$(h.STUDIO_JWT_SECRET,h.MESH_JWT_SECRET),localMode:f,disableRateLimit:z(h.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:z(h.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:h.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(h.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),clickhouseUrl:h.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:K("CLICKHOUSE_MAX_MEMORY_USAGE",h.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:h.MONITORING_OTLP_ENDPOINT,otelServiceName:h.OTEL_SERVICE_NAME||"studio",natsCredsPath:h.NATS_CREDS,configPath:h.CONFIG_PATH||"./config.json",aiGatewayEnabled:z(h.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:h.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:h.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:h.STRIPE_WEBHOOK_SECRET,stripeSecretKey:h.STRIPE_SECRET_KEY,stripeOrgPriceId:h.STRIPE_ORG_PRICE_ID,stripeTopupProductId:h.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:l("STUDIO_TOPUP_FEE_PERCENT",h.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:z(h.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:W("STUDIO_FREE_TASKS",h.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:W("STUDIO_MONTHLY_TASKS",h.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:W("STUDIO_MAX_RUNS_PER_TASK",h.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:z(h.ENABLE_DECO_IMPORT),hostingControlPlaneGa:z(h.HOSTING_CONTROL_PLANE_GA),monitorGa:z(h.MONITOR_GA),mcpCacheEnabled:B(h.MCP_CACHE_ENABLED,y!=="development"),orgFsPublicSetsJson:h.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:z(h.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:W("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",h.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:W("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",h.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:B(h.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:W("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",h.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:h.S3_ENDPOINT,s3Bucket:h.S3_BUCKET,s3Region:h.S3_REGION||"auto",s3AccessKeyId:h.S3_ACCESS_KEY_ID,s3SecretAccessKey:h.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:v(h.S3_FORCE_PATH_STYLE),monitoringS3Bucket:h.MONITORING_S3_BUCKET,monitoringS3Endpoint:h.MONITORING_S3_ENDPOINT,monitoringS3Region:h.MONITORING_S3_REGION,monitoringS3AccessKeyId:h.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:h.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:h.MONITORING_S3_PREFIX,duckdbExtensionDirectory:h.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:h.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:K("DUCKDB_THREADS",h.DUCKDB_THREADS),isCli:!0,noTui:c.noTui===!0,podName:h.POD_NAME||crypto.randomUUID(),dispatchRole:t($(h.STUDIO_DISPATCH_ROLE,h.MESH_DISPATCH_ROLE)),agentSandboxEnabled:z(h.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:z(h.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:B(h.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:z(h.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:W("SANDBOX_RELEASE_GRACE_MS",h.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:h.DECO_SUPABASE_URL,decoSupabaseServiceKey:h.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:h.FIRECRAWL_API_KEY,controlplaneRestUrl:h.CONTROLPLANE_REST_URL,controlplaneServiceToken:h.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:h.ANALYTICS_URL,analyticsMasterToken:h.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:h.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:h.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:h.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:h.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:$(h.REPORTS_INTERNAL_API_URL,h.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:$(h.REPORTS_INTERNAL_API_KEY,h.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:h.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:h.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:h.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:h.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:h.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:h.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:h.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:O(h.DATABASE_URL),externalNatsUrl:O(J),skipMigrations:c.skipMigrations}}var Q=null;function F(){if(!Q)s();return Q}function s(){if(Q)return;let c={...process.env},h=L({port:c.PORT||"3000",home:c.DATA_DIR||c.DECOCMS_HOME||"",localMode:c.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:c.DECO_NO_TUI==="true",vitePort:c.VITE_PORT,baseUrl:c.BASE_URL},c);Q=Object.freeze({...h.settings,databaseUrl:c.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(c.NATS_URL||"nats://localhost:4222").split(",").map((w)=>w.trim()).filter(Boolean)})}import{Kysely as pw,PostgresDialect as Aw}from"kysely";import{Pool as uw}from"pg";import{createContextKey as wh,metrics as yh,propagation as gc,ROOT_CONTEXT as uc,SpanStatusCode as Ic,trace as Jh}from"@opentelemetry/api";import{logs as fh,SeverityNumber as i}from"@opentelemetry/api-logs";import{OTLPLogExporter as nc}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as mh}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as sc}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as ec}from"@opentelemetry/instrumentation-runtime-node";import{context as Th,propagation as _h,SpanKind as Mh,SpanStatusCode as Ph}from"@opentelemetry/api";var Ah=globalThis.fetch;import{ExportResultCode as ah}from"@opentelemetry/core";import{ExportResultCode as N}from"@opentelemetry/core";import{mkdir as r,rename as e,writeFile as a}from"fs/promises";import{join as j}from"path";class X{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(c){this.basePath=c.basePath,this.flushThreshold=c.flushThreshold??1000,this.maxBufferBytes=c.maxBufferBytes??10485760,this.partitionKey=c.partitionKey;let h=c.flushIntervalMs??60000;if(h>0&&h<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((w)=>{console.error("[NDJSONExporter] Timer flush failed:",w)})},h),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(c){if(this.isShutdown)return Promise.resolve({code:N.FAILED});for(let h of c){let w=JSON.stringify(h),f=this.partitionKey?this.partitionKey(h):"";this.bufferItems.push({partition:f,json:w}),this.bufferBytes+=Buffer.byteLength(w,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:N.SUCCESS})).catch((h)=>{return console.error("[NDJSONExporter] Flush failed:",h),{code:N.FAILED}});return Promise.resolve({code:N.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let h=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=h,h}async doFlush(){if(this.bufferItems.length===0)return;let c=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let h=new Map;for(let y of c){let J=h.get(y.partition);if(!J)J=[],h.set(y.partition,J);J.push(y.json)}let w=await Promise.allSettled(Array.from(h.entries()).map(([y,J])=>this.writeNDJSON(J,y).then(()=>y))),f=w.find((y)=>y.status==="rejected");if(f){let y=new Set;for(let d of w)if(d.status==="fulfilled")y.add(d.value);let J=c.filter((d)=>!y.has(d.partition));this.bufferItems=J.concat(this.bufferItems),this.bufferBytes=0;for(let d of this.bufferItems)this.bufferBytes+=Buffer.byteLength(d.json,"utf8")+1;throw f.reason}}async writeNDJSON(c,h){let w=new Date,f=[String(w.getUTCFullYear()),String(w.getUTCMonth()+1).padStart(2,"0"),String(w.getUTCDate()).padStart(2,"0"),String(w.getUTCHours()).padStart(2,"0")],y=h?j(this.basePath,h,...f):j(this.basePath,...f);if(!this.knownDirs.has(y))await r(y,{recursive:!0,mode:448}),this.knownDirs.add(y);let J=`${crypto.randomUUID()}.ndjson`,d=j(y,`.${J}.tmp`),m=j(y,J),D=c.join(`
2
+ var M=import.meta.require;var q="11";function E(c){return{name:"decocms",systemDatabaseUrl:c.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:c.poolSize,runAdminServer:!1,executorID:c.executorID,applicationVersion:q,...c.listenQueues!==void 0?{listenQueues:c.listenQueues}:{}}}function k(c,h={}){let{signal:w}=h;if(w?.aborted)return Promise.reject(w.reason);return new Promise((f,y)=>{let J=()=>{clearTimeout(+m),y(w?.reason)},m=P(()=>{w?.removeEventListener("abort",J),f()},c);w?.addEventListener("abort",J,{once:!0})})}var Y=2147483647;function P(c,h){if(h=Math.trunc(Math.max(h,0)||0),h<=Y){let J=Number(setTimeout(c,h));return{valueOf:()=>J}}let w=Date.now(),f,y=()=>{let J=h-(Date.now()-w);f=J>Y?Number(setTimeout(y,Y)):Number(setTimeout(c,J))};return y(),{valueOf:()=>f}}import p from"pg";var R=8314027461559302n,A=600000,g=500;async function G(c,h){let{databaseUrl:w,lockTimeoutMs:f=A}=c,y=c.log??((D)=>console.log(D)),J=new p.Client({connectionString:w});await J.connect();let d=Date.now(),m=!1;try{while(!m){if(m=(await J.query("SELECT pg_try_advisory_lock($1) AS locked",[R.toString()])).rows[0]?.locked===!0,m)break;if(Date.now()-d>=f)throw Error(`Timed out after ${f}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await k(g)}let D=Date.now()-d;if(D>1000)y(`[dbos] waited ${D}ms for the migration lock; another process migrated first`);return await h()}finally{if(m)try{await J.query("SELECT pg_advisory_unlock($1)",[R.toString()])}catch{}await J.end().catch(()=>{})}}import{homedir as u}from"os";var I=new Set(["all","worker","api"]);function t(c){let h=(c??"").trim();return I.has(h)?h:"all"}var V=new Set(["production","development","test"]);function n(c){let h=(c??"").trim();return V.has(h)?h:"development"}function z(c){return c==="true"||c==="1"}function K(c,h,w){if(h===void 0||h==="")return;let f=Number(h);if(!Number.isSafeInteger(f)||f<=0)throw Error(`${c} must be a positive integer`);if(w!==void 0&&f>w)throw Error(`${c} must be at most ${w}`);return f}function W(c,h,w,f){return K(c,h,f)??w}function l(c,h,w,f){if(h===void 0||h==="")return w;let y=Number(h);if(!Number.isSafeInteger(y)||y<0)throw Error(`${c} must be a non-negative integer`);if(f!==void 0&&y>f)throw Error(`${c} must be at most ${f}`);return y}function B(c,h){if(c===void 0||c==="")return h;return c==="true"||c==="1"}function O(c){if(!c)return null;try{let w=new URL(c).hostname.replace(/^\[|\]$/g,"");if(w==="localhost"||w==="127.0.0.1"||w==="::1")return null;return c}catch{return null}}function v(c){return c===void 0||c===""||c==="true"||c==="1"}function $(c,h){return c||h}function L(c,h){let w=c.home||h.DATA_DIR||h.DECOCMS_HOME||`${u()}/deco`,f=c.localMode,y=c.nodeEnv||n(h.NODE_ENV),J=h.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:y,port:W("PORT",c.port||h.PORT,3000,65535),baseUrl:c.baseUrl||h.BASE_URL,publicUrl:$(h.STUDIO_PUBLIC_URL,h.MESH_PUBLIC_URL),dataDir:w,databasePgSsl:z(h.DATABASE_PG_SSL),databasePoolMax:W("DATABASE_POOL_MAX",h.DATABASE_POOL_MAX,5),dbosPoolSize:W("DBOS_POOL_SIZE",h.DBOS_POOL_SIZE,5),betterAuthSecret:h.BETTER_AUTH_SECRET||"",encryptionKey:h.ENCRYPTION_KEY||"",studioJwtSecret:$(h.STUDIO_JWT_SECRET,h.MESH_JWT_SECRET),localMode:f,disableRateLimit:z(h.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:z(h.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:h.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(h.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),deploymentAdminToken:h.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:h.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:K("CLICKHOUSE_MAX_MEMORY_USAGE",h.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:h.MONITORING_OTLP_ENDPOINT,otelServiceName:h.OTEL_SERVICE_NAME||"studio",natsCredsPath:h.NATS_CREDS,configPath:h.CONFIG_PATH||"./config.json",aiGatewayEnabled:z(h.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:h.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:h.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:h.STRIPE_WEBHOOK_SECRET,stripeSecretKey:h.STRIPE_SECRET_KEY,stripeOrgPriceId:h.STRIPE_ORG_PRICE_ID,stripeTopupProductId:h.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:l("STUDIO_TOPUP_FEE_PERCENT",h.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:z(h.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:W("STUDIO_FREE_TASKS",h.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:W("STUDIO_MONTHLY_TASKS",h.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:W("STUDIO_MAX_RUNS_PER_TASK",h.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:z(h.ENABLE_DECO_IMPORT),hostingControlPlaneGa:z(h.HOSTING_CONTROL_PLANE_GA),monitorGa:z(h.MONITOR_GA),mcpCacheEnabled:B(h.MCP_CACHE_ENABLED,y!=="development"),orgFsPublicSetsJson:h.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:z(h.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:W("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",h.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:W("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",h.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:B(h.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:W("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",h.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:h.S3_ENDPOINT,s3Bucket:h.S3_BUCKET,s3Region:h.S3_REGION||"auto",s3AccessKeyId:h.S3_ACCESS_KEY_ID,s3SecretAccessKey:h.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:v(h.S3_FORCE_PATH_STYLE),monitoringS3Bucket:h.MONITORING_S3_BUCKET,monitoringS3Endpoint:h.MONITORING_S3_ENDPOINT,monitoringS3Region:h.MONITORING_S3_REGION,monitoringS3AccessKeyId:h.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:h.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:h.MONITORING_S3_PREFIX,duckdbExtensionDirectory:h.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:h.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:K("DUCKDB_THREADS",h.DUCKDB_THREADS),isCli:!0,noTui:c.noTui===!0,podName:h.POD_NAME||crypto.randomUUID(),dispatchRole:t($(h.STUDIO_DISPATCH_ROLE,h.MESH_DISPATCH_ROLE)),agentSandboxEnabled:z(h.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:z(h.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:B(h.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:z(h.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:W("SANDBOX_RELEASE_GRACE_MS",h.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:h.DECO_SUPABASE_URL,decoSupabaseServiceKey:h.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:h.FIRECRAWL_API_KEY,controlplaneRestUrl:h.CONTROLPLANE_REST_URL,controlplaneServiceToken:h.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:h.ANALYTICS_URL,analyticsMasterToken:h.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:h.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:h.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:h.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:h.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:$(h.REPORTS_INTERNAL_API_URL,h.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:$(h.REPORTS_INTERNAL_API_KEY,h.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:h.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:h.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:h.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:h.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:h.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:h.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:h.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:O(h.DATABASE_URL),externalNatsUrl:O(J),skipMigrations:c.skipMigrations}}var Q=null;function F(){if(!Q)s();return Q}function s(){if(Q)return;let c={...process.env},h=L({port:c.PORT||"3000",home:c.DATA_DIR||c.DECOCMS_HOME||"",localMode:c.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:c.DECO_NO_TUI==="true",vitePort:c.VITE_PORT,baseUrl:c.BASE_URL},c);Q=Object.freeze({...h.settings,databaseUrl:c.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(c.NATS_URL||"nats://localhost:4222").split(",").map((w)=>w.trim()).filter(Boolean)})}import{Kysely as pw,PostgresDialect as Aw}from"kysely";import{Pool as uw}from"pg";import{createContextKey as wh,metrics as yh,propagation as gc,ROOT_CONTEXT as uc,SpanStatusCode as Ic,trace as Jh}from"@opentelemetry/api";import{logs as fh,SeverityNumber as i}from"@opentelemetry/api-logs";import{OTLPLogExporter as nc}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as mh}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as sc}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as ec}from"@opentelemetry/instrumentation-runtime-node";import{context as Th,propagation as _h,SpanKind as Mh,SpanStatusCode as Ph}from"@opentelemetry/api";var Ah=globalThis.fetch;import{ExportResultCode as ah}from"@opentelemetry/core";import{ExportResultCode as N}from"@opentelemetry/core";import{mkdir as r,rename as e,writeFile as a}from"fs/promises";import{join as j}from"path";class X{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(c){this.basePath=c.basePath,this.flushThreshold=c.flushThreshold??1000,this.maxBufferBytes=c.maxBufferBytes??10485760,this.partitionKey=c.partitionKey;let h=c.flushIntervalMs??60000;if(h>0&&h<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((w)=>{console.error("[NDJSONExporter] Timer flush failed:",w)})},h),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(c){if(this.isShutdown)return Promise.resolve({code:N.FAILED});for(let h of c){let w=JSON.stringify(h),f=this.partitionKey?this.partitionKey(h):"";this.bufferItems.push({partition:f,json:w}),this.bufferBytes+=Buffer.byteLength(w,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:N.SUCCESS})).catch((h)=>{return console.error("[NDJSONExporter] Flush failed:",h),{code:N.FAILED}});return Promise.resolve({code:N.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let h=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=h,h}async doFlush(){if(this.bufferItems.length===0)return;let c=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let h=new Map;for(let y of c){let J=h.get(y.partition);if(!J)J=[],h.set(y.partition,J);J.push(y.json)}let w=await Promise.allSettled(Array.from(h.entries()).map(([y,J])=>this.writeNDJSON(J,y).then(()=>y))),f=w.find((y)=>y.status==="rejected");if(f){let y=new Set;for(let d of w)if(d.status==="fulfilled")y.add(d.value);let J=c.filter((d)=>!y.has(d.partition));this.bufferItems=J.concat(this.bufferItems),this.bufferBytes=0;for(let d of this.bufferItems)this.bufferBytes+=Buffer.byteLength(d.json,"utf8")+1;throw f.reason}}async writeNDJSON(c,h){let w=new Date,f=[String(w.getUTCFullYear()),String(w.getUTCMonth()+1).padStart(2,"0"),String(w.getUTCDate()).padStart(2,"0"),String(w.getUTCHours()).padStart(2,"0")],y=h?j(this.basePath,h,...f):j(this.basePath,...f);if(!this.knownDirs.has(y))await r(y,{recursive:!0,mode:448}),this.knownDirs.add(y);let J=`${crypto.randomUUID()}.ndjson`,d=j(y,`.${J}.tmp`),m=j(y,J),D=c.join(`
3
3
  `)+`
4
4
  `;await a(d,D,{mode:384}),await e(d,m)}}import{ExportResultCode as Jc}from"@opentelemetry/core";import{AggregationTemporality as mc,DataPointType as dc}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Fc}from"@opentelemetry/core";var Xc=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as dw,LoggerProvider as zw}from"@opentelemetry/sdk-logs";import{detectResources as Ww,envDetector as Zw,hostDetector as $w,osDetector as Fw,processDetector as Qw,resourceFromAttributes as Nw}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Xw}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Bc}from"@opentelemetry/api-logs";import{NodeSDK as Bw}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as Uw,SamplingDecision as Z}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Hc}from"@opentelemetry/api";var dh="__d",zh=wh("Current request"),Dh=1;var b=(c)=>{let w=new URL(c.url).searchParams.get(dh);if(w==="")return crypto.randomUUID();if(!w)w=c.headers.get("x-trace-debug-id");return w};class T{inner;constructor(c){this.inner=c}shouldSample(c,h,w,f,y,J){let d=c.getValue(zh);if(!d){if(this.inner)return this.inner.shouldSample(c,h,w,f,y,J);return{decision:Z.RECORD_AND_SAMPLED}}let m=b(d);if(m)return{decision:Z.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":m}};if(this.inner){let D=this.inner.shouldSample(c,h,w,f,y,J);if(D.decision===Z.RECORD_AND_SAMPLED){let o=crypto.randomUUID();D.attributes={...D.attributes??{},"trace.debug.id":o}}return D}return{decision:Z.NOT_RECORD}}toString(){return"DebugSampler"}}class _{ratio;constructor(c){this.ratio=c}shouldSample(){if(Math.random()<this.ratio)return{decision:Z.RECORD_AND_SAMPLED};return{decision:Z.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var xw=new mh({preventServerStart:!0}),Hw=new T(new _(Dh));var S=Jh.getTracer("studio","1.0.0"),U=yh.getMeter("studio","1.0.0"),Wh=fh.getLogger("studio","1.0.0"),x=(c,h,w)=>{let f={},y=w,J=w[w.length-1];if(J!==null&&typeof J==="object"&&!Array.isArray(J)&&!(J instanceof Error)&&Object.getPrototypeOf(J)===Object.prototype)f=J,y=w.slice(0,-1);let d=y.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(" ");Wh.emit({severityNumber:c,severityText:h,body:d,attributes:{"log.source":"console",...f}})},H={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...c)=>{x(i.ERROR,"ERROR",c),H.error(...c)};console.warn=(...c)=>{x(i.WARN,"WARN",c),H.warn(...c)};console.debug=(...c)=>{x(i.DEBUG,"DEBUG",c),H.debug(...c)};function C(c,h){if(!h)return c;let w=new URL(c);if(!w.searchParams.has("sslmode"))w.searchParams.set("sslmode","verify-full");return w.toString()}async function Zh(){let c=F(),{DBOS:h}=await import("@dbos-inc/dbos-sdk");h.setConfig(E({systemDatabaseUrl:C(c.databaseUrl,c.databasePgSsl),poolSize:c.dbosPoolSize,executorID:c.podName,listenQueues:[]})),await G({databaseUrl:C(c.databaseUrl,c.databasePgSsl)},async()=>{await h.launch(),await h.shutdown()})}if(import.meta.main)(async()=>{try{await Zh(),console.log("DBOS system-schema migrations completed."),process.exit(0)}catch(c){console.error("DBOS system-schema migration failed:",c),process.exit(1)}})();export{Zh as migrateDbos};
@@ -1799,7 +1799,7 @@ var oN=Object.defineProperty;var aN=(_)=>_;function rN(_,x){this[_]=aN.bind(null
1799
1799
  ON CONFLICT (thread_id, repository_id) DO NOTHING
1800
1800
  `.execute(_),await Y`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function mQ(_){await Y`DROP TABLE IF EXISTS thread_repositories`.execute(_),await Y`
1801
1801
  ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
1802
- `.execute(_)}var CQ={"001-initial-schema":e_,"002-organization-settings":l_,"003-connection-schema-align":d_,"004-remove-models-binding":s_,"005-connection-configuration":b_,"006-add-views-to-settings":_x,"007-monitoring-logs":xx,"008-event-bus":ux,"009-drop-audit-logs":mx,"010-gateways":Cx,"011-gateway-icon":Tx,"012-gateway-tool-selection-mode":Nx,"013-monitoring-user-agent-gateway":Kx,"014-gateway-resources-prompts":Ex,"015-monitoring-properties":zx,"016-downstream-token-client-info":Px,"017-downstream-token-remove-userid":$x,"018-drop-gateway-tool-selection-strategy":Ux,"019-remove-gateway-is-default":Jx,"020-enabled-plugins":Xx,"021-threads":Qx,"022-rename-gateway-to-virtual-mcp":jx,"023-optimize-thread-indexes":Wx,"024-consolidate-virtual-mcp":Zx,"025-add-monitoring-virtual-mcp-id":Lx,"026-restrict-child-connection-delete":Dx,"027-update-management-mcp-url":Rx,"028-update-management-mcp-to-self":Hx,"029-add-updated-by-to-connections":Mx,"030-member-tags":nx,"031-add-dependency-mode":Bx,"032-projects":Gx,"033-thread-status":yx,"034-monitoring-dashboards":fx,"035-project-connections":Ox,"036-update-registry-url":Ax,"037-ai-provider-keys":Sx,"038-oauth-pkce-states":Ix,"039-automations":wx,"040-replace-next-run-at-with-last-run-at":Vx,"041-ai-provider-keys-unique-constraint":kx,"042-rename-mesh-mcp-to-cms-mcp":px,"043-rename-cms-mcp-to-deco-cms":ix,"044-drop-connections-tools-column":tx,"045-thread-context-start-message":vx,"046-remove-object-storage-plugin":gx,"047-add-next-run-at":cx,"048-merge-projects-agents":ox,"049-remove-org-admin-projects":ax,"050-durable-agent-runs":rx,"051-org-sso":lx,"052-thread-agent-ids":dx,"053-registry-config":sx,"054-connection-slug":_u,"055-spaces":xu,"056-automation-project-scope":uu,"057-thread-virtual-mcp-id":mu,"058-trigger-callback-tokens":Cu,"059-kv":Tu,"060-member-index":Nu,"061-downstream-token-connection-index":Ku,"062-private-registry":Eu,"063-event-subscriptions-enabled-boolean":zu,"064-brand-context":Pu,"065-organization-domains":$u,"066-brand-context-structured":Uu,"067-threads-metadata":Ju,"068-threads-branch":Xu,"069-sandbox-runner-state":Qu,"070-model-categories":ju,"071-default-home-agents":Wu,"072-ai-provider-key-preset-id":Zu,"073-backfill-basic-usage-roles":Lu,"074-sandbox-runner-state-handle-nonunique":Du,"075-thread-inflight-async-jobs":Fu,"076-automations-drop-agent-json":Ru,"077-tier-only-model-selection":Hu,"078-automation-tool-call-kind":Mu,"079-strip-legacy-freestyle-vm-map-entries":nu,"080-async-research-jobs":Bu,"081-async-research-jobs-result-content":Gu,"082-secrets":yu,"083-thread-run-locally":fu,"084-drop-host-sandbox-rows":Ou,"085-rename-runner-kind":Au,"086-thread-pins-and-vm-map-rekey":Su,"087-fix-vm-map-rekey":Iu,"088-purge-cli-activate-keys":wu,"089-rename-remote-user-to-desktop":Vu,"090-automation-webhook-triggers":ku,"091-organization-domains-allow-multi":pu,"092-sandbox-naming-uniformization":iu,"093-backfill-global-search-basic-usage":tu,"094-org-file-configs":qu,"095-remove-automation-tool-call-kind":gu,"096-org-file-configs-public-url-base":cu,"097-drop-local-docker-sandbox-state":ou,"098-thread-message-parts":au,"099-run-fence":ru,"100-link-transport":eu,"101-cancel-requested-at":lu,"102-observational-agent":du,"103-revert-observational-agent":su,"104-agent-sandbox-provider-kind":_m,"105-org-fs":xm,"106-automation-tools":um,"107-org-fs-public-org":mm,"108-automation-max-agent-steps":Cm,"109-thread-message-parts-per-message-seq":Tm,"110-backfill-ghs-token-expiry":Nm,"111-org-fs-thread-id":Km,"112-org-file-configs-credential-type":Em,"113-thread-failure-reason":zm,"114-run-acked-seq":Pm,"115-thread-projected-seq":$m,"116-org-sites":Um,"117-org-file-configs-site-slug":Jm,"118-organization-domains-multi-verify":Xm,"119-organization-join-requests":Qm,"120-org-fs-read-public":jm,"121-org-fs-share-password":Wm,"122-split-web-research-tier":Dm,"123-connection-credential-vault":Fm,"124-drop-thread-projected-seq":Rm,"125-github-child-single-parent":Ym,"126-task-board":Mm,"127-task-board-due-date":nm,"128-reports-only":Bm,"129-task-board-assigned-by":Gm,"130-task-board-thread-id":ym,"131-task-board-thread-link-cascade":fm,"132-task-board-item-prs":Om,"133-dedupe-duplicate-members":Am,"134-drop-task-board-enabled":Sm,"135-task-board-item-fk-cascade":Im,"136-task-board-import-idempotency":wm,"137-agent-sandbox-runner-state":Vm,"138-agent-sandbox-sessions":km,"139-organization-billing":pm,"140-seat-change-log":im,"141-benefits-sync-pending":tm,"142-stripe-event-watermark":vm,"143-armed-report-url":qm,"144-benefits-pending-index":gm,"145-user-model-preferences":cm,"146-organization-main-agent":hm,"147-drop-agent-sandbox-tables":om,"148-org-flags":am,"149-task-board-item-sort-order":rm,"150-task-board-activity":em,"151-task-board-tags":dm,"152-repair-connection-slug":bm,"153-task-board-latest-assistant-part-index":_C,"154-task-board-qa-activity":uC,"155-task-board-review-claims":mC,"156-task-board-conflict-activity":TC,"157-drop-seat-billing":NC,"158-drop-github-child-single-parent":KC,"159-task-board-comments":EC,"160-task-quota-billing":zC,"161-task-quota-claim-state":$C,"162-claude-subscriptions":UC,"163-task-board-item-dismissed":JC,"164-per-org-task-quota":XC,"165-task-board-pending-review-index":QC,"166-task-board-last-swept-at":jC,"167-task-board-run-retry":WC,"168-org-repo-sync":LC,"169-task-board-merge-failed-activity":FC,"170-task-board-item-repo":RC,"171-jira-integration":YC,"172-task-board-item-key-seq":HC,"173-thread-github-repo-connection-index":MC,"174-thread-message-parts-persisted-at":BC,"175-task-board-sprints":GC,"176-task-board-done-sweep-index":yC,"177-notifications":fC,"178-jira-status-mapping-array":OC,"179-notification-mentioned":SC,"180-task-board-item-type":wC,"181-task-board-item-type-required":VC,"182-task-board-sprints-entities":kC,"183-drop-jira-jql-filter":pC,"184-jira-rescan-after-scope-change":iC,"185-jira-rescan-existing-cards":tC,"186-jira-rescan-pending-flag":qC,"187-task-board-comment-thread":gC,"188-invitation-auto-accept":cC,"189-task-board-column-automations":oC,"190-task-board-review-cycle-started-at":aC,"191-task-board-columns":rC,"192-task-board-verdict-nudge-activity":lC,"193-task-board-status-column-fk":dC,"194-jira-link-sprint":sC,"195-task-board-sprint-activity":_T,"196-task-board-column-tracker-statuses":xT,"197-task-board-prompts":uT,"198-task-board-external-url":mT,"199-drop-jira-mirror-and-org-columns":CT,"200-jira-run-trigger":TT,"201-organization-notices":NT,"202-redact-base64-thread-parts":ET,"203-task-board-preview-routes":zT,"204-git-provider-accounts-and-repositories":PT,"205-repository-references":$T,"206-repository-consumers":r_,"207-task-board-prs-repo-idx":a_,"208-github-connect-flows":o_,"209-github-installation-authorization":h_,"210-github-repository-authorization":q_,"211-user-fs-org":v_,"212-coding-agent-mcp-excluded":g_,"213-bitbucket-git-provider":c_,"214-connections-sanitized-id-idx":t_},UT=CQ;import{getMigrations as wQ}from"better-auth/db";import{sso as VQ}from"@better-auth/sso";import{organization as kQ}from"@decocms/better-auth/plugins";import{admin as pQ,apiKey as iQ,jwt as tQ,magicLink as vQ,mcp as qQ,openAPI as gQ}from"better-auth/plugins";import{emailOTP as cQ}from"better-auth/plugins/email-otp";import{Kysely as GQ,PostgresDialect as kN}from"kysely";import{Pool as pN}from"pg";import{homedir as TQ}from"os";var NQ=new Set(["all","worker","api"]);function KQ(_){let x=(_??"").trim();return NQ.has(x)?x:"all"}var EQ=new Set(["production","development","test"]);function zQ(_){let x=(_??"").trim();return EQ.has(x)?x:"development"}function L(_){return _==="true"||_==="1"}function XT(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function G(_,x,u,T){return XT(_,x,T)??u}function PQ(_,x,u,T){if(x===void 0||x==="")return u;let C=Number(x);if(!Number.isSafeInteger(C)||C<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&C>T)throw Error(`${_} must be at most ${T}`);return C}function JT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function BN(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function $Q(_){return _===void 0||_===""||_==="true"||_==="1"}function N_(_,x){return _||x}function GN(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${TQ()}/deco`,T=_.localMode,C=_.nodeEnv||zQ(x.NODE_ENV),N=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:G("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:N_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:L(x.DATABASE_PG_SSL),databasePoolMax:G("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:G("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:N_(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:L(x.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:L(x.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((K)=>K.trim().toLowerCase()).filter(Boolean),clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:XT("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:L(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:PQ("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:L(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:G("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:G("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:G("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:L(x.ENABLE_DECO_IMPORT),hostingControlPlaneGa:L(x.HOSTING_CONTROL_PLANE_GA),monitorGa:L(x.MONITOR_GA),mcpCacheEnabled:JT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:G("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:G("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:JT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:G("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:$Q(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:XT("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:KQ(N_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:L(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:L(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:JT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:L(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:G("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,controlplaneRestUrl:x.CONTROLPLANE_REST_URL,controlplaneServiceToken:x.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:x.ANALYTICS_URL,analyticsMasterToken:x.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:N_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:N_(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:BN(x.DATABASE_URL),externalNatsUrl:BN(N),skipMigrations:_.skipMigrations}}var w_=null;function h(){if(!w_)UQ();return w_}function UQ(){if(w_)return;let _={...process.env},x=GN({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);w_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as ZQ,metrics as LQ,propagation as P4,ROOT_CONTEXT as $4,SpanStatusCode as U4,trace as DQ}from"@opentelemetry/api";import{logs as FQ,SeverityNumber as QT}from"@opentelemetry/api-logs";import{OTLPLogExporter as Q4}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as RQ}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Z4}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as D4}from"@opentelemetry/instrumentation-runtime-node";import{context as CZ,propagation as TZ,SpanKind as NZ,SpanStatusCode as KZ}from"@opentelemetry/api";var zZ=globalThis.fetch;import{ExportResultCode as FZ}from"@opentelemetry/core";import{ExportResultCode as V_}from"@opentelemetry/core";import{mkdir as JQ,rename as XQ,writeFile as QQ}from"fs/promises";import{join as k_}from"path";class p_{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:V_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:V_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:V_.FAILED}});return Promise.resolve({code:V_.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let C of _){let N=x.get(C.partition);if(!N)N=[],x.set(C.partition,N);N.push(C.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([C,N])=>this.writeNDJSON(N,C).then(()=>C))),T=u.find((C)=>C.status==="rejected");if(T){let C=new Set;for(let E of u)if(E.status==="fulfilled")C.add(E.value);let N=_.filter((E)=>!C.has(E.partition));this.bufferItems=N.concat(this.bufferItems),this.bufferBytes=0;for(let E of this.bufferItems)this.bufferBytes+=Buffer.byteLength(E.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],C=x?k_(this.basePath,x,...T):k_(this.basePath,...T);if(!this.knownDirs.has(C))await JQ(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let N=`${crypto.randomUUID()}.ndjson`,E=k_(C,`.${N}.tmp`),K=k_(C,N),z=_.join(`
1802
+ `.execute(_)}var CQ={"001-initial-schema":e_,"002-organization-settings":l_,"003-connection-schema-align":d_,"004-remove-models-binding":s_,"005-connection-configuration":b_,"006-add-views-to-settings":_x,"007-monitoring-logs":xx,"008-event-bus":ux,"009-drop-audit-logs":mx,"010-gateways":Cx,"011-gateway-icon":Tx,"012-gateway-tool-selection-mode":Nx,"013-monitoring-user-agent-gateway":Kx,"014-gateway-resources-prompts":Ex,"015-monitoring-properties":zx,"016-downstream-token-client-info":Px,"017-downstream-token-remove-userid":$x,"018-drop-gateway-tool-selection-strategy":Ux,"019-remove-gateway-is-default":Jx,"020-enabled-plugins":Xx,"021-threads":Qx,"022-rename-gateway-to-virtual-mcp":jx,"023-optimize-thread-indexes":Wx,"024-consolidate-virtual-mcp":Zx,"025-add-monitoring-virtual-mcp-id":Lx,"026-restrict-child-connection-delete":Dx,"027-update-management-mcp-url":Rx,"028-update-management-mcp-to-self":Hx,"029-add-updated-by-to-connections":Mx,"030-member-tags":nx,"031-add-dependency-mode":Bx,"032-projects":Gx,"033-thread-status":yx,"034-monitoring-dashboards":fx,"035-project-connections":Ox,"036-update-registry-url":Ax,"037-ai-provider-keys":Sx,"038-oauth-pkce-states":Ix,"039-automations":wx,"040-replace-next-run-at-with-last-run-at":Vx,"041-ai-provider-keys-unique-constraint":kx,"042-rename-mesh-mcp-to-cms-mcp":px,"043-rename-cms-mcp-to-deco-cms":ix,"044-drop-connections-tools-column":tx,"045-thread-context-start-message":vx,"046-remove-object-storage-plugin":gx,"047-add-next-run-at":cx,"048-merge-projects-agents":ox,"049-remove-org-admin-projects":ax,"050-durable-agent-runs":rx,"051-org-sso":lx,"052-thread-agent-ids":dx,"053-registry-config":sx,"054-connection-slug":_u,"055-spaces":xu,"056-automation-project-scope":uu,"057-thread-virtual-mcp-id":mu,"058-trigger-callback-tokens":Cu,"059-kv":Tu,"060-member-index":Nu,"061-downstream-token-connection-index":Ku,"062-private-registry":Eu,"063-event-subscriptions-enabled-boolean":zu,"064-brand-context":Pu,"065-organization-domains":$u,"066-brand-context-structured":Uu,"067-threads-metadata":Ju,"068-threads-branch":Xu,"069-sandbox-runner-state":Qu,"070-model-categories":ju,"071-default-home-agents":Wu,"072-ai-provider-key-preset-id":Zu,"073-backfill-basic-usage-roles":Lu,"074-sandbox-runner-state-handle-nonunique":Du,"075-thread-inflight-async-jobs":Fu,"076-automations-drop-agent-json":Ru,"077-tier-only-model-selection":Hu,"078-automation-tool-call-kind":Mu,"079-strip-legacy-freestyle-vm-map-entries":nu,"080-async-research-jobs":Bu,"081-async-research-jobs-result-content":Gu,"082-secrets":yu,"083-thread-run-locally":fu,"084-drop-host-sandbox-rows":Ou,"085-rename-runner-kind":Au,"086-thread-pins-and-vm-map-rekey":Su,"087-fix-vm-map-rekey":Iu,"088-purge-cli-activate-keys":wu,"089-rename-remote-user-to-desktop":Vu,"090-automation-webhook-triggers":ku,"091-organization-domains-allow-multi":pu,"092-sandbox-naming-uniformization":iu,"093-backfill-global-search-basic-usage":tu,"094-org-file-configs":qu,"095-remove-automation-tool-call-kind":gu,"096-org-file-configs-public-url-base":cu,"097-drop-local-docker-sandbox-state":ou,"098-thread-message-parts":au,"099-run-fence":ru,"100-link-transport":eu,"101-cancel-requested-at":lu,"102-observational-agent":du,"103-revert-observational-agent":su,"104-agent-sandbox-provider-kind":_m,"105-org-fs":xm,"106-automation-tools":um,"107-org-fs-public-org":mm,"108-automation-max-agent-steps":Cm,"109-thread-message-parts-per-message-seq":Tm,"110-backfill-ghs-token-expiry":Nm,"111-org-fs-thread-id":Km,"112-org-file-configs-credential-type":Em,"113-thread-failure-reason":zm,"114-run-acked-seq":Pm,"115-thread-projected-seq":$m,"116-org-sites":Um,"117-org-file-configs-site-slug":Jm,"118-organization-domains-multi-verify":Xm,"119-organization-join-requests":Qm,"120-org-fs-read-public":jm,"121-org-fs-share-password":Wm,"122-split-web-research-tier":Dm,"123-connection-credential-vault":Fm,"124-drop-thread-projected-seq":Rm,"125-github-child-single-parent":Ym,"126-task-board":Mm,"127-task-board-due-date":nm,"128-reports-only":Bm,"129-task-board-assigned-by":Gm,"130-task-board-thread-id":ym,"131-task-board-thread-link-cascade":fm,"132-task-board-item-prs":Om,"133-dedupe-duplicate-members":Am,"134-drop-task-board-enabled":Sm,"135-task-board-item-fk-cascade":Im,"136-task-board-import-idempotency":wm,"137-agent-sandbox-runner-state":Vm,"138-agent-sandbox-sessions":km,"139-organization-billing":pm,"140-seat-change-log":im,"141-benefits-sync-pending":tm,"142-stripe-event-watermark":vm,"143-armed-report-url":qm,"144-benefits-pending-index":gm,"145-user-model-preferences":cm,"146-organization-main-agent":hm,"147-drop-agent-sandbox-tables":om,"148-org-flags":am,"149-task-board-item-sort-order":rm,"150-task-board-activity":em,"151-task-board-tags":dm,"152-repair-connection-slug":bm,"153-task-board-latest-assistant-part-index":_C,"154-task-board-qa-activity":uC,"155-task-board-review-claims":mC,"156-task-board-conflict-activity":TC,"157-drop-seat-billing":NC,"158-drop-github-child-single-parent":KC,"159-task-board-comments":EC,"160-task-quota-billing":zC,"161-task-quota-claim-state":$C,"162-claude-subscriptions":UC,"163-task-board-item-dismissed":JC,"164-per-org-task-quota":XC,"165-task-board-pending-review-index":QC,"166-task-board-last-swept-at":jC,"167-task-board-run-retry":WC,"168-org-repo-sync":LC,"169-task-board-merge-failed-activity":FC,"170-task-board-item-repo":RC,"171-jira-integration":YC,"172-task-board-item-key-seq":HC,"173-thread-github-repo-connection-index":MC,"174-thread-message-parts-persisted-at":BC,"175-task-board-sprints":GC,"176-task-board-done-sweep-index":yC,"177-notifications":fC,"178-jira-status-mapping-array":OC,"179-notification-mentioned":SC,"180-task-board-item-type":wC,"181-task-board-item-type-required":VC,"182-task-board-sprints-entities":kC,"183-drop-jira-jql-filter":pC,"184-jira-rescan-after-scope-change":iC,"185-jira-rescan-existing-cards":tC,"186-jira-rescan-pending-flag":qC,"187-task-board-comment-thread":gC,"188-invitation-auto-accept":cC,"189-task-board-column-automations":oC,"190-task-board-review-cycle-started-at":aC,"191-task-board-columns":rC,"192-task-board-verdict-nudge-activity":lC,"193-task-board-status-column-fk":dC,"194-jira-link-sprint":sC,"195-task-board-sprint-activity":_T,"196-task-board-column-tracker-statuses":xT,"197-task-board-prompts":uT,"198-task-board-external-url":mT,"199-drop-jira-mirror-and-org-columns":CT,"200-jira-run-trigger":TT,"201-organization-notices":NT,"202-redact-base64-thread-parts":ET,"203-task-board-preview-routes":zT,"204-git-provider-accounts-and-repositories":PT,"205-repository-references":$T,"206-repository-consumers":r_,"207-task-board-prs-repo-idx":a_,"208-github-connect-flows":o_,"209-github-installation-authorization":h_,"210-github-repository-authorization":q_,"211-user-fs-org":v_,"212-coding-agent-mcp-excluded":g_,"213-bitbucket-git-provider":c_,"214-connections-sanitized-id-idx":t_},UT=CQ;import{getMigrations as wQ}from"better-auth/db";import{sso as VQ}from"@better-auth/sso";import{organization as kQ}from"@decocms/better-auth/plugins";import{admin as pQ,apiKey as iQ,jwt as tQ,magicLink as vQ,mcp as qQ,openAPI as gQ}from"better-auth/plugins";import{emailOTP as cQ}from"better-auth/plugins/email-otp";import{Kysely as GQ,PostgresDialect as kN}from"kysely";import{Pool as pN}from"pg";import{homedir as TQ}from"os";var NQ=new Set(["all","worker","api"]);function KQ(_){let x=(_??"").trim();return NQ.has(x)?x:"all"}var EQ=new Set(["production","development","test"]);function zQ(_){let x=(_??"").trim();return EQ.has(x)?x:"development"}function L(_){return _==="true"||_==="1"}function XT(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function G(_,x,u,T){return XT(_,x,T)??u}function PQ(_,x,u,T){if(x===void 0||x==="")return u;let C=Number(x);if(!Number.isSafeInteger(C)||C<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&C>T)throw Error(`${_} must be at most ${T}`);return C}function JT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function BN(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function $Q(_){return _===void 0||_===""||_==="true"||_==="1"}function N_(_,x){return _||x}function GN(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${TQ()}/deco`,T=_.localMode,C=_.nodeEnv||zQ(x.NODE_ENV),N=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:G("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:N_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:L(x.DATABASE_PG_SSL),databasePoolMax:G("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:G("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:N_(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:L(x.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:L(x.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((K)=>K.trim().toLowerCase()).filter(Boolean),deploymentAdminToken:x.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:XT("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:L(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:PQ("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:L(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:G("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:G("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:G("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:L(x.ENABLE_DECO_IMPORT),hostingControlPlaneGa:L(x.HOSTING_CONTROL_PLANE_GA),monitorGa:L(x.MONITOR_GA),mcpCacheEnabled:JT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:G("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:G("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:JT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:G("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:$Q(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:XT("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:KQ(N_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:L(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:L(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:JT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:L(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:G("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,controlplaneRestUrl:x.CONTROLPLANE_REST_URL,controlplaneServiceToken:x.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:x.ANALYTICS_URL,analyticsMasterToken:x.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:N_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:N_(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:BN(x.DATABASE_URL),externalNatsUrl:BN(N),skipMigrations:_.skipMigrations}}var w_=null;function h(){if(!w_)UQ();return w_}function UQ(){if(w_)return;let _={...process.env},x=GN({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);w_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as ZQ,metrics as LQ,propagation as P4,ROOT_CONTEXT as $4,SpanStatusCode as U4,trace as DQ}from"@opentelemetry/api";import{logs as FQ,SeverityNumber as QT}from"@opentelemetry/api-logs";import{OTLPLogExporter as Q4}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as RQ}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Z4}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as D4}from"@opentelemetry/instrumentation-runtime-node";import{context as CZ,propagation as TZ,SpanKind as NZ,SpanStatusCode as KZ}from"@opentelemetry/api";var zZ=globalThis.fetch;import{ExportResultCode as FZ}from"@opentelemetry/core";import{ExportResultCode as V_}from"@opentelemetry/core";import{mkdir as JQ,rename as XQ,writeFile as QQ}from"fs/promises";import{join as k_}from"path";class p_{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:V_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:V_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:V_.FAILED}});return Promise.resolve({code:V_.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let C of _){let N=x.get(C.partition);if(!N)N=[],x.set(C.partition,N);N.push(C.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([C,N])=>this.writeNDJSON(N,C).then(()=>C))),T=u.find((C)=>C.status==="rejected");if(T){let C=new Set;for(let E of u)if(E.status==="fulfilled")C.add(E.value);let N=_.filter((E)=>!C.has(E.partition));this.bufferItems=N.concat(this.bufferItems),this.bufferBytes=0;for(let E of this.bufferItems)this.bufferBytes+=Buffer.byteLength(E.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],C=x?k_(this.basePath,x,...T):k_(this.basePath,...T);if(!this.knownDirs.has(C))await JQ(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let N=`${crypto.randomUUID()}.ndjson`,E=k_(C,`.${N}.tmp`),K=k_(C,N),z=_.join(`
1803
1803
  `)+`
1804
1804
  `;await QQ(E,z,{mode:384}),await XQ(E,K)}}import{ExportResultCode as nZ}from"@opentelemetry/core";import{AggregationTemporality as GZ,DataPointType as yZ}from"@opentelemetry/sdk-metrics";import{ExportResultCode as wZ}from"@opentelemetry/core";var iZ=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as y4,LoggerProvider as f4}from"@opentelemetry/sdk-logs";import{detectResources as A4,envDetector as S4,hostDetector as I4,osDetector as w4,processDetector as V4,resourceFromAttributes as k4}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as i4}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as qZ}from"@opentelemetry/api-logs";import{NodeSDK as q4}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as c4,SamplingDecision as o}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as aZ}from"@opentelemetry/api";var YQ="__d",HQ=ZQ("Current request"),MQ=1;var fN=(_)=>{let u=new URL(_.url).searchParams.get(YQ);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class ON{inner;constructor(_){this.inner=_}shouldSample(_,x,u,T,C,N){let E=_.getValue(HQ);if(!E){if(this.inner)return this.inner.shouldSample(_,x,u,T,C,N);return{decision:o.RECORD_AND_SAMPLED}}let K=fN(E);if(K)return{decision:o.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":K}};if(this.inner){let z=this.inner.shouldSample(_,x,u,T,C,N);if(z.decision===o.RECORD_AND_SAMPLED){let $=crypto.randomUUID();z.attributes={...z.attributes??{},"trace.debug.id":$}}return z}return{decision:o.NOT_RECORD}}toString(){return"DebugSampler"}}class AN{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:o.RECORD_AND_SAMPLED};return{decision:o.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var o4=new RQ({preventServerStart:!0}),a4=new ON(new AN(MQ));var yN=DQ.getTracer("studio","1.0.0"),K_=LQ.getMeter("studio","1.0.0"),nQ=FQ.getLogger("studio","1.0.0"),jT=(_,x,u)=>{let T={},C=u,N=u[u.length-1];if(N!==null&&typeof N==="object"&&!Array.isArray(N)&&!(N instanceof Error)&&Object.getPrototypeOf(N)===Object.prototype)T=N,C=u.slice(0,-1);let E=C.map((K)=>{if(K instanceof Error)return`${K.name}: ${K.message}`;if(typeof K==="object")try{return JSON.stringify(K)}catch{return"[Object]"}return String(K)}).join(" ");nQ.emit({severityNumber:_,severityText:x,body:E,attributes:{"log.source":"console",...T}})},WT={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{jT(QT.ERROR,"ERROR",_),WT.error(..._)};console.warn=(..._)=>{jT(QT.WARN,"WARN",_),WT.warn(..._)};console.debug=(..._)=>{jT(QT.DEBUG,"DEBUG",_),WT.debug(..._)};var ZT,SN=0,LT=500;function BQ(){if(ZT)return;let _=performance.now()+LT;ZT=setInterval(()=>{let x=performance.now();SN=Math.max(0,x-_),_=x+LT},LT),ZT.unref?.()}function IN(){return BQ(),SN}var yQ=()=>K_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),wN=()=>K_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),VN=400,fQ=100,OQ=(_)=>(x)=>{let u={"db.statement":x.query.sql,"db.status":x.level==="error"?"error":"success"};if(x.queryDurationMillis>VN){let T=IN(),C=T>VN/2;console.error(C?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(T),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:i_()}})}if(yQ().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function AQ(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let T=performance.now(),C=i_(),N=_.idleCount===0&&_.totalCount>=C,E=_.idleCount;return x().then((K)=>{let z=performance.now()-T;if(wN().record(z,{"db.pool.outcome":N?"contended":"available"}),z>fQ)if(N)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:z,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:C});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:z,idleAtStart:E,total:_.totalCount,max:C});return K},(K)=>{throw wN().record(performance.now()-T,{"db.pool.outcome":"error"}),K})},_}var iN={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function tN(){try{return h().databasePgSsl}catch{return!1}}function i_(){try{return h().databasePoolMax}catch{return 10}}function SQ(_){let x=AQ(new pN({connectionString:_,max:i_(),ssl:tN(),...iN})),u=new kN({pool:x});return{type:"postgres",db:new GQ({dialect:u,log:OQ(x)}),pool:x}}function z_(){return h().databaseUrl}function vN(_){let x=_||z_();return new kN({pool:new pN({connectionString:x,max:i_(),ssl:tN(),...iN})})}function IQ(_){let x=_||z_();return SQ(x)}async function qN(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===E_)E_=null}var E_=null;function DT(){if(!E_)E_=IQ(z_());return E_}async function gN(_){let u={database:vN(_||z_()),plugins:[kQ({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),pQ(),iQ(),tQ(),gQ(),qQ({loginPage:"/login"}),VQ(),vQ({sendMagicLink:async()=>{}}),cQ({sendVerificationOTP:async()=>{}})]},{toBeAdded:T,toBeCreated:C,runMigrations:N}=await wQ(u);if(!T.length&&!C.length)return"up to date";return await N(),`${C.length+T.length} table(s) migrated`}async function hN(_,x){return(await a`
1805
1805
  SELECT table_name FROM information_schema.tables