decocms 4.505.2 → 4.506.0

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 (384) hide show
  1. package/dist/client/assets/{ActiveShapeUtils-BGmgNUi8.js → ActiveShapeUtils-YBOj2cK0.js} +1 -1
  2. package/dist/client/assets/{AlertCircle-BIhx1OOA.js → AlertCircle-SlWthUo-.js} +1 -1
  3. package/dist/client/assets/{AreaChart-NTOYQV4b.js → AreaChart-D7jrbsmW.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-C_xMypbp.js → ArrowLeft-KHwg-gY7.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-D8ia-BLP.js → ArrowUp-DcS4NtQu.js} +1 -1
  6. package/dist/client/assets/{BarChart-z81pvLho.js → BarChart-C_clG8Ob.js} +1 -1
  7. package/dist/client/assets/{Building02-Bu9sfjbg.js → Building02-CNZjLCzO.js} +1 -1
  8. package/dist/client/assets/{CategoricalChart-DVVR_K8B.js → CategoricalChart-DlYOL7Yr.js} +1 -1
  9. package/dist/client/assets/{CheckCircle-C0zUZT_f.js → CheckCircle-BmoiDiMI.js} +1 -1
  10. package/dist/client/assets/{ChevronSelectorVertical-BXcOXVLY.js → ChevronSelectorVertical-DKuBdQt_.js} +1 -1
  11. package/dist/client/assets/{ChevronUp-BNQKU6Cu.js → ChevronUp-BZdHrdSa.js} +1 -1
  12. package/dist/client/assets/{Copy01-7StEdMvr.js → Copy01-CuZQqOx0.js} +1 -1
  13. package/dist/client/assets/{CreditCard01-B-OOpOuj.js → CreditCard01-Dy-cJWaD.js} +1 -1
  14. package/dist/client/assets/{DotsVertical-DlD0BohB.js → DotsVertical-BRx6WGDK.js} +1 -1
  15. package/dist/client/assets/{ErrorBarContext-DyfMq1Vf.js → ErrorBarContext-C_eBf_yb.js} +1 -1
  16. package/dist/client/assets/{Globe04-CkYPSYr8.js → Globe04-C14EHEAN.js} +1 -1
  17. package/dist/client/assets/{Image01-DH2NgDr7.js → Image01-B4ADQjw6.js} +1 -1
  18. package/dist/client/assets/{Key01-DPrJgF_f.js → Key01-DFRkR5rw.js} +1 -1
  19. package/dist/client/assets/{Link01-EwrQnCAj.js → Link01-HNlOmSEO.js} +1 -1
  20. package/dist/client/assets/{LinkBroken01-CKnd9LCY.js → LinkBroken01-ZJSQiUDy.js} +1 -1
  21. package/dist/client/assets/{Monitor01-BSew-T8c.js → Monitor01-D6P0fhgC.js} +1 -1
  22. package/dist/client/assets/{Play-bKNPMcOD.js → Play-BUzibowQ.js} +1 -1
  23. package/dist/client/assets/{Plus-C1jGf_Gu.js → Plus-DMw0rYpl.js} +1 -1
  24. package/dist/client/assets/{SearchMd-DjoAJ_aH.js → SearchMd-5zzeWTKY.js} +1 -1
  25. package/dist/client/assets/{Sector-_F0EuVMq.js → Sector-DhHL2rjm.js} +1 -1
  26. package/dist/client/assets/{ShoppingBag01-BynB5rGF.js → ShoppingBag01-JCO9eh6X.js} +1 -1
  27. package/dist/client/assets/{Sun-B5VGOrX8.js → Sun-CZj_t7ip.js} +1 -1
  28. package/dist/client/assets/{SwitchHorizontal01-CoAm6c3b.js → SwitchHorizontal01-DFdRxYUn.js} +1 -1
  29. package/dist/client/assets/{Tool01-gHo5_usT.js → Tool01-BM2irxFF.js} +1 -1
  30. package/dist/client/assets/{Trash01-B2L35h4N.js → Trash01-DCBnmu5P.js} +1 -1
  31. package/dist/client/assets/{Upload01-BmOSnWKa.js → Upload01-CGS2ebmt.js} +1 -1
  32. package/dist/client/assets/{User01-DeoupK5c.js → User01-Cs-eJ-Db.js} +1 -1
  33. package/dist/client/assets/{UserSquare-DGLSfuGI.js → UserSquare-DwswTgw8.js} +1 -1
  34. package/dist/client/assets/{Users01-staROqDK.js → Users01-B4Uysmrx.js} +1 -1
  35. package/dist/client/assets/{XAxis-BkGXfrFX.js → XAxis-Bq2-riEp.js} +1 -1
  36. package/dist/client/assets/{XClose-SgZ1xYAr.js → XClose-B6X-WQEL.js} +1 -1
  37. package/dist/client/assets/{ZoomOut-GzEhPwmD.js → ZoomOut-CPMInjM1.js} +1 -1
  38. package/dist/client/assets/{access-gate-CZeXfxLf.js → access-gate-CHtG4vI8.js} +1 -1
  39. package/dist/client/assets/{add-connection-dialog-BGa3ZBmA.js → add-connection-dialog-gHKHol-P.js} +1 -1
  40. package/dist/client/assets/{agent-analytics-DPwSJREO.js → agent-analytics-DXbNELON.js} +1 -1
  41. package/dist/client/assets/agent-app-Cv__AOVM.js +1 -0
  42. package/dist/client/assets/{agent-assets-DCX0ywK3.js → agent-assets-DMv6anfA.js} +1 -1
  43. package/dist/client/assets/{agent-automation-Ddwg84ee.js → agent-automation-ClB242hY.js} +1 -1
  44. package/dist/client/assets/{agent-automations-CMrVMHoV.js → agent-automations-BfSWMz7r.js} +1 -1
  45. package/dist/client/assets/{agent-connect-sources-DyZZpidr.js → agent-connect-sources-1y7VsJ7D.js} +1 -1
  46. package/dist/client/assets/agent-deck-Du1mMR-E.js +1 -0
  47. package/dist/client/assets/{agent-e2e-LNoWf1q1.js → agent-e2e-VfJQEaZF.js} +1 -1
  48. package/dist/client/assets/{agent-experiments-DhSnChQH.js → agent-experiments-BIloXgen.js} +1 -1
  49. package/dist/client/assets/{agent-file-D7lhfRwe.js → agent-file-DHb7VoiQ.js} +1 -1
  50. package/dist/client/assets/{agent-hosting-z-dkVRLB.js → agent-hosting-Dd3LktbV.js} +1 -1
  51. package/dist/client/assets/{agent-icon-Cgp1-Rbx.js → agent-icon-DPEjJB4e.js} +1 -1
  52. package/dist/client/assets/agent-library-file-vb-6Hjtp.js +1 -0
  53. package/dist/client/assets/agent-library-pAGySVEX.js +1 -0
  54. package/dist/client/assets/{agent-monitor-lcAtszWh.js → agent-monitor-Bqq_5OKe.js} +1 -1
  55. package/dist/client/assets/{agent-overview-A0XZkNZX.js → agent-overview-CzK1M8k2.js} +1 -1
  56. package/dist/client/assets/{agent-releases-CdrTvT-G.js → agent-releases-CycYtkVh.js} +1 -1
  57. package/dist/client/assets/agent-settings-6lU0Rtg1.js +1 -0
  58. package/dist/client/assets/{agent-site-editor-rsHLltUo.js → agent-site-editor-DHhqBK5P.js} +1 -1
  59. package/dist/client/assets/agent-site-editor-code-C0sVCVRO.js +2 -0
  60. package/dist/client/assets/agent-site-editor-content-DuKM0OyF.js +1 -0
  61. package/dist/client/assets/agent-site-editor-preview-QBPik_OC.js +1 -0
  62. package/dist/client/assets/agent-view-DcW4UHjt.js +1 -0
  63. package/dist/client/assets/{agent-view-guard-qqtbmzn8.js → agent-view-guard-D6GUEcFf.js} +1 -1
  64. package/dist/client/assets/{agents-list-Bl683eN3.js → agents-list-BEIvacYR.js} +1 -1
  65. package/dist/client/assets/ai-providers-0X1DCh96.js +6 -0
  66. package/dist/client/assets/{alert-CBqUZF_B.js → alert-BpZ59_Gc.js} +1 -1
  67. package/dist/client/assets/{alert-dialog-CWY9Kc3Y.js → alert-dialog-DOc9sMK7.js} +1 -1
  68. package/dist/client/assets/{analytics-sections-CaEiZicR.js → analytics-sections-ShUUJbGz.js} +1 -1
  69. package/dist/client/assets/{api-keys-ZpWV4LWE.js → api-keys-BDfZvFu9.js} +1 -1
  70. package/dist/client/assets/api-keys-CX0eTNjr.js +1 -0
  71. package/dist/client/assets/{app-editor-CpBb0p40.js → app-editor-BWwoXiez.js} +1 -1
  72. package/dist/client/assets/{asset-utils-xrLuSjSE.js → asset-utils-BpRYKiOA.js} +1 -1
  73. package/dist/client/assets/{auth-DN7Bvt0x.js → auth-Bew9bJSh.js} +1 -1
  74. package/dist/client/assets/{auth-catchall-LDgnpYFX.js → auth-catchall-BZM_DFXE.js} +1 -1
  75. package/dist/client/assets/{auth-entry-DBQx8en_.js → auth-entry-C0pPXrpQ.js} +1 -1
  76. package/dist/client/assets/{auth-split-layout-Fwc5hwZ5.js → auth-split-layout-D4mHxU2I.js} +1 -1
  77. package/dist/client/assets/{authenticate-and-persist-oauth-DxbO9IXQ.js → authenticate-and-persist-oauth-Bg2qSKP5.js} +1 -1
  78. package/dist/client/assets/{automation-list-row-D5qFdHQB.js → automation-list-row-Du_X7bLQ.js} +1 -1
  79. package/dist/client/assets/{automation-runs-DcR0jeNA.js → automation-runs-K0640sJi.js} +1 -1
  80. package/dist/client/assets/{automations-Dityp5_M.js → automations-1ZKwiBVj.js} +1 -1
  81. package/dist/client/assets/{autosend-CGqWx5OM.js → autosend-BM8Gkro6.js} +1 -1
  82. package/dist/client/assets/{avatar-BEzB55DL.js → avatar-Cf8ensdm.js} +1 -1
  83. package/dist/client/assets/{badge-BH_WGjDS.js → badge-u-FEcB1F.js} +1 -1
  84. package/dist/client/assets/{block-document-5J5cVbgF.js → block-document-rnpU1D6O.js} +1 -1
  85. package/dist/client/assets/{blocks-preview-workspace-context-Cbvinja6.js → blocks-preview-workspace-context-Dz4R0igJ.js} +1 -1
  86. package/dist/client/assets/{blocks-tab-states-Cr3Mgd7m.js → blocks-tab-states-Dbou5tyV.js} +3 -3
  87. package/dist/client/assets/{blog-schema-Izy6f_kE.js → blog-schema-BLwhAB4M.js} +1 -1
  88. package/dist/client/assets/{board-analytics-DmM8aqHX.js → board-analytics-vn1KvhHP.js} +1 -1
  89. package/dist/client/assets/{buckets-geowc7lF.js → buckets-CkiliZPf.js} +1 -1
  90. package/dist/client/assets/{build-improve-prompt-doc-5cXWIMm8.js → build-improve-prompt-doc-BGKwjyz_.js} +1 -1
  91. package/dist/client/assets/{calendar-D2pB4wtO.js → calendar-Cms_t32w.js} +1 -1
  92. package/dist/client/assets/{capability-load-error-Dds-uRz2.js → capability-load-error-Btsxhikd.js} +1 -1
  93. package/dist/client/assets/{category-editor-BTiGDErD.js → category-editor-BIFxkSOg.js} +1 -1
  94. package/dist/client/assets/{chart-BES0Ixch.js → chart-WIORlSk5.js} +1 -1
  95. package/dist/client/assets/{chat-context-DnIdZBaI.js → chat-context-CXuTB4t_.js} +1 -1
  96. package/dist/client/assets/{chat-draft-CRVPT9el.js → chat-draft-BfZZImrW.js} +1 -1
  97. package/dist/client/assets/{checkbox-Uc-RZ_Vx.js → checkbox-39Y4Yvzb.js} +1 -1
  98. package/dist/client/assets/{choose-editor-tZFlebbQ.js → choose-editor-A6KbDeMD.js} +1 -1
  99. package/dist/client/assets/{cli-auth-success-CRs28Mxh.js → cli-auth-success-CBQcY2ti.js} +1 -1
  100. package/dist/client/assets/{client-icons-mh3r1xQL.js → client-icons-CkJbp7Kf.js} +1 -1
  101. package/dist/client/assets/cms-settings-editor-CCE6WfjP.js +1 -0
  102. package/dist/client/assets/{collapsible-Ds-16t3Z.js → collapsible-DQScoiBp.js} +1 -1
  103. package/dist/client/assets/{collection-detail-BUD1Fj-1.js → collection-detail-CTj1twku.js} +1 -1
  104. package/dist/client/assets/{collection-display-button-B4UCXL7F.js → collection-display-button-2k7Qd1eY.js} +1 -1
  105. package/dist/client/assets/{collection-search-DRsC_wPy.js → collection-search-BvWeMsnW.js} +1 -1
  106. package/dist/client/assets/{collection-table-wrapper-B4kBTbV1.js → collection-table-wrapper-KHKDw1rQ.js} +1 -1
  107. package/dist/client/assets/{collection-tabs-G4I4mgEg.js → collection-tabs-DMN1FKAg.js} +1 -1
  108. package/dist/client/assets/{column-rules-Bx5p17lP.js → column-rules-J5zEqDKI.js} +1 -1
  109. package/dist/client/assets/{combobox-BjJigzYO.js → combobox-BbEIMkIW.js} +1 -1
  110. package/dist/client/assets/{command-DYQfaTJP.js → command-bEQWkHWl.js} +1 -1
  111. package/dist/client/assets/{companion-mcps-section-g374jTYK.js → companion-mcps-section-C9zrMUWG.js} +1 -1
  112. package/dist/client/assets/{config-TpF0U9xK.js → config-oRqWYZBw.js} +1 -1
  113. package/dist/client/assets/{connect-CX0GhSHk.js → connect-CpChXP6m.js} +1 -1
  114. package/dist/client/assets/{connect-layout-BMKwPFI2.js → connect-layout-7yNDEshW.js} +1 -1
  115. package/dist/client/assets/{connection-Chcd5gfb.js → connection-DE10KgqA.js} +1 -1
  116. package/dist/client/assets/{connection-card-BZ2hvQNx.js → connection-card-f5vHryIM.js} +1 -1
  117. package/dist/client/assets/{connection-detail-F-9yuMeT.js → connection-detail-BvxmL1lP.js} +1 -1
  118. package/dist/client/assets/{connection-form-helpers-CYVYxK9g.js → connection-form-helpers-iXh508wY.js} +1 -1
  119. package/dist/client/assets/{connections-BrK9YMjs.js → connections-uyNi3ziJ.js} +1 -1
  120. package/dist/client/assets/{content-tab-KxngU340.js → content-tab-DbhBHZG2.js} +3 -3
  121. package/dist/client/assets/{context-tSOe45h9.js → context-RzldR5hI.js} +1 -1
  122. package/dist/client/assets/{context-menu-BXe1H0QA.js → context-menu-Bu-wDHbx.js} +1 -1
  123. package/dist/client/assets/{core.esm-CPRa5yRj.js → core.esm-BOurIsL2.js} +1 -1
  124. package/dist/client/assets/{create-organization-dialog-B9kEJeCB.js → create-organization-dialog-BYS8yCkD.js} +1 -1
  125. package/dist/client/assets/{daily-pulse-BA8HcQTn.js → daily-pulse-B0nm37Wk.js} +1 -1
  126. package/dist/client/assets/{discover-ut7HMfOm.js → discover-C3-2Xsml.js} +1 -1
  127. package/dist/client/assets/{domain-settings-DReys8Mx.js → domain-settings-DJWETZdb.js} +1 -1
  128. package/dist/client/assets/{drawer-WlRFS7Ay.js → drawer-SYkf9S3t.js} +1 -1
  129. package/dist/client/assets/{editor-DATgPuQr.js → editor-50pL9wJq.js} +1 -1
  130. package/dist/client/assets/{editor-classes-Dqv6lj24.js → editor-classes-tT6DS3c0.js} +1 -1
  131. package/dist/client/assets/{empty-state-moJi-5lI.js → empty-state-BBRtoH8X.js} +1 -1
  132. package/dist/client/assets/{empty-state-B1yxQlJg.js → empty-state-BEo1idJ2.js} +1 -1
  133. package/dist/client/assets/{extract-connection-data--Fovqgj9.js → extract-connection-data-BXwLKN9Y.js} +1 -1
  134. package/dist/client/assets/{feature-gate-DijBSCNJ.js → feature-gate-CmK7hW3c.js} +1 -1
  135. package/dist/client/assets/{feature-paywall-v1Fb6fZF.js → feature-paywall-B6WYRGmt.js} +1 -1
  136. package/dist/client/assets/{file-explorer-CisB6hMY.js → file-explorer-BmA6nLXP.js} +1 -1
  137. package/dist/client/assets/{file-preview-BUCUOt-k.js → file-preview-navJIo3Y.js} +1 -1
  138. package/dist/client/assets/{file-share-button-BUqpTgXp.js → file-share-button-By02TUaE.js} +1 -1
  139. package/dist/client/assets/{file-type-icon-IzZjwu7K.js → file-type-icon-CXYODp5S.js} +1 -1
  140. package/dist/client/assets/flat-project-CVEZo8Pd.js +1 -0
  141. package/dist/client/assets/{folder-icon-Bsi0vn7I.js → folder-icon-CPUJWTIk.js} +1 -1
  142. package/dist/client/assets/{form-DSbydQ9O.js → form-CSMe0Xu2.js} +1 -1
  143. package/dist/client/assets/{general-DcBh6hf3.js → general-BCOJVftC.js} +1 -1
  144. package/dist/client/assets/{home-Bq-bjcAt.js → home-rN3gPNj9.js} +1 -1
  145. package/dist/client/assets/{hosted-publish-feedback-C0L18XKn.js → hosted-publish-feedback-cq97qRwz.js} +1 -1
  146. package/dist/client/assets/{icon-button-C0jFpnCv.js → icon-button-jj21Pfs7.js} +1 -1
  147. package/dist/client/assets/{index-CeKAW7ia.js → index-6vyUSmHY.js} +1 -1
  148. package/dist/client/assets/{index-BOYIuRkz.js → index-9Jrp3KlM.js} +1 -1
  149. package/dist/client/assets/{index-Bio6kNpV.js → index-B7U88B6N.js} +1 -1
  150. package/dist/client/assets/{index-BQ2qZBgx.js → index-BFoj7reh.js} +1 -1
  151. package/dist/client/assets/{index-_CyfhGXa.js → index-BaYKytFu.js} +1 -1
  152. package/dist/client/assets/{index-DCKP2AL5.js → index-CnqqaukI.js} +1 -1
  153. package/dist/client/assets/{index-C1tHNU3p.js → index-DEDDgDGK.js} +1 -1
  154. package/dist/client/assets/{index-BiA-t4Hy.js → index-DKVv-34T.js} +1 -1
  155. package/dist/client/assets/{index-D7sc3WaJ.js → index-DRz4ZqDU.js} +1 -1
  156. package/dist/client/assets/{index-B4FWh-TU.js → index-D_zg5lyX.js} +1 -1
  157. package/dist/client/assets/{index-wFdxw2k_.js → index-DmJJi5Aj.js} +5 -5
  158. package/dist/client/assets/{index-CpsTTiQE.js → index-Du7SnZ-C.js} +1 -1
  159. package/dist/client/assets/{index-DR8Su143.js → index-Dz84h2Uh.js} +1 -1
  160. package/dist/client/assets/{index-WULssi-Q.js → index-Yt-1DNw6.js} +3 -3
  161. package/dist/client/assets/{index-BbDc7Y9O.js → index-lvmhjtam.js} +1 -1
  162. package/dist/client/assets/{index-redirect-w-0W0NUM.js → index-redirect-CPDHoWP-.js} +1 -1
  163. package/dist/client/assets/{infiniteQueryObserver-1Nb7ygTX.js → infiniteQueryObserver-DMUM7SCu.js} +1 -1
  164. package/dist/client/assets/{infra-billing-hV6CHYxH.js → infra-billing-DNOr1seX.js} +1 -1
  165. package/dist/client/assets/{input-CzNDxW-p.js → input-BH4Oxr1L.js} +1 -1
  166. package/dist/client/assets/{input-Ceh9947-.js → input-YsTzlSvU.js} +3 -3
  167. package/dist/client/assets/{integration-icon-BPag0HQm.js → integration-icon-DQxxCK04.js} +1 -1
  168. package/dist/client/assets/{jira-icon-ifmeQn21.js → jira-icon-CPUmww9A.js} +1 -1
  169. package/dist/client/assets/{label-CQYxH0TR.js → label-DXaPh7Je.js} +1 -1
  170. package/dist/client/assets/{layout-CdChXOi6.js → layout-DQ66qmO9.js} +1 -1
  171. package/dist/client/assets/{legacy-agents-deep-BtUjTNH_.js → legacy-agents-deep-BNVqjDv8.js} +1 -1
  172. package/dist/client/assets/{legacy-main-redirect-CGRT9wAN.js → legacy-main-redirect-Np53PuYT.js} +1 -1
  173. package/dist/client/assets/library-D66pbYEa.js +1 -0
  174. package/dist/client/assets/{library-tab-nrpvyINN.js → library-tab-Bq6k_3IG.js} +1 -1
  175. package/dist/client/assets/{login-DQqSSnqy.js → login-DBsx92_o.js} +1 -1
  176. package/dist/client/assets/{markdown-DurQwPzV.js → markdown-CF_EwD8u.js} +1 -1
  177. package/dist/client/assets/{mcp-app-renderer-NiFsT2pJ.js → mcp-app-renderer-SLcpw_GO.js} +1 -1
  178. package/dist/client/assets/{mcp-oauth-Dff3yojn.js → mcp-oauth-BPsTeQb9.js} +1 -1
  179. package/dist/client/assets/{mcp-oauth-XpCTKkfu.js → mcp-oauth-CzbNzM03.js} +1 -1
  180. package/dist/client/assets/{members-DMVi5o98.js → members-BNplg4tN.js} +1 -1
  181. package/dist/client/assets/{memory-DIF2ywrA.js → memory-Be-EH5Kw.js} +1 -1
  182. package/dist/client/assets/{mini-report-page-DHPkzjD_.js → mini-report-page-MmikJINJ.js} +1 -1
  183. package/dist/client/assets/{mock-board-BOb4XDb6.js → mock-board-BaHvboTU.js} +1 -1
  184. package/dist/client/assets/{monaco-editor-Dct1EfHT.js → monaco-editor-dPYi6L5q.js} +1 -1
  185. package/dist/client/assets/{monitoring-stats-row-DMDJZVd2.js → monitoring-stats-row-C8PGI7z7.js} +1 -1
  186. package/dist/client/assets/{multi-select-Cn966z1g.js → multi-select-BzwMWM94.js} +1 -1
  187. package/dist/client/assets/{mustache-BYEVEnz3.js → mustache-DhZHK7zV.js} +1 -1
  188. package/dist/client/assets/{new-project-dialog-BDSi2lYl.js → new-project-dialog-x3CgBcBd.js} +1 -1
  189. package/dist/client/assets/{oauth-callback-DXdUEFpc.js → oauth-callback-DwnwB6UW.js} +1 -1
  190. package/dist/client/assets/{oauth-callback-ai-provider-DlAWIja6.js → oauth-callback-ai-provider-Cq1iMkGk.js} +1 -1
  191. package/dist/client/assets/{onboarding-SJ6Q72M4.js → onboarding-fQG5r2FK.js} +1 -1
  192. package/dist/client/assets/{openai-conversation-lYlmwIzY.js → openai-conversation-KVcfBBc6.js} +1 -1
  193. package/dist/client/assets/{optimistic-project-sidebar-views-Bp7eA4v5.js → optimistic-project-sidebar-views-DNYS7Cn_.js} +1 -1
  194. package/dist/client/assets/{order-monitor-day-t8Y-HAbt.js → order-monitor-day-CIjpWX2N.js} +1 -1
  195. package/dist/client/assets/{organization-choice-xE4qpP6H.js → organization-choice-CLkvC5Cb.js} +1 -1
  196. package/dist/client/assets/{orgs-BnzYsVdt.js → orgs-CMEfgf3N.js} +1 -1
  197. package/dist/client/assets/{page-seo-form-Dm5HWm7X.js → page-seo-form-BlD1QdAg.js} +1 -1
  198. package/dist/client/assets/{pair-B_9py9M_.js → pair-DP5ED0n_.js} +1 -1
  199. package/dist/client/assets/{plan-ladder-hsk9sMi3.js → plan-ladder-zWIPqL-O.js} +1 -1
  200. package/dist/client/assets/{popover-B8WQyYwE.js → popover-fYvCFbz-.js} +1 -1
  201. package/dist/client/assets/{post-calendar-HzlqyoFX.js → post-calendar-D1yzYd4M.js} +1 -1
  202. package/dist/client/assets/{post-editor-_yiJ-Kct.js → post-editor-BXUHohyr.js} +1 -1
  203. package/dist/client/assets/{preview-content-B8YyjekZ.js → preview-content-CmfLKt3D.js} +1 -1
  204. package/dist/client/assets/{preview-dialog-bksJINeP.js → preview-dialog-C5CJFtZe.js} +1 -1
  205. package/dist/client/assets/{preview-panel-B8wW3oOG.js → preview-panel-16KeEdoG.js} +1 -1
  206. package/dist/client/assets/{preview-tab-D_zCwBYM.js → preview-tab-DhgHL0WN.js} +3 -3
  207. package/dist/client/assets/{product-picker-dialog-DbDjfkAQ.js → product-picker-dialog-tVZq0CDa.js} +1 -1
  208. package/dist/client/assets/{profile-DdCmH2hW.js → profile-CIMiHvG6.js} +1 -1
  209. package/dist/client/assets/{project-app-view-ChMgcNAY.js → project-app-view-CWtv42hH.js} +1 -1
  210. package/dist/client/assets/{project-feed-CB9OPO_N.js → project-feed-DMV42khD.js} +1 -1
  211. package/dist/client/assets/{project-icon-BwmwhXEd.js → project-icon-DijKHVuo.js} +1 -1
  212. package/dist/client/assets/project-reports-BXZYOXjl.js +1 -0
  213. package/dist/client/assets/project-tasks-JG50DV7s.js +1 -0
  214. package/dist/client/assets/{projects-BmqEzMnN.js → projects-BVF2wGAY.js} +1 -1
  215. package/dist/client/assets/{projects-empty-state-BscYKwea.js → projects-empty-state-CdfFkgo9.js} +1 -1
  216. package/dist/client/assets/{prompts-DopKJbNh.js → prompts-D8lBj64B.js} +1 -1
  217. package/dist/client/assets/record-editor-Q4r6DK6y.js +1 -0
  218. package/dist/client/assets/{redirect-editor-Bh_26SDR.js → redirect-editor-D6GG3gU8.js} +1 -1
  219. package/dist/client/assets/reports-Dp6RE3Y_.js +1 -0
  220. package/dist/client/assets/{reports-DNvLVhhR.js → reports-DzFUAAe9.js} +1 -1
  221. package/dist/client/assets/{reports-onboarding-aJM_IDTw.js → reports-onboarding-CtCpWMWq.js} +1 -1
  222. package/dist/client/assets/{reports-tab-BMc9C4Qh.js → reports-tab-DdjqXd-P.js} +2 -2
  223. package/dist/client/assets/{repositories-BD5gqmJg.js → repositories-DvZv22_y.js} +1 -1
  224. package/dist/client/assets/{repository-binding-09n9zNFN.js → repository-binding-CteZmIva.js} +1 -1
  225. package/dist/client/assets/{repository-import-picker-DL9csYfh.js → repository-import-picker-DdjluiGQ.js} +1 -1
  226. package/dist/client/assets/{repository-picker-DABBo0DW.js → repository-picker-BHG_Q3_Y.js} +1 -1
  227. package/dist/client/assets/{require-capability-BEWYbP4S.js → require-capability-DfMvVRIs.js} +1 -1
  228. package/dist/client/assets/{required-auth-layout-BF8PRozy.js → required-auth-layout-B4Pt2844.js} +1 -1
  229. package/dist/client/assets/{reset-password-ScHjA5IF.js → reset-password-CoG-TCPT.js} +1 -1
  230. package/dist/client/assets/{resizable-DkYJhCH3.js → resizable-QOT7XwbA.js} +1 -1
  231. package/dist/client/assets/{resolve-tab-icon-BFjWL9qV.js → resolve-tab-icon-BDl2h0Dq.js} +1 -1
  232. package/dist/client/assets/{review-settings-BGU-nfDw.js → review-settings-CuM9As5T.js} +1 -1
  233. package/dist/client/assets/roles-B6Agdrhz.js +1 -0
  234. package/dist/client/assets/{route-C0_qtTp0.js → route-DCzETavQ.js} +1 -1
  235. package/dist/client/assets/route-GZy5TvX0.js +1 -0
  236. package/dist/client/assets/route-t5GwjFKP.js +1 -0
  237. package/dist/client/assets/{sandbox-lifecycle-context-Ue82FfDC.js → sandbox-lifecycle-context-BcfEFMah.js} +1 -1
  238. package/dist/client/assets/{schema-v1GsTRkZ.js → schema-B5twZahU.js} +1 -1
  239. package/dist/client/assets/{schema-Fm9WpUHJ.js → schema-C_Twe2CR.js} +1 -1
  240. package/dist/client/assets/{scroll-area-CB_2Aaiz.js → scroll-area-DWfW8PPp.js} +1 -1
  241. package/dist/client/assets/{search-input-BLMScalM.js → search-input-iONBjTDn.js} +1 -1
  242. package/dist/client/assets/{search-toggle-CRC9Uyem.js → search-toggle-DNrxid9T.js} +1 -1
  243. package/dist/client/assets/{secret-ciphertext-DKMPhCC7.js → secret-ciphertext-DQJA6LTs.js} +1 -1
  244. package/dist/client/assets/{secret-picker-Ct5TqLUt.js → secret-picker-RTqlv_mw.js} +1 -1
  245. package/dist/client/assets/{secrets-W81BJ6O0.js → secrets-CT-Ix4aE.js} +1 -1
  246. package/dist/client/assets/{sections-editor-CoFpY6Pb.js → sections-editor-BbVsm3CC.js} +1 -1
  247. package/dist/client/assets/{select-XSwSofuZ.js → select-7a9WvaWj.js} +1 -1
  248. package/dist/client/assets/{select-model-Dao29CnX.js → select-model-MsH0R9Xj.js} +1 -1
  249. package/dist/client/assets/{seo-editor-CXJw5HQb.js → seo-editor-0ZcLNYXq.js} +1 -1
  250. package/dist/client/assets/{separator-DKnUckca.js → separator-DVSdXQ2O.js} +1 -1
  251. package/dist/client/assets/{settings-tab-B0y-8xZD.js → settings-tab-D-_nS2xd.js} +1 -1
  252. package/dist/client/assets/{sheet-BvEf_UVQ.js → sheet-C2JlOlpD.js} +1 -1
  253. package/dist/client/assets/{shell-layout-CBiOwFtT.js → shell-layout-BDxZg9_K.js} +1 -1
  254. package/dist/client/assets/site-editor-C6vYIwH1.js +1 -0
  255. package/dist/client/assets/{site-editor-toast-DZvdp8hl.js → site-editor-toast-DISsODHI.js} +1 -1
  256. package/dist/client/assets/{skills-B9A_KuNf.js → skills-CWjsrGc5.js} +1 -1
  257. package/dist/client/assets/{slider-CIERvkTu.js → slider-04lpm0v_.js} +1 -1
  258. package/dist/client/assets/{sortable.esm-DVeag0L1.js → sortable.esm-BP__-BL2.js} +1 -1
  259. package/dist/client/assets/{sso-SHUpqa2t.js → sso-B5Zn_6ZD.js} +1 -1
  260. package/dist/client/assets/{suggestion-8feXh3Uo.js → suggestion-DFoIyeE9.js} +1 -1
  261. package/dist/client/assets/{switch-CIYZwU4n.js → switch-CFiGUTOP.js} +1 -1
  262. package/dist/client/assets/{symbol-BBXD1fl1.js → symbol-7m9tSCCw.js} +1 -1
  263. package/dist/client/assets/{synced-repos-DUkzQSzh.js → synced-repos-C4fTRc_O.js} +1 -1
  264. package/dist/client/assets/{tab-icon-glyph-Di0eKueD.js → tab-icon-glyph-DrR3rVhf.js} +1 -1
  265. package/dist/client/assets/{table-D32JWTgg.js → table-BTn9QLXW.js} +1 -1
  266. package/dist/client/assets/{tabs-DWLSC789.js → tabs-gZYZCgK2.js} +1 -1
  267. package/dist/client/assets/{task-board-CjLfzLYs.js → task-board-CieGpcMy.js} +1 -1
  268. package/dist/client/assets/{task-route-DcEcJOK4.js → task-route-Du0a6oFo.js} +1 -1
  269. package/dist/client/assets/{task-status-DCsFB7tb.js → task-status-CZXBctHo.js} +1 -1
  270. package/dist/client/assets/taskboard-analytics-C-ASxw6x.js +1 -0
  271. package/dist/client/assets/{tasks-CxWkzUmt.js → tasks-DbnjSqj8.js} +1 -1
  272. package/dist/client/assets/tasks-UazvBHEg.js +1 -0
  273. package/dist/client/assets/{textarea-BRAhDvOh.js → textarea-Bej_HjJx.js} +1 -1
  274. package/dist/client/assets/{thread-analytics-C2SSbO3U.js → thread-analytics-DlZSGBPY.js} +1 -1
  275. package/dist/client/assets/{thread-intent-DLRGXMNS.js → thread-intent-D56tMIbL.js} +1 -1
  276. package/dist/client/assets/{thread-route-zVWhMReX.js → thread-route-BNBBewOp.js} +1 -1
  277. package/dist/client/assets/{thread-route-uTiqhl-l.js → thread-route-Ch_UFE8H.js} +1 -1
  278. package/dist/client/assets/{thread-sheet-body-BxMopJ4Q.js → thread-sheet-body-BGZjdiWy.js} +1 -1
  279. package/dist/client/assets/{time-range-picker-DrHQe3U8.js → time-range-picker-DFRYI5yT.js} +1 -1
  280. package/dist/client/assets/{toggle-group-D9ChEXcL.js → toggle-group-DZg8BqTb.js} +1 -1
  281. package/dist/client/assets/{tool-namespace-B6bl3mST.js → tool-namespace-DHnrXl8N.js} +1 -1
  282. package/dist/client/assets/{toolbar-icon-button-CrX4dIfH.js → toolbar-icon-button-UMKCT0Ua.js} +1 -1
  283. package/dist/client/assets/{tooltip-BP_lFNWX.js → tooltip-yZHJwZ0_.js} +1 -1
  284. package/dist/client/assets/{tooltipContext-BwHz9WYB.js → tooltipContext-BYBEDJBX.js} +1 -1
  285. package/dist/client/assets/{track-XuWYLpsB.js → track-Cmqq1NGv.js} +1 -1
  286. package/dist/client/assets/{types-DzDNRCBv.js → types-CfDTYsf_.js} +1 -1
  287. package/dist/client/assets/{url-slug-DZjL4P4N.js → url-slug-CF34E0UB.js} +1 -1
  288. package/dist/client/assets/{usage-stats-BrfBlLKo.js → usage-stats-DK61cAbW.js} +1 -1
  289. package/dist/client/assets/{use-ai-providers-bNjYR9g2.js → use-ai-providers-CdtssKYb.js} +1 -1
  290. package/dist/client/assets/{use-app-takeover-n62Fmu8v.js → use-app-takeover-D6c6GrNl.js} +1 -1
  291. package/dist/client/assets/{use-automations-CS_cSvCE.js → use-automations-DuQ94ezs.js} +1 -1
  292. package/dist/client/assets/{use-autosave-cTT6Hu-H.js → use-autosave-Cw2uAKzO.js} +1 -1
  293. package/dist/client/assets/{use-chat-navigation-CO4_t1mA.js → use-chat-navigation-DXGdGkgT.js} +1 -1
  294. package/dist/client/assets/{use-clock-tick-DpInA1iA.js → use-clock-tick-BtNyF77k.js} +1 -1
  295. package/dist/client/assets/{use-connect-companion-XyjuBcsZ.js → use-connect-companion-BklKatzN.js} +1 -1
  296. package/dist/client/assets/{use-connection-CHo2bcMw.js → use-connection-Bdiz2xzR.js} +1 -1
  297. package/dist/client/assets/{use-content-sync-BfdqJCQu.js → use-content-sync-gPUq66Q_.js} +1 -1
  298. package/dist/client/assets/{use-copy-DUoQxyl0.js → use-copy-Cy4qf6se.js} +1 -1
  299. package/dist/client/assets/{use-create-virtual-mcp-DEnk__H8.js → use-create-virtual-mcp-C3RgOrG7.js} +1 -1
  300. package/dist/client/assets/{use-date-fns-locale-HDKinbV-.js → use-date-fns-locale-mq2zvQEQ.js} +1 -1
  301. package/dist/client/assets/{use-debounced-autosave-DYYkzWY_.js → use-debounced-autosave-69_37K6A.js} +1 -1
  302. package/dist/client/assets/{use-debounced-value-G0eXCuJA.js → use-debounced-value-hKuOSnf8.js} +1 -1
  303. package/dist/client/assets/{use-deco-credits-DM3bKm1X.js → use-deco-credits-BM65ruxD.js} +1 -1
  304. package/dist/client/assets/{use-decopilot-events-1AtUjySK.js → use-decopilot-events-CDGgmpnF.js} +1 -1
  305. package/dist/client/assets/{use-delete-connection-Cg3msRwS.js → use-delete-connection-Cf3UUyQ4.js} +1 -1
  306. package/dist/client/assets/{use-deployment-admin-BH9iAY5E.js → use-deployment-admin-BQKTAPvq.js} +1 -1
  307. package/dist/client/assets/{use-ensure-project-folder-Ba1RyXTm.js → use-ensure-project-folder-D6FwKelb.js} +1 -1
  308. package/dist/client/assets/{use-fast-preview-draft-url-DuVBfmnv.js → use-fast-preview-draft-url-Dl_wew24.js} +1 -1
  309. package/dist/client/assets/{use-file-configs-DpVdr_mk.js → use-file-configs-DEeSzk9H.js} +1 -1
  310. package/dist/client/assets/{use-infinite-scroll-fbccvd5L.js → use-infinite-scroll-jQz1UxrT.js} +1 -1
  311. package/dist/client/assets/{use-join-requests-BU-AH2wa.js → use-join-requests-B0uJBWtr.js} +1 -1
  312. package/dist/client/assets/{use-main-panel-tabs-BbpwWXur.js → use-main-panel-tabs-BcqmbIv8.js} +1 -1
  313. package/dist/client/assets/{use-mcp-auth-status-DRC6-H1Z.js → use-mcp-auth-status-BSYgNstS.js} +1 -1
  314. package/dist/client/assets/{use-mcp-client-CgigId7h.js → use-mcp-client-Cmf3kYdA.js} +1 -1
  315. package/dist/client/assets/{use-mcp-prompts-C5fo7JyP.js → use-mcp-prompts-Dk9LHUFW.js} +1 -1
  316. package/dist/client/assets/{use-mcp-tools-CMQDcWNX.js → use-mcp-tools-DzF7PfOd.js} +1 -1
  317. package/dist/client/assets/{use-members-DKO2z7jU.js → use-members-Bq6wseSf.js} +1 -1
  318. package/dist/client/assets/{use-mobile-BLPp5y7v.js → use-mobile-C56EQrK9.js} +1 -1
  319. package/dist/client/assets/{use-navigate-to-agent-CVa4wG4H.js → use-navigate-to-agent-BdY7K2gs.js} +1 -1
  320. package/dist/client/assets/{use-open-billing-url-BNJHjUYg.js → use-open-billing-url-ctn8rgn5.js} +1 -1
  321. package/dist/client/assets/{use-org-auth-client-BryWu6mx.js → use-org-auth-client-BQKXCp53.js} +1 -1
  322. package/dist/client/assets/{use-org-fs-Busfyhv0.js → use-org-fs-DpBvFsJy.js} +1 -1
  323. package/dist/client/assets/{use-org-repo-syncs-Bz1fQYYa.js → use-org-repo-syncs-BGbiDUhK.js} +1 -1
  324. package/dist/client/assets/{use-org-sso-bcSBbFXH.js → use-org-sso-By1UBOKy.js} +1 -1
  325. package/dist/client/assets/{use-organization-roles-DffTFg63.js → use-organization-roles-DAM-KEoH.js} +1 -1
  326. package/dist/client/assets/{use-organization-settings-Cc-OpUav.js → use-organization-settings-BbPuWdeO.js} +1 -1
  327. package/dist/client/assets/{use-panel-navigate-Cse0kIZg.js → use-panel-navigate-DdMcNzfR.js} +1 -1
  328. package/dist/client/assets/{use-project-native-view-presence-DgHBfVGR.js → use-project-native-view-presence-sPhh7BGC.js} +1 -1
  329. package/dist/client/assets/{use-project-scope-B3ANi1IJ.js → use-project-scope-D1tA1r10.js} +1 -1
  330. package/dist/client/assets/{use-recent-apps-ClF4CK3T.js → use-recent-apps-DQQGGtQF.js} +1 -1
  331. package/dist/client/assets/{use-releases-D0BOJZ8M.js → use-releases-D_4OhIZK.js} +1 -1
  332. package/dist/client/assets/{use-reports-diagnostic-CoBZgwNK.js → use-reports-diagnostic-DmNOWdgE.js} +1 -1
  333. package/dist/client/assets/{use-secrets-J4K2lbya.js → use-secrets-DVHGHbWn.js} +1 -1
  334. package/dist/client/assets/{use-section-preview-base-C2OLAuvH.js → use-section-preview-base-EEIQI4Ik.js} +1 -1
  335. package/dist/client/assets/{use-tags-pVd2xiCJ.js → use-tags-wkF8OlfB.js} +1 -1
  336. package/dist/client/assets/{use-task-board-analytics-gYEm-02X.js → use-task-board-analytics-CeChyUNV.js} +1 -1
  337. package/dist/client/assets/{use-task-board-events-Df7dgtVf.js → use-task-board-events-HM8tkd7K.js} +1 -1
  338. package/dist/client/assets/{use-task-board-item-prs-DkQx7M2j.js → use-task-board-item-prs-BrZLlBFN.js} +1 -1
  339. package/dist/client/assets/{use-task-board-items-C6IVrd-u.js → use-task-board-items-AkUs4SCp.js} +1 -1
  340. package/dist/client/assets/{use-task-metadata-B_eO6NAU.js → use-task-metadata-BYWnl_Dc.js} +1 -1
  341. package/dist/client/assets/{use-thread-analytics-DtMoL4PA.js → use-thread-analytics-C-mFzjx5.js} +1 -1
  342. package/dist/client/assets/{use-thread-outputs-BI5SHJYx.js → use-thread-outputs-B1zzKutX.js} +1 -1
  343. package/dist/client/assets/useInfiniteQuery-Z1h_BzmN.js +1 -0
  344. package/dist/client/assets/{useQueries-CNpRnVIa.js → useQueries-BlBb4paf.js} +1 -1
  345. package/dist/client/assets/useSuspenseInfiniteQuery--UgGWd1x.js +1 -0
  346. package/dist/client/assets/{users-ivFpS9Lq.js → users-C2_RmXbp.js} +1 -1
  347. package/dist/client/assets/{utils-bWD-X54y.js → utils-BdpWMmUt.js} +1 -1
  348. package/dist/client/assets/{variant-calendar-DksJ_7_J.js → variant-calendar-CpdfrWzd.js} +1 -1
  349. package/dist/client/assets/{variant-draft-pointer-Bmae6Tqf.js → variant-draft-pointer-UfH0PPCK.js} +1 -1
  350. package/dist/client/assets/{view-mode-toggle-C21oeZ12.js → view-mode-toggle-BuPOaLfD.js} +1 -1
  351. package/dist/client/assets/{virtual-mcp-DQ5n4L-p.js → virtual-mcp-DEzWx_Zp.js} +1 -1
  352. package/dist/client/assets/{watch-sse-pool-DENohcwv.js → watch-sse-pool-DatmHsge.js} +1 -1
  353. package/dist/client/index.html +1 -1
  354. package/dist/server/cli.js +1 -1
  355. package/dist/server/migrate-dbos.js +1 -1
  356. package/dist/server/migrate.js +1 -1
  357. package/dist/server/server.js +751 -751
  358. package/package.json +1 -1
  359. package/dist/client/assets/agent-app-CLxKR8tP.js +0 -1
  360. package/dist/client/assets/agent-deck-CrnhUXqK.js +0 -1
  361. package/dist/client/assets/agent-library-DaueecGi.js +0 -1
  362. package/dist/client/assets/agent-library-file-9M8Zj4zk.js +0 -1
  363. package/dist/client/assets/agent-settings-BmHxaKU2.js +0 -1
  364. package/dist/client/assets/agent-site-editor-code-y6AvE-5T.js +0 -2
  365. package/dist/client/assets/agent-site-editor-content-B1_2Oozw.js +0 -1
  366. package/dist/client/assets/agent-site-editor-preview-BwrdNA-b.js +0 -1
  367. package/dist/client/assets/agent-view-BuDZYnBO.js +0 -1
  368. package/dist/client/assets/ai-providers-Cn_Nj1qE.js +0 -6
  369. package/dist/client/assets/api-keys-_y0SevGg.js +0 -1
  370. package/dist/client/assets/cms-settings-editor-DXaCAKpH.js +0 -1
  371. package/dist/client/assets/flat-project-BVJS2Ar0.js +0 -1
  372. package/dist/client/assets/library-UKyRew3D.js +0 -1
  373. package/dist/client/assets/project-reports-C6XPjSeE.js +0 -1
  374. package/dist/client/assets/project-tasks-DEZ-La_L.js +0 -1
  375. package/dist/client/assets/record-editor-Cyo5F4-b.js +0 -1
  376. package/dist/client/assets/reports-DBoKBg_K.js +0 -1
  377. package/dist/client/assets/roles-D7RemnKj.js +0 -1
  378. package/dist/client/assets/route-DuM3NpZo.js +0 -1
  379. package/dist/client/assets/route-OZFS68ac.js +0 -1
  380. package/dist/client/assets/site-editor-CjiR59U-.js +0 -1
  381. package/dist/client/assets/taskboard-analytics-ZWeq2HS-.js +0 -1
  382. package/dist/client/assets/tasks-By3Yi7H-.js +0 -1
  383. package/dist/client/assets/useInfiniteQuery-D7970gdx.js +0 -1
  384. package/dist/client/assets/useSuspenseInfiniteQuery-BFNRElUS.js +0 -1
@@ -2379,7 +2379,7 @@ var fz=Object.defineProperty;var Az=(_)=>_;function Iz(_,x){this[_]=Az.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 AW(_){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 IW={"001-initial-schema":Xu,"002-organization-settings":Zu,"003-connection-schema-align":Wu,"004-remove-models-binding":ju,"005-connection-configuration":Lu,"006-add-views-to-settings":Fu,"007-monitoring-logs":Yu,"008-event-bus":Du,"009-drop-audit-logs":Hu,"010-gateways":Mu,"011-gateway-icon":Ru,"012-gateway-tool-selection-mode":Bu,"013-monitoring-user-agent-gateway":Gu,"014-gateway-resources-prompts":Ou,"015-monitoring-properties":Su,"016-downstream-token-client-info":fu,"017-downstream-token-remove-userid":Au,"018-drop-gateway-tool-selection-strategy":Iu,"019-remove-gateway-is-default":yu,"020-enabled-plugins":Vu,"021-threads":wu,"022-rename-gateway-to-virtual-mcp":ku,"023-optimize-thread-indexes":nu,"024-consolidate-virtual-mcp":vu,"025-add-monitoring-virtual-mcp-id":pu,"026-restrict-child-connection-delete":gu,"027-update-management-mcp-url":iu,"028-update-management-mcp-to-self":hu,"029-add-updated-by-to-connections":tu,"030-member-tags":ou,"031-add-dependency-mode":au,"032-projects":ru,"033-thread-status":lu,"034-monitoring-dashboards":eu,"035-project-connections":du,"036-update-registry-url":bu,"037-ai-provider-keys":su,"038-oauth-pkce-states":_C,"039-automations":xC,"040-replace-next-run-at-with-last-run-at":uC,"041-ai-provider-keys-unique-constraint":CC,"042-rename-mesh-mcp-to-cms-mcp":KC,"043-rename-cms-mcp-to-deco-cms":NC,"044-drop-connections-tools-column":mC,"045-thread-context-start-message":TC,"046-remove-object-storage-plugin":EC,"047-add-next-run-at":$C,"048-merge-projects-agents":JC,"049-remove-org-admin-projects":PC,"050-durable-agent-runs":QC,"051-org-sso":ZC,"052-thread-agent-ids":WC,"053-registry-config":jC,"054-connection-slug":FC,"055-spaces":YC,"056-automation-project-scope":DC,"057-thread-virtual-mcp-id":HC,"058-trigger-callback-tokens":MC,"059-kv":RC,"060-member-index":BC,"061-downstream-token-connection-index":GC,"062-private-registry":OC,"063-event-subscriptions-enabled-boolean":SC,"064-brand-context":fC,"065-organization-domains":AC,"066-brand-context-structured":IC,"067-threads-metadata":yC,"068-threads-branch":VC,"069-sandbox-runner-state":wC,"070-model-categories":kC,"071-default-home-agents":nC,"072-ai-provider-key-preset-id":vC,"073-backfill-basic-usage-roles":pC,"074-sandbox-runner-state-handle-nonunique":gC,"075-thread-inflight-async-jobs":qC,"076-automations-drop-agent-json":iC,"077-tier-only-model-selection":hC,"078-automation-tool-call-kind":tC,"079-strip-legacy-freestyle-vm-map-entries":oC,"080-async-research-jobs":aC,"081-async-research-jobs-result-content":rC,"082-secrets":lC,"083-thread-run-locally":eC,"084-drop-host-sandbox-rows":dC,"085-rename-runner-kind":bC,"086-thread-pins-and-vm-map-rekey":sC,"087-fix-vm-map-rekey":_K,"088-purge-cli-activate-keys":xK,"089-rename-remote-user-to-desktop":uK,"090-automation-webhook-triggers":CK,"091-organization-domains-allow-multi":KK,"092-sandbox-naming-uniformization":NK,"093-backfill-global-search-basic-usage":mK,"094-org-file-configs":zK,"095-remove-automation-tool-call-kind":EK,"096-org-file-configs-public-url-base":$K,"097-drop-local-docker-sandbox-state":JK,"098-thread-message-parts":PK,"099-run-fence":QK,"100-link-transport":XK,"101-cancel-requested-at":ZK,"102-observational-agent":WK,"103-revert-observational-agent":jK,"104-agent-sandbox-provider-kind":FK,"105-org-fs":YK,"106-automation-tools":DK,"107-org-fs-public-org":HK,"108-automation-max-agent-steps":MK,"109-thread-message-parts-per-message-seq":RK,"110-backfill-ghs-token-expiry":BK,"111-org-fs-thread-id":GK,"112-org-file-configs-credential-type":OK,"113-thread-failure-reason":SK,"114-run-acked-seq":fK,"115-thread-projected-seq":AK,"116-org-sites":IK,"117-org-file-configs-site-slug":yK,"118-organization-domains-multi-verify":VK,"119-organization-join-requests":wK,"120-org-fs-read-public":kK,"121-org-fs-share-password":nK,"122-split-web-research-tier":gK,"123-connection-credential-vault":qK,"124-drop-thread-projected-seq":iK,"125-github-child-single-parent":cK,"126-task-board":tK,"127-task-board-due-date":oK,"128-reports-only":aK,"129-task-board-assigned-by":rK,"130-task-board-thread-id":lK,"131-task-board-thread-link-cascade":eK,"132-task-board-item-prs":dK,"133-dedupe-duplicate-members":bK,"134-drop-task-board-enabled":sK,"135-task-board-item-fk-cascade":_N,"136-task-board-import-idempotency":xN,"137-agent-sandbox-runner-state":uN,"138-agent-sandbox-sessions":CN,"139-organization-billing":KN,"140-seat-change-log":NN,"141-benefits-sync-pending":mN,"142-stripe-event-watermark":TN,"143-armed-report-url":zN,"144-benefits-pending-index":EN,"145-user-model-preferences":$N,"146-organization-main-agent":UN,"147-drop-agent-sandbox-tables":JN,"148-org-flags":PN,"149-task-board-item-sort-order":QN,"150-task-board-activity":XN,"151-task-board-tags":WN,"152-repair-connection-slug":LN,"153-task-board-latest-assistant-part-index":FN,"154-task-board-qa-activity":DN,"155-task-board-review-claims":HN,"156-task-board-conflict-activity":RN,"157-drop-seat-billing":BN,"158-drop-github-child-single-parent":GN,"159-task-board-comments":ON,"160-task-quota-billing":SN,"161-task-quota-claim-state":AN,"162-claude-subscriptions":IN,"163-task-board-item-dismissed":yN,"164-per-org-task-quota":VN,"165-task-board-pending-review-index":wN,"166-task-board-last-swept-at":kN,"167-task-board-run-retry":nN,"168-org-repo-sync":pN,"169-task-board-merge-failed-activity":qN,"170-task-board-item-repo":iN,"171-jira-integration":cN,"172-task-board-item-key-seq":hN,"173-thread-github-repo-connection-index":tN,"174-thread-message-parts-persisted-at":aN,"175-task-board-sprints":rN,"176-task-board-done-sweep-index":lN,"177-notifications":eN,"178-jira-status-mapping-array":dN,"179-notification-mentioned":sN,"180-task-board-item-type":xm,"181-task-board-item-type-required":um,"182-task-board-sprints-entities":Cm,"183-drop-jira-jql-filter":Km,"184-jira-rescan-after-scope-change":Nm,"185-jira-rescan-existing-cards":mm,"186-jira-rescan-pending-flag":zm,"187-task-board-comment-thread":Em,"188-invitation-auto-accept":$m,"189-task-board-column-automations":Jm,"190-task-board-review-cycle-started-at":Pm,"191-task-board-columns":Qm,"192-task-board-verdict-nudge-activity":Zm,"193-task-board-status-column-fk":Wm,"194-jira-link-sprint":jm,"195-task-board-sprint-activity":Fm,"196-task-board-column-tracker-statuses":Ym,"197-task-board-prompts":Dm,"198-task-board-external-url":Hm,"199-drop-jira-mirror-and-org-columns":Mm,"200-jira-run-trigger":Rm,"201-organization-notices":Bm,"202-redact-base64-thread-parts":Om,"203-task-board-preview-routes":Sm,"204-git-provider-accounts-and-repositories":fm,"205-repository-references":Am,"206-repository-consumers":Qu,"207-task-board-prs-repo-idx":Pu,"208-github-connect-flows":Ju,"209-github-installation-authorization":Uu,"210-github-repository-authorization":Cu,"211-user-fs-org":uu,"212-coding-agent-mcp-excluded":Ku,"213-bitbucket-git-provider":Nu,"214-connections-sanitized-id-idx":bx,"215-commerce-discovery-repository":sx,"216-github-cli-auth":xu,"217-experiments":mu,"218-thread-message-parts-error-idx":Tu,"219-task-board-duplicate-reported-activity":Eu,"220-jira-automation-continue-pr":$u,"221-remove-private-registry":Qx,"222-org-git-credentials":Xx,"223-drop-org-main-agent-id":dx,"224-repository-sandbox-image":Zx,"225-thread-analytics-indexes":jx,"226-deco-score-names":Fx,"227-task-board-finding-resolved-activity":Dx,"228-org-voice-config":Px,"229-jira-automation-from":Hx,"230-project-sidebar":Mx,"231-jira-chat-agent":Rx,"232-task-board-prompt-skills":Gx,"233-remove-jira-chat-agent":Sx,"234-task-board-comment-audience":fx,"235-prune-empty-thread-dirs":Ax,"236-task-board-sprints":yx,"237-org-sites-project-link":Vx,"238-task-board-default-lanes":wx,"239-task-board-retire-old-lanes":kx,"240-task-board-restore-todo":nx,"241-automation-board-column-transition":vx,"242-connection-url-slug":px,"243-experiment-task-board-item":gx,"244-connection-url-slug-rollout-backfill":qx,"245-automation-system-key":ix,"246-automation-pr-ready-trigger":cx,"247-automation-jira-transition":hx,"248-drop-retired-rule-tables":tx,"249-task-board-item-project":ox,"250-github-copilot-subscriptions":ax,"251-org-shared-plans":rx,"252-automation-linked-chat-trigger":lx,"253-automation-pr-builtin-triggers":ex,"254-codex-subscriptions":$x,"255-order-monitor":Jx},Nx=IW;import{getMigrations as U9}from"better-auth/db";import{sso as J9}from"@better-auth/sso";import{organization as P9}from"@decocms/better-auth/plugins";import{admin as Q9,apiKey as X9,jwt as Z9,magicLink as W9,mcp as j9,openAPI as L9}from"better-auth/plugins";import{emailOTP as F9}from"better-auth/plugins/email-otp";import{Kysely as C9,PostgresDialect as Dz}from"kysely";import{Pool as Hz}from"pg";import{homedir as yW}from"os";var VW=new Set(["all","worker","api"]);function wW(_){let x=(_??"").trim();return VW.has(x)?x:"all"}var kW=new Set(["production","development","test"]);function nW(_){let x=(_??"").trim();return kW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function ym(_,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 ym(_,x,N)??u}function vW(_){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 pW(_,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 Im(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function gW(_){return _===void 0||_===""||_==="true"||_==="1"}function H_(_,x){return _||x}function Pz(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${yW()}/deco`,u=nW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:H_(_.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:H_(_.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:ym("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:vW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:pW("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:Im(_.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:Im(_.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:gW(_.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:ym("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:wW(H_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Im(_.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,orderMonitorIngestUrl:_.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:H_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:H_(_.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 qW=null;function K_(){return qW??=Object.freeze(Pz(process.env))}import{createContextKey as aW,metrics as rW,propagation as D8,ROOT_CONTEXT as H8,SpanStatusCode as M8,trace as lW}from"@opentelemetry/api";import{logs as eW,SeverityNumber as Vm}from"@opentelemetry/api-logs";import{OTLPLogExporter as G8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as dW}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as f8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as I8}from"@opentelemetry/instrumentation-runtime-node";import{context as Z5,propagation as W5,SpanKind as j5,SpanStatusCode as L5}from"@opentelemetry/api";var Y5=globalThis.fetch;import{ExportResultCode as y5}from"@opentelemetry/core";import{ExportResultCode as mx}from"@opentelemetry/core";import{mkdir as iW,rename as cW,writeFile as hW}from"fs/promises";import{join as Tx}from"path";class zx{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:mx.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:mx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:mx.FAILED}});return Promise.resolve({code:mx.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?Tx(this.basePath,x,...N):Tx(this.basePath,...N);if(!this.knownDirs.has(K))await iW(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=Tx(K,`.${m}.tmp`),z=Tx(K,m),E=_.join(`
2382
+ `.execute(_)}var IW={"001-initial-schema":Xu,"002-organization-settings":Zu,"003-connection-schema-align":Wu,"004-remove-models-binding":ju,"005-connection-configuration":Lu,"006-add-views-to-settings":Fu,"007-monitoring-logs":Yu,"008-event-bus":Du,"009-drop-audit-logs":Hu,"010-gateways":Mu,"011-gateway-icon":Ru,"012-gateway-tool-selection-mode":Bu,"013-monitoring-user-agent-gateway":Gu,"014-gateway-resources-prompts":Ou,"015-monitoring-properties":Su,"016-downstream-token-client-info":fu,"017-downstream-token-remove-userid":Au,"018-drop-gateway-tool-selection-strategy":Iu,"019-remove-gateway-is-default":yu,"020-enabled-plugins":Vu,"021-threads":wu,"022-rename-gateway-to-virtual-mcp":ku,"023-optimize-thread-indexes":nu,"024-consolidate-virtual-mcp":vu,"025-add-monitoring-virtual-mcp-id":pu,"026-restrict-child-connection-delete":gu,"027-update-management-mcp-url":iu,"028-update-management-mcp-to-self":hu,"029-add-updated-by-to-connections":tu,"030-member-tags":ou,"031-add-dependency-mode":au,"032-projects":ru,"033-thread-status":lu,"034-monitoring-dashboards":eu,"035-project-connections":du,"036-update-registry-url":bu,"037-ai-provider-keys":su,"038-oauth-pkce-states":_C,"039-automations":xC,"040-replace-next-run-at-with-last-run-at":uC,"041-ai-provider-keys-unique-constraint":CC,"042-rename-mesh-mcp-to-cms-mcp":KC,"043-rename-cms-mcp-to-deco-cms":NC,"044-drop-connections-tools-column":mC,"045-thread-context-start-message":TC,"046-remove-object-storage-plugin":EC,"047-add-next-run-at":$C,"048-merge-projects-agents":JC,"049-remove-org-admin-projects":PC,"050-durable-agent-runs":QC,"051-org-sso":ZC,"052-thread-agent-ids":WC,"053-registry-config":jC,"054-connection-slug":FC,"055-spaces":YC,"056-automation-project-scope":DC,"057-thread-virtual-mcp-id":HC,"058-trigger-callback-tokens":MC,"059-kv":RC,"060-member-index":BC,"061-downstream-token-connection-index":GC,"062-private-registry":OC,"063-event-subscriptions-enabled-boolean":SC,"064-brand-context":fC,"065-organization-domains":AC,"066-brand-context-structured":IC,"067-threads-metadata":yC,"068-threads-branch":VC,"069-sandbox-runner-state":wC,"070-model-categories":kC,"071-default-home-agents":nC,"072-ai-provider-key-preset-id":vC,"073-backfill-basic-usage-roles":pC,"074-sandbox-runner-state-handle-nonunique":gC,"075-thread-inflight-async-jobs":qC,"076-automations-drop-agent-json":iC,"077-tier-only-model-selection":hC,"078-automation-tool-call-kind":tC,"079-strip-legacy-freestyle-vm-map-entries":oC,"080-async-research-jobs":aC,"081-async-research-jobs-result-content":rC,"082-secrets":lC,"083-thread-run-locally":eC,"084-drop-host-sandbox-rows":dC,"085-rename-runner-kind":bC,"086-thread-pins-and-vm-map-rekey":sC,"087-fix-vm-map-rekey":_K,"088-purge-cli-activate-keys":xK,"089-rename-remote-user-to-desktop":uK,"090-automation-webhook-triggers":CK,"091-organization-domains-allow-multi":KK,"092-sandbox-naming-uniformization":NK,"093-backfill-global-search-basic-usage":mK,"094-org-file-configs":zK,"095-remove-automation-tool-call-kind":EK,"096-org-file-configs-public-url-base":$K,"097-drop-local-docker-sandbox-state":JK,"098-thread-message-parts":PK,"099-run-fence":QK,"100-link-transport":XK,"101-cancel-requested-at":ZK,"102-observational-agent":WK,"103-revert-observational-agent":jK,"104-agent-sandbox-provider-kind":FK,"105-org-fs":YK,"106-automation-tools":DK,"107-org-fs-public-org":HK,"108-automation-max-agent-steps":MK,"109-thread-message-parts-per-message-seq":RK,"110-backfill-ghs-token-expiry":BK,"111-org-fs-thread-id":GK,"112-org-file-configs-credential-type":OK,"113-thread-failure-reason":SK,"114-run-acked-seq":fK,"115-thread-projected-seq":AK,"116-org-sites":IK,"117-org-file-configs-site-slug":yK,"118-organization-domains-multi-verify":VK,"119-organization-join-requests":wK,"120-org-fs-read-public":kK,"121-org-fs-share-password":nK,"122-split-web-research-tier":gK,"123-connection-credential-vault":qK,"124-drop-thread-projected-seq":iK,"125-github-child-single-parent":cK,"126-task-board":tK,"127-task-board-due-date":oK,"128-reports-only":aK,"129-task-board-assigned-by":rK,"130-task-board-thread-id":lK,"131-task-board-thread-link-cascade":eK,"132-task-board-item-prs":dK,"133-dedupe-duplicate-members":bK,"134-drop-task-board-enabled":sK,"135-task-board-item-fk-cascade":_N,"136-task-board-import-idempotency":xN,"137-agent-sandbox-runner-state":uN,"138-agent-sandbox-sessions":CN,"139-organization-billing":KN,"140-seat-change-log":NN,"141-benefits-sync-pending":mN,"142-stripe-event-watermark":TN,"143-armed-report-url":zN,"144-benefits-pending-index":EN,"145-user-model-preferences":$N,"146-organization-main-agent":UN,"147-drop-agent-sandbox-tables":JN,"148-org-flags":PN,"149-task-board-item-sort-order":QN,"150-task-board-activity":XN,"151-task-board-tags":WN,"152-repair-connection-slug":LN,"153-task-board-latest-assistant-part-index":FN,"154-task-board-qa-activity":DN,"155-task-board-review-claims":HN,"156-task-board-conflict-activity":RN,"157-drop-seat-billing":BN,"158-drop-github-child-single-parent":GN,"159-task-board-comments":ON,"160-task-quota-billing":SN,"161-task-quota-claim-state":AN,"162-claude-subscriptions":IN,"163-task-board-item-dismissed":yN,"164-per-org-task-quota":VN,"165-task-board-pending-review-index":wN,"166-task-board-last-swept-at":kN,"167-task-board-run-retry":nN,"168-org-repo-sync":pN,"169-task-board-merge-failed-activity":qN,"170-task-board-item-repo":iN,"171-jira-integration":cN,"172-task-board-item-key-seq":hN,"173-thread-github-repo-connection-index":tN,"174-thread-message-parts-persisted-at":aN,"175-task-board-sprints":rN,"176-task-board-done-sweep-index":lN,"177-notifications":eN,"178-jira-status-mapping-array":dN,"179-notification-mentioned":sN,"180-task-board-item-type":xm,"181-task-board-item-type-required":um,"182-task-board-sprints-entities":Cm,"183-drop-jira-jql-filter":Km,"184-jira-rescan-after-scope-change":Nm,"185-jira-rescan-existing-cards":mm,"186-jira-rescan-pending-flag":zm,"187-task-board-comment-thread":Em,"188-invitation-auto-accept":$m,"189-task-board-column-automations":Jm,"190-task-board-review-cycle-started-at":Pm,"191-task-board-columns":Qm,"192-task-board-verdict-nudge-activity":Zm,"193-task-board-status-column-fk":Wm,"194-jira-link-sprint":jm,"195-task-board-sprint-activity":Fm,"196-task-board-column-tracker-statuses":Ym,"197-task-board-prompts":Dm,"198-task-board-external-url":Hm,"199-drop-jira-mirror-and-org-columns":Mm,"200-jira-run-trigger":Rm,"201-organization-notices":Bm,"202-redact-base64-thread-parts":Om,"203-task-board-preview-routes":Sm,"204-git-provider-accounts-and-repositories":fm,"205-repository-references":Am,"206-repository-consumers":Qu,"207-task-board-prs-repo-idx":Pu,"208-github-connect-flows":Ju,"209-github-installation-authorization":Uu,"210-github-repository-authorization":Cu,"211-user-fs-org":uu,"212-coding-agent-mcp-excluded":Ku,"213-bitbucket-git-provider":Nu,"214-connections-sanitized-id-idx":bx,"215-commerce-discovery-repository":sx,"216-github-cli-auth":xu,"217-experiments":mu,"218-thread-message-parts-error-idx":Tu,"219-task-board-duplicate-reported-activity":Eu,"220-jira-automation-continue-pr":$u,"221-remove-private-registry":Qx,"222-org-git-credentials":Xx,"223-drop-org-main-agent-id":dx,"224-repository-sandbox-image":Zx,"225-thread-analytics-indexes":jx,"226-deco-score-names":Fx,"227-task-board-finding-resolved-activity":Dx,"228-org-voice-config":Px,"229-jira-automation-from":Hx,"230-project-sidebar":Mx,"231-jira-chat-agent":Rx,"232-task-board-prompt-skills":Gx,"233-remove-jira-chat-agent":Sx,"234-task-board-comment-audience":fx,"235-prune-empty-thread-dirs":Ax,"236-task-board-sprints":yx,"237-org-sites-project-link":Vx,"238-task-board-default-lanes":wx,"239-task-board-retire-old-lanes":kx,"240-task-board-restore-todo":nx,"241-automation-board-column-transition":vx,"242-connection-url-slug":px,"243-experiment-task-board-item":gx,"244-connection-url-slug-rollout-backfill":qx,"245-automation-system-key":ix,"246-automation-pr-ready-trigger":cx,"247-automation-jira-transition":hx,"248-drop-retired-rule-tables":tx,"249-task-board-item-project":ox,"250-github-copilot-subscriptions":ax,"251-org-shared-plans":rx,"252-automation-linked-chat-trigger":lx,"253-automation-pr-builtin-triggers":ex,"254-codex-subscriptions":$x,"255-order-monitor":Jx},Nx=IW;import{getMigrations as U9}from"better-auth/db";import{sso as J9}from"@better-auth/sso";import{organization as P9}from"@decocms/better-auth/plugins";import{admin as Q9,apiKey as X9,jwt as Z9,magicLink as W9,mcp as j9,openAPI as L9}from"better-auth/plugins";import{emailOTP as F9}from"better-auth/plugins/email-otp";import{Kysely as C9,PostgresDialect as Dz}from"kysely";import{Pool as Hz}from"pg";import{homedir as yW}from"os";var VW=new Set(["all","worker","api"]);function wW(_){let x=(_??"").trim();return VW.has(x)?x:"all"}var kW=new Set(["production","development","test"]);function nW(_){let x=(_??"").trim();return kW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function ym(_,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 ym(_,x,N)??u}function vW(_){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 pW(_,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 Im(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function gW(_){return _===void 0||_===""||_==="true"||_==="1"}function H_(_,x){return _||x}function Pz(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${yW()}/deco`,u=nW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:H_(_.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:H_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),codexUsageUrl:_.CODEX_USAGE_URL||"https://chatgpt.com/backend-api/wham/usage",claudeUsageUrl:_.CLAUDE_USAGE_URL||"https://api.anthropic.com/api/oauth/usage",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:ym("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:vW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:pW("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:Im(_.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:Im(_.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:gW(_.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:ym("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:wW(H_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Im(_.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,orderMonitorIngestUrl:_.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:H_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:H_(_.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 qW=null;function K_(){return qW??=Object.freeze(Pz(process.env))}import{createContextKey as aW,metrics as rW,propagation as D8,ROOT_CONTEXT as H8,SpanStatusCode as M8,trace as lW}from"@opentelemetry/api";import{logs as eW,SeverityNumber as Vm}from"@opentelemetry/api-logs";import{OTLPLogExporter as G8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as dW}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as f8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as I8}from"@opentelemetry/instrumentation-runtime-node";import{context as Z5,propagation as W5,SpanKind as j5,SpanStatusCode as L5}from"@opentelemetry/api";var Y5=globalThis.fetch;import{ExportResultCode as y5}from"@opentelemetry/core";import{ExportResultCode as mx}from"@opentelemetry/core";import{mkdir as iW,rename as cW,writeFile as hW}from"fs/promises";import{join as Tx}from"path";class zx{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:mx.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:mx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:mx.FAILED}});return Promise.resolve({code:mx.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?Tx(this.basePath,x,...N):Tx(this.basePath,...N);if(!this.knownDirs.has(K))await iW(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=Tx(K,`.${m}.tmp`),z=Tx(K,m),E=_.join(`
2383
2383
  `)+`
2384
2384
  `;await hW(T,E,{mode:384}),await cW(T,z)}}import{ExportResultCode as v5}from"@opentelemetry/core";import{AggregationTemporality as g5,DataPointType as q5}from"@opentelemetry/sdk-metrics";import{ExportResultCode as a5}from"@opentelemetry/core";var d5=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as q8,LoggerProvider as i8}from"@opentelemetry/sdk-logs";import{detectResources as h8,envDetector as t8,hostDetector as o8,osDetector as a8,processDetector as r8,resourceFromAttributes as l8}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as d8}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as _8}from"@opentelemetry/api-logs";import{NodeSDK as _3}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as u3,SamplingDecision as N_}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as N8}from"@opentelemetry/api";var bW="__d",sW=aW("Current request"),_9=1;var Xz=(_)=>{let u=new URL(_.url).searchParams.get(bW);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class Zz{inner;constructor(_){this.inner=_}shouldSample(_,x,u,N,K,m){let T=_.getValue(sW);if(!T){if(this.inner)return this.inner.shouldSample(_,x,u,N,K,m);return{decision:N_.RECORD_AND_SAMPLED}}let z=Xz(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 Wz{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 K3=new dW({preventServerStart:!0}),N3=new Zz(new Wz(_9));var Qz=lW.getTracer("studio","1.0.0"),M_=rW.getMeter("studio","1.0.0"),x9=eW.getLogger("studio","1.0.0"),wm=(_,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(" ");x9.emit({severityNumber:_,severityText:x,body:T,attributes:{"log.source":"console",...N}})},km={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{wm(Vm.ERROR,"ERROR",_),km.error(..._)};console.warn=(..._)=>{wm(Vm.WARN,"WARN",_),km.warn(..._)};console.debug=(..._)=>{wm(Vm.DEBUG,"DEBUG",_),km.debug(..._)};var nm,jz=0,vm=500;function u9(){if(nm)return;let _=performance.now()+vm;nm=setInterval(()=>{let x=performance.now();jz=Math.max(0,x-_),_=x+vm},vm),nm.unref?.()}function Lz(){return u9(),jz}var K9=()=>M_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Fz=()=>M_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Yz=400,N9=100,m9=(_)=>({"db.status":_.level==="error"?"error":"success"}),T9=(_)=>(x)=>{let u=m9(x);if(x.queryDurationMillis>Yz){let N=Lz(),K=N>Yz/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:Ex()}})}if(K9().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function z9(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let N=performance.now(),K=Ex(),m=_.idleCount===0&&_.totalCount>=K,T=_.idleCount;return x().then((z)=>{let E=performance.now()-N;if(Fz().record(E,{"db.pool.outcome":m?"contended":"available"}),E>N9)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 Fz().record(performance.now()-N,{"db.pool.outcome":"error"}),z})},_}var Mz={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Rz(){try{return K_().databasePgSsl}catch{return!1}}function Ex(){try{return K_().databasePoolMax}catch{return 10}}function E9(_){let x=z9(new Hz({connectionString:_,max:Ex(),ssl:Rz(),...Mz})),u=new Dz({pool:x});return{type:"postgres",db:new C9({dialect:u,log:T9(x)}),pool:x}}function B_(){return K_().databaseUrl}function Bz(_){let x=_||B_();return new Dz({pool:new Hz({connectionString:x,max:Ex(),ssl:Rz(),...Mz})})}function $9(_){let x=_||B_();return E9(x)}async function Gz(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===R_)R_=null}var R_=null;function pm(){if(!R_)R_=$9(B_());return R_}async function Oz(_){let u={database:Bz(_||B_()),plugins:[P9({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),Q9(),X9(),Z9(),L9(),j9({loginPage:"/login"}),J9(),W9({sendMagicLink:async()=>{}}),F9({sendVerificationOTP:async()=>{}})]},{toBeAdded:N,toBeCreated:K,runMigrations:m}=await U9(u);if(!N.length&&!K.length)return"up to date";return await m(),`${K.length+N.length} table(s) migrated`}async function gm(_,x){return(await o`
2385
2385
  SELECT table_name FROM information_schema.tables