decocms 4.429.9 → 4.429.11

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 (353) hide show
  1. package/dist/client/assets/{AlertCircle-D6fR9-Kh.js → AlertCircle-CBsRk8Lx.js} +1 -1
  2. package/dist/client/assets/{AreaChart-D3g6jK1A.js → AreaChart-BUa_a6nM.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-DiOkGCI1.js → ArrowLeft-DQM86VKH.js} +1 -1
  4. package/dist/client/assets/{ArrowRight-DNObFWEA.js → ArrowRight-BHS_rjEm.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-Qm1_vfBa.js → ArrowUp-CB6x-bpQ.js} +1 -1
  6. package/dist/client/assets/{CartesianChart-CIQ2bcnU.js → CartesianChart-DdVvGdLO.js} +1 -1
  7. package/dist/client/assets/{Check-p5ZrYqb6.js → Check-DBnRde8z.js} +1 -1
  8. package/dist/client/assets/{CheckCircle-DjVa5rwp.js → CheckCircle-D_X_e5fa.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-CQ_Ndmgv.js → ChevronUp-Cv5zUzGd.js} +1 -1
  10. package/dist/client/assets/{Copy01-no2ZZAoV.js → Copy01-BFIfUYn1.js} +1 -1
  11. package/dist/client/assets/{CreditCard01-BPdTH-LK.js → CreditCard01-DAH-pnWc.js} +1 -1
  12. package/dist/client/assets/{DotsVertical-FLvQTkZX.js → DotsVertical-CRdk_dtC.js} +1 -1
  13. package/dist/client/assets/{ErrorBarContext-Bf9yjefH.js → ErrorBarContext-CYnxfrzB.js} +1 -1
  14. package/dist/client/assets/{Image01-Bjku8bco.js → Image01-Bt6Pl4We.js} +1 -1
  15. package/dist/client/assets/{Key01-D548PT0E.js → Key01-xJ1aD-oy.js} +1 -1
  16. package/dist/client/assets/{Line-BSHtBz42.js → Line-BdZF_OCm.js} +1 -1
  17. package/dist/client/assets/{Link01-DX6Qdft3.js → Link01-CjC4QvhU.js} +1 -1
  18. package/dist/client/assets/{LinkExternal01-o2rJBAh0.js → LinkExternal01-DogUJf3S.js} +1 -1
  19. package/dist/client/assets/{Monitor01-De6BgGjU.js → Monitor01-CymS-XDH.js} +1 -1
  20. package/dist/client/assets/{Palette-CTKkYfpz.js → Palette-Vc3QN5gz.js} +1 -1
  21. package/dist/client/assets/{Plus-7DucV5vT.js → Plus-Dz836udh.js} +1 -1
  22. package/dist/client/assets/{SearchMd-QN2wlvPm.js → SearchMd-B1u9gFOK.js} +1 -1
  23. package/dist/client/assets/{Sector-6zmPiR9T.js → Sector-D6HY8tcq.js} +1 -1
  24. package/dist/client/assets/{ShoppingBag01-D7jpE92Z.js → ShoppingBag01-DIIWZmJG.js} +1 -1
  25. package/dist/client/assets/{Sun-CF1vsofy.js → Sun-Bel4OPtg.js} +1 -1
  26. package/dist/client/assets/{Tool01-7fCUFk4M.js → Tool01-_L04zhwm.js} +1 -1
  27. package/dist/client/assets/{Trash01-CiA3gHsE.js → Trash01-Do0VjSPZ.js} +1 -1
  28. package/dist/client/assets/{Upload01-aKM-oPPY.js → Upload01-DiIg-X4G.js} +1 -1
  29. package/dist/client/assets/{User01-vQ2joBqZ.js → User01-3_6-RID1.js} +1 -1
  30. package/dist/client/assets/{UserSquare-D6OSjogb.js → UserSquare-DDD0tJxe.js} +1 -1
  31. package/dist/client/assets/{Users01-C3PXAlQO.js → Users01-C_xv9ME_.js} +1 -1
  32. package/dist/client/assets/{X-DCDQ3QOD.js → X-B7gmEKTG.js} +1 -1
  33. package/dist/client/assets/{XAxis-QiWeOkaO.js → XAxis-BLDlVfJS.js} +1 -1
  34. package/dist/client/assets/{XClose-DPKustWd.js → XClose-BYX54mTA.js} +1 -1
  35. package/dist/client/assets/{ZoomOut-Cx0_RhkV.js → ZoomOut-BxqXjzIK.js} +1 -1
  36. package/dist/client/assets/{access-gate-da5dSFPS.js → access-gate-B3k7WICQ.js} +1 -1
  37. package/dist/client/assets/{add-connection-dialog-DZDyC_s4.js → add-connection-dialog-BnMhx5A3.js} +1 -1
  38. package/dist/client/assets/{agent-analytics-FvD3tKln.js → agent-analytics-Cydo5w5b.js} +1 -1
  39. package/dist/client/assets/agent-app-DzlWBW2N.js +1 -0
  40. package/dist/client/assets/{agent-assets-BOqP65qC.js → agent-assets-Cpff2qe8.js} +1 -1
  41. package/dist/client/assets/{agent-automation-DGwvVKUF.js → agent-automation-BXyzdM9-.js} +1 -1
  42. package/dist/client/assets/{agent-automations-DrLCjBc3.js → agent-automations-DFgTOTTo.js} +1 -1
  43. package/dist/client/assets/{agent-connect-sources-B6lH7pxN.js → agent-connect-sources-DG__PRy7.js} +1 -1
  44. package/dist/client/assets/agent-deck-BMdgd29d.js +1 -0
  45. package/dist/client/assets/{agent-e2e-CN41euIX.js → agent-e2e-DIq9w4nJ.js} +1 -1
  46. package/dist/client/assets/{agent-experiments-CI9HL_qf.js → agent-experiments-DAyRYfVz.js} +1 -1
  47. package/dist/client/assets/{agent-file-DG6THDTg.js → agent-file-BAqRcsqb.js} +1 -1
  48. package/dist/client/assets/{agent-git-BEB-ZRI3.js → agent-git-C8V_a9F3.js} +1 -1
  49. package/dist/client/assets/{agent-hosting-B7gL6NW3.js → agent-hosting-BgfnqK9f.js} +1 -1
  50. package/dist/client/assets/{agent-icon-CU0i04so.js → agent-icon-CA_eugyJ.js} +1 -1
  51. package/dist/client/assets/agent-library-DsQedQHD.js +1 -0
  52. package/dist/client/assets/agent-library-file-W38uTfSE.js +1 -0
  53. package/dist/client/assets/{agent-monitor-CvE7W-kh.js → agent-monitor-BfrH-U3P.js} +1 -1
  54. package/dist/client/assets/{agent-overview-ymvObxGX.js → agent-overview-ZIRB9CPk.js} +1 -1
  55. package/dist/client/assets/agent-settings-B4glPAme.js +1 -0
  56. package/dist/client/assets/{agent-site-editor-VM0cGdql.js → agent-site-editor-CEG7wE-A.js} +1 -1
  57. package/dist/client/assets/agent-site-editor-code-8SvZwyO7.js +2 -0
  58. package/dist/client/assets/{agent-site-editor-content-C1bhzwk0.js → agent-site-editor-content-BR12A6uB.js} +3 -3
  59. package/dist/client/assets/{agent-site-editor-preview-CMRwVo8Z.js → agent-site-editor-preview-JU7_hkBP.js} +3 -3
  60. package/dist/client/assets/agent-view-CCaivd39.js +1 -0
  61. package/dist/client/assets/{agent-view-guard-ONCvFPsE.js → agent-view-guard-NLsReNFS.js} +1 -1
  62. package/dist/client/assets/{agents-list-Ccm2cM2d.js → agents-list-CjvaFhVB.js} +1 -1
  63. package/dist/client/assets/{ai-providers-Dg72o8bX.js → ai-providers-DYSL3ljd.js} +1 -1
  64. package/dist/client/assets/{alert-zg70ln5j.js → alert-7kqtS1Pc.js} +1 -1
  65. package/dist/client/assets/{alert-dialog-D2qUdh2f.js → alert-dialog-CHkBuhE4.js} +1 -1
  66. package/dist/client/assets/{analytics-sections-F1MA5NJa.js → analytics-sections-DNxyjzl7.js} +1 -1
  67. package/dist/client/assets/api-keys-CUE1aMz_.js +1 -0
  68. package/dist/client/assets/{api-keys-Ddl2zKRP.js → api-keys-V8u4Ifd7.js} +1 -1
  69. package/dist/client/assets/{app-editor-DhlDIvP_.js → app-editor-DmJjwZtH.js} +1 -1
  70. package/dist/client/assets/{asset-utils-DdnFk1ID.js → asset-utils-8dt-kSDm.js} +1 -1
  71. package/dist/client/assets/{auth-catchall-Dvxy-XoT.js → auth-catchall-DqK6WSBX.js} +1 -1
  72. package/dist/client/assets/{auth-entry-BJqMofGi.js → auth-entry-BdncTadW.js} +1 -1
  73. package/dist/client/assets/{auth-BME_-CgD.js → auth-q7YF0Dxz.js} +1 -1
  74. package/dist/client/assets/{auth-split-layout-D8xVEYCp.js → auth-split-layout-mXZrpXLA.js} +1 -1
  75. package/dist/client/assets/{authenticate-and-persist-oauth-BoehZcx9.js → authenticate-and-persist-oauth-C4kvZvTx.js} +1 -1
  76. package/dist/client/assets/{automation-list-row-DdsKAMX_.js → automation-list-row-DGj89SOu.js} +1 -1
  77. package/dist/client/assets/{automation-runs-ByAFFz8U.js → automation-runs-DNPDdesw.js} +1 -1
  78. package/dist/client/assets/{automations-DgDBnY3i.js → automations-BH3tFdQ1.js} +1 -1
  79. package/dist/client/assets/{autosend-CTahflnC.js → autosend-DUyK37gL.js} +1 -1
  80. package/dist/client/assets/{avatar-BrhFB-vr.js → avatar-w7rqP9i-.js} +1 -1
  81. package/dist/client/assets/{badge-B9v8v8eG.js → badge-Dap5HZKW.js} +1 -1
  82. package/dist/client/assets/{block-document-Bkth-ApC.js → block-document-6nMnrHjt.js} +1 -1
  83. package/dist/client/assets/{blocks-preview-workspace-context-BwDAcqvZ.js → blocks-preview-workspace-context-_v2KNGuN.js} +1 -1
  84. package/dist/client/assets/{buckets-J5lW_PXM.js → buckets-C1B5eLWC.js} +1 -1
  85. package/dist/client/assets/{build-improve-prompt-doc-C4UobK7K.js → build-improve-prompt-doc-iobE1X56.js} +1 -1
  86. package/dist/client/assets/{calendar-DTTqJkwq.js → calendar-DlbZbtjW.js} +1 -1
  87. package/dist/client/assets/{capability-load-error-tbPsNSsn.js → capability-load-error-Dnb7rYQP.js} +1 -1
  88. package/dist/client/assets/{category-editor-CzagSeDk.js → category-editor-BV9Aqv8g.js} +1 -1
  89. package/dist/client/assets/{chart-C3Z9gE6e.js → chart-5EtF65po.js} +1 -1
  90. package/dist/client/assets/{chat-context-D1RQ0hn6.js → chat-context-CH7Hqbj-.js} +1 -1
  91. package/dist/client/assets/{chat-draft-Rop4w833.js → chat-draft-BK1uu-tn.js} +1 -1
  92. package/dist/client/assets/{checkbox-CdMaRU6A.js → checkbox-8su86f-u.js} +1 -1
  93. package/dist/client/assets/{choose-editor-CFBBTZj5.js → choose-editor-KJmbbPn_.js} +1 -1
  94. package/dist/client/assets/{claim-phase-copy-DbTpDsdS.js → claim-phase-copy-BOWkQOp-.js} +1 -1
  95. package/dist/client/assets/{cli-auth-success-OgyK1vp5.js → cli-auth-success-BDC4g205.js} +1 -1
  96. package/dist/client/assets/{client-icons-CjK-B4SQ.js → client-icons-CkDjs1uk.js} +1 -1
  97. package/dist/client/assets/{collapsible-DCazOdpt.js → collapsible-Cel_qT13.js} +1 -1
  98. package/dist/client/assets/{collection-detail-BNiGcnH_.js → collection-detail-CzyPdt8Q.js} +1 -1
  99. package/dist/client/assets/{collection-display-button-B8SvlYyL.js → collection-display-button-Bo4KJe0T.js} +1 -1
  100. package/dist/client/assets/{collection-search-BF8lJCHd.js → collection-search-B1DADWJq.js} +1 -1
  101. package/dist/client/assets/{collection-table-wrapper-CuE_VJ7G.js → collection-table-wrapper-CLoJWjMa.js} +1 -1
  102. package/dist/client/assets/{collection-tabs-D3itJSz3.js → collection-tabs-bIpPWIyq.js} +1 -1
  103. package/dist/client/assets/{combobox-Bw5wYR-0.js → combobox-Bi8qnQyh.js} +1 -1
  104. package/dist/client/assets/{command-B--xK9e7.js → command-TzJZp5I3.js} +1 -1
  105. package/dist/client/assets/{companion-mcps-section-C-Jd6iHr.js → companion-mcps-section-0aYWuSGj.js} +1 -1
  106. package/dist/client/assets/{config-DQXaNT9g.js → config-BWM8RKWP.js} +1 -1
  107. package/dist/client/assets/{connect-B5I2xOR7.js → connect-bqp2mG92.js} +1 -1
  108. package/dist/client/assets/{connect-layout-DzGD_Odc.js → connect-layout-BhB8Rxu4.js} +1 -1
  109. package/dist/client/assets/{connection--ml1d00t.js → connection-DgNZh3EL.js} +1 -1
  110. package/dist/client/assets/{connection-card-wiltHPZ1.js → connection-card-DaM62nM5.js} +1 -1
  111. package/dist/client/assets/{connection-detail-pIzH_4h3.js → connection-detail-CPjV3RWi.js} +1 -1
  112. package/dist/client/assets/{connection-form-helpers-goLtSvt6.js → connection-form-helpers-sCMm62B0.js} +1 -1
  113. package/dist/client/assets/{connections-JUHnLgfe.js → connections-C4wmTt_I.js} +1 -1
  114. package/dist/client/assets/{context-menu-CZLB6_c8.js → context-menu-kP75vpqJ.js} +1 -1
  115. package/dist/client/assets/{context-PWYHxIhk.js → context-oo4qnz8p.js} +1 -1
  116. package/dist/client/assets/{create-organization-dialog-CO0wJH61.js → create-organization-dialog-CTJ-zOuA.js} +1 -1
  117. package/dist/client/assets/{daily-pulse-BaFwFPPZ.js → daily-pulse-P-ajRFaK.js} +1 -1
  118. package/dist/client/assets/{decopilot-BSgekotY.js → decopilot-DSZqen65.js} +1 -1
  119. package/dist/client/assets/{dialog-DQNNu_f1.js → dialog-D_G_q2H_.js} +1 -1
  120. package/dist/client/assets/{discover-BfrAOTVO.js → discover-CIRueAEn.js} +1 -1
  121. package/dist/client/assets/{domain-settings-BEcdmXJZ.js → domain-settings-Dn6pAIBv.js} +1 -1
  122. package/dist/client/assets/{download-app-dialog-CD7kK8MH.js → download-app-dialog-CwVim3QE.js} +1 -1
  123. package/dist/client/assets/{drawer-BzY4tdXy.js → drawer-BMyJPw8f.js} +1 -1
  124. package/dist/client/assets/{editor-CJ05XGg1.js → editor-CC07i4jS.js} +1 -1
  125. package/dist/client/assets/{empty-state-CadUnitN.js → empty-state-BhiM4v_h.js} +1 -1
  126. package/dist/client/assets/{empty-state-CtEq3xuD.js → empty-state-Dv55rkxY.js} +1 -1
  127. package/dist/client/assets/{extract-connection-data-BhLqPUG4.js → extract-connection-data-C_lv-s0C.js} +1 -1
  128. package/dist/client/assets/{feature-gate-DNLsHU30.js → feature-gate-BdKd2yzJ.js} +1 -1
  129. package/dist/client/assets/{feature-paywall-D0PH-I-M.js → feature-paywall-B2ts3VFL.js} +1 -1
  130. package/dist/client/assets/{file-explorer-DLGs4T_f.js → file-explorer-D3DEEAXB.js} +1 -1
  131. package/dist/client/assets/{file-preview-CigrKhHQ.js → file-preview-DWrjo5-5.js} +1 -1
  132. package/dist/client/assets/{file-share-button-CIGySu_4.js → file-share-button-DazECMcE.js} +1 -1
  133. package/dist/client/assets/{file-type-icon-D4fy_gBA.js → file-type-icon-BodjK5PY.js} +1 -1
  134. package/dist/client/assets/flat-project-ivXXwplJ.js +1 -0
  135. package/dist/client/assets/{folder-icon-BesYWk0I.js → folder-icon-B00PfMC0.js} +1 -1
  136. package/dist/client/assets/{form-PPys9GfZ.js → form-Beg2FlFK.js} +1 -1
  137. package/dist/client/assets/{gateway-client-B_5Pnywu.js → gateway-client-Cb3_gWxK.js} +1 -1
  138. package/dist/client/assets/{general-CylsKp5I.js → general-DwpPcciu.js} +1 -1
  139. package/dist/client/assets/{home-BaaBv835.js → home-BOA0Z7y7.js} +1 -1
  140. package/dist/client/assets/{icon-button-BQIN0baN.js → icon-button-CzJ3nv_m.js} +1 -1
  141. package/dist/client/assets/{index-C6j8vkbx.js → index-7hWhuiev.js} +1 -1
  142. package/dist/client/assets/{index-DYebWDZA.js → index-B-4W25Uy.js} +1 -1
  143. package/dist/client/assets/{index-DHuw79Pq.js → index-B7XoxC72.js} +3 -3
  144. package/dist/client/assets/{index-DsDNebU_.js → index-BWp2BG8j.js} +1 -1
  145. package/dist/client/assets/{index-D8-n4neo.js → index-BhpWH9io.js} +1 -1
  146. package/dist/client/assets/{index-D94jgO7k.js → index-BqAOxvC6.js} +1 -1
  147. package/dist/client/assets/{index-DR9xwPLz.js → index-Cefc7dpL.js} +1 -1
  148. package/dist/client/assets/{index-CKELzPxK.js → index-CxHqpHad.js} +1 -1
  149. package/dist/client/assets/{index-O3cKdi88.js → index-D6807Bz9.js} +1 -1
  150. package/dist/client/assets/{index-5C5Y6fog.js → index-DdrHtFlh.js} +1 -1
  151. package/dist/client/assets/{index-CqBgee54.js → index-DpjAZrGV.js} +1 -1
  152. package/dist/client/assets/{index-Dzu1eSUT.js → index-DuAxrYRg.js} +1 -1
  153. package/dist/client/assets/{index-DYpm1LTw.js → index-POiIKjgm.js} +1 -1
  154. package/dist/client/assets/{index-DZBQ5pnK.js → index-SeA1-7VG.js} +2 -2
  155. package/dist/client/assets/{index-redirect-BnyH-Hi_.js → index-redirect-NhzcL0eP.js} +1 -1
  156. package/dist/client/assets/{index-CZzS4-kW.js → index-sGwtPWhY.js} +1 -1
  157. package/dist/client/assets/{infiniteQueryObserver-Db8Je-eI.js → infiniteQueryObserver-DCnG5Eh_.js} +1 -1
  158. package/dist/client/assets/{infra-billing-CO97-my3.js → infra-billing-BE4v0YkX.js} +1 -1
  159. package/dist/client/assets/{input-BiNRWxFp.js → input-1Ptdd5D_.js} +1 -1
  160. package/dist/client/assets/{input-D7Pveqzt.js → input-Bz897kDv.js} +1 -1
  161. package/dist/client/assets/{input-5TfImLgg.js → input-CS2pYloZ.js} +3 -3
  162. package/dist/client/assets/{integration-icon-Dznni3P6.js → integration-icon-BB1ep1sk.js} +1 -1
  163. package/dist/client/assets/{label-CbGYdCUa.js → label-CexOb-Fs.js} +1 -1
  164. package/dist/client/assets/{last-preview-page-B66iZ_7L.js → last-preview-page-Dxek1LJf.js} +1 -1
  165. package/dist/client/assets/{layout-JghjWMYu.js → layout-B1d6yqKY.js} +1 -1
  166. package/dist/client/assets/{legacy-agents-deep-DwiyiXhB.js → legacy-agents-deep-DZ83EN1z.js} +1 -1
  167. package/dist/client/assets/{legacy-main-redirect-vYtsnLSf.js → legacy-main-redirect-Bltboxvn.js} +1 -1
  168. package/dist/client/assets/library-CKMBrvRl.js +1 -0
  169. package/dist/client/assets/{library-tab-BXidRO6s.js → library-tab-BM2Uz82l.js} +1 -1
  170. package/dist/client/assets/{login-BHm4mxjj.js → login-WIs8dW-o.js} +1 -1
  171. package/dist/client/assets/{markdown-toDOgADF.js → markdown-DoT0mJtP.js} +1 -1
  172. package/dist/client/assets/{mcp-app-renderer-Bom1W11v.js → mcp-app-renderer-_n4Ynb7d.js} +1 -1
  173. package/dist/client/assets/{mcp-oauth-DMXsQOs9.js → mcp-oauth-DbrES3uk.js} +1 -1
  174. package/dist/client/assets/{members-DiAGMgH5.js → members-cQsvD1re.js} +1 -1
  175. package/dist/client/assets/{message-templates-D5rRhch8.js → message-templates-BSqUGcQQ.js} +1 -1
  176. package/dist/client/assets/{mini-report-page-DjC3-YlE.js → mini-report-page-CWTvIMVP.js} +1 -1
  177. package/dist/client/assets/{mock-board-CKJpTOR8.js → mock-board-a7UA4thR.js} +1 -1
  178. package/dist/client/assets/{monaco-editor-XLslvLAa.js → monaco-editor-YwuYmRA1.js} +1 -1
  179. package/dist/client/assets/{monitoring-stats-row-C5wJXWvg.js → monitoring-stats-row-B7hKD76n.js} +1 -1
  180. package/dist/client/assets/{multi-select-CK1qihl4.js → multi-select-CBylRCF0.js} +1 -1
  181. package/dist/client/assets/{mustache-DVPV68lR.js → mustache-DZYYziuF.js} +1 -1
  182. package/dist/client/assets/{new-project-dialog-BkEZfgZM.js → new-project-dialog-g2-Bma2k.js} +1 -1
  183. package/dist/client/assets/{oauth-callback-DxIQPlFn.js → oauth-callback-BcFmk_z8.js} +1 -1
  184. package/dist/client/assets/{oauth-callback-ai-provider-Cux-r-iC.js → oauth-callback-ai-provider-CDm4_1nu.js} +1 -1
  185. package/dist/client/assets/{onboarding-D_3hO5Zi.js → onboarding-H9CS8Iay.js} +1 -1
  186. package/dist/client/assets/{openai-conversation-oM48RqXg.js → openai-conversation-DWPacwzX.js} +1 -1
  187. package/dist/client/assets/{optimistic-project-sidebar-views-BxEtZaho.js → optimistic-project-sidebar-views-CKKUobpH.js} +1 -1
  188. package/dist/client/assets/{org-file-open-context-BkAoUQAN.js → org-file-open-context-D3Ci9oZU.js} +1 -1
  189. package/dist/client/assets/{organization-choice-B23Ys-4G.js → organization-choice-B0m7g2MO.js} +1 -1
  190. package/dist/client/assets/{orgs-Bi6PVtkA.js → orgs-BiHWIgTX.js} +1 -1
  191. package/dist/client/assets/{page-seo-form-gzaghpQQ.js → page-seo-form-C-Y-8Fev.js} +1 -1
  192. package/dist/client/assets/{pair-C-DSqZ6u.js → pair-Du9GHFu-.js} +1 -1
  193. package/dist/client/assets/{plan-ladder-BX8e_J6O.js → plan-ladder-DH_CWHw3.js} +1 -1
  194. package/dist/client/assets/{popover-DHUcPo1r.js → popover-D-fQ3hW5.js} +1 -1
  195. package/dist/client/assets/{post-calendar-BuVcXO7I.js → post-calendar-D5yjC9lO.js} +1 -1
  196. package/dist/client/assets/{post-editor-DRKVpniU.js → post-editor-lIVNV5_9.js} +1 -1
  197. package/dist/client/assets/{preview-content-C2zuZls8.js → preview-content-QEZBCWf1.js} +1 -1
  198. package/dist/client/assets/{preview-dialog-Div-6vzY.js → preview-dialog-DAwLnUux.js} +1 -1
  199. package/dist/client/assets/{profile-w-U1YUy-.js → profile-BZfApePi.js} +1 -1
  200. package/dist/client/assets/{project-app-view-CTkkJXZf.js → project-app-view-DrgopPH-.js} +1 -1
  201. package/dist/client/assets/{project-feed-CIKKDaUv.js → project-feed-D-5P39Q1.js} +1 -1
  202. package/dist/client/assets/{project-icon-Dv5T9UXQ.js → project-icon-BHDbxhiz.js} +1 -1
  203. package/dist/client/assets/project-reports-DM67DFFF.js +1 -0
  204. package/dist/client/assets/project-tasks-C0PJMJ3b.js +1 -0
  205. package/dist/client/assets/{projects-0mPeWaUw.js → projects-Dvh3xKKD.js} +1 -1
  206. package/dist/client/assets/{projects-empty-state-qRbFEP1a.js → projects-empty-state-DlByqyV2.js} +1 -1
  207. package/dist/client/assets/{prompts-FPQYcY8_.js → prompts-BpLah534.js} +1 -1
  208. package/dist/client/assets/record-editor-DXcOlOWe.js +1 -0
  209. package/dist/client/assets/{redirect-editor-DGJ9lwKX.js → redirect-editor-DhQjt4kj.js} +1 -1
  210. package/dist/client/assets/{reports-BmFsfB-t.js → reports-CzVDDgM1.js} +1 -1
  211. package/dist/client/assets/reports-DGY72adg.js +1 -0
  212. package/dist/client/assets/{reports-onboarding-6XVICcRr.js → reports-onboarding-BFR8PnG2.js} +1 -1
  213. package/dist/client/assets/{reports-tab-CKAtnV_W.js → reports-tab-BY-j2r-Z.js} +2 -2
  214. package/dist/client/assets/{repositories-Kx63fHV7.js → repositories-BMRv21PC.js} +1 -1
  215. package/dist/client/assets/{repository-binding-D2nl3E9m.js → repository-binding-BT7A4gb6.js} +1 -1
  216. package/dist/client/assets/{repository-import-picker-C4UUR7Lt.js → repository-import-picker-BUBz-rKg.js} +1 -1
  217. package/dist/client/assets/{repository-picker-C9g49n3G.js → repository-picker-BncrVloI.js} +1 -1
  218. package/dist/client/assets/{require-capability-DGjTQApq.js → require-capability-GFQZqsPD.js} +1 -1
  219. package/dist/client/assets/{required-auth-layout-DH23GR15.js → required-auth-layout-BJDTl2Qf.js} +1 -1
  220. package/dist/client/assets/{reset-password-BwSzqw0H.js → reset-password-BQEWbKSr.js} +1 -1
  221. package/dist/client/assets/{resizable-MsT9Iquy.js → resizable-D6pBUAS8.js} +1 -1
  222. package/dist/client/assets/{resolve-tab-icon-Cx-bOLi-.js → resolve-tab-icon-Cw0eeTdZ.js} +1 -1
  223. package/dist/client/assets/{review-settings-D9CPsAF9.js → review-settings-Dsd2Bj4H.js} +1 -1
  224. package/dist/client/assets/{rich-text-link-control-DfuAHVFX.js → rich-text-link-control-Dwi9SnJC.js} +1 -1
  225. package/dist/client/assets/{roles-DKVk8OJh.js → roles-BP_g5luE.js} +1 -1
  226. package/dist/client/assets/route-CvTO2_0G.js +1 -0
  227. package/dist/client/assets/route-Czmthz8Z.js +1 -0
  228. package/dist/client/assets/{route-cksgldWz.js → route-DqClilbi.js} +1 -1
  229. package/dist/client/assets/{runnable-block-editor-oGO4SpDx.js → runnable-block-editor-BB5tmnWs.js} +1 -1
  230. package/dist/client/assets/{sandbox-lifecycle-context-DeDlVqJ-.js → sandbox-lifecycle-context-B89gCMcP.js} +1 -1
  231. package/dist/client/assets/{schema-C5Lr3NgE.js → schema-C9Vqid1E.js} +1 -1
  232. package/dist/client/assets/{scroll-area-Bjp7MJ8C.js → scroll-area-DAOBWSsU.js} +1 -1
  233. package/dist/client/assets/{search-input-_rysHpm7.js → search-input-DjXFRhm-.js} +1 -1
  234. package/dist/client/assets/{search-toggle-D88qbPIv.js → search-toggle-Co5sVTre.js} +1 -1
  235. package/dist/client/assets/{secret-picker-5ZvS8PcI.js → secret-picker-6VoSbhU6.js} +1 -1
  236. package/dist/client/assets/{secrets-BR1Uct_E.js → secrets-DO-TaKjp.js} +1 -1
  237. package/dist/client/assets/{sections-editor-EcDLaZRZ.js → sections-editor-DmH0qDLQ.js} +1 -1
  238. package/dist/client/assets/{select-Cz-o9PEJ.js → select-kBSp9qrS.js} +1 -1
  239. package/dist/client/assets/{select-model-BuAbRLcQ.js → select-model-D4Zb1zjh.js} +1 -1
  240. package/dist/client/assets/{seo-editor-CHNZw1_K.js → seo-editor-BJSpLz2j.js} +1 -1
  241. package/dist/client/assets/{separator-BkBMsQ_7.js → separator-CG_HkXVJ.js} +1 -1
  242. package/dist/client/assets/{settings-tab-D9bw6k3t.js → settings-tab-bMUKAPGy.js} +1 -1
  243. package/dist/client/assets/{sheet-DsThkx1E.js → sheet-CMvEZxPX.js} +1 -1
  244. package/dist/client/assets/{shell-layout-DBvOp7at.js → shell-layout-D9kxU4hw.js} +1 -1
  245. package/dist/client/assets/{skills-B_K2qpIo.js → skills-77gfesBl.js} +1 -1
  246. package/dist/client/assets/{sso-DTHpDJVQ.js → sso-DH19WDd7.js} +1 -1
  247. package/dist/client/assets/{suggestion-BoL4aGbo.js → suggestion-B-KhIwu9.js} +1 -1
  248. package/dist/client/assets/{switch-DcWJRerK.js → switch-D8KuILs8.js} +1 -1
  249. package/dist/client/assets/{synced-repos-CACQuO21.js → synced-repos-CFAQ0toL.js} +1 -1
  250. package/dist/client/assets/{tab-icon-glyph-CtbRVkli.js → tab-icon-glyph-DU3FMgeJ.js} +1 -1
  251. package/dist/client/assets/{table-wfzNVXjf.js → table-BYLalMqr.js} +1 -1
  252. package/dist/client/assets/{tabs-Cjw7-YIz.js → tabs-BJupNNSP.js} +1 -1
  253. package/dist/client/assets/{task-board-UgijzwOv.js → task-board-BT3fE574.js} +1 -1
  254. package/dist/client/assets/{task-route-BJNk9z_I.js → task-route-Dt9qq9bF.js} +1 -1
  255. package/dist/client/assets/{task-status-BTLSYdOf.js → task-status-DDTbQ0HY.js} +1 -1
  256. package/dist/client/assets/{taskboard-analytics-B_uCO32V.js → taskboard-analytics-CSyMUKJe.js} +1 -1
  257. package/dist/client/assets/{tasks-D-IkMJYR.js → tasks-BzGjVju6.js} +1 -1
  258. package/dist/client/assets/tasks-J6z-r7Pr.js +1 -0
  259. package/dist/client/assets/{textarea-yG3fP7UK.js → textarea-B9BRU1bc.js} +1 -1
  260. package/dist/client/assets/{thread-analytics-BrZzoT4x.js → thread-analytics-5CbKouY6.js} +1 -1
  261. package/dist/client/assets/{thread-intent-D45ZuXub.js → thread-intent-BUQ1Af7f.js} +1 -1
  262. package/dist/client/assets/{thread-route-hhzohhx0.js → thread-route-1M9nlDKU.js} +1 -1
  263. package/dist/client/assets/{thread-route-Cc8Rnkyi.js → thread-route-gvPWKeMT.js} +1 -1
  264. package/dist/client/assets/{thread-sheet-body-GfOZtMv2.js → thread-sheet-body-DpEStgQy.js} +1 -1
  265. package/dist/client/assets/{toggle-group-hKLMSDYW.js → toggle-group-Byiht42c.js} +1 -1
  266. package/dist/client/assets/{toolbar-icon-button-CmvWHMWS.js → toolbar-icon-button-BdVkBti4.js} +1 -1
  267. package/dist/client/assets/{tooltip-V0jMCwI1.js → tooltip-yfjxbibs.js} +1 -1
  268. package/dist/client/assets/{track-ClA9bvTA.js → track-pJAtjdmk.js} +1 -1
  269. package/dist/client/assets/{types-Bfx6WemM.js → types-3TrcwJ8y.js} +1 -1
  270. package/dist/client/assets/{usage-stats-8fJ3lLlx.js → usage-stats-Ca6msRRg.js} +1 -1
  271. package/dist/client/assets/{use-ai-providers-BiezPBdC.js → use-ai-providers-DnpTy14P.js} +1 -1
  272. package/dist/client/assets/{use-automations-CzJvLh6y.js → use-automations-DrInOjU2.js} +1 -1
  273. package/dist/client/assets/{use-autosave-C5AE6tVZ.js → use-autosave-BRPaAETB.js} +1 -1
  274. package/dist/client/assets/{use-chat-layout-state-Bjv6Kmqp.js → use-chat-layout-state-JcraXfPX.js} +1 -1
  275. package/dist/client/assets/{use-connect-companion-Edkf4-6e.js → use-connect-companion-Cwc69AkY.js} +1 -1
  276. package/dist/client/assets/{use-connection-TzIfXScd.js → use-connection-k5_5uR3b.js} +1 -1
  277. package/dist/client/assets/{use-copy-yiXmKlwe.js → use-copy-BYeZ3Xow.js} +1 -1
  278. package/dist/client/assets/{use-create-virtual-mcp-B8iud2Sc.js → use-create-virtual-mcp-BbRCT2zC.js} +1 -1
  279. package/dist/client/assets/{use-date-fns-locale-DEFDZEQ8.js → use-date-fns-locale-CJeMfZEM.js} +1 -1
  280. package/dist/client/assets/{use-debounced-autosave-CqmmZdyR.js → use-debounced-autosave-zAtbjiY9.js} +1 -1
  281. package/dist/client/assets/{use-debounced-value-BeO0DJwg.js → use-debounced-value-PYeb0gKv.js} +1 -1
  282. package/dist/client/assets/{use-deco-credits-aHYDh6Nu.js → use-deco-credits-D9JLAx0n.js} +1 -1
  283. package/dist/client/assets/{use-decopilot-events-d7FsiRbY.js → use-decopilot-events-CkMfbWou.js} +1 -1
  284. package/dist/client/assets/{use-delete-connection-C6-e1hl2.js → use-delete-connection-DIPbOF5U.js} +1 -1
  285. package/dist/client/assets/{use-deployment-admin-D4Aiw9gd.js → use-deployment-admin-SAcOmsN7.js} +1 -1
  286. package/dist/client/assets/{use-fast-preview-draft-url-C2NMaYVu.js → use-fast-preview-draft-url-DJ6bRt5_.js} +1 -1
  287. package/dist/client/assets/{use-file-configs-Bb5i5kzp.js → use-file-configs-BzqpeQ0d.js} +1 -1
  288. package/dist/client/assets/{use-infinite-scroll-M-6zbbsB.js → use-infinite-scroll-Dw-y2hfV.js} +1 -1
  289. package/dist/client/assets/{use-join-requests-DdJv9q2n.js → use-join-requests-C4OTy5lN.js} +1 -1
  290. package/dist/client/assets/{use-main-panel-tabs-DfNPCvDK.js → use-main-panel-tabs-jftbJtbr.js} +1 -1
  291. package/dist/client/assets/{use-mcp-auth-status-BGPcEhML.js → use-mcp-auth-status--O3HmL_k.js} +1 -1
  292. package/dist/client/assets/{use-mcp-client-DGrcPC5r.js → use-mcp-client-BAepC6X6.js} +1 -1
  293. package/dist/client/assets/{use-mcp-prompts-IUYMfB-t.js → use-mcp-prompts-Bbbgj-s1.js} +1 -1
  294. package/dist/client/assets/{use-mcp-tools-CqzyWLqP.js → use-mcp-tools-CfDbxJnV.js} +1 -1
  295. package/dist/client/assets/{use-members-BFVKg_WJ.js → use-members-DJKE1YkS.js} +1 -1
  296. package/dist/client/assets/{use-mobile-BbZ9Bk36.js → use-mobile-CDNeDm15.js} +1 -1
  297. package/dist/client/assets/{use-navigate-to-agent-v6_M_Lv8.js → use-navigate-to-agent-lo205_xc.js} +1 -1
  298. package/dist/client/assets/use-new-blocks-editor-Ctggnurf.js +1 -0
  299. package/dist/client/assets/{use-open-billing-url-CBRV16pr.js → use-open-billing-url-C6Ij9R36.js} +1 -1
  300. package/dist/client/assets/{use-org-auth-client-s3yV-gCV.js → use-org-auth-client-D7iHD1Ui.js} +1 -1
  301. package/dist/client/assets/{use-org-fs-DLLHrevC.js → use-org-fs-CWxtqQfG.js} +1 -1
  302. package/dist/client/assets/{use-org-repo-syncs-DCNujM3B.js → use-org-repo-syncs-B87b2MgR.js} +1 -1
  303. package/dist/client/assets/{use-org-sso-GuXeEBOc.js → use-org-sso-DGQcT28G.js} +1 -1
  304. package/dist/client/assets/{use-organization-roles-ZmVwWDLk.js → use-organization-roles-DbF1ZsIj.js} +1 -1
  305. package/dist/client/assets/{use-organization-settings-Bud8t-pB.js → use-organization-settings-cowPST4C.js} +1 -1
  306. package/dist/client/assets/{use-panel-navigate-P-qoUN3Y.js → use-panel-navigate-CNvce5u7.js} +1 -1
  307. package/dist/client/assets/{use-project-scope-CKrmwpiF.js → use-project-scope-Bwcgkkiq.js} +1 -1
  308. package/dist/client/assets/{use-releases-C1Rf328o.js → use-releases-B8E-iWd3.js} +1 -1
  309. package/dist/client/assets/{use-reports-diagnostic-B1Shnig3.js → use-reports-diagnostic-B6RZRwrm.js} +1 -1
  310. package/dist/client/assets/{use-secrets-Diaq210I.js → use-secrets-Ck8BOzJB.js} +1 -1
  311. package/dist/client/assets/{use-section-preview-base-vrUWdFAS.js → use-section-preview-base-C4KKs9Y2.js} +1 -1
  312. package/dist/client/assets/{use-session-runtime-Dd4IC7IN.js → use-session-runtime-COoJgkGM.js} +1 -1
  313. package/dist/client/assets/{use-tags-BrQETtMc.js → use-tags-C4YKrn8u.js} +1 -1
  314. package/dist/client/assets/{use-task-board-analytics-C1XXYkja.js → use-task-board-analytics-B7shq_7M.js} +1 -1
  315. package/dist/client/assets/{use-task-board-events-DW_ymOYd.js → use-task-board-events-BG7W0vtv.js} +1 -1
  316. package/dist/client/assets/{use-task-metadata-CHJgQsit.js → use-task-metadata-D6LTH6sv.js} +1 -1
  317. package/dist/client/assets/{use-thread-analytics-XGBihKjG.js → use-thread-analytics-CLiBHaxr.js} +1 -1
  318. package/dist/client/assets/{use-thread-outputs-CZi91IMj.js → use-thread-outputs-CkHIeKeH.js} +1 -1
  319. package/dist/client/assets/useInfiniteQuery-CCk_UO9j.js +1 -0
  320. package/dist/client/assets/{useQueries-Cii8MVzd.js → useQueries-i9XuINKH.js} +1 -1
  321. package/dist/client/assets/useSuspenseInfiniteQuery-DephcCQc.js +1 -0
  322. package/dist/client/assets/{users-C-N_QqPz.js → users-DD0v5Paa.js} +1 -1
  323. package/dist/client/assets/{utils-DdYfsNrk.js → utils-CzMtFgjv.js} +1 -1
  324. package/dist/client/assets/{variant-calendar-CbolY3W4.js → variant-calendar-DcKqClIs.js} +1 -1
  325. package/dist/client/assets/{variant-matcher-override-BE-XpZUe.js → variant-matcher-override-B1kmfrw5.js} +1 -1
  326. package/dist/client/assets/{view-mode-toggle-UcflwKbx.js → view-mode-toggle-C5O8RgD3.js} +1 -1
  327. package/dist/client/assets/{virtual-mcp-5qC_v8pJ.js → virtual-mcp-C4v9JSEi.js} +1 -1
  328. package/dist/client/index.html +1 -1
  329. package/dist/server/cli.js +565 -565
  330. package/dist/server/migrate-dbos.js +2 -2
  331. package/dist/server/migrate.js +31 -31
  332. package/dist/server/server.js +307 -307
  333. package/package.json +1 -1
  334. package/dist/client/assets/agent-app-BhmwaXpz.js +0 -1
  335. package/dist/client/assets/agent-deck-Cyl90eqt.js +0 -1
  336. package/dist/client/assets/agent-library-Ev_ZnLTN.js +0 -1
  337. package/dist/client/assets/agent-library-file-CVAOCG3S.js +0 -1
  338. package/dist/client/assets/agent-settings-Dg4hz_AU.js +0 -1
  339. package/dist/client/assets/agent-site-editor-code-IIouddwd.js +0 -2
  340. package/dist/client/assets/agent-view-5kLPHs5Y.js +0 -1
  341. package/dist/client/assets/api-keys-CNrhvLa5.js +0 -1
  342. package/dist/client/assets/flat-project-D7xgVWbZ.js +0 -1
  343. package/dist/client/assets/library-Cj7GFkYr.js +0 -1
  344. package/dist/client/assets/project-reports-R2nxKE9N.js +0 -1
  345. package/dist/client/assets/project-tasks-B-TqLh_E.js +0 -1
  346. package/dist/client/assets/record-editor-BdDJOWw7.js +0 -1
  347. package/dist/client/assets/reports-DsLoZ4VI.js +0 -1
  348. package/dist/client/assets/route-CHyxOjjb.js +0 -1
  349. package/dist/client/assets/route-XD1IeFV8.js +0 -1
  350. package/dist/client/assets/tasks-BMYAskJr.js +0 -1
  351. package/dist/client/assets/use-new-blocks-editor-C-Vw3tr-.js +0 -1
  352. package/dist/client/assets/useInfiniteQuery-Pi2cEwSS.js +0 -1
  353. package/dist/client/assets/useSuspenseInfiniteQuery-3wEhSKVP.js +0 -1
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- var M=import.meta.require;var R="13";function q(w){return{name:"decocms",systemDatabaseUrl:w.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:w.poolSize,runAdminServer:!1,executorID:w.executorID,applicationVersion:R,...w.listenQueues!==void 0?{listenQueues:w.listenQueues}:{}}}function X(w,h={}){let{signal:c}=h;if(c?.aborted)return Promise.reject(c.reason);return new Promise((J,y)=>{let f=()=>{clearTimeout(+d),y(c?.reason)},d=P(()=>{c?.removeEventListener("abort",f),J()},w);c?.addEventListener("abort",f,{once:!0})})}var k=2147483647;function P(w,h){if(h=Math.trunc(Math.max(h,0)||0),h<=k){let f=Number(setTimeout(w,h));return{valueOf:()=>f}}let c=Date.now(),J,y=()=>{let f=h-(Date.now()-c);J=f>k?Number(setTimeout(y,k)):Number(setTimeout(w,f))};return y(),{valueOf:()=>J}}import A from"pg";var i=8314027461559302n,p=600000,u=500;async function G(w,h){let{databaseUrl:c,lockTimeoutMs:J=p}=w,y=w.log??((z)=>console.log(z)),f=new A.Client({connectionString:c});await f.connect();let m=Date.now(),d=!1;try{while(!d){if(d=(await f.query("SELECT pg_try_advisory_lock($1) AS locked",[i.toString()])).rows[0]?.locked===!0,d)break;if(Date.now()-m>=J)throw Error(`Timed out after ${J}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await X(u)}let z=Date.now()-m;if(z>1000)y(`[dbos] waited ${z}ms for the migration lock; another process migrated first`);return await h()}finally{if(d)try{await f.query("SELECT pg_advisory_unlock($1)",[i.toString()])}catch{}await f.end().catch(()=>{})}}import{homedir as g}from"os";var I=new Set(["all","worker","api"]);function t(w){let h=(w??"").trim();return I.has(h)?h:"all"}var n=new Set(["production","development","test"]);function V(w){let h=(w??"").trim();return n.has(h)?h:"development"}function W(w){return w==="true"||w==="1"}function U(w,h,c){if(h===void 0||h==="")return;let J=Number(h);if(!Number.isSafeInteger(J)||J<=0)throw Error(`${w} must be a positive integer`);if(c!==void 0&&J>c)throw Error(`${w} must be at most ${c}`);return J}function o(w,h,c,J){return U(w,h,J)??c}function l(w){let h={};for(let c of(w??"").split(",")){let J=c.trim();if(!J)continue;let y=J.indexOf("="),f=y>0?J.slice(0,y).trim():"",m=y>0?J.slice(y+1).trim():"";if(!f||!m){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${J}" \u2014 expected price_xxx=planId`);continue}h[f]=m}return h}function v(w,h,c,J){if(h===void 0||h==="")return c;let y=Number(h);if(!Number.isSafeInteger(y)||y<0)throw Error(`${w} must be a non-negative integer`);if(J!==void 0&&y>J)throw Error(`${w} must be at most ${J}`);return y}function Y(w,h){if(w===void 0||w==="")return h;return w==="true"||w==="1"}function O(w){if(!w)return null;try{let c=new URL(w).hostname.replace(/^\[|\]$/g,"");if(c==="localhost"||c==="127.0.0.1"||c==="::1")return null;return w}catch{return null}}function r(w){return w===void 0||w===""||w==="true"||w==="1"}function N(w,h){return w||h}function L(w,h){let c=w.home||h.DATA_DIR||h.DECOCMS_HOME||`${g()}/deco`,J=w.localMode,y=w.nodeEnv||V(h.NODE_ENV),f=h.NATS_URL||"nats://localhost:4222",m=h.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",d={nodeEnv:y,port:o("PORT",w.port||h.PORT,3000,65535),baseUrl:w.baseUrl||h.BASE_URL,publicUrl:N(h.STUDIO_PUBLIC_URL,h.MESH_PUBLIC_URL),dataDir:c,voiceConversationProvider:m==="elevenlabs"||m==="openai"?m:null,openaiLiveApiKey:h.OPENAI_LIVE_API_KEY,openaiLiveModel:h.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:h.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:h.ELEVENLABS_API_KEY,elevenlabsVoiceId:h.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:h.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:h.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databasePgSsl:W(h.DATABASE_PG_SSL),databasePoolMax:o("DATABASE_POOL_MAX",h.DATABASE_POOL_MAX,5),dbosPoolSize:o("DBOS_POOL_SIZE",h.DBOS_POOL_SIZE,5),betterAuthSecret:h.BETTER_AUTH_SECRET||"",encryptionKey:h.ENCRYPTION_KEY||"",studioJwtSecret:N(h.STUDIO_JWT_SECRET,h.MESH_JWT_SECRET),localMode:J,disableRateLimit:W(h.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:W(h.JIRA_ALLOW_LOCAL_SITE_URL),jiraSettleSeconds:o("JIRA_SETTLE_SECONDS",h.JIRA_SETTLE_SECONDS,60,3600),studioProvisionSecretKey:h.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(h.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((z)=>z.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(h.STUDIO_ADMIN_ORG_IDS??"").split(",").map((z)=>z.trim()).filter(Boolean),deploymentAdminToken:h.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:h.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:U("CLICKHOUSE_MAX_MEMORY_USAGE",h.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:h.MONITORING_OTLP_ENDPOINT,otelServiceName:h.OTEL_SERVICE_NAME||"studio",natsCredsPath:h.NATS_CREDS,configPath:h.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(h.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:h.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:h.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:h.STRIPE_WEBHOOK_SECRET,stripeSecretKey:h.STRIPE_SECRET_KEY,stripeOrgPriceId:h.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:l(h.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:h.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:h.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:v("STUDIO_TOPUP_FEE_PERCENT",h.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:W(h.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:o("STUDIO_FREE_TASKS",h.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:o("STUDIO_MONTHLY_TASKS",h.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:o("STUDIO_MAX_RUNS_PER_TASK",h.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:W(h.ENABLE_DECO_IMPORT),hostingControlPlaneGa:W(h.HOSTING_CONTROL_PLANE_GA),monitorGa:W(h.MONITOR_GA),plansEnabled:W(h.STUDIO_PLANS_ENABLED),mcpCacheEnabled:Y(h.MCP_CACHE_ENABLED,y!=="development"),orgFsPublicSetsJson:h.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(h.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:o("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",h.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:o("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",h.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:Y(h.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:o("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",h.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:h.S3_ENDPOINT,s3Bucket:h.S3_BUCKET,s3Region:h.S3_REGION||"auto",s3AccessKeyId:h.S3_ACCESS_KEY_ID,s3SecretAccessKey:h.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:r(h.S3_FORCE_PATH_STYLE),monitoringS3Bucket:h.MONITORING_S3_BUCKET,monitoringS3Endpoint:h.MONITORING_S3_ENDPOINT,monitoringS3Region:h.MONITORING_S3_REGION,monitoringS3AccessKeyId:h.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:h.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:h.MONITORING_S3_PREFIX,duckdbExtensionDirectory:h.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:h.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:U("DUCKDB_THREADS",h.DUCKDB_THREADS),isCli:!0,noTui:w.noTui===!0,podName:h.POD_NAME||crypto.randomUUID(),dispatchRole:t(N(h.STUDIO_DISPATCH_ROLE,h.MESH_DISPATCH_ROLE)),agentSandboxEnabled:W(h.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:W(h.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Y(h.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:W(h.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:o("SANDBOX_RELEASE_GRACE_MS",h.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:h.DECO_SUPABASE_URL,decoSupabaseServiceKey:h.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:h.FIRECRAWL_API_KEY,controlplaneRestUrl:h.CONTROLPLANE_REST_URL,controlplaneServiceToken:h.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:h.ANALYTICS_URL,analyticsMasterToken:h.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:h.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:h.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:h.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:h.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:N(h.REPORTS_INTERNAL_API_URL,h.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:N(h.REPORTS_INTERNAL_API_KEY,h.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:h.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:h.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:h.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:h.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:h.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:h.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:h.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY};if(d.plansEnabled&&!d.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(d.plansEnabled&&!d.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(d.plansEnabled&&!d.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(d.plansEnabled&&Object.keys(d.stripePlanPriceIds).length>0&&!d.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(d.plansEnabled&&Object.keys(d.stripePlanPriceIds).length>1&&!d.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{settings:d,externalDatabaseUrl:O(h.DATABASE_URL),externalNatsUrl:O(f),skipMigrations:w.skipMigrations}}var $=null;function Z(){if(!$)s();return $}function s(){if($)return;let w={...process.env},h=L({port:w.PORT||"3000",home:w.DATA_DIR||w.DECOCMS_HOME||"",localMode:w.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:w.DECO_NO_TUI==="true",vitePort:w.VITE_PORT,baseUrl:w.BASE_URL},w);$=Object.freeze({...h.settings,databaseUrl:w.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(w.NATS_URL||"nats://localhost:4222").split(",").map((c)=>c.trim()).filter(Boolean)})}import{Kysely as pc,PostgresDialect as uc}from"kysely";import{Pool as Ic}from"pg";import{createContextKey as yh,metrics as Jh,propagation as gw,ROOT_CONTEXT as Iw,SpanStatusCode as tw,trace as fh}from"@opentelemetry/api";import{logs as dh,SeverityNumber as B}from"@opentelemetry/api-logs";import{OTLPLogExporter as lw}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as mh}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as sw}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as aw}from"@opentelemetry/instrumentation-runtime-node";import{context as _h,propagation as Mh,SpanKind as Ph,SpanStatusCode as Ah}from"@opentelemetry/api";var uh=globalThis.fetch;import{ExportResultCode as hw}from"@opentelemetry/core";import{ExportResultCode as F}from"@opentelemetry/core";import{mkdir as e,rename as a,writeFile as hh}from"fs/promises";import{join as Q}from"path";class j{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(w){this.basePath=w.basePath,this.flushThreshold=w.flushThreshold??1000,this.maxBufferBytes=w.maxBufferBytes??10485760,this.partitionKey=w.partitionKey;let h=w.flushIntervalMs??60000;if(h>0&&h<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((c)=>{console.error("[NDJSONExporter] Timer flush failed:",c)})},h),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(w){if(this.isShutdown)return Promise.resolve({code:F.FAILED});for(let h of w){let c=JSON.stringify(h),J=this.partitionKey?this.partitionKey(h):"";this.bufferItems.push({partition:J,json:c}),this.bufferBytes+=Buffer.byteLength(c,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:F.SUCCESS})).catch((h)=>{return console.error("[NDJSONExporter] Flush failed:",h),{code:F.FAILED}});return Promise.resolve({code:F.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let h=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=h,h}async doFlush(){if(this.bufferItems.length===0)return;let w=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let h=new Map;for(let y of w){let f=h.get(y.partition);if(!f)f=[],h.set(y.partition,f);f.push(y.json)}let c=await Promise.allSettled(Array.from(h.entries()).map(([y,f])=>this.writeNDJSON(f,y).then(()=>y))),J=c.find((y)=>y.status==="rejected");if(J){let y=new Set;for(let m of c)if(m.status==="fulfilled")y.add(m.value);let f=w.filter((m)=>!y.has(m.partition));this.bufferItems=f.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw J.reason}}async writeNDJSON(w,h){let c=new Date,J=[String(c.getUTCFullYear()),String(c.getUTCMonth()+1).padStart(2,"0"),String(c.getUTCDate()).padStart(2,"0"),String(c.getUTCHours()).padStart(2,"0")],y=h?Q(this.basePath,h,...J):Q(this.basePath,...J);if(!this.knownDirs.has(y))await e(y,{recursive:!0,mode:448}),this.knownDirs.add(y);let f=`${crypto.randomUUID()}.ndjson`,m=Q(y,`.${f}.tmp`),d=Q(y,f),z=w.join(`
2
+ var M=import.meta.require;var R="13";function q(w){return{name:"decocms",systemDatabaseUrl:w.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:w.poolSize,runAdminServer:!1,executorID:w.executorID,applicationVersion:R,...w.listenQueues!==void 0?{listenQueues:w.listenQueues}:{}}}function X(w,h={}){let{signal:c}=h;if(c?.aborted)return Promise.reject(c.reason);return new Promise((J,y)=>{let f=()=>{clearTimeout(+d),y(c?.reason)},d=P(()=>{c?.removeEventListener("abort",f),J()},w);c?.addEventListener("abort",f,{once:!0})})}var k=2147483647;function P(w,h){if(h=Math.trunc(Math.max(h,0)||0),h<=k){let f=Number(setTimeout(w,h));return{valueOf:()=>f}}let c=Date.now(),J,y=()=>{let f=h-(Date.now()-c);J=f>k?Number(setTimeout(y,k)):Number(setTimeout(w,f))};return y(),{valueOf:()=>J}}import A from"pg";var i=8314027461559302n,p=600000,g=500;async function G(w,h){let{databaseUrl:c,lockTimeoutMs:J=p}=w,y=w.log??((z)=>console.log(z)),f=new A.Client({connectionString:c});await f.connect();let m=Date.now(),d=!1;try{while(!d){if(d=(await f.query("SELECT pg_try_advisory_lock($1) AS locked",[i.toString()])).rows[0]?.locked===!0,d)break;if(Date.now()-m>=J)throw Error(`Timed out after ${J}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await X(g)}let z=Date.now()-m;if(z>1000)y(`[dbos] waited ${z}ms for the migration lock; another process migrated first`);return await h()}finally{if(d)try{await f.query("SELECT pg_advisory_unlock($1)",[i.toString()])}catch{}await f.end().catch(()=>{})}}import{homedir as u}from"os";var I=new Set(["all","worker","api"]);function t(w){let h=(w??"").trim();return I.has(h)?h:"all"}var n=new Set(["production","development","test"]);function V(w){let h=(w??"").trim();return n.has(h)?h:"development"}function W(w){return w==="true"||w==="1"}function U(w,h,c){if(h===void 0||h==="")return;let J=Number(h);if(!Number.isSafeInteger(J)||J<=0)throw Error(`${w} must be a positive integer`);if(c!==void 0&&J>c)throw Error(`${w} must be at most ${c}`);return J}function N(w,h,c,J){return U(w,h,J)??c}function l(w){let h={};for(let c of(w??"").split(",")){let J=c.trim();if(!J)continue;let y=J.indexOf("="),f=y>0?J.slice(0,y).trim():"",m=y>0?J.slice(y+1).trim():"";if(!f||!m){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${J}" \u2014 expected price_xxx=planId`);continue}h[f]=m}return h}function v(w,h,c,J){if(h===void 0||h==="")return c;let y=Number(h);if(!Number.isSafeInteger(y)||y<0)throw Error(`${w} must be a non-negative integer`);if(J!==void 0&&y>J)throw Error(`${w} must be at most ${J}`);return y}function Y(w,h){if(w===void 0||w==="")return h;return w==="true"||w==="1"}function O(w){if(!w)return null;try{let c=new URL(w).hostname.replace(/^\[|\]$/g,"");if(c==="localhost"||c==="127.0.0.1"||c==="::1")return null;return w}catch{return null}}function r(w){return w===void 0||w===""||w==="true"||w==="1"}function D(w,h){return w||h}function L(w,h){let c=w.home||h.DATA_DIR||h.DECOCMS_HOME||`${u()}/deco`,J=w.localMode,y=w.nodeEnv||V(h.NODE_ENV),f=h.NATS_URL||"nats://localhost:4222",m=h.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",d={nodeEnv:y,port:N("PORT",w.port||h.PORT,3000,65535),baseUrl:w.baseUrl||h.BASE_URL,publicUrl:D(h.STUDIO_PUBLIC_URL,h.MESH_PUBLIC_URL),dataDir:c,voiceConversationProvider:m==="elevenlabs"||m==="openai"?m:null,openaiLiveApiKey:h.OPENAI_LIVE_API_KEY,openaiLiveModel:h.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:h.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:h.ELEVENLABS_API_KEY,elevenlabsVoiceId:h.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:h.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:h.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databasePgSsl:W(h.DATABASE_PG_SSL),databasePoolMax:N("DATABASE_POOL_MAX",h.DATABASE_POOL_MAX,5),dbosPoolSize:N("DBOS_POOL_SIZE",h.DBOS_POOL_SIZE,5),betterAuthSecret:h.BETTER_AUTH_SECRET||"",encryptionKey:h.ENCRYPTION_KEY||"",studioJwtSecret:D(h.STUDIO_JWT_SECRET,h.MESH_JWT_SECRET),localMode:J,disableRateLimit:W(h.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:W(h.JIRA_ALLOW_LOCAL_SITE_URL),jiraSettleSeconds:N("JIRA_SETTLE_SECONDS",h.JIRA_SETTLE_SECONDS,60,3600),studioProvisionSecretKey:h.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(h.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((z)=>z.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(h.STUDIO_ADMIN_ORG_IDS??"").split(",").map((z)=>z.trim()).filter(Boolean),deploymentAdminToken:h.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:h.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:U("CLICKHOUSE_MAX_MEMORY_USAGE",h.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:h.MONITORING_OTLP_ENDPOINT,otelServiceName:h.OTEL_SERVICE_NAME||"studio",natsCredsPath:h.NATS_CREDS,configPath:h.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(h.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:h.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:h.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:h.STRIPE_WEBHOOK_SECRET,stripeSecretKey:h.STRIPE_SECRET_KEY,stripeOrgPriceId:h.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:l(h.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:h.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:h.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:v("STUDIO_TOPUP_FEE_PERCENT",h.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:W(h.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:N("STUDIO_FREE_TASKS",h.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:N("STUDIO_MONTHLY_TASKS",h.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:N("STUDIO_MAX_RUNS_PER_TASK",h.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:W(h.ENABLE_DECO_IMPORT),hostingControlPlaneGa:W(h.HOSTING_CONTROL_PLANE_GA),monitorGa:W(h.MONITOR_GA),plansEnabled:W(h.STUDIO_PLANS_ENABLED),mcpCacheEnabled:Y(h.MCP_CACHE_ENABLED,y!=="development"),orgFsPublicSetsJson:h.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(h.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:N("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",h.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:N("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",h.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:Y(h.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:N("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",h.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:h.S3_ENDPOINT,s3Bucket:h.S3_BUCKET,s3Region:h.S3_REGION||"auto",s3AccessKeyId:h.S3_ACCESS_KEY_ID,s3SecretAccessKey:h.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:r(h.S3_FORCE_PATH_STYLE),monitoringS3Bucket:h.MONITORING_S3_BUCKET,monitoringS3Endpoint:h.MONITORING_S3_ENDPOINT,monitoringS3Region:h.MONITORING_S3_REGION,monitoringS3AccessKeyId:h.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:h.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:h.MONITORING_S3_PREFIX,duckdbExtensionDirectory:h.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:h.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:U("DUCKDB_THREADS",h.DUCKDB_THREADS),isCli:!0,noTui:w.noTui===!0,podName:h.POD_NAME||crypto.randomUUID(),dispatchRole:t(D(h.STUDIO_DISPATCH_ROLE,h.MESH_DISPATCH_ROLE)),agentSandboxEnabled:W(h.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:W(h.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Y(h.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:W(h.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:N("SANDBOX_RELEASE_GRACE_MS",h.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:h.DECO_SUPABASE_URL,decoSupabaseServiceKey:h.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:h.FIRECRAWL_API_KEY,controlplaneRestUrl:h.CONTROLPLANE_REST_URL,controlplaneServiceToken:h.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:h.ANALYTICS_URL,analyticsMasterToken:h.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:h.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:h.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:h.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:h.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:D(h.REPORTS_INTERNAL_API_URL,h.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:D(h.REPORTS_INTERNAL_API_KEY,h.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:h.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:h.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:h.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:h.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:h.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:h.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:h.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY};if(d.plansEnabled&&!d.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(d.plansEnabled&&!d.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(d.plansEnabled&&!d.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(d.plansEnabled&&Object.keys(d.stripePlanPriceIds).length>0&&!d.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(d.plansEnabled&&Object.keys(d.stripePlanPriceIds).length>1&&!d.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{settings:d,externalDatabaseUrl:O(h.DATABASE_URL),externalNatsUrl:O(f),skipMigrations:w.skipMigrations}}var $=null;function Z(){if(!$)s();return $}function s(){if($)return;let w={...process.env},h=L({port:w.PORT||"3000",home:w.DATA_DIR||w.DECOCMS_HOME||"",localMode:w.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:w.DECO_NO_TUI==="true",vitePort:w.VITE_PORT,baseUrl:w.BASE_URL},w);$=Object.freeze({...h.settings,databaseUrl:w.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(w.NATS_URL||"nats://localhost:4222").split(",").map((c)=>c.trim()).filter(Boolean)})}import{Kysely as pc,PostgresDialect as gc}from"kysely";import{Pool as Ic}from"pg";import{createContextKey as yh,metrics as Jh,propagation as uw,ROOT_CONTEXT as Iw,SpanStatusCode as tw,trace as fh}from"@opentelemetry/api";import{logs as dh,SeverityNumber as B}from"@opentelemetry/api-logs";import{OTLPLogExporter as lw}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as mh}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as sw}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as aw}from"@opentelemetry/instrumentation-runtime-node";import{context as _h,propagation as Mh,SpanKind as Ph,SpanStatusCode as Ah}from"@opentelemetry/api";var gh=globalThis.fetch;import{ExportResultCode as hw}from"@opentelemetry/core";import{ExportResultCode as F}from"@opentelemetry/core";import{mkdir as e,rename as a,writeFile as hh}from"fs/promises";import{join as Q}from"path";class j{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(w){this.basePath=w.basePath,this.flushThreshold=w.flushThreshold??1000,this.maxBufferBytes=w.maxBufferBytes??10485760,this.partitionKey=w.partitionKey;let h=w.flushIntervalMs??60000;if(h>0&&h<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((c)=>{console.error("[NDJSONExporter] Timer flush failed:",c)})},h),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(w){if(this.isShutdown)return Promise.resolve({code:F.FAILED});for(let h of w){let c=JSON.stringify(h),J=this.partitionKey?this.partitionKey(h):"";this.bufferItems.push({partition:J,json:c}),this.bufferBytes+=Buffer.byteLength(c,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:F.SUCCESS})).catch((h)=>{return console.error("[NDJSONExporter] Flush failed:",h),{code:F.FAILED}});return Promise.resolve({code:F.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let h=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=h,h}async doFlush(){if(this.bufferItems.length===0)return;let w=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let h=new Map;for(let y of w){let f=h.get(y.partition);if(!f)f=[],h.set(y.partition,f);f.push(y.json)}let c=await Promise.allSettled(Array.from(h.entries()).map(([y,f])=>this.writeNDJSON(f,y).then(()=>y))),J=c.find((y)=>y.status==="rejected");if(J){let y=new Set;for(let m of c)if(m.status==="fulfilled")y.add(m.value);let f=w.filter((m)=>!y.has(m.partition));this.bufferItems=f.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw J.reason}}async writeNDJSON(w,h){let c=new Date,J=[String(c.getUTCFullYear()),String(c.getUTCMonth()+1).padStart(2,"0"),String(c.getUTCDate()).padStart(2,"0"),String(c.getUTCHours()).padStart(2,"0")],y=h?Q(this.basePath,h,...J):Q(this.basePath,...J);if(!this.knownDirs.has(y))await e(y,{recursive:!0,mode:448}),this.knownDirs.add(y);let f=`${crypto.randomUUID()}.ndjson`,m=Q(y,`.${f}.tmp`),d=Q(y,f),z=w.join(`
3
3
  `)+`
4
- `;await hh(m,z,{mode:384}),await a(m,d)}}import{ExportResultCode as fw}from"@opentelemetry/core";import{AggregationTemporality as mw,DataPointType as zw}from"@opentelemetry/sdk-metrics";import{ExportResultCode as $w}from"@opentelemetry/core";var kw=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as zc,LoggerProvider as Wc}from"@opentelemetry/sdk-logs";import{detectResources as Dc,envDetector as Nc,hostDetector as Zc,osDetector as $c,processDetector as Fc,resourceFromAttributes as Qc}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as kc}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Uw}from"@opentelemetry/api-logs";import{NodeSDK as Uc}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as Bc,SamplingDecision as D}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Cw}from"@opentelemetry/api";var zh="__d",Wh=yh("Current request"),oh=1;var b=(w)=>{let c=new URL(w.url).searchParams.get(zh);if(c==="")return crypto.randomUUID();if(!c)c=w.headers.get("x-trace-debug-id");return c};class T{inner;constructor(w){this.inner=w}shouldSample(w,h,c,J,y,f){let m=w.getValue(Wh);if(!m){if(this.inner)return this.inner.shouldSample(w,h,c,J,y,f);return{decision:D.RECORD_AND_SAMPLED}}let d=b(m);if(d)return{decision:D.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":d}};if(this.inner){let z=this.inner.shouldSample(w,h,c,J,y,f);if(z.decision===D.RECORD_AND_SAMPLED){let E=crypto.randomUUID();z.attributes={...z.attributes??{},"trace.debug.id":E}}return z}return{decision:D.NOT_RECORD}}toString(){return"DebugSampler"}}class _{ratio;constructor(w){this.ratio=w}shouldSample(){if(Math.random()<this.ratio)return{decision:D.RECORD_AND_SAMPLED};return{decision:D.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var Hc=new mh({preventServerStart:!0}),Cc=new T(new _(oh));var S=fh.getTracer("studio","1.0.0"),K=Jh.getMeter("studio","1.0.0"),Dh=dh.getLogger("studio","1.0.0"),x=(w,h,c)=>{let J={},y=c,f=c[c.length-1];if(f!==null&&typeof f==="object"&&!Array.isArray(f)&&!(f instanceof Error)&&Object.getPrototypeOf(f)===Object.prototype)J=f,y=c.slice(0,-1);let m=y.map((d)=>{if(d instanceof Error)return`${d.name}: ${d.message}`;if(typeof d==="object")try{return JSON.stringify(d)}catch{return"[Object]"}return String(d)}).join(" ");Dh.emit({severityNumber:w,severityText:h,body:m,attributes:{"log.source":"console",...J}})},H={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...w)=>{x(B.ERROR,"ERROR",w),H.error(...w)};console.warn=(...w)=>{x(B.WARN,"WARN",w),H.warn(...w)};console.debug=(...w)=>{x(B.DEBUG,"DEBUG",w),H.debug(...w)};function C(w,h){if(!h)return w;let c=new URL(w);if(!c.searchParams.has("sslmode"))c.searchParams.set("sslmode","verify-full");return c.toString()}async function Nh(){let w=Z(),{DBOS:h}=await import("@dbos-inc/dbos-sdk");h.setConfig(q({systemDatabaseUrl:C(w.databaseUrl,w.databasePgSsl),poolSize:w.dbosPoolSize,executorID:w.podName,listenQueues:[]})),await G({databaseUrl:C(w.databaseUrl,w.databasePgSsl)},async()=>{await h.launch(),await h.shutdown()})}if(import.meta.main)(async()=>{try{await Nh(),console.log("DBOS system-schema migrations completed."),process.exit(0)}catch(w){console.error("DBOS system-schema migration failed:",w),process.exit(1)}})();export{Nh as migrateDbos};
4
+ `;await hh(m,z,{mode:384}),await a(m,d)}}import{ExportResultCode as fw}from"@opentelemetry/core";import{AggregationTemporality as mw,DataPointType as zw}from"@opentelemetry/sdk-metrics";import{ExportResultCode as $w}from"@opentelemetry/core";var kw=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as zc,LoggerProvider as Wc}from"@opentelemetry/sdk-logs";import{detectResources as oc,envDetector as Dc,hostDetector as Zc,osDetector as $c,processDetector as Fc,resourceFromAttributes as Qc}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as kc}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Uw}from"@opentelemetry/api-logs";import{NodeSDK as Uc}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as Bc,SamplingDecision as o}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Cw}from"@opentelemetry/api";var zh="__d",Wh=yh("Current request"),Nh=1;var T=(w)=>{let c=new URL(w.url).searchParams.get(zh);if(c==="")return crypto.randomUUID();if(!c)c=w.headers.get("x-trace-debug-id");return c};class b{inner;constructor(w){this.inner=w}shouldSample(w,h,c,J,y,f){let m=w.getValue(Wh);if(!m){if(this.inner)return this.inner.shouldSample(w,h,c,J,y,f);return{decision:o.RECORD_AND_SAMPLED}}let d=T(m);if(d)return{decision:o.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":d}};if(this.inner){let z=this.inner.shouldSample(w,h,c,J,y,f);if(z.decision===o.RECORD_AND_SAMPLED){let E=crypto.randomUUID();z.attributes={...z.attributes??{},"trace.debug.id":E}}return z}return{decision:o.NOT_RECORD}}toString(){return"DebugSampler"}}class _{ratio;constructor(w){this.ratio=w}shouldSample(){if(Math.random()<this.ratio)return{decision:o.RECORD_AND_SAMPLED};return{decision:o.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var Hc=new mh({preventServerStart:!0}),Cc=new b(new _(Nh));var S=fh.getTracer("studio","1.0.0"),K=Jh.getMeter("studio","1.0.0"),oh=dh.getLogger("studio","1.0.0"),x=(w,h,c)=>{let J={},y=c,f=c[c.length-1];if(f!==null&&typeof f==="object"&&!Array.isArray(f)&&!(f instanceof Error)&&Object.getPrototypeOf(f)===Object.prototype)J=f,y=c.slice(0,-1);let m=y.map((d)=>{if(d instanceof Error)return`${d.name}: ${d.message}`;if(typeof d==="object")try{return JSON.stringify(d)}catch{return"[Object]"}return String(d)}).join(" ");oh.emit({severityNumber:w,severityText:h,body:m,attributes:{"log.source":"console",...J}})},H={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...w)=>{x(B.ERROR,"ERROR",w),H.error(...w)};console.warn=(...w)=>{x(B.WARN,"WARN",w),H.warn(...w)};console.debug=(...w)=>{x(B.DEBUG,"DEBUG",w),H.debug(...w)};function C(w,h){if(!h)return w;let c=new URL(w);if(!c.searchParams.has("sslmode"))c.searchParams.set("sslmode","verify-full");return c.toString()}async function Dh(){let w=Z(),{DBOS:h}=await import("@dbos-inc/dbos-sdk");h.setConfig(q({systemDatabaseUrl:C(w.databaseUrl,w.databasePgSsl),poolSize:w.dbosPoolSize,executorID:w.podName,listenQueues:[]})),await G({databaseUrl:C(w.databaseUrl,w.databasePgSsl)},async()=>{await h.launch(),await h.shutdown()})}if(import.meta.main)(async()=>{try{await Dh(),console.log("DBOS system-schema migrations completed."),process.exit(0)}catch(w){console.error("DBOS system-schema migration failed:",w),process.exit(1)}})();export{Dh as migrateDbos};