decocms 4.501.0 → 4.502.1

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 (380) hide show
  1. package/dist/client/assets/{ActiveShapeUtils-D-fL_h7g.js → ActiveShapeUtils-Dpaml8J5.js} +1 -1
  2. package/dist/client/assets/{AlertCircle-D3bAofoi.js → AlertCircle-CxMEbIvM.js} +1 -1
  3. package/dist/client/assets/{AreaChart-BkD3ldvt.js → AreaChart-BgtEgMgW.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-Cdobx1UV.js → ArrowLeft-ChZ5XGHH.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-D_3dn5Sd.js → ArrowUp-BseWcDxZ.js} +1 -1
  6. package/dist/client/assets/{BarChart-DdPh9tNP.js → BarChart-IN_s5p-k.js} +1 -1
  7. package/dist/client/assets/{Building02-Bh6iwr2R.js → Building02-BCzHZCeO.js} +1 -1
  8. package/dist/client/assets/{CategoricalChart-tLM_K2Lc.js → CategoricalChart-CN6eSF60.js} +1 -1
  9. package/dist/client/assets/{CheckCircle-BQiYUYV1.js → CheckCircle-BRmDGKsS.js} +1 -1
  10. package/dist/client/assets/{ChevronSelectorVertical-CpMmf6o-.js → ChevronSelectorVertical-DXUxjCek.js} +1 -1
  11. package/dist/client/assets/{ChevronUp-CfnfCq3M.js → ChevronUp-B7Vn1Rb2.js} +1 -1
  12. package/dist/client/assets/{Copy01-CKF8jrEa.js → Copy01-BeZeYuYP.js} +1 -1
  13. package/dist/client/assets/{CreditCard01-B4jz404y.js → CreditCard01-CR3uiUwh.js} +1 -1
  14. package/dist/client/assets/{DotsVertical-BVuRRGqu.js → DotsVertical-C85_hpnn.js} +1 -1
  15. package/dist/client/assets/{ErrorBarContext-D3QRg5_X.js → ErrorBarContext-dTYYBaMt.js} +1 -1
  16. package/dist/client/assets/{Globe04-CfnS-Tur.js → Globe04-DTEEsJ26.js} +1 -1
  17. package/dist/client/assets/{Image01-C6EZAhw4.js → Image01-BcbXjZdM.js} +1 -1
  18. package/dist/client/assets/{Key01-C3bTgL7y.js → Key01-BnDtFdB6.js} +1 -1
  19. package/dist/client/assets/{Link01-Bb9ZHTO8.js → Link01-CeBVtW9F.js} +1 -1
  20. package/dist/client/assets/{LinkBroken01-BbLhCJ9C.js → LinkBroken01-B4m_6hKA.js} +1 -1
  21. package/dist/client/assets/{Monitor01-BT48-O3V.js → Monitor01-DluZDvx0.js} +1 -1
  22. package/dist/client/assets/{Play-DlM8u9Zn.js → Play-C67yELx6.js} +1 -1
  23. package/dist/client/assets/{Plus-h-7fG8-i.js → Plus-FrFsiUQv.js} +1 -1
  24. package/dist/client/assets/{SearchMd-DdAgg3kt.js → SearchMd-CTE_Dij_.js} +1 -1
  25. package/dist/client/assets/{Sector-udGfVqY9.js → Sector-DpVhdPl7.js} +1 -1
  26. package/dist/client/assets/{ShoppingBag01-gtt6oc_g.js → ShoppingBag01-B47bYriG.js} +1 -1
  27. package/dist/client/assets/{Sun-D0bMmBqD.js → Sun-BADHqp_z.js} +1 -1
  28. package/dist/client/assets/{SwitchHorizontal01-mzV8h1Yb.js → SwitchHorizontal01-B8pZTGji.js} +1 -1
  29. package/dist/client/assets/{Tool01-BOGFE1PW.js → Tool01-Ceiq1yQg.js} +1 -1
  30. package/dist/client/assets/{Trash01-BKZKll81.js → Trash01-QaBoOmQD.js} +1 -1
  31. package/dist/client/assets/{Upload01-ClJbirSb.js → Upload01-CfxF6ZJF.js} +1 -1
  32. package/dist/client/assets/{User01-jcmfLZ4a.js → User01-DowUGIml.js} +1 -1
  33. package/dist/client/assets/{UserSquare-Dnl3alN_.js → UserSquare-C1l8QNgE.js} +1 -1
  34. package/dist/client/assets/{Users01-DBt3BOu-.js → Users01-BvAfz3hH.js} +1 -1
  35. package/dist/client/assets/{XAxis-DWTEKRSO.js → XAxis-DQTb2U_R.js} +1 -1
  36. package/dist/client/assets/{XClose-DtCD4hEo.js → XClose-CDVFbEme.js} +1 -1
  37. package/dist/client/assets/{ZoomOut-C-oiWFtM.js → ZoomOut-0IXFhA1q.js} +1 -1
  38. package/dist/client/assets/{access-gate-Bs83GnN9.js → access-gate-BietqhCq.js} +1 -1
  39. package/dist/client/assets/{add-connection-dialog-CkfM8RAE.js → add-connection-dialog-CcwJwiyY.js} +1 -1
  40. package/dist/client/assets/{agent-analytics-PkbYclRB.js → agent-analytics-DbRvj_tI.js} +1 -1
  41. package/dist/client/assets/agent-app-Cfg8VckH.js +1 -0
  42. package/dist/client/assets/{agent-assets-BSNQs1Q4.js → agent-assets-pN9q_Pkx.js} +1 -1
  43. package/dist/client/assets/{agent-automation-CYLhaLQV.js → agent-automation-CvB6C4Vu.js} +3 -3
  44. package/dist/client/assets/{agent-automations-CylXZmQz.js → agent-automations-78ZqzNjS.js} +1 -1
  45. package/dist/client/assets/{agent-connect-sources-gehkSGol.js → agent-connect-sources-374gt80i.js} +1 -1
  46. package/dist/client/assets/agent-deck-BQQbY7E3.js +1 -0
  47. package/dist/client/assets/{agent-e2e-gcrRg7hM.js → agent-e2e-DyeOXWbZ.js} +1 -1
  48. package/dist/client/assets/{agent-experiments-CMJUnUoe.js → agent-experiments-VXnZmfhk.js} +1 -1
  49. package/dist/client/assets/{agent-file-JLVKcoj6.js → agent-file-B0YjGOwa.js} +1 -1
  50. package/dist/client/assets/{agent-hosting-AV1ldWsd.js → agent-hosting-DYfoCiax.js} +1 -1
  51. package/dist/client/assets/{agent-icon-D1bIPwJ9.js → agent-icon-E5NFjGaq.js} +1 -1
  52. package/dist/client/assets/agent-library-BylK2zbQ.js +1 -0
  53. package/dist/client/assets/agent-library-file-UJX_CJPE.js +1 -0
  54. package/dist/client/assets/{agent-monitor-DCEK-_YE.js → agent-monitor-CYXJZvch.js} +1 -1
  55. package/dist/client/assets/{agent-overview-Bq6iylVc.js → agent-overview-CFP2r65u.js} +1 -1
  56. package/dist/client/assets/{agent-releases-0JQ-pNIw.js → agent-releases-BHhSgU59.js} +1 -1
  57. package/dist/client/assets/agent-settings-CAn29x6c.js +1 -0
  58. package/dist/client/assets/{agent-site-editor-DUVPLgUJ.js → agent-site-editor-ByLDMiSm.js} +1 -1
  59. package/dist/client/assets/agent-site-editor-code-BpIt4X2L.js +2 -0
  60. package/dist/client/assets/agent-site-editor-content-CvTjIocG.js +1 -0
  61. package/dist/client/assets/agent-site-editor-preview--T44KtQU.js +1 -0
  62. package/dist/client/assets/agent-view-DR2yinn0.js +1 -0
  63. package/dist/client/assets/{agent-view-guard-B0ssprgS.js → agent-view-guard-BVO3LqzS.js} +1 -1
  64. package/dist/client/assets/{agents-list-CL_HbBRx.js → agents-list-Dculqto5.js} +1 -1
  65. package/dist/client/assets/{ai-providers-mazNpep3.js → ai-providers-DolR1Us6.js} +1 -1
  66. package/dist/client/assets/{alert-Bo4bO9Yj.js → alert-Dm5RN1oD.js} +1 -1
  67. package/dist/client/assets/{alert-dialog-BEUBWKqO.js → alert-dialog-BY83tkfe.js} +1 -1
  68. package/dist/client/assets/{analytics-sections-DM3YuBYq.js → analytics-sections-CZp3MeQw.js} +1 -1
  69. package/dist/client/assets/{api-keys-DVwB6mPs.js → api-keys-CldV2ng2.js} +1 -1
  70. package/dist/client/assets/api-keys-VLrtxsCT.js +1 -0
  71. package/dist/client/assets/{app-editor-6HFiMwKn.js → app-editor-CzTTzdaU.js} +1 -1
  72. package/dist/client/assets/{asset-utils-f7af-ti1.js → asset-utils-DOMqsWw0.js} +1 -1
  73. package/dist/client/assets/{auth-CpMllKKy.js → auth-3_xtjhZa.js} +1 -1
  74. package/dist/client/assets/{auth-catchall-s5AR8jnh.js → auth-catchall-Dmk_X1_7.js} +1 -1
  75. package/dist/client/assets/{auth-entry-DhhGCuwo.js → auth-entry-uTh0V7C8.js} +1 -1
  76. package/dist/client/assets/{auth-split-layout-CVNIUCsf.js → auth-split-layout-CqYj_13F.js} +1 -1
  77. package/dist/client/assets/{authenticate-and-persist-oauth-B45I3cgI.js → authenticate-and-persist-oauth-CLn5_4J6.js} +1 -1
  78. package/dist/client/assets/{automation-list-row-sOJZ4uwa.js → automation-list-row-dzpsPyTv.js} +1 -1
  79. package/dist/client/assets/{automation-runs-CR9XH4Bt.js → automation-runs-CAYarR59.js} +1 -1
  80. package/dist/client/assets/{automations-KO9N3LUU.js → automations-Dfb3WhG2.js} +1 -1
  81. package/dist/client/assets/{autosend-BPCdEy8S.js → autosend-Dqgiz7-z.js} +1 -1
  82. package/dist/client/assets/{avatar-BwGV1yBo.js → avatar-D-6InH0Y.js} +1 -1
  83. package/dist/client/assets/{badge-DZi2puxG.js → badge-sJYWVYje.js} +1 -1
  84. package/dist/client/assets/{block-document-DKS5cj35.js → block-document-CwGtizDj.js} +1 -1
  85. package/dist/client/assets/{blocks-preview-workspace-context-CDjfxqPx.js → blocks-preview-workspace-context-JFuqyIhO.js} +1 -1
  86. package/dist/client/assets/{blocks-tab-states-CdRfYXjG.js → blocks-tab-states-CUi2qvXH.js} +3 -3
  87. package/dist/client/assets/{blog-schema-DQu9FHji.js → blog-schema-CYGnXeYs.js} +1 -1
  88. package/dist/client/assets/{board-analytics-Br92I9NK.js → board-analytics-wIsQVPwo.js} +1 -1
  89. package/dist/client/assets/{buckets-BJOMOAgi.js → buckets-CnfDBCeG.js} +1 -1
  90. package/dist/client/assets/{build-improve-prompt-doc-DrFz7LF_.js → build-improve-prompt-doc-CtseFH_6.js} +1 -1
  91. package/dist/client/assets/{calendar-evfJy3uJ.js → calendar-CkQr_tH3.js} +1 -1
  92. package/dist/client/assets/{capability-load-error-vW3f0aqj.js → capability-load-error-Dj0p1QAG.js} +1 -1
  93. package/dist/client/assets/{category-editor-QytvoXKo.js → category-editor-BNcm0eWj.js} +1 -1
  94. package/dist/client/assets/{chart-yXoVtu1q.js → chart-CArQDy5U.js} +1 -1
  95. package/dist/client/assets/{chat-context-lAP9vX1C.js → chat-context-tvcXoBeE.js} +1 -1
  96. package/dist/client/assets/{chat-draft-DVJc17WV.js → chat-draft-ags4xou8.js} +1 -1
  97. package/dist/client/assets/{checkbox-DcDvQwKW.js → checkbox-C6deEGCR.js} +1 -1
  98. package/dist/client/assets/{choose-editor-B0ViIXN7.js → choose-editor-49fvt7KT.js} +1 -1
  99. package/dist/client/assets/{cli-auth-success-CKu92ul9.js → cli-auth-success-CtyD07eG.js} +1 -1
  100. package/dist/client/assets/{client-icons-DV_DZLb3.js → client-icons-BJlX5RmN.js} +1 -1
  101. package/dist/client/assets/cms-settings-editor-uacj7_T7.js +1 -0
  102. package/dist/client/assets/{collapsible-BvvJbkUN.js → collapsible-DNW_6aVc.js} +1 -1
  103. package/dist/client/assets/{collection-detail-gDWElNf6.js → collection-detail-D_oRg5uq.js} +1 -1
  104. package/dist/client/assets/{collection-display-button-CX9hkCzp.js → collection-display-button-CxD1zfgF.js} +1 -1
  105. package/dist/client/assets/{collection-search-ChJFrp7I.js → collection-search-BzGtQCoT.js} +1 -1
  106. package/dist/client/assets/{collection-table-wrapper-S14li0ck.js → collection-table-wrapper-Bdkg1hq0.js} +1 -1
  107. package/dist/client/assets/{collection-tabs-CSxs3D41.js → collection-tabs-D-985lbS.js} +1 -1
  108. package/dist/client/assets/{column-rules-GXfmm3XY.js → column-rules-DTH6MFyL.js} +1 -1
  109. package/dist/client/assets/{combobox-C7I8ANxO.js → combobox-DH1NtP3D.js} +1 -1
  110. package/dist/client/assets/{command-3UFu4XzT.js → command-CVodN_KO.js} +1 -1
  111. package/dist/client/assets/{companion-mcps-section-B4r6rXjT.js → companion-mcps-section-DC91CD_h.js} +1 -1
  112. package/dist/client/assets/{config-CXc91so8.js → config-CH426QBK.js} +1 -1
  113. package/dist/client/assets/{connect-CyItQRMN.js → connect-B4atgjM-.js} +1 -1
  114. package/dist/client/assets/{connect-layout-C_C_fSz7.js → connect-layout-Dn5RIa3-.js} +1 -1
  115. package/dist/client/assets/{connection-C37KtOpn.js → connection-BzAtvzSu.js} +1 -1
  116. package/dist/client/assets/{connection-card-BZTmMkIC.js → connection-card-CuDjRvQM.js} +1 -1
  117. package/dist/client/assets/{connection-detail-D0FXWtUX.js → connection-detail-LDbDzTcC.js} +1 -1
  118. package/dist/client/assets/{connection-form-helpers-DxBwDmAB.js → connection-form-helpers-DX9VWFYw.js} +1 -1
  119. package/dist/client/assets/{connections-D-s5sSvb.js → connections-DPd5fcz3.js} +1 -1
  120. package/dist/client/assets/{content-tab-zP6Y355z.js → content-tab-CWZGoAxh.js} +3 -3
  121. package/dist/client/assets/{context-CXih-hDd.js → context-ItK-xs8d.js} +1 -1
  122. package/dist/client/assets/{context-menu-BVwispbr.js → context-menu-DwASq-2m.js} +1 -1
  123. package/dist/client/assets/{core.esm-CmRvLUZs.js → core.esm-DD7e57Ya.js} +1 -1
  124. package/dist/client/assets/{create-organization-dialog-MkYGLytC.js → create-organization-dialog-u5RVm6vz.js} +1 -1
  125. package/dist/client/assets/{daily-pulse-C5ZpC1Ja.js → daily-pulse-BrZF3U10.js} +1 -1
  126. package/dist/client/assets/{discover-CnNtsI6p.js → discover-BVHoLkk3.js} +1 -1
  127. package/dist/client/assets/{domain-settings-C-ul_GpW.js → domain-settings-BM7hqiZ5.js} +1 -1
  128. package/dist/client/assets/{drawer-BnxsVk9h.js → drawer-CkTzw9-A.js} +1 -1
  129. package/dist/client/assets/{editor-BcMzCvWI.js → editor-CsrsRQNL.js} +1 -1
  130. package/dist/client/assets/{editor-classes-qOc25VDM.js → editor-classes-DwfWTmoT.js} +1 -1
  131. package/dist/client/assets/{empty-state-CLULH17h.js → empty-state-Ba3qMun8.js} +1 -1
  132. package/dist/client/assets/{empty-state-Csd3ZQCl.js → empty-state-CH6iGvNw.js} +1 -1
  133. package/dist/client/assets/{extract-connection-data-QezQYJtA.js → extract-connection-data-B_Afz4nk.js} +1 -1
  134. package/dist/client/assets/{feature-gate-X9j31WTs.js → feature-gate-W48R3WT6.js} +1 -1
  135. package/dist/client/assets/{feature-paywall-CVHEJqfB.js → feature-paywall-D9khkBoZ.js} +1 -1
  136. package/dist/client/assets/{file-explorer-CzlgH02W.js → file-explorer-DHDq6x-v.js} +1 -1
  137. package/dist/client/assets/{file-preview-Ddg0WJAM.js → file-preview-D9n-rE_m.js} +1 -1
  138. package/dist/client/assets/{file-share-button-D2qOTxL8.js → file-share-button-CxU4bp8P.js} +1 -1
  139. package/dist/client/assets/{file-type-icon-Bqf9C4DT.js → file-type-icon-hT5Dk06T.js} +1 -1
  140. package/dist/client/assets/flat-project-ip4875AZ.js +1 -0
  141. package/dist/client/assets/{folder-icon-CktDjbyx.js → folder-icon-BgkcWxyT.js} +1 -1
  142. package/dist/client/assets/{form-BLRuutWX.js → form-lTigv9Cm.js} +1 -1
  143. package/dist/client/assets/{general-DAKv-uYe.js → general-BW8ipZ-G.js} +1 -1
  144. package/dist/client/assets/{home-BtntFMXr.js → home-BDeiBiYZ.js} +1 -1
  145. package/dist/client/assets/{hosted-publish-feedback-DnbP_2C-.js → hosted-publish-feedback-Bttd9R-q.js} +1 -1
  146. package/dist/client/assets/{icon-button-08xWmNqW.js → icon-button-AZBqWvLN.js} +1 -1
  147. package/dist/client/assets/{index-BgxfZN5I.js → index-B-eHj4u4.js} +2 -2
  148. package/dist/client/assets/{index-Dhveikge.js → index-B8E6_dOg.js} +1 -1
  149. package/dist/client/assets/{index-DyeE93ho.js → index-BVC6tsxO.js} +1 -1
  150. package/dist/client/assets/{index-3yvbELIe.js → index-Bj0pg4Xb.js} +1 -1
  151. package/dist/client/assets/{index-Dss8yn2Y.js → index-BlmkjYB7.js} +1 -1
  152. package/dist/client/assets/{index-Ct9bVcsr.js → index-BrYnrqwa.js} +1 -1
  153. package/dist/client/assets/{index-DIK8YZFn.js → index-C5owFjSB.js} +1 -1
  154. package/dist/client/assets/{index-DT37BMIF.js → index-CSj5qaNn.js} +3 -3
  155. package/dist/client/assets/{index-DJTmuPQQ.js → index-CWGftR7V.js} +1 -1
  156. package/dist/client/assets/{index-BvCsVc8L.js → index-D19vbl6v.js} +1 -1
  157. package/dist/client/assets/{index-lUChgCue.js → index-SEQedjDw.js} +1 -1
  158. package/dist/client/assets/{index-9WXzzgOS.js → index-TqnZfvlo.js} +1 -1
  159. package/dist/client/assets/{index-3um-0YWE.js → index-UJRTDiss.js} +1 -1
  160. package/dist/client/assets/{index-BiU97Vx4.js → index-dmpY0k1_.js} +1 -1
  161. package/dist/client/assets/{index-BOjNGNvg.js → index-kBSJcstK.js} +1 -1
  162. package/dist/client/assets/{index-redirect-CHE6u4Cv.js → index-redirect-C2exOEJ6.js} +1 -1
  163. package/dist/client/assets/{infiniteQueryObserver-ClCiPTXN.js → infiniteQueryObserver-OMlvsWcf.js} +1 -1
  164. package/dist/client/assets/{infra-billing-ChfVikin.js → infra-billing-uV4T8F6_.js} +1 -1
  165. package/dist/client/assets/{input-BSxNJ_GL.js → input-0NgdpVnI.js} +3 -3
  166. package/dist/client/assets/{input-BwymrIPS.js → input-CyiZQSl-.js} +1 -1
  167. package/dist/client/assets/{integration-icon-DmnIXoLv.js → integration-icon-DKhUl3mk.js} +1 -1
  168. package/dist/client/assets/{jira-icon-BLL3j9jm.js → jira-icon-B2cXiao2.js} +1 -1
  169. package/dist/client/assets/{label-CXUY_vfR.js → label-Hktokb9g.js} +1 -1
  170. package/dist/client/assets/{layout-DIeTUTU5.js → layout-Nt9MYelU.js} +1 -1
  171. package/dist/client/assets/{legacy-agents-deep-BKyQMU33.js → legacy-agents-deep-C25-uw28.js} +1 -1
  172. package/dist/client/assets/{legacy-main-redirect-BsoX6iN0.js → legacy-main-redirect-BmR3yjWi.js} +1 -1
  173. package/dist/client/assets/library-Dlw_lQxg.js +1 -0
  174. package/dist/client/assets/{library-tab-D2qgQui6.js → library-tab-Cw4yhIxO.js} +1 -1
  175. package/dist/client/assets/{login-E4QHNGwe.js → login-CmLP5OaS.js} +1 -1
  176. package/dist/client/assets/{markdown-b3WNjA4d.js → markdown-nIQQa0PZ.js} +1 -1
  177. package/dist/client/assets/{mcp-app-renderer-Cn4aCsu6.js → mcp-app-renderer-DJ3cRpmT.js} +1 -1
  178. package/dist/client/assets/{mcp-oauth-C3NWluK_.js → mcp-oauth-BDYmNGyy.js} +1 -1
  179. package/dist/client/assets/{mcp-oauth-RicpD0nY.js → mcp-oauth-BFMHXWCx.js} +1 -1
  180. package/dist/client/assets/{members-BxD5PzHF.js → members-BSHBMQ7h.js} +1 -1
  181. package/dist/client/assets/{memory-C9XODnnD.js → memory-D_VsBptg.js} +1 -1
  182. package/dist/client/assets/{mini-report-page-BIc8DpQB.js → mini-report-page-6cVsNT3a.js} +1 -1
  183. package/dist/client/assets/{mock-board-ohQUjnsi.js → mock-board-BW-Sa_Jw.js} +1 -1
  184. package/dist/client/assets/{monaco-editor-sh4I5RUd.js → monaco-editor-CETdPqMD.js} +1 -1
  185. package/dist/client/assets/{monitoring-stats-row-DV6G65vc.js → monitoring-stats-row-yTtrPgRB.js} +1 -1
  186. package/dist/client/assets/{multi-select-B-4k-Bqg.js → multi-select-Bt7N4nxw.js} +1 -1
  187. package/dist/client/assets/{mustache-Ds0VW1db.js → mustache-CkmSkLcC.js} +1 -1
  188. package/dist/client/assets/{new-project-dialog-B1YWyUQY.js → new-project-dialog-BiL8l-Gz.js} +1 -1
  189. package/dist/client/assets/{oauth-callback-Dk0amXzl.js → oauth-callback-C2OhIdyv.js} +1 -1
  190. package/dist/client/assets/{oauth-callback-ai-provider-yxTXgHsL.js → oauth-callback-ai-provider-Dvmle1pb.js} +1 -1
  191. package/dist/client/assets/{onboarding-WAcQlT34.js → onboarding-B4ZAdkmE.js} +1 -1
  192. package/dist/client/assets/{openai-conversation-DdRGYa72.js → openai-conversation-B_fu8wmv.js} +1 -1
  193. package/dist/client/assets/{optimistic-project-sidebar-views-CX9xIBGl.js → optimistic-project-sidebar-views-Cq91NNiT.js} +1 -1
  194. package/dist/client/assets/{organization-choice-ByF9jLiX.js → organization-choice-BHS7iEpR.js} +1 -1
  195. package/dist/client/assets/{orgs-BQHW_eGH.js → orgs-C_-EK1k8.js} +1 -1
  196. package/dist/client/assets/{page-seo-form-CHn8Xad5.js → page-seo-form-hSczGRI6.js} +1 -1
  197. package/dist/client/assets/{pair-CUEfObr7.js → pair-XFt8jz7C.js} +1 -1
  198. package/dist/client/assets/{plan-ladder-DCjrzFrn.js → plan-ladder-Bcai7E3A.js} +1 -1
  199. package/dist/client/assets/{popover-C7Cokk1g.js → popover-DrRqLOLZ.js} +1 -1
  200. package/dist/client/assets/{post-calendar-8u0J9Dxw.js → post-calendar-DKuwQYqY.js} +1 -1
  201. package/dist/client/assets/{post-editor-BzyUnSeO.js → post-editor-DnuhIR5k.js} +1 -1
  202. package/dist/client/assets/{preview-content-DvIKkdby.js → preview-content-BmE0C6gq.js} +1 -1
  203. package/dist/client/assets/{preview-dialog-l7y7EMMl.js → preview-dialog-BOiVnRWu.js} +1 -1
  204. package/dist/client/assets/{preview-panel-BVF8JvLU.js → preview-panel-C8DpBZEG.js} +1 -1
  205. package/dist/client/assets/{preview-tab-DSXQiNWB.js → preview-tab-DbXCdlWL.js} +3 -3
  206. package/dist/client/assets/{product-picker-dialog-D1HSCZY-.js → product-picker-dialog-CkF4Q27X.js} +1 -1
  207. package/dist/client/assets/{profile-DLHHp5WU.js → profile-7yNVObk5.js} +1 -1
  208. package/dist/client/assets/{project-app-view-BwoWS8NM.js → project-app-view-Bp6LQc2t.js} +1 -1
  209. package/dist/client/assets/{project-feed-Bb_IIsXz.js → project-feed-DKKNi4Ua.js} +1 -1
  210. package/dist/client/assets/{project-icon-Dgrl5qpw.js → project-icon-D9S8dOj2.js} +1 -1
  211. package/dist/client/assets/project-reports-_eyjOX3a.js +1 -0
  212. package/dist/client/assets/project-tasks-CfNO6dF5.js +1 -0
  213. package/dist/client/assets/{projects-DRVKv_2I.js → projects-C_HSjbRf.js} +1 -1
  214. package/dist/client/assets/{projects-empty-state-CtZ_2AQk.js → projects-empty-state-CxJvmt56.js} +1 -1
  215. package/dist/client/assets/{prompts-BeeaQU8h.js → prompts-CoXqq6oc.js} +1 -1
  216. package/dist/client/assets/record-editor-BObs3Wz8.js +1 -0
  217. package/dist/client/assets/{redirect-editor-B1Nkj9GS.js → redirect-editor-CqykzZQ6.js} +1 -1
  218. package/dist/client/assets/{reports-C5l1V9UL.js → reports-Bima2O7N.js} +1 -1
  219. package/dist/client/assets/reports-CnLAzSP2.js +1 -0
  220. package/dist/client/assets/{reports-onboarding-DP7Vd0T2.js → reports-onboarding-DSmSkO0F.js} +1 -1
  221. package/dist/client/assets/{reports-tab-CtVbVcib.js → reports-tab-BVzkcFqa.js} +2 -2
  222. package/dist/client/assets/{repositories-CbAg-Btm.js → repositories-BQXG-rNE.js} +1 -1
  223. package/dist/client/assets/{repository-binding-BFm9AVly.js → repository-binding-CVI26IB4.js} +1 -1
  224. package/dist/client/assets/{repository-import-picker-EyjACjb3.js → repository-import-picker-Cv7ik8wr.js} +1 -1
  225. package/dist/client/assets/{repository-picker-CIkU8AaT.js → repository-picker-CaK5oYjG.js} +1 -1
  226. package/dist/client/assets/{require-capability-BHXvQx1F.js → require-capability-Bk3o-_ih.js} +1 -1
  227. package/dist/client/assets/{required-auth-layout-BWy4wi63.js → required-auth-layout-BA_CRgc2.js} +1 -1
  228. package/dist/client/assets/{reset-password-BmnWobO1.js → reset-password-CJR2Md-H.js} +1 -1
  229. package/dist/client/assets/{resizable-ojZdlQ3J.js → resizable-Bvs1DfKq.js} +1 -1
  230. package/dist/client/assets/{resolve-tab-icon-CQA14gzS.js → resolve-tab-icon-CPW7joUI.js} +1 -1
  231. package/dist/client/assets/{review-settings-HBrPojjW.js → review-settings-C79kWvAG.js} +1 -1
  232. package/dist/client/assets/roles-j7FKOAUh.js +1 -0
  233. package/dist/client/assets/route-Bn0LVuA1.js +1 -0
  234. package/dist/client/assets/{route-FIzJ_P0a.js → route-CA_TH__q.js} +1 -1
  235. package/dist/client/assets/{route-BnPcnvQE.js → route-R5TXvUXW.js} +1 -1
  236. package/dist/client/assets/{sandbox-lifecycle-context-BiADnqP0.js → sandbox-lifecycle-context-lyXe9eIS.js} +1 -1
  237. package/dist/client/assets/{schema-C2wKusx1.js → schema-CYEVNkkO.js} +1 -1
  238. package/dist/client/assets/{schema-CP7YDlC2.js → schema-DDS90txY.js} +1 -1
  239. package/dist/client/assets/{scroll-area-eDDZTCNn.js → scroll-area-BxjOHUE0.js} +1 -1
  240. package/dist/client/assets/{search-input-Uw0JKwfe.js → search-input-CEGrosU-.js} +1 -1
  241. package/dist/client/assets/{search-toggle-sm1qzFKh.js → search-toggle-DGnOuR56.js} +1 -1
  242. package/dist/client/assets/{secret-ciphertext-CONJpmu9.js → secret-ciphertext-DuXF1kfY.js} +1 -1
  243. package/dist/client/assets/{secret-picker-60Shu074.js → secret-picker-DNAEW5WZ.js} +1 -1
  244. package/dist/client/assets/{secrets-BoqLiEya.js → secrets-CweiWstI.js} +1 -1
  245. package/dist/client/assets/{sections-editor-vaJsT4Ye.js → sections-editor-zQKRHCN0.js} +1 -1
  246. package/dist/client/assets/{select-BFEZcGSl.js → select-Be8KEqhq.js} +1 -1
  247. package/dist/client/assets/{select-model-DqlWeDem.js → select-model-DSiTAeyQ.js} +1 -1
  248. package/dist/client/assets/{seo-editor-CH8U1dHr.js → seo-editor-5bdlykFK.js} +1 -1
  249. package/dist/client/assets/{separator-B8-QmvpR.js → separator-C1oZC_Nw.js} +1 -1
  250. package/dist/client/assets/{settings-tab-CKwbS1hi.js → settings-tab-Dk-4q6cx.js} +1 -1
  251. package/dist/client/assets/{sheet-Nq7jp8TZ.js → sheet-DcLd8f_T.js} +1 -1
  252. package/dist/client/assets/{shell-layout-D6cRROrP.js → shell-layout-jpc-IFbN.js} +1 -1
  253. package/dist/client/assets/site-editor-CDgaCne6.js +1 -0
  254. package/dist/client/assets/{site-editor-toast-DKv6_ydN.js → site-editor-toast-Rw5XomcC.js} +1 -1
  255. package/dist/client/assets/{skills-D12rIMUM.js → skills-BgH9DrsO.js} +1 -1
  256. package/dist/client/assets/{slider-DDXbeLEV.js → slider-CpmotJcT.js} +1 -1
  257. package/dist/client/assets/{sortable.esm-B6I_GSlr.js → sortable.esm-Ch2zuqy4.js} +1 -1
  258. package/dist/client/assets/{sso-BlG3mIxu.js → sso-DhgNSN8N.js} +1 -1
  259. package/dist/client/assets/{suggestion-BDdps7f5.js → suggestion-D6gjcmHp.js} +1 -1
  260. package/dist/client/assets/{switch-fTPKFxtt.js → switch-CkX0BpKj.js} +1 -1
  261. package/dist/client/assets/{symbol-DzslO63t.js → symbol-BfV3FsI2.js} +1 -1
  262. package/dist/client/assets/{synced-repos-BoksOfkS.js → synced-repos-BPr9w1RO.js} +1 -1
  263. package/dist/client/assets/{tab-icon-glyph-B_Nx9b90.js → tab-icon-glyph-CeaHu6-c.js} +1 -1
  264. package/dist/client/assets/{table-DM6c5ztx.js → table-CM8IdXDA.js} +1 -1
  265. package/dist/client/assets/{tabs-_ffnq5EI.js → tabs-Mabj7P4A.js} +1 -1
  266. package/dist/client/assets/{task-board-3mxTKXc4.js → task-board-BDqVuMua.js} +1 -1
  267. package/dist/client/assets/{task-route-Bd7_oRze.js → task-route-HyrcQpIh.js} +1 -1
  268. package/dist/client/assets/{task-status-DobFUFUP.js → task-status-BTchb5mm.js} +1 -1
  269. package/dist/client/assets/taskboard-analytics-DVcpMrVf.js +1 -0
  270. package/dist/client/assets/tasks-DfBffVse.js +1 -0
  271. package/dist/client/assets/{tasks-8erS0IrD.js → tasks-N_JbBzrQ.js} +1 -1
  272. package/dist/client/assets/{textarea-DuXoEX68.js → textarea-Cu_mwrDc.js} +1 -1
  273. package/dist/client/assets/{thread-analytics-DRN0lWXv.js → thread-analytics-B6KhxNmJ.js} +1 -1
  274. package/dist/client/assets/{thread-intent-CNERxhpd.js → thread-intent-2PQ2tJ8y.js} +1 -1
  275. package/dist/client/assets/{thread-route-Ctf783T8.js → thread-route-BiZeKn-m.js} +1 -1
  276. package/dist/client/assets/{thread-route-B1yKR26I.js → thread-route-C5byRWcJ.js} +1 -1
  277. package/dist/client/assets/{thread-sheet-body-BOzE-wDr.js → thread-sheet-body-BUt_0YWK.js} +1 -1
  278. package/dist/client/assets/{time-range-picker-CTRRThMq.js → time-range-picker-Bf0ZJ2P5.js} +1 -1
  279. package/dist/client/assets/{toggle-group-Cfs_-SSG.js → toggle-group-BRDgtYtL.js} +1 -1
  280. package/dist/client/assets/{tool-namespace-D2ik4cAJ.js → tool-namespace-XBvXTguD.js} +1 -1
  281. package/dist/client/assets/{toolbar-icon-button-CPspdKt4.js → toolbar-icon-button-CysTSWyH.js} +1 -1
  282. package/dist/client/assets/{tooltip-IZurjemL.js → tooltip-Wg5TOkgk.js} +1 -1
  283. package/dist/client/assets/{tooltipContext-D100ISAz.js → tooltipContext-BSZQ5pEw.js} +1 -1
  284. package/dist/client/assets/{track-Dgx71QRR.js → track-DDuUL9Xr.js} +1 -1
  285. package/dist/client/assets/{types-BE1SardL.js → types-C9g69UXw.js} +1 -1
  286. package/dist/client/assets/{url-slug-CwNPw3b4.js → url-slug-CWeO_dvk.js} +1 -1
  287. package/dist/client/assets/{usage-stats-CG9oV0kb.js → usage-stats-0IIA6wpa.js} +1 -1
  288. package/dist/client/assets/{use-ai-providers-CPzOGdQy.js → use-ai-providers-CrjK99NZ.js} +1 -1
  289. package/dist/client/assets/{use-app-takeover-l9YncUZ0.js → use-app-takeover-BEzSlm3S.js} +1 -1
  290. package/dist/client/assets/{use-automations-B6o4Nbzc.js → use-automations-AJoQb6lP.js} +1 -1
  291. package/dist/client/assets/{use-autosave-DPNBZc_p.js → use-autosave-C7ouSmgc.js} +1 -1
  292. package/dist/client/assets/{use-chat-navigation-Do_KkN8I.js → use-chat-navigation-BVwgk2mi.js} +1 -1
  293. package/dist/client/assets/{use-clock-tick-BnfclhFE.js → use-clock-tick-B6NhSBfs.js} +1 -1
  294. package/dist/client/assets/{use-connect-companion-BPMXolOl.js → use-connect-companion-WJiOGzbb.js} +1 -1
  295. package/dist/client/assets/{use-connection-DS1VAR5N.js → use-connection-D8Z-oNDI.js} +1 -1
  296. package/dist/client/assets/{use-copy-C8TWXH-H.js → use-copy-KuwVRxCe.js} +1 -1
  297. package/dist/client/assets/{use-create-virtual-mcp-CeEuYNMP.js → use-create-virtual-mcp-RCA64tHb.js} +1 -1
  298. package/dist/client/assets/{use-date-fns-locale-D3qFWxxv.js → use-date-fns-locale-CeeB1a5i.js} +1 -1
  299. package/dist/client/assets/{use-debounced-autosave-DsoI68di.js → use-debounced-autosave-CU9q8XT5.js} +1 -1
  300. package/dist/client/assets/{use-debounced-value-KpwtUdsd.js → use-debounced-value-B43T9Zwm.js} +1 -1
  301. package/dist/client/assets/{use-deco-credits-DscUzXq9.js → use-deco-credits-BqmDR-Hh.js} +1 -1
  302. package/dist/client/assets/{use-decopilot-events-D8UIooCs.js → use-decopilot-events-DrGKqtmd.js} +1 -1
  303. package/dist/client/assets/{use-delete-connection-Dnzv3Wbz.js → use-delete-connection-dDlynrtq.js} +1 -1
  304. package/dist/client/assets/{use-deployment-admin-P_SogPj1.js → use-deployment-admin-XCC0klqS.js} +1 -1
  305. package/dist/client/assets/{use-ensure-project-folder-Dom2nmkC.js → use-ensure-project-folder-DzlO-RZu.js} +1 -1
  306. package/dist/client/assets/{use-fast-preview-draft-url-DnHFw81T.js → use-fast-preview-draft-url-CWuWJF_Z.js} +1 -1
  307. package/dist/client/assets/{use-file-configs-Cv2mXUdp.js → use-file-configs-bBTy3-MH.js} +1 -1
  308. package/dist/client/assets/{use-infinite-scroll-CuKgvt7b.js → use-infinite-scroll-Bx08szbZ.js} +1 -1
  309. package/dist/client/assets/{use-join-requests-cLAvpRra.js → use-join-requests-9S6TcS4c.js} +1 -1
  310. package/dist/client/assets/{use-main-panel-tabs-B0dFgvCE.js → use-main-panel-tabs-DYzUw0ny.js} +1 -1
  311. package/dist/client/assets/{use-mcp-auth-status-DaPeILTX.js → use-mcp-auth-status-x7_sjlLt.js} +1 -1
  312. package/dist/client/assets/{use-mcp-client-CU2kDBXP.js → use-mcp-client-fHTUkiQr.js} +1 -1
  313. package/dist/client/assets/{use-mcp-prompts-CdDXQMlf.js → use-mcp-prompts-BPRabyYT.js} +1 -1
  314. package/dist/client/assets/{use-mcp-tools-CyHq-JFp.js → use-mcp-tools-D4mzKQtZ.js} +1 -1
  315. package/dist/client/assets/{use-members-CkpNHwM6.js → use-members-CKWy7WEt.js} +1 -1
  316. package/dist/client/assets/{use-mobile-DNDEd3kt.js → use-mobile-BZpAUwUb.js} +1 -1
  317. package/dist/client/assets/{use-navigate-to-agent-JTDphVE0.js → use-navigate-to-agent-CsnmgB4q.js} +1 -1
  318. package/dist/client/assets/{use-open-billing-url-2Iqpie3T.js → use-open-billing-url-DJ2g56mK.js} +1 -1
  319. package/dist/client/assets/{use-org-auth-client-Bwzj9WuC.js → use-org-auth-client-g30TuQtQ.js} +1 -1
  320. package/dist/client/assets/{use-org-fs-Cg7EJCYS.js → use-org-fs-zGIV3ymG.js} +1 -1
  321. package/dist/client/assets/{use-org-repo-syncs-D4j72pCa.js → use-org-repo-syncs-DJQrhGC0.js} +1 -1
  322. package/dist/client/assets/{use-org-sso-CMfwXvs9.js → use-org-sso-BrvNWA5X.js} +1 -1
  323. package/dist/client/assets/{use-organization-roles-DPDTJ01F.js → use-organization-roles-BJUlrG6W.js} +1 -1
  324. package/dist/client/assets/{use-organization-settings-BMIqQlbM.js → use-organization-settings-PcDKDabM.js} +1 -1
  325. package/dist/client/assets/{use-panel-navigate-CL5hztR3.js → use-panel-navigate-CtG66pHN.js} +1 -1
  326. package/dist/client/assets/{use-project-native-view-presence-CBbSdoTE.js → use-project-native-view-presence-BK8YOIZ_.js} +1 -1
  327. package/dist/client/assets/{use-project-scope-DqbIN7fa.js → use-project-scope-BIaj1klw.js} +1 -1
  328. package/dist/client/assets/{use-recent-apps-Beu6vFHw.js → use-recent-apps-CdBePM46.js} +1 -1
  329. package/dist/client/assets/{use-releases-Bfs5MNEe.js → use-releases-DiKuK1Mb.js} +1 -1
  330. package/dist/client/assets/{use-reports-diagnostic-QSfTgm94.js → use-reports-diagnostic-DtOFbpHG.js} +1 -1
  331. package/dist/client/assets/{use-secrets-BaG_Hkwz.js → use-secrets-D1EjKfHx.js} +1 -1
  332. package/dist/client/assets/{use-section-preview-base-DUXeQAGw.js → use-section-preview-base-BN73lsUn.js} +1 -1
  333. package/dist/client/assets/{use-tags-BWRD1El7.js → use-tags-DDnWaRyr.js} +1 -1
  334. package/dist/client/assets/{use-task-board-analytics-Bkf73btp.js → use-task-board-analytics-V9Yyqptm.js} +1 -1
  335. package/dist/client/assets/{use-task-board-events-CLNIzDoN.js → use-task-board-events-DqUxpNCB.js} +1 -1
  336. package/dist/client/assets/{use-task-board-item-prs-Bh5krZjb.js → use-task-board-item-prs-DPUdXNI8.js} +1 -1
  337. package/dist/client/assets/{use-task-board-items-zobNU9xE.js → use-task-board-items-DfmdtmUR.js} +1 -1
  338. package/dist/client/assets/{use-task-metadata-Bsl_Cezz.js → use-task-metadata-SrtBAv_N.js} +1 -1
  339. package/dist/client/assets/{use-thread-analytics-CdWNwDDd.js → use-thread-analytics-BqRwNmrL.js} +1 -1
  340. package/dist/client/assets/{use-thread-outputs-BkgKa2EX.js → use-thread-outputs-2RD7K4aK.js} +1 -1
  341. package/dist/client/assets/useInfiniteQuery-B6mFaUqW.js +1 -0
  342. package/dist/client/assets/{useQueries-E-2AGLRt.js → useQueries-CMBL6J0M.js} +1 -1
  343. package/dist/client/assets/useSuspenseInfiniteQuery-CPzW-hST.js +1 -0
  344. package/dist/client/assets/{users-L9Rh2Jo7.js → users-RLZYAcjM.js} +1 -1
  345. package/dist/client/assets/{utils-Dx9iFvKJ.js → utils-Bah7tk6F.js} +1 -1
  346. package/dist/client/assets/{variant-calendar-CkKYqTGY.js → variant-calendar-BZG4h9lN.js} +1 -1
  347. package/dist/client/assets/{variant-draft-pointer-CSAndyah.js → variant-draft-pointer-DT29gOvh.js} +1 -1
  348. package/dist/client/assets/{view-mode-toggle-DxuIXC_C.js → view-mode-toggle-yaAep4gO.js} +1 -1
  349. package/dist/client/assets/{virtual-mcp-D7evpUlE.js → virtual-mcp-D15uuHwT.js} +1 -1
  350. package/dist/client/assets/{watch-sse-pool-Bs34dRKl.js → watch-sse-pool-L6MF8kFC.js} +1 -1
  351. package/dist/client/index.html +1 -1
  352. package/dist/server/cli.js +1 -1
  353. package/dist/server/migrate-dbos.js +1 -1
  354. package/dist/server/migrate.js +1 -1
  355. package/dist/server/server.js +608 -601
  356. package/package.json +1 -1
  357. package/dist/client/assets/agent-app-Dq_KNzND.js +0 -1
  358. package/dist/client/assets/agent-deck-CB0RXEGe.js +0 -1
  359. package/dist/client/assets/agent-library-ChYqVk94.js +0 -1
  360. package/dist/client/assets/agent-library-file-5NiMKcJU.js +0 -1
  361. package/dist/client/assets/agent-settings-DutqpeLT.js +0 -1
  362. package/dist/client/assets/agent-site-editor-code-Bs5iWgah.js +0 -2
  363. package/dist/client/assets/agent-site-editor-content-DG0PHKu_.js +0 -1
  364. package/dist/client/assets/agent-site-editor-preview-IbSFpbgz.js +0 -1
  365. package/dist/client/assets/agent-view-BMSjk6sE.js +0 -1
  366. package/dist/client/assets/api-keys-BfQZh5eV.js +0 -1
  367. package/dist/client/assets/cms-settings-editor-Cz5yTS8J.js +0 -1
  368. package/dist/client/assets/flat-project-EkkB9kye.js +0 -1
  369. package/dist/client/assets/library-j3CGQ36X.js +0 -1
  370. package/dist/client/assets/project-reports-C-bRcSvJ.js +0 -1
  371. package/dist/client/assets/project-tasks-DDJFKuGl.js +0 -1
  372. package/dist/client/assets/record-editor-5RvQSHc4.js +0 -1
  373. package/dist/client/assets/reports-BGfmbbJs.js +0 -1
  374. package/dist/client/assets/roles-Dtyn_BZq.js +0 -1
  375. package/dist/client/assets/route-tGmKNjFY.js +0 -1
  376. package/dist/client/assets/site-editor-BZvWDg3I.js +0 -1
  377. package/dist/client/assets/taskboard-analytics-BqoskKtI.js +0 -1
  378. package/dist/client/assets/tasks-SfkUPw6i.js +0 -1
  379. package/dist/client/assets/useInfiniteQuery-pEq0vd9s.js +0 -1
  380. package/dist/client/assets/useSuspenseInfiniteQuery-BQsEFgzv.js +0 -1
@@ -2379,7 +2379,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
2379
2379
  ON CONFLICT (thread_id, repository_id) DO NOTHING
2380
2380
  `.execute(_),await I`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function RW(_){await I`DROP TABLE IF EXISTS thread_repositories`.execute(_),await I`
2381
2381
  ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
2382
- `.execute(_)}var BW={"001-initial-schema":Uu,"002-organization-settings":Ju,"003-connection-schema-align":Qu,"004-remove-models-binding":Xu,"005-connection-configuration":Zu,"006-add-views-to-settings":Wu,"007-monitoring-logs":ju,"008-event-bus":Lu,"009-drop-audit-logs":Fu,"010-gateways":Yu,"011-gateway-icon":Du,"012-gateway-tool-selection-mode":Hu,"013-monitoring-user-agent-gateway":Mu,"014-gateway-resources-prompts":Ru,"015-monitoring-properties":Bu,"016-downstream-token-client-info":Gu,"017-downstream-token-remove-userid":Ou,"018-drop-gateway-tool-selection-strategy":Su,"019-remove-gateway-is-default":fu,"020-enabled-plugins":Au,"021-threads":Iu,"022-rename-gateway-to-virtual-mcp":yu,"023-optimize-thread-indexes":Vu,"024-consolidate-virtual-mcp":wu,"025-add-monitoring-virtual-mcp-id":ku,"026-restrict-child-connection-delete":nu,"027-update-management-mcp-url":pu,"028-update-management-mcp-to-self":qu,"029-add-updated-by-to-connections":iu,"030-member-tags":cu,"031-add-dependency-mode":hu,"032-projects":tu,"033-thread-status":ou,"034-monitoring-dashboards":au,"035-project-connections":ru,"036-update-registry-url":lu,"037-ai-provider-keys":eu,"038-oauth-pkce-states":du,"039-automations":bu,"040-replace-next-run-at-with-last-run-at":su,"041-ai-provider-keys-unique-constraint":_C,"042-rename-mesh-mcp-to-cms-mcp":xC,"043-rename-cms-mcp-to-deco-cms":uC,"044-drop-connections-tools-column":CC,"045-thread-context-start-message":KC,"046-remove-object-storage-plugin":mC,"047-add-next-run-at":TC,"048-merge-projects-agents":EC,"049-remove-org-admin-projects":$C,"050-durable-agent-runs":PC,"051-org-sso":JC,"052-thread-agent-ids":QC,"053-registry-config":XC,"054-connection-slug":WC,"055-spaces":jC,"056-automation-project-scope":LC,"057-thread-virtual-mcp-id":FC,"058-trigger-callback-tokens":YC,"059-kv":DC,"060-member-index":HC,"061-downstream-token-connection-index":MC,"062-private-registry":RC,"063-event-subscriptions-enabled-boolean":BC,"064-brand-context":GC,"065-organization-domains":OC,"066-brand-context-structured":SC,"067-threads-metadata":fC,"068-threads-branch":AC,"069-sandbox-runner-state":IC,"070-model-categories":yC,"071-default-home-agents":VC,"072-ai-provider-key-preset-id":wC,"073-backfill-basic-usage-roles":kC,"074-sandbox-runner-state-handle-nonunique":nC,"075-thread-inflight-async-jobs":vC,"076-automations-drop-agent-json":pC,"077-tier-only-model-selection":qC,"078-automation-tool-call-kind":iC,"079-strip-legacy-freestyle-vm-map-entries":cC,"080-async-research-jobs":hC,"081-async-research-jobs-result-content":tC,"082-secrets":oC,"083-thread-run-locally":aC,"084-drop-host-sandbox-rows":rC,"085-rename-runner-kind":lC,"086-thread-pins-and-vm-map-rekey":eC,"087-fix-vm-map-rekey":dC,"088-purge-cli-activate-keys":bC,"089-rename-remote-user-to-desktop":sC,"090-automation-webhook-triggers":_K,"091-organization-domains-allow-multi":xK,"092-sandbox-naming-uniformization":uK,"093-backfill-global-search-basic-usage":CK,"094-org-file-configs":NK,"095-remove-automation-tool-call-kind":mK,"096-org-file-configs-public-url-base":TK,"097-drop-local-docker-sandbox-state":EK,"098-thread-message-parts":$K,"099-run-fence":PK,"100-link-transport":UK,"101-cancel-requested-at":JK,"102-observational-agent":QK,"103-revert-observational-agent":XK,"104-agent-sandbox-provider-kind":WK,"105-org-fs":jK,"106-automation-tools":LK,"107-org-fs-public-org":FK,"108-automation-max-agent-steps":YK,"109-thread-message-parts-per-message-seq":DK,"110-backfill-ghs-token-expiry":HK,"111-org-fs-thread-id":MK,"112-org-file-configs-credential-type":RK,"113-thread-failure-reason":BK,"114-run-acked-seq":GK,"115-thread-projected-seq":OK,"116-org-sites":SK,"117-org-file-configs-site-slug":fK,"118-organization-domains-multi-verify":AK,"119-organization-join-requests":IK,"120-org-fs-read-public":yK,"121-org-fs-share-password":VK,"122-split-web-research-tier":nK,"123-connection-credential-vault":vK,"124-drop-thread-projected-seq":pK,"125-github-child-single-parent":gK,"126-task-board":iK,"127-task-board-due-date":cK,"128-reports-only":hK,"129-task-board-assigned-by":tK,"130-task-board-thread-id":oK,"131-task-board-thread-link-cascade":aK,"132-task-board-item-prs":rK,"133-dedupe-duplicate-members":lK,"134-drop-task-board-enabled":eK,"135-task-board-item-fk-cascade":dK,"136-task-board-import-idempotency":bK,"137-agent-sandbox-runner-state":sK,"138-agent-sandbox-sessions":_N,"139-organization-billing":xN,"140-seat-change-log":uN,"141-benefits-sync-pending":CN,"142-stripe-event-watermark":KN,"143-armed-report-url":NN,"144-benefits-pending-index":mN,"145-user-model-preferences":TN,"146-organization-main-agent":zN,"147-drop-agent-sandbox-tables":EN,"148-org-flags":$N,"149-task-board-item-sort-order":PN,"150-task-board-activity":UN,"151-task-board-tags":QN,"152-repair-connection-slug":ZN,"153-task-board-latest-assistant-part-index":WN,"154-task-board-qa-activity":LN,"155-task-board-review-claims":FN,"156-task-board-conflict-activity":DN,"157-drop-seat-billing":HN,"158-drop-github-child-single-parent":MN,"159-task-board-comments":RN,"160-task-quota-billing":BN,"161-task-quota-claim-state":ON,"162-claude-subscriptions":SN,"163-task-board-item-dismissed":fN,"164-per-org-task-quota":AN,"165-task-board-pending-review-index":IN,"166-task-board-last-swept-at":yN,"167-task-board-run-retry":VN,"168-org-repo-sync":kN,"169-task-board-merge-failed-activity":vN,"170-task-board-item-repo":pN,"171-jira-integration":gN,"172-task-board-item-key-seq":qN,"173-thread-github-repo-connection-index":iN,"174-thread-message-parts-persisted-at":hN,"175-task-board-sprints":tN,"176-task-board-done-sweep-index":oN,"177-notifications":aN,"178-jira-status-mapping-array":rN,"179-notification-mentioned":eN,"180-task-board-item-type":bN,"181-task-board-item-type-required":sN,"182-task-board-sprints-entities":_m,"183-drop-jira-jql-filter":xm,"184-jira-rescan-after-scope-change":um,"185-jira-rescan-existing-cards":Cm,"186-jira-rescan-pending-flag":Nm,"187-task-board-comment-thread":mm,"188-invitation-auto-accept":Tm,"189-task-board-column-automations":Em,"190-task-board-review-cycle-started-at":$m,"191-task-board-columns":Pm,"192-task-board-verdict-nudge-activity":Jm,"193-task-board-status-column-fk":Qm,"194-jira-link-sprint":Xm,"195-task-board-sprint-activity":Wm,"196-task-board-column-tracker-statuses":jm,"197-task-board-prompts":Lm,"198-task-board-external-url":Fm,"199-drop-jira-mirror-and-org-columns":Ym,"200-jira-run-trigger":Dm,"201-organization-notices":Hm,"202-redact-base64-thread-parts":Rm,"203-task-board-preview-routes":Bm,"204-git-provider-accounts-and-repositories":Gm,"205-repository-references":Om,"206-repository-consumers":Pu,"207-task-board-prs-repo-idx":$u,"208-github-connect-flows":Eu,"209-github-installation-authorization":zu,"210-github-repository-authorization":_u,"211-user-fs-org":sx,"212-coding-agent-mcp-excluded":xu,"213-bitbucket-git-provider":uu,"214-connections-sanitized-id-idx":lx,"215-commerce-discovery-repository":ex,"216-github-cli-auth":bx,"217-experiments":Cu,"218-thread-message-parts-error-idx":Ku,"219-task-board-duplicate-reported-activity":mu,"220-jira-automation-continue-pr":Tu,"221-remove-private-registry":Px,"222-org-git-credentials":Ux,"223-drop-org-main-agent-id":rx,"224-repository-sandbox-image":Jx,"225-thread-analytics-indexes":Xx,"226-deco-score-names":Wx,"227-task-board-finding-resolved-activity":Lx,"228-org-voice-config":$x,"229-jira-automation-from":Fx,"230-project-sidebar":Yx,"231-jira-chat-agent":Dx,"232-task-board-prompt-skills":Mx,"233-remove-jira-chat-agent":Bx,"234-task-board-comment-audience":Gx,"235-prune-empty-thread-dirs":Ox,"236-task-board-sprints":fx,"237-org-sites-project-link":Ax,"238-task-board-default-lanes":Ix,"239-task-board-retire-old-lanes":yx,"240-task-board-restore-todo":Vx,"241-automation-board-column-transition":wx,"242-connection-url-slug":kx,"243-experiment-task-board-item":nx,"244-connection-url-slug-rollout-backfill":vx,"245-automation-system-key":px,"246-automation-pr-ready-trigger":gx,"247-automation-jira-transition":qx,"248-drop-retired-rule-tables":ix,"249-task-board-item-project":cx,"250-github-copilot-subscriptions":hx,"251-org-shared-plans":tx,"252-automation-linked-chat-trigger":ox,"253-automation-pr-builtin-triggers":ax,"254-codex-subscriptions":Ex},Kx=BW;import{getMigrations as N9}from"better-auth/db";import{sso as m9}from"@better-auth/sso";import{organization as T9}from"@decocms/better-auth/plugins";import{admin as z9,apiKey as E9,jwt as $9,magicLink as P9,mcp as U9,openAPI as J9}from"better-auth/plugins";import{emailOTP as Q9}from"better-auth/plugins/email-otp";import{Kysely as dW,PostgresDialect as jz}from"kysely";import{Pool as Lz}from"pg";import{homedir as GW}from"os";var OW=new Set(["all","worker","api"]);function SW(_){let x=(_??"").trim();return OW.has(x)?x:"all"}var fW=new Set(["production","development","test"]);function AW(_){let x=(_??"").trim();return fW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function fm(_,x,u){if(x===void 0||x==="")return;let N=Number(x);if(!Number.isSafeInteger(N)||N<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&N>u)throw Error(`${_} must be at most ${u}`);return N}function B(_,x,u,N){return fm(_,x,N)??u}function IW(_){let x={};for(let u of(_??"").split(",")){let N=u.trim();if(!N)continue;let K=N.indexOf("="),m=K>0?N.slice(0,K).trim():"",T=K>0?N.slice(K+1).trim():"";if(!m||!T){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${N}" \u2014 expected price_xxx=planId`);continue}x[m]=T}return x}function yW(_,x,u,N){if(x===void 0||x==="")return u;let K=Number(x);if(!Number.isSafeInteger(K)||K<0)throw Error(`${_} must be a non-negative integer`);if(N!==void 0&&K>N)throw Error(`${_} must be at most ${N}`);return K}function Sm(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function VW(_){return _===void 0||_===""||_==="true"||_==="1"}function D_(_,x){return _||x}function Ez(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${GW()}/deco`,u=AW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:D_(_.STUDIO_PUBLIC_URL,_.MESH_PUBLIC_URL),dataDir:x,voiceConversationProvider:N==="elevenlabs"||N==="openai"?N:null,openaiLiveApiKey:_.OPENAI_LIVE_API_KEY,openaiLiveModel:_.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:_.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:_.ELEVENLABS_API_KEY,elevenlabsVoiceId:_.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:_.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:_.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:Z(_.DATABASE_PG_SSL),databasePoolMax:B("DATABASE_POOL_MAX",_.DATABASE_POOL_MAX,5),dbosPoolSize:B("DBOS_POOL_SIZE",_.DBOS_POOL_SIZE,5),betterAuthSecret:_.BETTER_AUTH_SECRET||"",encryptionKey:_.ENCRYPTION_KEY||"",studioJwtSecret:D_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),jiraSettleSeconds:B("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:fm("CLICKHOUSE_MAX_MEMORY_USAGE",_.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:_.MONITORING_OTLP_ENDPOINT,otelServiceName:_.OTEL_SERVICE_NAME||"studio",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((m)=>m.trim()).filter(Boolean),natsCredsPath:_.NATS_CREDS,natsUser:_.NATS_USER||void 0,natsPassword:_.NATS_PASSWORD||void 0,configPath:_.CONFIG_PATH||"./config.json",aiGatewayEnabled:Z(_.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:_.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:_.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:_.STRIPE_WEBHOOK_SECRET,stripeSecretKey:_.STRIPE_SECRET_KEY,stripeOrgPriceId:_.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:IW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:yW("STUDIO_TOPUP_FEE_PERCENT",_.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:Z(_.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:B("STUDIO_FREE_TASKS",_.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:B("STUDIO_MONTHLY_TASKS",_.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:B("STUDIO_MAX_RUNS_PER_TASK",_.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:Z(_.ENABLE_DECO_IMPORT),hostingControlPlaneGa:Z(_.HOSTING_CONTROL_PLANE_GA),monitorGa:Z(_.MONITOR_GA),plansEnabled:Z(_.STUDIO_PLANS_ENABLED),mcpCacheEnabled:Sm(_.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:_.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:Z(_.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:B("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",_.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:B("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",_.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:Sm(_.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:B("BOARD_TRANSITION_SETTLE_SECONDS",_.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:B("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",_.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:_.S3_ENDPOINT,s3Bucket:_.S3_BUCKET,s3Region:_.S3_REGION||"auto",s3AccessKeyId:_.S3_ACCESS_KEY_ID,s3SecretAccessKey:_.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:VW(_.S3_FORCE_PATH_STYLE),monitoringS3Bucket:_.MONITORING_S3_BUCKET,monitoringS3Endpoint:_.MONITORING_S3_ENDPOINT,monitoringS3Region:_.MONITORING_S3_REGION,monitoringS3AccessKeyId:_.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:_.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:_.MONITORING_S3_PREFIX,duckdbExtensionDirectory:_.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:_.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:fm("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:SW(D_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Sm(_.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:Z(_.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:Z(_.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:Z(_.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:B("SANDBOX_RELEASE_GRACE_MS",_.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:_.DECO_SUPABASE_URL,decoSupabaseServiceKey:_.DECO_SUPABASE_SERVICE_KEY,controlplaneRestUrl:_.CONTROLPLANE_REST_URL,controlplaneServiceToken:_.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:_.ANALYTICS_URL,analyticsMasterToken:_.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:_.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:_.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:_.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:D_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:D_(_.REPORTS_INTERNAL_API_KEY,_.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:_.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:_.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:_.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:_.S3_TENANT_PUBLIC_URL_BASE||"https://assets.decocms.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY,deliveryR2AccountId:_.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:_.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:_.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:_.DELIVERY_R2_BUCKET,deliveryR2Endpoint:_.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:_.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:_.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:_.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:_.CF_PURGE_API_TOKEN};if(Boolean(K.natsUser)!==Boolean(K.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(K.natsCredsPath&&K.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(K.plansEnabled&&!K.studioJwtSecret)throw Error("STUDIO_PLANS_ENABLED requires an explicit gateway JWT secret. Set STUDIO_JWT_SECRET (or its legacy alias MESH_JWT_SECRET) to the same value as the gateway's MESH_JWT_SECRET. Refusing to fall back to BETTER_AUTH_SECRET: that mismatch 401s every entitlements call, which every feature gate reads as 'no answer' and fails OPEN.");if(K.plansEnabled&&!K.studioProvisionSecretKey)throw Error("STUDIO_PLANS_ENABLED requires STUDIO_PROVISION_SECRET_KEY, set to the same value as the gateway's STUDIO_PROVISION_KEY. Without it the gateway cannot identify this server, falls back to a per-user membership callback that 401s for any user who never completed the gateway OAuth flow, and every feature gate then fails OPEN.");if(K.plansEnabled&&!K.aiGatewayEnabled)throw Error("STUDIO_PLANS_ENABLED requires DECO_AI_GATEWAY_ENABLED=true. Plans are read from the gateway; with it disabled there is no adapter to ask, so every feature gate fails OPEN on both server and client and the paid product is free fleet-wide.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>0&&!K.aiGatewayAdminToken)throw Error("STRIPE_PLAN_PRICE_IDS is set but DECO_AI_GATEWAY_ADMIN_TOKEN is not. The Stripe webhook places the paid tier through the gateway's admin API, so without the token a customer is charged and the entitlement "+"is never granted \u2014 and AI_PLAN_SET cannot repair it, it accepts only "+"'free'.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>1&&!K.stripePortalConfigurationId)console.warn("STRIPE_PLAN_PRICE_IDS maps more than one plan but STRIPE_PORTAL_CONFIGURATION_ID is unset. An org that already has a subscription cannot change tier: the account's default portal configuration lists only the legacy plans, not the tiers, so Stripe refuses the update flow. First-time checkout is unaffected.");return K}var wW=null;function K_(){return wW??=Object.freeze(Ez(process.env))}import{createContextKey as qW,metrics as iW,propagation as X8,ROOT_CONTEXT as Z8,SpanStatusCode as W8,trace as cW}from"@opentelemetry/api";import{logs as hW,SeverityNumber as Am}from"@opentelemetry/api-logs";import{OTLPLogExporter as F8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as tW}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as H8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as R8}from"@opentelemetry/instrumentation-runtime-node";import{context as E5,propagation as $5,SpanKind as P5,SpanStatusCode as U5}from"@opentelemetry/api";var Q5=globalThis.fetch;import{ExportResultCode as B5}from"@opentelemetry/core";import{ExportResultCode as Nx}from"@opentelemetry/core";import{mkdir as kW,rename as nW,writeFile as vW}from"fs/promises";import{join as mx}from"path";class Tx{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:Nx.FAILED});for(let x of _){let u=JSON.stringify(x),N=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:N,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Nx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:Nx.FAILED}});return Promise.resolve({code:Nx.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 K of _){let m=x.get(K.partition);if(!m)m=[],x.set(K.partition,m);m.push(K.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([K,m])=>this.writeNDJSON(m,K).then(()=>K))),N=u.find((K)=>K.status==="rejected");if(N){let K=new Set;for(let T of u)if(T.status==="fulfilled")K.add(T.value);let m=_.filter((T)=>!K.has(T.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let T of this.bufferItems)this.bufferBytes+=Buffer.byteLength(T.json,"utf8")+1;throw N.reason}}async writeNDJSON(_,x){let u=new Date,N=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],K=x?mx(this.basePath,x,...N):mx(this.basePath,...N);if(!this.knownDirs.has(K))await kW(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=mx(K,`.${m}.tmp`),z=mx(K,m),E=_.join(`
2382
+ `.execute(_)}var BW={"001-initial-schema":Uu,"002-organization-settings":Ju,"003-connection-schema-align":Qu,"004-remove-models-binding":Xu,"005-connection-configuration":Zu,"006-add-views-to-settings":Wu,"007-monitoring-logs":ju,"008-event-bus":Lu,"009-drop-audit-logs":Fu,"010-gateways":Yu,"011-gateway-icon":Du,"012-gateway-tool-selection-mode":Hu,"013-monitoring-user-agent-gateway":Mu,"014-gateway-resources-prompts":Ru,"015-monitoring-properties":Bu,"016-downstream-token-client-info":Gu,"017-downstream-token-remove-userid":Ou,"018-drop-gateway-tool-selection-strategy":Su,"019-remove-gateway-is-default":fu,"020-enabled-plugins":Au,"021-threads":Iu,"022-rename-gateway-to-virtual-mcp":yu,"023-optimize-thread-indexes":Vu,"024-consolidate-virtual-mcp":wu,"025-add-monitoring-virtual-mcp-id":ku,"026-restrict-child-connection-delete":nu,"027-update-management-mcp-url":pu,"028-update-management-mcp-to-self":qu,"029-add-updated-by-to-connections":iu,"030-member-tags":cu,"031-add-dependency-mode":hu,"032-projects":tu,"033-thread-status":ou,"034-monitoring-dashboards":au,"035-project-connections":ru,"036-update-registry-url":lu,"037-ai-provider-keys":eu,"038-oauth-pkce-states":du,"039-automations":bu,"040-replace-next-run-at-with-last-run-at":su,"041-ai-provider-keys-unique-constraint":_C,"042-rename-mesh-mcp-to-cms-mcp":xC,"043-rename-cms-mcp-to-deco-cms":uC,"044-drop-connections-tools-column":CC,"045-thread-context-start-message":KC,"046-remove-object-storage-plugin":mC,"047-add-next-run-at":TC,"048-merge-projects-agents":EC,"049-remove-org-admin-projects":$C,"050-durable-agent-runs":PC,"051-org-sso":JC,"052-thread-agent-ids":QC,"053-registry-config":XC,"054-connection-slug":WC,"055-spaces":jC,"056-automation-project-scope":LC,"057-thread-virtual-mcp-id":FC,"058-trigger-callback-tokens":YC,"059-kv":DC,"060-member-index":HC,"061-downstream-token-connection-index":MC,"062-private-registry":RC,"063-event-subscriptions-enabled-boolean":BC,"064-brand-context":GC,"065-organization-domains":OC,"066-brand-context-structured":SC,"067-threads-metadata":fC,"068-threads-branch":AC,"069-sandbox-runner-state":IC,"070-model-categories":yC,"071-default-home-agents":VC,"072-ai-provider-key-preset-id":wC,"073-backfill-basic-usage-roles":kC,"074-sandbox-runner-state-handle-nonunique":nC,"075-thread-inflight-async-jobs":vC,"076-automations-drop-agent-json":pC,"077-tier-only-model-selection":qC,"078-automation-tool-call-kind":iC,"079-strip-legacy-freestyle-vm-map-entries":cC,"080-async-research-jobs":hC,"081-async-research-jobs-result-content":tC,"082-secrets":oC,"083-thread-run-locally":aC,"084-drop-host-sandbox-rows":rC,"085-rename-runner-kind":lC,"086-thread-pins-and-vm-map-rekey":eC,"087-fix-vm-map-rekey":dC,"088-purge-cli-activate-keys":bC,"089-rename-remote-user-to-desktop":sC,"090-automation-webhook-triggers":_K,"091-organization-domains-allow-multi":xK,"092-sandbox-naming-uniformization":uK,"093-backfill-global-search-basic-usage":CK,"094-org-file-configs":NK,"095-remove-automation-tool-call-kind":mK,"096-org-file-configs-public-url-base":TK,"097-drop-local-docker-sandbox-state":EK,"098-thread-message-parts":$K,"099-run-fence":PK,"100-link-transport":UK,"101-cancel-requested-at":JK,"102-observational-agent":QK,"103-revert-observational-agent":XK,"104-agent-sandbox-provider-kind":WK,"105-org-fs":jK,"106-automation-tools":LK,"107-org-fs-public-org":FK,"108-automation-max-agent-steps":YK,"109-thread-message-parts-per-message-seq":DK,"110-backfill-ghs-token-expiry":HK,"111-org-fs-thread-id":MK,"112-org-file-configs-credential-type":RK,"113-thread-failure-reason":BK,"114-run-acked-seq":GK,"115-thread-projected-seq":OK,"116-org-sites":SK,"117-org-file-configs-site-slug":fK,"118-organization-domains-multi-verify":AK,"119-organization-join-requests":IK,"120-org-fs-read-public":yK,"121-org-fs-share-password":VK,"122-split-web-research-tier":nK,"123-connection-credential-vault":vK,"124-drop-thread-projected-seq":pK,"125-github-child-single-parent":gK,"126-task-board":iK,"127-task-board-due-date":cK,"128-reports-only":hK,"129-task-board-assigned-by":tK,"130-task-board-thread-id":oK,"131-task-board-thread-link-cascade":aK,"132-task-board-item-prs":rK,"133-dedupe-duplicate-members":lK,"134-drop-task-board-enabled":eK,"135-task-board-item-fk-cascade":dK,"136-task-board-import-idempotency":bK,"137-agent-sandbox-runner-state":sK,"138-agent-sandbox-sessions":_N,"139-organization-billing":xN,"140-seat-change-log":uN,"141-benefits-sync-pending":CN,"142-stripe-event-watermark":KN,"143-armed-report-url":NN,"144-benefits-pending-index":mN,"145-user-model-preferences":TN,"146-organization-main-agent":zN,"147-drop-agent-sandbox-tables":EN,"148-org-flags":$N,"149-task-board-item-sort-order":PN,"150-task-board-activity":UN,"151-task-board-tags":QN,"152-repair-connection-slug":ZN,"153-task-board-latest-assistant-part-index":WN,"154-task-board-qa-activity":LN,"155-task-board-review-claims":FN,"156-task-board-conflict-activity":DN,"157-drop-seat-billing":HN,"158-drop-github-child-single-parent":MN,"159-task-board-comments":RN,"160-task-quota-billing":BN,"161-task-quota-claim-state":ON,"162-claude-subscriptions":SN,"163-task-board-item-dismissed":fN,"164-per-org-task-quota":AN,"165-task-board-pending-review-index":IN,"166-task-board-last-swept-at":yN,"167-task-board-run-retry":VN,"168-org-repo-sync":kN,"169-task-board-merge-failed-activity":vN,"170-task-board-item-repo":pN,"171-jira-integration":gN,"172-task-board-item-key-seq":qN,"173-thread-github-repo-connection-index":iN,"174-thread-message-parts-persisted-at":hN,"175-task-board-sprints":tN,"176-task-board-done-sweep-index":oN,"177-notifications":aN,"178-jira-status-mapping-array":rN,"179-notification-mentioned":eN,"180-task-board-item-type":bN,"181-task-board-item-type-required":sN,"182-task-board-sprints-entities":_m,"183-drop-jira-jql-filter":xm,"184-jira-rescan-after-scope-change":um,"185-jira-rescan-existing-cards":Cm,"186-jira-rescan-pending-flag":Nm,"187-task-board-comment-thread":mm,"188-invitation-auto-accept":Tm,"189-task-board-column-automations":Em,"190-task-board-review-cycle-started-at":$m,"191-task-board-columns":Pm,"192-task-board-verdict-nudge-activity":Jm,"193-task-board-status-column-fk":Qm,"194-jira-link-sprint":Xm,"195-task-board-sprint-activity":Wm,"196-task-board-column-tracker-statuses":jm,"197-task-board-prompts":Lm,"198-task-board-external-url":Fm,"199-drop-jira-mirror-and-org-columns":Ym,"200-jira-run-trigger":Dm,"201-organization-notices":Hm,"202-redact-base64-thread-parts":Rm,"203-task-board-preview-routes":Bm,"204-git-provider-accounts-and-repositories":Gm,"205-repository-references":Om,"206-repository-consumers":Pu,"207-task-board-prs-repo-idx":$u,"208-github-connect-flows":Eu,"209-github-installation-authorization":zu,"210-github-repository-authorization":_u,"211-user-fs-org":sx,"212-coding-agent-mcp-excluded":xu,"213-bitbucket-git-provider":uu,"214-connections-sanitized-id-idx":lx,"215-commerce-discovery-repository":ex,"216-github-cli-auth":bx,"217-experiments":Cu,"218-thread-message-parts-error-idx":Ku,"219-task-board-duplicate-reported-activity":mu,"220-jira-automation-continue-pr":Tu,"221-remove-private-registry":Px,"222-org-git-credentials":Ux,"223-drop-org-main-agent-id":rx,"224-repository-sandbox-image":Jx,"225-thread-analytics-indexes":Xx,"226-deco-score-names":Wx,"227-task-board-finding-resolved-activity":Lx,"228-org-voice-config":$x,"229-jira-automation-from":Fx,"230-project-sidebar":Yx,"231-jira-chat-agent":Dx,"232-task-board-prompt-skills":Mx,"233-remove-jira-chat-agent":Bx,"234-task-board-comment-audience":Gx,"235-prune-empty-thread-dirs":Ox,"236-task-board-sprints":fx,"237-org-sites-project-link":Ax,"238-task-board-default-lanes":Ix,"239-task-board-retire-old-lanes":yx,"240-task-board-restore-todo":Vx,"241-automation-board-column-transition":wx,"242-connection-url-slug":kx,"243-experiment-task-board-item":nx,"244-connection-url-slug-rollout-backfill":vx,"245-automation-system-key":px,"246-automation-pr-ready-trigger":gx,"247-automation-jira-transition":qx,"248-drop-retired-rule-tables":ix,"249-task-board-item-project":cx,"250-github-copilot-subscriptions":hx,"251-org-shared-plans":tx,"252-automation-linked-chat-trigger":ox,"253-automation-pr-builtin-triggers":ax,"254-codex-subscriptions":Ex},Kx=BW;import{getMigrations as N9}from"better-auth/db";import{sso as m9}from"@better-auth/sso";import{organization as T9}from"@decocms/better-auth/plugins";import{admin as z9,apiKey as E9,jwt as $9,magicLink as P9,mcp as U9,openAPI as J9}from"better-auth/plugins";import{emailOTP as Q9}from"better-auth/plugins/email-otp";import{Kysely as dW,PostgresDialect as jz}from"kysely";import{Pool as Lz}from"pg";import{homedir as GW}from"os";var OW=new Set(["all","worker","api"]);function SW(_){let x=(_??"").trim();return OW.has(x)?x:"all"}var fW=new Set(["production","development","test"]);function AW(_){let x=(_??"").trim();return fW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function fm(_,x,u){if(x===void 0||x==="")return;let N=Number(x);if(!Number.isSafeInteger(N)||N<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&N>u)throw Error(`${_} must be at most ${u}`);return N}function B(_,x,u,N){return fm(_,x,N)??u}function IW(_){let x={};for(let u of(_??"").split(",")){let N=u.trim();if(!N)continue;let K=N.indexOf("="),m=K>0?N.slice(0,K).trim():"",T=K>0?N.slice(K+1).trim():"";if(!m||!T){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${N}" \u2014 expected price_xxx=planId`);continue}x[m]=T}return x}function yW(_,x,u,N){if(x===void 0||x==="")return u;let K=Number(x);if(!Number.isSafeInteger(K)||K<0)throw Error(`${_} must be a non-negative integer`);if(N!==void 0&&K>N)throw Error(`${_} must be at most ${N}`);return K}function Sm(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function VW(_){return _===void 0||_===""||_==="true"||_==="1"}function D_(_,x){return _||x}function Ez(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${GW()}/deco`,u=AW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:D_(_.STUDIO_PUBLIC_URL,_.MESH_PUBLIC_URL),dataDir:x,voiceConversationProvider:N==="elevenlabs"||N==="openai"?N:null,openaiLiveApiKey:_.OPENAI_LIVE_API_KEY,openaiLiveModel:_.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:_.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:_.ELEVENLABS_API_KEY,elevenlabsVoiceId:_.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:_.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:_.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:Z(_.DATABASE_PG_SSL),databasePoolMax:B("DATABASE_POOL_MAX",_.DATABASE_POOL_MAX,5),dbosPoolSize:B("DBOS_POOL_SIZE",_.DBOS_POOL_SIZE,5),betterAuthSecret:_.BETTER_AUTH_SECRET||"",encryptionKey:_.ENCRYPTION_KEY||"",studioJwtSecret:D_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),jiraSettleSeconds:B("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:fm("CLICKHOUSE_MAX_MEMORY_USAGE",_.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:_.MONITORING_OTLP_ENDPOINT,otelServiceName:_.OTEL_SERVICE_NAME||"studio",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((m)=>m.trim()).filter(Boolean),natsCredsPath:_.NATS_CREDS,natsUser:_.NATS_USER||void 0,natsPassword:_.NATS_PASSWORD||void 0,configPath:_.CONFIG_PATH||"./config.json",aiGatewayEnabled:Z(_.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:_.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:_.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:_.STRIPE_WEBHOOK_SECRET,stripeSecretKey:_.STRIPE_SECRET_KEY,stripeOrgPriceId:_.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:IW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:yW("STUDIO_TOPUP_FEE_PERCENT",_.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:Z(_.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:B("STUDIO_FREE_TASKS",_.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:B("STUDIO_MONTHLY_TASKS",_.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:B("STUDIO_MAX_RUNS_PER_TASK",_.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:Z(_.ENABLE_DECO_IMPORT),hostingControlPlaneGa:Z(_.HOSTING_CONTROL_PLANE_GA),monitorGa:Z(_.MONITOR_GA),plansEnabled:Z(_.STUDIO_PLANS_ENABLED),mcpCacheEnabled:Sm(_.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:_.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:Z(_.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:B("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",_.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:B("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",_.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:Sm(_.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:B("BOARD_TRANSITION_SETTLE_SECONDS",_.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:B("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",_.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:_.S3_ENDPOINT,s3Bucket:_.S3_BUCKET,s3Region:_.S3_REGION||"auto",s3AccessKeyId:_.S3_ACCESS_KEY_ID,s3SecretAccessKey:_.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:VW(_.S3_FORCE_PATH_STYLE),monitoringS3Bucket:_.MONITORING_S3_BUCKET,monitoringS3Endpoint:_.MONITORING_S3_ENDPOINT,monitoringS3Region:_.MONITORING_S3_REGION,monitoringS3AccessKeyId:_.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:_.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:_.MONITORING_S3_PREFIX,duckdbExtensionDirectory:_.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:_.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:fm("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:SW(D_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Sm(_.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:Z(_.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:Z(_.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:Z(_.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:B("SANDBOX_RELEASE_GRACE_MS",_.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:_.DECO_SUPABASE_URL,decoSupabaseServiceKey:_.DECO_SUPABASE_SERVICE_KEY,controlplaneRestUrl:_.CONTROLPLANE_REST_URL,controlplaneServiceToken:_.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:_.ANALYTICS_URL,analyticsMasterToken:_.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:_.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:_.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:_.CLICKHOUSE_ANALYTICS_PASSWORD,customerLakeUrl:_.CUSTOMER_LAKE_URL,customerLakeAdminUsername:_.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:_.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:_.CUSTOMER_LAKE_TENANT_SECRET,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:D_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:D_(_.REPORTS_INTERNAL_API_KEY,_.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:_.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:_.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:_.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:_.S3_TENANT_PUBLIC_URL_BASE||"https://assets.decocms.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY,deliveryR2AccountId:_.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:_.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:_.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:_.DELIVERY_R2_BUCKET,deliveryR2Endpoint:_.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:_.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:_.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:_.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:_.CF_PURGE_API_TOKEN};if(Boolean(K.natsUser)!==Boolean(K.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(K.natsCredsPath&&K.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(K.plansEnabled&&!K.studioJwtSecret)throw Error("STUDIO_PLANS_ENABLED requires an explicit gateway JWT secret. Set STUDIO_JWT_SECRET (or its legacy alias MESH_JWT_SECRET) to the same value as the gateway's MESH_JWT_SECRET. Refusing to fall back to BETTER_AUTH_SECRET: that mismatch 401s every entitlements call, which every feature gate reads as 'no answer' and fails OPEN.");if(K.plansEnabled&&!K.studioProvisionSecretKey)throw Error("STUDIO_PLANS_ENABLED requires STUDIO_PROVISION_SECRET_KEY, set to the same value as the gateway's STUDIO_PROVISION_KEY. Without it the gateway cannot identify this server, falls back to a per-user membership callback that 401s for any user who never completed the gateway OAuth flow, and every feature gate then fails OPEN.");if(K.plansEnabled&&!K.aiGatewayEnabled)throw Error("STUDIO_PLANS_ENABLED requires DECO_AI_GATEWAY_ENABLED=true. Plans are read from the gateway; with it disabled there is no adapter to ask, so every feature gate fails OPEN on both server and client and the paid product is free fleet-wide.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>0&&!K.aiGatewayAdminToken)throw Error("STRIPE_PLAN_PRICE_IDS is set but DECO_AI_GATEWAY_ADMIN_TOKEN is not. The Stripe webhook places the paid tier through the gateway's admin API, so without the token a customer is charged and the entitlement "+"is never granted \u2014 and AI_PLAN_SET cannot repair it, it accepts only "+"'free'.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>1&&!K.stripePortalConfigurationId)console.warn("STRIPE_PLAN_PRICE_IDS maps more than one plan but STRIPE_PORTAL_CONFIGURATION_ID is unset. An org that already has a subscription cannot change tier: the account's default portal configuration lists only the legacy plans, not the tiers, so Stripe refuses the update flow. First-time checkout is unaffected.");return K}var wW=null;function K_(){return wW??=Object.freeze(Ez(process.env))}import{createContextKey as qW,metrics as iW,propagation as X8,ROOT_CONTEXT as Z8,SpanStatusCode as W8,trace as cW}from"@opentelemetry/api";import{logs as hW,SeverityNumber as Am}from"@opentelemetry/api-logs";import{OTLPLogExporter as F8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as tW}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as H8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as R8}from"@opentelemetry/instrumentation-runtime-node";import{context as E5,propagation as $5,SpanKind as P5,SpanStatusCode as U5}from"@opentelemetry/api";var Q5=globalThis.fetch;import{ExportResultCode as B5}from"@opentelemetry/core";import{ExportResultCode as Nx}from"@opentelemetry/core";import{mkdir as kW,rename as nW,writeFile as vW}from"fs/promises";import{join as mx}from"path";class Tx{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:Nx.FAILED});for(let x of _){let u=JSON.stringify(x),N=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:N,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Nx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:Nx.FAILED}});return Promise.resolve({code:Nx.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 K of _){let m=x.get(K.partition);if(!m)m=[],x.set(K.partition,m);m.push(K.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([K,m])=>this.writeNDJSON(m,K).then(()=>K))),N=u.find((K)=>K.status==="rejected");if(N){let K=new Set;for(let T of u)if(T.status==="fulfilled")K.add(T.value);let m=_.filter((T)=>!K.has(T.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let T of this.bufferItems)this.bufferBytes+=Buffer.byteLength(T.json,"utf8")+1;throw N.reason}}async writeNDJSON(_,x){let u=new Date,N=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],K=x?mx(this.basePath,x,...N):mx(this.basePath,...N);if(!this.knownDirs.has(K))await kW(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=mx(K,`.${m}.tmp`),z=mx(K,m),E=_.join(`
2383
2383
  `)+`
2384
2384
  `;await vW(T,E,{mode:384}),await nW(T,z)}}import{ExportResultCode as A5}from"@opentelemetry/core";import{AggregationTemporality as y5,DataPointType as V5}from"@opentelemetry/sdk-metrics";import{ExportResultCode as g5}from"@opentelemetry/core";var h5=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as V8,LoggerProvider as w8}from"@opentelemetry/sdk-logs";import{detectResources as n8,envDetector as v8,hostDetector as p8,osDetector as g8,processDetector as q8,resourceFromAttributes as i8}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as h8}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as a5}from"@opentelemetry/api-logs";import{NodeSDK as a8}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as l8,SamplingDecision as N_}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as b5}from"@opentelemetry/api";var oW="__d",aW=qW("Current request"),rW=1;var Pz=(_)=>{let u=new URL(_.url).searchParams.get(oW);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class Uz{inner;constructor(_){this.inner=_}shouldSample(_,x,u,N,K,m){let T=_.getValue(aW);if(!T){if(this.inner)return this.inner.shouldSample(_,x,u,N,K,m);return{decision:N_.RECORD_AND_SAMPLED}}let z=Pz(T);if(z)return{decision:N_.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":z}};if(this.inner){let E=this.inner.shouldSample(_,x,u,N,K,m);if(E.decision===N_.RECORD_AND_SAMPLED){let $=crypto.randomUUID();E.attributes={...E.attributes??{},"trace.debug.id":$}}return E}return{decision:N_.NOT_RECORD}}toString(){return"DebugSampler"}}class Jz{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:N_.RECORD_AND_SAMPLED};return{decision:N_.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var d8=new tW({preventServerStart:!0}),b8=new Uz(new Jz(rW));var $z=cW.getTracer("studio","1.0.0"),H_=iW.getMeter("studio","1.0.0"),lW=hW.getLogger("studio","1.0.0"),Im=(_,x,u)=>{let N={},K=u,m=u[u.length-1];if(m!==null&&typeof m==="object"&&!Array.isArray(m)&&!(m instanceof Error)&&Object.getPrototypeOf(m)===Object.prototype)N=m,K=u.slice(0,-1);let T=K.map((z)=>{if(z instanceof Error)return`${z.name}: ${z.message}`;if(typeof z==="object")try{return JSON.stringify(z)}catch{return"[Object]"}return String(z)}).join(" ");lW.emit({severityNumber:_,severityText:x,body:T,attributes:{"log.source":"console",...N}})},ym={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{Im(Am.ERROR,"ERROR",_),ym.error(..._)};console.warn=(..._)=>{Im(Am.WARN,"WARN",_),ym.warn(..._)};console.debug=(..._)=>{Im(Am.DEBUG,"DEBUG",_),ym.debug(..._)};var Vm,Qz=0,wm=500;function eW(){if(Vm)return;let _=performance.now()+wm;Vm=setInterval(()=>{let x=performance.now();Qz=Math.max(0,x-_),_=x+wm},wm),Vm.unref?.()}function Xz(){return eW(),Qz}var bW=()=>H_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Zz=()=>H_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Wz=400,sW=100,_9=(_)=>({"db.status":_.level==="error"?"error":"success"}),x9=(_)=>(x)=>{let u=_9(x);if(x.queryDurationMillis>Wz){let N=Xz(),K=N>Wz/2;console.error(K?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(N),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:zx()}})}if(bW().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function u9(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let N=performance.now(),K=zx(),m=_.idleCount===0&&_.totalCount>=K,T=_.idleCount;return x().then((z)=>{let E=performance.now()-N;if(Zz().record(E,{"db.pool.outcome":m?"contended":"available"}),E>sW)if(m)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:E,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:K});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:E,idleAtStart:T,total:_.totalCount,max:K});return z},(z)=>{throw Zz().record(performance.now()-N,{"db.pool.outcome":"error"}),z})},_}var Fz={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Yz(){try{return K_().databasePgSsl}catch{return!1}}function zx(){try{return K_().databasePoolMax}catch{return 10}}function C9(_){let x=u9(new Lz({connectionString:_,max:zx(),ssl:Yz(),...Fz})),u=new jz({pool:x});return{type:"postgres",db:new dW({dialect:u,log:x9(x)}),pool:x}}function R_(){return K_().databaseUrl}function Dz(_){let x=_||R_();return new jz({pool:new Lz({connectionString:x,max:zx(),ssl:Yz(),...Fz})})}function K9(_){let x=_||R_();return C9(x)}async function Hz(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===M_)M_=null}var M_=null;function km(){if(!M_)M_=K9(R_());return M_}async function Mz(_){let u={database:Dz(_||R_()),plugins:[T9({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),z9(),E9(),$9(),J9(),U9({loginPage:"/login"}),m9(),P9({sendMagicLink:async()=>{}}),Q9({sendVerificationOTP:async()=>{}})]},{toBeAdded:N,toBeCreated:K,runMigrations:m}=await N9(u);if(!N.length&&!K.length)return"up to date";return await m(),`${K.length+N.length} table(s) migrated`}async function nm(_,x){return(await o`
2385
2385
  SELECT table_name FROM information_schema.tables