decocms 4.532.4 → 4.532.5
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.
- package/dist/client/assets/{ActiveShapeUtils-ChPJqGh0.js → ActiveShapeUtils-DBB_x8Gs.js} +1 -1
- package/dist/client/assets/{AlertCircle-BtpKz4PT.js → AlertCircle-BgO0RShT.js} +1 -1
- package/dist/client/assets/{AreaChart-DZmHXkAp.js → AreaChart-DKpy9mUx.js} +1 -1
- package/dist/client/assets/{ArrowLeft-ahbogFmz.js → ArrowLeft-CLIbFvcM.js} +1 -1
- package/dist/client/assets/{ArrowUp-DyCjG74a.js → ArrowUp-DGj1a1JQ.js} +1 -1
- package/dist/client/assets/{BarChart-CiE4pEf-.js → BarChart-D7kmxRhA.js} +1 -1
- package/dist/client/assets/{Building02-DxaGdtc9.js → Building02-DTlG5UDd.js} +1 -1
- package/dist/client/assets/{CartesianChart-cDuBYvE7.js → CartesianChart-BAgzcFkw.js} +1 -1
- package/dist/client/assets/{CategoricalChart-DZHmxzzH.js → CategoricalChart-1w257zDj.js} +1 -1
- package/dist/client/assets/{CheckCircle-D-aNr7ni.js → CheckCircle-BoFFOiJR.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-JCtUtQXM.js → ChevronSelectorVertical-DYan7Eqw.js} +1 -1
- package/dist/client/assets/{ChevronUp-DI2ULEH1.js → ChevronUp-DQBYMpqT.js} +1 -1
- package/dist/client/assets/{Copy01-CVi-tdIV.js → Copy01-BPOEtZ0I.js} +1 -1
- package/dist/client/assets/{CreditCard01-C0r7pxEe.js → CreditCard01-BgcDg6Po.js} +1 -1
- package/dist/client/assets/{DotsVertical-BRA2E5SW.js → DotsVertical-bVrzKljT.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-C64evHjm.js → ErrorBarContext-F07hkAp5.js} +1 -1
- package/dist/client/assets/{Globe04-Cte1L_TC.js → Globe04-DROK8sB6.js} +1 -1
- package/dist/client/assets/{Image01-D1k8qTMT.js → Image01-CYMd4B2w.js} +1 -1
- package/dist/client/assets/{Key01-BpgHOWui.js → Key01-CcnI3N_J.js} +1 -1
- package/dist/client/assets/{Link01-DcuF2PJG.js → Link01-BaCE2stQ.js} +1 -1
- package/dist/client/assets/{LinkBroken01-CQNo32Ja.js → LinkBroken01-BCegKYMu.js} +1 -1
- package/dist/client/assets/{Minus-Dhc5_Uny.js → Minus-YbXjN_Ds.js} +1 -1
- package/dist/client/assets/{Monitor01-oUm4kh2W.js → Monitor01-aloCOxdR.js} +1 -1
- package/dist/client/assets/{Play-DxsyIVJU.js → Play-CKfAabLj.js} +1 -1
- package/dist/client/assets/{Plus-wcBLBnsy.js → Plus-DifrnWDP.js} +1 -1
- package/dist/client/assets/{ReferenceLine-Ba0KUpi7.js → ReferenceLine-BjTHivV7.js} +1 -1
- package/dist/client/assets/{SearchMd-Cd6S_AYP.js → SearchMd-OM6lL3Xq.js} +1 -1
- package/dist/client/assets/{Sector-Dx1I-dh1.js → Sector-aZQlOyVI.js} +1 -1
- package/dist/client/assets/{ShoppingBag01-sYpo9zdq.js → ShoppingBag01-EO0f4EEB.js} +1 -1
- package/dist/client/assets/{Sun-DU3-MXlo.js → Sun-tqaV4Ycc.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-BwIaA5sf.js → SwitchHorizontal01-VCz6eoXn.js} +1 -1
- package/dist/client/assets/{Tool01-BhJrBqSS.js → Tool01-CDUtHuFU.js} +1 -1
- package/dist/client/assets/{Trash01-Bl9OvMDc.js → Trash01-VJJht0QK.js} +1 -1
- package/dist/client/assets/{Upload01-CxLN401G.js → Upload01-Dxk-zD3u.js} +1 -1
- package/dist/client/assets/{UserSquare-BijqROcb.js → UserSquare-DoHQfmRI.js} +1 -1
- package/dist/client/assets/{Users01-D1Fzq2jH.js → Users01-CS7GcqAQ.js} +1 -1
- package/dist/client/assets/{XClose-DvAqSZdS.js → XClose-B88tJS8W.js} +1 -1
- package/dist/client/assets/{ZoomOut-Cp1NVjXu.js → ZoomOut-Dg4JYL36.js} +1 -1
- package/dist/client/assets/{access-gate-DKM36wx_.js → access-gate-DE8upkjE.js} +1 -1
- package/dist/client/assets/{add-connection-dialog-DE2gX_vu.js → add-connection-dialog-DxVAYgn3.js} +1 -1
- package/dist/client/assets/{agent-analytics-YzDARsvg.js → agent-analytics-CxXcJA46.js} +1 -1
- package/dist/client/assets/agent-app-C7973U1b.js +1 -0
- package/dist/client/assets/agent-assets-2QbtIHgO.js +1 -0
- package/dist/client/assets/{agent-automation-3AtSkd1J.js → agent-automation-Dw4OjqvF.js} +1 -1
- package/dist/client/assets/{agent-automations-CpuaAPmm.js → agent-automations-CZq7e0tO.js} +1 -1
- package/dist/client/assets/agent-calendar-CGPFAwP8.js +1 -0
- package/dist/client/assets/{agent-connect-sources-B8hXnUh-.js → agent-connect-sources-CwNcGkc9.js} +1 -1
- package/dist/client/assets/agent-deck-DO5ISfla.js +1 -0
- package/dist/client/assets/{agent-e2e-BI6_Y2Qm.js → agent-e2e-tTccsl2f.js} +1 -1
- package/dist/client/assets/agent-experiments-ZN8qK48q.js +1 -0
- package/dist/client/assets/{agent-file-SiqvdxDu.js → agent-file-BXmbhJ0A.js} +1 -1
- package/dist/client/assets/{agent-hosting-B2zNelvZ.js → agent-hosting-DFmxpM7m.js} +1 -1
- package/dist/client/assets/{agent-icon-BA0wSxVc.js → agent-icon-CA2ls6V4.js} +1 -1
- package/dist/client/assets/agent-library-CZ7enUY0.js +1 -0
- package/dist/client/assets/agent-library-file-Isa4z3AB.js +1 -0
- package/dist/client/assets/agent-monitor-C2K3A6Za.js +1 -0
- package/dist/client/assets/agent-overview-DMIGbWhh.js +1 -0
- package/dist/client/assets/agent-releases-TfhRok_k.js +2 -0
- package/dist/client/assets/agent-settings-ChMTEbgI.js +1 -0
- package/dist/client/assets/agent-site-editor-code-C_tlYT7V.js +2 -0
- package/dist/client/assets/agent-site-editor-content-BacOmakn.js +1 -0
- package/dist/client/assets/agent-site-editor-preview-WL-FCHY4.js +1 -0
- package/dist/client/assets/{agent-site-editor-CTyNCNF-.js → agent-site-editor-vIA92dqf.js} +2 -2
- package/dist/client/assets/agent-view-BkMQ3DXr.js +1 -0
- package/dist/client/assets/{agent-view-guard-BpSQOXQJ.js → agent-view-guard-CTViio6x.js} +1 -1
- package/dist/client/assets/{agents-list-DHHipu9N.js → agents-list-DF0DX580.js} +1 -1
- package/dist/client/assets/ai-providers-CQbH_x8n.js +6 -0
- package/dist/client/assets/{alert-BRAPjpyd.js → alert-D3Vs7Hmm.js} +1 -1
- package/dist/client/assets/{analytics-sections-BalaLoX8.js → analytics-sections-C4W8AGNp.js} +1 -1
- package/dist/client/assets/api-keys-BDj5b6nN.js +1 -0
- package/dist/client/assets/{api-keys-Cf4NzzlF.js → api-keys-CxMUc2ge.js} +1 -1
- package/dist/client/assets/{app-editor-CqYdTBdQ.js → app-editor-BmqQZaqc.js} +1 -1
- package/dist/client/assets/{asset-utils-DfcCDt_8.js → asset-utils-O6X_dwt-.js} +1 -1
- package/dist/client/assets/{auth-Cq02D4nn.js → auth-B2v1KOAc.js} +1 -1
- package/dist/client/assets/{auth-catchall-DSSPM0vv.js → auth-catchall-BGsoBMku.js} +1 -1
- package/dist/client/assets/{auth-entry-DnT8rRES.js → auth-entry-CAB8qpvf.js} +1 -1
- package/dist/client/assets/{auth-split-layout-D4wlm7YR.js → auth-split-layout-Baxd24ro.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-BBrRZnWN.js → authenticate-and-persist-oauth-UWCdGiT0.js} +1 -1
- package/dist/client/assets/{automation-list-row-CHZWDcvt.js → automation-list-row-DLHQbxMG.js} +1 -1
- package/dist/client/assets/{automation-runs-B6QZ0ROW.js → automation-runs-DUVVTfNU.js} +1 -1
- package/dist/client/assets/{automations-BcM3w1v2.js → automations-B9kCc45C.js} +1 -1
- package/dist/client/assets/{autosend-Co5xz8Gi.js → autosend-BUHDH46M.js} +1 -1
- package/dist/client/assets/{badge-gZsmT22J.js → badge-B275lbPZ.js} +1 -1
- package/dist/client/assets/{block-document-2K7R3kCf.js → block-document-Ud-Pjgh_.js} +1 -1
- package/dist/client/assets/{blocks-preview-workspace-context-Pg-1gGNK.js → blocks-preview-workspace-context-Cfqwt0fl.js} +1 -1
- package/dist/client/assets/{blocks-tab-states-BtE_pKjX.js → blocks-tab-states-DhPO3927.js} +1 -1
- package/dist/client/assets/{blog-schema-DPqkYVXa.js → blog-schema-CxYprLcJ.js} +1 -1
- package/dist/client/assets/{buckets-B6n9Srkv.js → buckets-Ctl6DyfN.js} +1 -1
- package/dist/client/assets/{build-improve-prompt-doc-COJilRIS.js → build-improve-prompt-doc-B1ctgI5i.js} +1 -1
- package/dist/client/assets/{calendar-XpraAwVM.js → calendar-BF6y0Z9x.js} +1 -1
- package/dist/client/assets/{capability-load-error-BWJxAmDU.js → capability-load-error-DLAPLAgw.js} +1 -1
- package/dist/client/assets/{category-editor-D9WstmCu.js → category-editor-BWhnsKFl.js} +1 -1
- package/dist/client/assets/{cdn-tab-CvUbabiJ.js → cdn-tab-DNzFiD5m.js} +1 -1
- package/dist/client/assets/{chart-CwYqQLKp.js → chart-BV2fH_6W.js} +1 -1
- package/dist/client/assets/{chat-context-CLLbJGXj.js → chat-context-CRAqcBEA.js} +1 -1
- package/dist/client/assets/chat-draft-D8MxxmMn.js +1 -0
- package/dist/client/assets/{checkbox-C9UULR8k.js → checkbox-z1yY0VbG.js} +1 -1
- package/dist/client/assets/{choose-editor-BbrK1J6q.js → choose-editor-BfJ_uy-r.js} +1 -1
- package/dist/client/assets/{cli-auth-success-017xXJSi.js → cli-auth-success-BXP6hdAw.js} +1 -1
- package/dist/client/assets/{client-icons-DC2uTuOI.js → client-icons-CZJL6jbw.js} +1 -1
- package/dist/client/assets/{cms-settings-editor-Db-HeJmw.js → cms-settings-editor-CykKSUR_.js} +1 -1
- package/dist/client/assets/{collapsible-SvWPym8d.js → collapsible-TgXdzaTW.js} +1 -1
- package/dist/client/assets/{collection-detail-BlKohPLw.js → collection-detail-C50ZKf3h.js} +1 -1
- package/dist/client/assets/{collection-display-button-BywO1R2t.js → collection-display-button-C1BGad1J.js} +1 -1
- package/dist/client/assets/{collection-search-DtdoGA9K.js → collection-search-Dxv0FJfh.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BrBXdd-g.js → collection-table-wrapper-BQz4wQv6.js} +1 -1
- package/dist/client/assets/{collection-tabs-CTyTx68t.js → collection-tabs-k2c4oB2_.js} +1 -1
- package/dist/client/assets/{column-rules-KE9740K5.js → column-rules-IZdAS5gT.js} +1 -1
- package/dist/client/assets/{combobox-CKuPCd5z.js → combobox-CXI3q8SD.js} +1 -1
- package/dist/client/assets/{command-p6B9RH3h.js → command-6ewscZzU.js} +1 -1
- package/dist/client/assets/{companion-mcps-section-BCMOAnvk.js → companion-mcps-section-DoFZott1.js} +1 -1
- package/dist/client/assets/{config-BpSR7fZ-.js → config-DvYJzFe4.js} +1 -1
- package/dist/client/assets/{connect-B8AXFjdY.js → connect-D2juww-N.js} +1 -1
- package/dist/client/assets/{connect-layout-6-TUS84W.js → connect-layout-DSU6EVHj.js} +1 -1
- package/dist/client/assets/{connect-source-dialog-FYlss7nI.js → connect-source-dialog-BYzD_cCd.js} +1 -1
- package/dist/client/assets/{connection-B_vJ6T29.js → connection--HCyemnh.js} +1 -1
- package/dist/client/assets/{connection-card-DVkZvaM-.js → connection-card-CJzQ1R1a.js} +1 -1
- package/dist/client/assets/{connection-detail-Bzl_oJx2.js → connection-detail-DwxIR5Sg.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-lSHy9dtX.js → connection-form-helpers-BhmC9tzU.js} +1 -1
- package/dist/client/assets/{connections-BvgIlAU9.js → connections-BbTMsfM2.js} +1 -1
- package/dist/client/assets/{content-tab-BVHV6dPn.js → content-tab-C4xTdHdc.js} +3 -3
- package/dist/client/assets/{context-DZ-o1G_r.js → context-BpAOIYxL.js} +1 -1
- package/dist/client/assets/{context-menu-4iKJivEI.js → context-menu-ClCy32tB.js} +1 -1
- package/dist/client/assets/{context-shell-D-Byl_hS.js → context-shell-AlLqYzkU.js} +3 -3
- package/dist/client/assets/{core.esm-DJ7xaMj8.js → core.esm-BXQfTZkM.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-upyyqwAS.js → create-organization-dialog-BY6IHR1p.js} +1 -1
- package/dist/client/assets/{daily-pulse-DBSqxt03.js → daily-pulse-BWeLPl82.js} +1 -1
- package/dist/client/assets/{discover-CPqRIc0t.js → discover-CCHDOxkE.js} +1 -1
- package/dist/client/assets/{domain-settings-DnbRmOHt.js → domain-settings-BrlbYDBP.js} +1 -1
- package/dist/client/assets/{drawer-Dp0r57Qp.js → drawer-C8pd-9h5.js} +1 -1
- package/dist/client/assets/{editor-BCBz6jsB.js → editor-BQUfQi3X.js} +1 -1
- package/dist/client/assets/{editor-classes-CUvsZ6TK.js → editor-classes-DeM_8BMv.js} +1 -1
- package/dist/client/assets/{empty-state-7LsTt5sL.js → empty-state-DnXn-oXP.js} +1 -1
- package/dist/client/assets/{empty-state-rcQuHhk6.js → empty-state-P8DRc5l5.js} +1 -1
- package/dist/client/assets/{experiments-tab-D7malH84.js → experiments-tab-Dj_UXlje.js} +1 -1
- package/dist/client/assets/{experiments-tab-choice-DDomXBPA.js → experiments-tab-choice-CkKpewiH.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BvfRDqC4.js → extract-connection-data-Bv4y_ppm.js} +1 -1
- package/dist/client/assets/{feature-gate-DdfwuiKB.js → feature-gate-CeySSZwi.js} +1 -1
- package/dist/client/assets/{feature-paywall-pnXia0J8.js → feature-paywall-DtZqXAFQ.js} +1 -1
- package/dist/client/assets/{file-explorer-CFF6fba5.js → file-explorer-CPhsOyRV.js} +1 -1
- package/dist/client/assets/{file-preview-Bj2kFfso.js → file-preview-B58y6F5R.js} +1 -1
- package/dist/client/assets/{file-share-button-DSVwr_sV.js → file-share-button-Cvb6TL3d.js} +1 -1
- package/dist/client/assets/{file-type-icon-tH_Br6Of.js → file-type-icon-qeWcetSB.js} +1 -1
- package/dist/client/assets/{folder-icon-BJ1ZRLFL.js → folder-icon-DN6fGLYE.js} +1 -1
- package/dist/client/assets/{form-CDBWVZmE.js → form-BIDT1Ue4.js} +1 -1
- package/dist/client/assets/{general-BTB_XY1d.js → general-D_xrCx6_.js} +1 -1
- package/dist/client/assets/{held-block-view-BYiRzwJw.js → held-block-view-DAPwji26.js} +3 -3
- package/dist/client/assets/home-BgI7ZNrl.js +1 -0
- package/dist/client/assets/{hosted-publish-feedback-BX6_-Epi.js → hosted-publish-feedback-BFYHRRPf.js} +1 -1
- package/dist/client/assets/{icon-button-DVmDp8lL.js → icon-button-DSMd1qL1.js} +1 -1
- package/dist/client/assets/{index-C1jnfnTx.js → index-B94uTMNH.js} +1 -1
- package/dist/client/assets/{index-Dw0ALa60.js → index-BCDmEpzR.js} +1 -1
- package/dist/client/assets/{index-DucOKncm.js → index-BDmPHxvf.js} +1 -1
- package/dist/client/assets/{index-DROH6MCH.js → index-BG1gU17W.js} +1 -1
- package/dist/client/assets/{index-nn0dWPfn.js → index-B_Vz7pw9.js} +1 -1
- package/dist/client/assets/{index-Ce_Co-9r.js → index-Bk9GYF9h.js} +1 -1
- package/dist/client/assets/{index-BHfNbC3J.js → index-BqutwFSm.js} +44 -44
- package/dist/client/assets/{index-C86JEmj3.js → index-BxQkdZTK.js} +1 -1
- package/dist/client/assets/index-CDXVQ_TQ.css +1 -0
- package/dist/client/assets/{index-CFx9VdIE.js → index-COUcDTIR.js} +1 -1
- package/dist/client/assets/{index-6TnHuNKo.js → index-CWPTQWeO.js} +1 -1
- package/dist/client/assets/{index-B9XczdNY.js → index-Cu6YVL4w.js} +1 -1
- package/dist/client/assets/{index-B6sjLnnC.js → index-DX3l6VgM.js} +1 -1
- package/dist/client/assets/{index-BIoURtql.js → index-H6qehDl6.js} +1 -1
- package/dist/client/assets/{index-CsZnvO4A.js → index-O_xtfziX.js} +1 -1
- package/dist/client/assets/{index-CeFLqtNb.js → index-oqricAgA.js} +1 -1
- package/dist/client/assets/{index-redirect-CkhmqmlO.js → index-redirect-Bt4gzxaD.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-V9LqyXQl.js → infiniteQueryObserver-DCWN2zRB.js} +1 -1
- package/dist/client/assets/{infra-billing-D1cg_G5x.js → infra-billing-ywaH9jxg.js} +1 -1
- package/dist/client/assets/{input-3ql30_TD.js → input-CpuPl1VL.js} +1 -1
- package/dist/client/assets/input-CsD5Q7QM.js +17 -0
- package/dist/client/assets/{integration-icon-B0-KqsSh.js → integration-icon-C_aSliEO.js} +1 -1
- package/dist/client/assets/{jira-icon-DBG6iiVj.js → jira-icon-CYte4ad8.js} +1 -1
- package/dist/client/assets/{label-DP4jFd6T.js → label-Ce-ZCIZn.js} +1 -1
- package/dist/client/assets/{layout-Cqr-RNfg.js → layout-BN3gCJyG.js} +1 -1
- package/dist/client/assets/{legacy-agents-deep-CbLdTgKM.js → legacy-agents-deep-mrP4uzb7.js} +1 -1
- package/dist/client/assets/{legacy-main-redirect-UaYyBO2R.js → legacy-main-redirect-skPOzTvI.js} +1 -1
- package/dist/client/assets/library-C8H8nQx2.js +1 -0
- package/dist/client/assets/{login-BF7XBFc4.js → login-Bqng4rrv.js} +1 -1
- package/dist/client/assets/{markdown-DOcKgQkI.js → markdown-Y9FReFEe.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-D9gtw-L1.js → mcp-app-renderer-DrWXODkj.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CA0hjUdX.js → mcp-oauth-B1ojmT8l.js} +1 -1
- package/dist/client/assets/{mcp-oauth-BcU5Vr1i.js → mcp-oauth-Mf3yN31G.js} +1 -1
- package/dist/client/assets/{members-BYa7_oFh.js → members-Bl1zRjVM.js} +1 -1
- package/dist/client/assets/{memory-D_LKKGXZ.js → memory-MKr86D-6.js} +1 -1
- package/dist/client/assets/{mini-report-page-DY5IFbuc.js → mini-report-page-CJr2XkWD.js} +1 -1
- package/dist/client/assets/mock-board-CtHapNeM.js +81 -0
- package/dist/client/assets/{monaco-editor-CT_wKOJZ.js → monaco-editor-fuZZsh6j.js} +1 -1
- package/dist/client/assets/{monitoring-B9KxDoyY.js → monitoring-CmKUhbQ7.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-C0f3BIfr.js → monitoring-stats-row-CfiYSb9F.js} +1 -1
- package/dist/client/assets/{multi-select-CLYdfe2Y.js → multi-select-BqD525y_.js} +1 -1
- package/dist/client/assets/{mustache-C9_SXOP4.js → mustache-XoR-PEeZ.js} +1 -1
- package/dist/client/assets/{named-rule-uses-bPdRY20_.js → named-rule-uses-BbtWVVld.js} +1 -1
- package/dist/client/assets/{new-project-dialog-KevIoouL.js → new-project-dialog-BRBdOtjX.js} +1 -1
- package/dist/client/assets/{oauth-callback-CvHr64Gj.js → oauth-callback-CZuAW6K7.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Cpn9kidM.js → oauth-callback-ai-provider-6NJDakak.js} +1 -1
- package/dist/client/assets/{onboarding-BwWF1qci.js → onboarding-aHBbCiCh.js} +1 -1
- package/dist/client/assets/openai-conversation-Ds3XswsL.js +3 -0
- package/dist/client/assets/{optimistic-project-sidebar-views-Cjk0pCBE.js → optimistic-project-sidebar-views-w9Ct7FMs.js} +1 -1
- package/dist/client/assets/{order-monitor-day-Cnmpuv9f.js → order-monitor-day-CA2fWj1y.js} +1 -1
- package/dist/client/assets/{organization-choice-d2BKN9Yu.js → organization-choice-D4aq2Nxu.js} +1 -1
- package/dist/client/assets/{orgs-B5jtYoeL.js → orgs-kp47NygQ.js} +1 -1
- package/dist/client/assets/{page-seo-form-CBz7r4kq.js → page-seo-form-C-3Oyqrm.js} +1 -1
- package/dist/client/assets/{pair-CPz7fX5d.js → pair-Dc1F6KjY.js} +1 -1
- package/dist/client/assets/{parse-sections-DTGij5pB.js → parse-sections-CRdFubPB.js} +1 -1
- package/dist/client/assets/{plan-Je9PR-gV.js → plan-CmzQmIDy.js} +1 -1
- package/dist/client/assets/{plan-ladder-C_QWsvUa.js → plan-ladder-Dqd8xMeE.js} +1 -1
- package/dist/client/assets/{popover-DHMsFNZO.js → popover-VBk0ee-p.js} +1 -1
- package/dist/client/assets/{post-calendar-DHdFzSXi.js → post-calendar-DwNGscjq.js} +1 -1
- package/dist/client/assets/{post-editor-CM8HHeAu.js → post-editor-BEoWoH05.js} +1 -1
- package/dist/client/assets/{preview-content-Dp2VvNmO.js → preview-content-DRmpsOLy.js} +1 -1
- package/dist/client/assets/{preview-dialog-B07lPMsZ.js → preview-dialog-dWAdST9o.js} +1 -1
- package/dist/client/assets/{preview-panel-CbVzeDkq.js → preview-panel-BJLsJJcg.js} +1 -1
- package/dist/client/assets/{preview-tab-Za6eM9ZE.js → preview-tab-DZ8ks1YP.js} +3 -3
- package/dist/client/assets/{product-picker-dialog-dZwwYRcD.js → product-picker-dialog-MPHTgKXX.js} +1 -1
- package/dist/client/assets/{profile-BKmWx2G8.js → profile-Dd0_s4VG.js} +1 -1
- package/dist/client/assets/{project-app-view-OhNlFwLe.js → project-app-view-BtOq7ZWp.js} +1 -1
- package/dist/client/assets/{project-apps-ByR971WC.js → project-apps-CqjnVLMe.js} +1 -1
- package/dist/client/assets/{project-feed-Btx2WdF9.js → project-feed-CykWxmDT.js} +1 -1
- package/dist/client/assets/{project-icon-BRzC7xun.js → project-icon-DtQEqIYx.js} +1 -1
- package/dist/client/assets/project-reports-BMBo-hKU.js +1 -0
- package/dist/client/assets/project-tasks-DVakkLu4.js +1 -0
- package/dist/client/assets/{projects-Dx9YO4qB.js → projects-cYRTCGsM.js} +1 -1
- package/dist/client/assets/{projects-empty-state-Cwl_vLQO.js → projects-empty-state-CaYoBzMW.js} +1 -1
- package/dist/client/assets/{prompts-Dchn2MBF.js → prompts-Sb2iWGQw.js} +1 -1
- package/dist/client/assets/record-editor-B606zRBI.js +1 -0
- package/dist/client/assets/{redirect-editor-Boretiu3.js → redirect-editor-BG_05zsK.js} +1 -1
- package/dist/client/assets/{releases-api-CbLXrRtA.js → releases-api-RCTgo6g_.js} +1 -1
- package/dist/client/assets/reports-BsuVeMpD.js +1 -0
- package/dist/client/assets/{reports-C9BgQpmt.js → reports-CtmBtrB8.js} +1 -1
- package/dist/client/assets/{reports-onboarding-U9ww7IJw.js → reports-onboarding-BzWzS8Md.js} +1 -1
- package/dist/client/assets/{reports-tab-CcMOyz5E.js → reports-tab-BTBssl4Z.js} +2 -2
- package/dist/client/assets/{repositories-CZuNni9b.js → repositories-BKZPSNVR.js} +1 -1
- package/dist/client/assets/repositories-CNBPJbW9.js +1 -0
- package/dist/client/assets/{repository-binding-BQa5osxz.js → repository-binding-UPUU8iTD.js} +1 -1
- package/dist/client/assets/{repository-import-picker-bX-bkV1W.js → repository-import-picker-Cgqnl0_u.js} +1 -1
- package/dist/client/assets/{repository-picker-CosSYciA.js → repository-picker-BGNbJ5FK.js} +1 -1
- package/dist/client/assets/{require-capability-CEpjmn3B.js → require-capability-Fl7myTcy.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Dc3A1ins.js → required-auth-layout-DGUYFPwh.js} +1 -1
- package/dist/client/assets/{reset-password-BdbuaRA3.js → reset-password-vxbjXaOx.js} +1 -1
- package/dist/client/assets/{resizable-B1cWqD6a.js → resizable-2wUgP6NM.js} +1 -1
- package/dist/client/assets/{resolve-tab-icon-CKAqLX6_.js → resolve-tab-icon-CXm2cUKs.js} +1 -1
- package/dist/client/assets/{review-settings-BhoF6EAe.js → review-settings-BMj11lsi.js} +1 -1
- package/dist/client/assets/roles-D4Qgb0OR.js +1 -0
- package/dist/client/assets/route-B3dhLyR7.js +1 -0
- package/dist/client/assets/{route-Dr_Vx4mu.js → route-BhW-SwkC.js} +1 -1
- package/dist/client/assets/route-D6RbDGc3.js +1 -0
- package/dist/client/assets/{sandbox-lifecycle-context-CJ_lOQLz.js → sandbox-lifecycle-context-BrAJV0hd.js} +1 -1
- package/dist/client/assets/{schema-C9GQaQi3.js → schema-7_06wAgs.js} +1 -1
- package/dist/client/assets/{schema-BuKZ6x5v.js → schema-DHeACN0H.js} +1 -1
- package/dist/client/assets/{scroll-area-BANFTsxP.js → scroll-area-56TNtyKH.js} +1 -1
- package/dist/client/assets/{search-input-675T6lu5.js → search-input-Zdy1mSae.js} +1 -1
- package/dist/client/assets/{search-toggle-DIPbCLr7.js → search-toggle-DkaLKnSY.js} +1 -1
- package/dist/client/assets/{secret-picker-xGDtanwg.js → secret-picker-B5fM64mM.js} +1 -1
- package/dist/client/assets/{secrets-C5yk5Rf_.js → secrets-DyW2ssCW.js} +1 -1
- package/dist/client/assets/{section-array-field-DpS0YJzV.js → section-array-field-rBWQHh7r.js} +1 -1
- package/dist/client/assets/{sections-BpeDTv5B.js → sections-DlaCV9cl.js} +1 -1
- package/dist/client/assets/{sections-editor-DvvKQ5Ao.js → sections-editor-BDKjqTEY.js} +1 -1
- package/dist/client/assets/{select-model-flGcww1p.js → select-model-TCy_ghzu.js} +1 -1
- package/dist/client/assets/{select-DeUMpSJ9.js → select-qBldsuZB.js} +1 -1
- package/dist/client/assets/{seo-editor-BFG4AFCF.js → seo-editor-BLOTxVNW.js} +1 -1
- package/dist/client/assets/{separator-CMFiGe9c.js → separator-DZ0CgMqF.js} +1 -1
- package/dist/client/assets/settings-tab-DU-L5-CZ.js +1 -0
- package/dist/client/assets/{sheet-D6OsnI4Q.js → sheet-D-DL4PyF.js} +1 -1
- package/dist/client/assets/{shell-layout-v3SXhoC6.js → shell-layout-DKjamnSj.js} +1 -1
- package/dist/client/assets/{site-draft-actions-CExA5GRl.js → site-draft-actions-DQJmjCxq.js} +1 -1
- package/dist/client/assets/{site-draft-view-bCNdZjgN.js → site-draft-view-C5NGRcIz.js} +2 -2
- package/dist/client/assets/site-editor-BfXsVuJf.js +1 -0
- package/dist/client/assets/{site-editor-toast-KFvABq33.js → site-editor-toast-UJBsXoYS.js} +1 -1
- package/dist/client/assets/{skills-Dbf3rR0W.js → skills-De822NM4.js} +1 -1
- package/dist/client/assets/{slider-CY8f0V_U.js → slider-DKsnyXsn.js} +1 -1
- package/dist/client/assets/{sortable.esm-BySuc2kW.js → sortable.esm-BPDXfku7.js} +1 -1
- package/dist/client/assets/{sso-BikZKw53.js → sso-ClBwUtr5.js} +1 -1
- package/dist/client/assets/{suggestion-Dng1OvVu.js → suggestion-CgPYCK9k.js} +1 -1
- package/dist/client/assets/{switch-CRLlGWRm.js → switch-CZb-mYsM.js} +1 -1
- package/dist/client/assets/{symbol-IDB1a86s.js → symbol-CyQNqsns.js} +1 -1
- package/dist/client/assets/{synced-repos-DijY8Z0t.js → synced-repos-D4QeoEDp.js} +1 -1
- package/dist/client/assets/{tab-icon-glyph-DqxS1W2O.js → tab-icon-glyph-DSl4L3DW.js} +1 -1
- package/dist/client/assets/{table-DURb9CvE.js → table-V2ahNRZT.js} +1 -1
- package/dist/client/assets/{tabs-BmUHuMh_.js → tabs-Cb1EEFWU.js} +1 -1
- package/dist/client/assets/{task-assignee-avatar-ETqhRnIl.js → task-assignee-avatar-Wqv60Mfs.js} +1 -1
- package/dist/client/assets/{task-board-C0HnttyI.js → task-board-Cp4gjjuc.js} +1 -1
- package/dist/client/assets/{task-route-DCdSOzRh.js → task-route-DKYWwLvg.js} +1 -1
- package/dist/client/assets/{task-status-B3vHcktz.js → task-status-Ne5UIAX6.js} +1 -1
- package/dist/client/assets/{taskboard-analytics-DmlxZ5Mf.js → taskboard-analytics-adljo_lT.js} +1 -1
- package/dist/client/assets/{tasks-CjGAgQXL.js → tasks--ex7OH66.js} +1 -1
- package/dist/client/assets/tasks-D4NYojIN.js +1 -0
- package/dist/client/assets/{textarea-D-M04FyU.js → textarea-DIMcwKj_.js} +1 -1
- package/dist/client/assets/{thread-analytics-D71NRRmc.js → thread-analytics-CqnVp9Hp.js} +1 -1
- package/dist/client/assets/{thread-intent-Cz3k9J0V.js → thread-intent-BdGEZQ5d.js} +1 -1
- package/dist/client/assets/{thread-route-WzhwdvG6.js → thread-route-BGD5ZDLj.js} +1 -1
- package/dist/client/assets/{thread-route-BZApRytK.js → thread-route-DPiunvH4.js} +1 -1
- package/dist/client/assets/{thread-sheet-body-a_5G_x24.js → thread-sheet-body-DFdozxob.js} +1 -1
- package/dist/client/assets/{time-range-picker-By2VKq20.js → time-range-picker-CyphWImg.js} +1 -1
- package/dist/client/assets/{toggle-group-CuZdEcaQ.js → toggle-group-DQ8R6Md0.js} +1 -1
- package/dist/client/assets/{tool-namespace-BCjfmbIj.js → tool-namespace-BWBiQhUq.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-CLfu4oc8.js → toolbar-icon-button-C7qFILLP.js} +1 -1
- package/dist/client/assets/{tooltip-BHKDYyNW.js → tooltip-RrBkgkDb.js} +1 -1
- package/dist/client/assets/{tooltipContext-CiCw0f_4.js → tooltipContext-C2tBhXWj.js} +1 -1
- package/dist/client/assets/{track-DapsK5NY.js → track-C7T3Q_NS.js} +1 -1
- package/dist/client/assets/{types-XXF2z162.js → types-CRdMnwkp.js} +1 -1
- package/dist/client/assets/{url-slug-DCBs2Iee.js → url-slug-DUBa3zVK.js} +1 -1
- package/dist/client/assets/{usage-stats-DyTGad0G.js → usage-stats-C9C7AU7H.js} +1 -1
- package/dist/client/assets/{use-ai-providers-Bx_YK4SP.js → use-ai-providers-DVBJIa-_.js} +1 -1
- package/dist/client/assets/{use-apply-named-rule-sn752YMP.js → use-apply-named-rule-CjRIJJWs.js} +1 -1
- package/dist/client/assets/{use-automations-Bn3XK6SO.js → use-automations-DIvmuRlE.js} +1 -1
- package/dist/client/assets/{use-autosave-BBFmGfRr.js → use-autosave-D0tBxxQ8.js} +1 -1
- package/dist/client/assets/{use-chat-layout-state-B_AOeaBZ.js → use-chat-layout-state-Aa4VqEQx.js} +1 -1
- package/dist/client/assets/{use-clock-tick-CpFwzf-R.js → use-clock-tick-UQl4M1J5.js} +1 -1
- package/dist/client/assets/{use-cms-publish-actions-cpjQhbMn.js → use-cms-publish-actions-c5y_nfEn.js} +1 -1
- package/dist/client/assets/{use-connect-companion-B1v45-YA.js → use-connect-companion-BPn2REj-.js} +1 -1
- package/dist/client/assets/{use-connection-BHV4hlr5.js → use-connection-DVSix2AF.js} +1 -1
- package/dist/client/assets/{use-copy-FdbZaK00.js → use-copy-C6zGg71V.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CeFhyP52.js → use-create-virtual-mcp-5nIGXG87.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-Cc5HqSt5.js → use-date-fns-locale-DS-Izx-9.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-D0OZ0z3L.js → use-debounced-autosave-DwOKfyXg.js} +1 -1
- package/dist/client/assets/{use-debounced-value-CFShX-im.js → use-debounced-value-Chk6vawl.js} +1 -1
- package/dist/client/assets/{use-deco-credits-Dj7f8XC0.js → use-deco-credits-B32-9i_a.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-Ca_CO8xU.js → use-decopilot-events-B5qoi0Wr.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DoOw898x.js → use-delete-connection-DLjMAPog.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-CCtkUNgJ.js → use-deployment-admin-CuHcgI6F.js} +1 -1
- package/dist/client/assets/{use-fast-preview-draft-url-DVMYcZ0S.js → use-fast-preview-draft-url-eu2nT6W8.js} +1 -1
- package/dist/client/assets/{use-file-configs-L_EIZykF.js → use-file-configs-Cr0gwmd8.js} +1 -1
- package/dist/client/assets/{use-inbox-feed-SET_Qqr-.js → use-inbox-feed-D4K-P1LA.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-ou4V9KG1.js → use-infinite-scroll-asA1-tf9.js} +1 -1
- package/dist/client/assets/{use-join-requests-chrt_1MF.js → use-join-requests-CkkZxs_r.js} +1 -1
- package/dist/client/assets/{use-main-panel-tabs-DIRjMqa3.js → use-main-panel-tabs-Dy-Y3oMc.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-z87-JiLY.js → use-mcp-auth-status-DqE0wx72.js} +1 -1
- package/dist/client/assets/{use-mcp-client-Dkhr6mNw.js → use-mcp-client-liHKfpfj.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-CIKYKwtF.js → use-mcp-prompts-cYDRO3Kp.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BKhJVoW_.js → use-mcp-tools-iSL8qiEx.js} +1 -1
- package/dist/client/assets/{use-mobile-DI2FTIL0.js → use-mobile-XeH7HFdg.js} +1 -1
- package/dist/client/assets/{use-move-blocks-B14_P9tC.js → use-move-blocks-Bkqfi8fY.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-6ltC9eW0.js → use-navigate-to-agent-Ba4TBBON.js} +1 -1
- package/dist/client/assets/{use-org-fs-CB3veWHZ.js → use-org-fs-DNlQgLUG.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-6J5O5qVp.js → use-org-repo-syncs-MkA3X0Ud.js} +1 -1
- package/dist/client/assets/{use-org-sso-DoYxVAf1.js → use-org-sso-ZqYOnTZ9.js} +1 -1
- package/dist/client/assets/{use-organization-roles-BDn2Q_fr.js → use-organization-roles-cbSQbTbx.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Dkjdf4nA.js → use-organization-settings-C_uyrpUI.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-BsaNinK5.js → use-panel-navigate-DIX895ki.js} +1 -1
- package/dist/client/assets/{use-project-native-view-presence-COOx7x9i.js → use-project-native-view-presence-r0Gkk_5E.js} +1 -1
- package/dist/client/assets/{use-project-scope-DUjnfoFF.js → use-project-scope-C98g-M0M.js} +1 -1
- package/dist/client/assets/{use-recent-apps-BZ1V26Xs.js → use-recent-apps-Bp9mI3Hn.js} +1 -1
- package/dist/client/assets/{use-releases-978ACBrZ.js → use-releases-RUoL1asP.js} +1 -1
- package/dist/client/assets/{use-reports-diagnostic-GepFD608.js → use-reports-diagnostic-CJqF-DdT.js} +1 -1
- package/dist/client/assets/{use-sandbox-events-tMbTFRNA.js → use-sandbox-events-COXHFEXL.js} +1 -1
- package/dist/client/assets/{use-secrets-22jE29ga.js → use-secrets-BLT_VvH0.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-DoatuuwF.js → use-section-preview-base-BHeBUNI1.js} +1 -1
- package/dist/client/assets/{use-session-runtime-DqV0h8GY.js → use-session-runtime-Cass8jgv.js} +1 -1
- package/dist/client/assets/{use-sidebar-collapsed-DfprbLGc.js → use-sidebar-collapsed-DTxIOS-x.js} +1 -1
- package/dist/client/assets/{use-tags--xoooGVd.js → use-tags-CrjLMu_-.js} +1 -1
- package/dist/client/assets/{use-task-board-analytics-B0HvVIZ9.js → use-task-board-analytics-C2n2_51H.js} +1 -1
- package/dist/client/assets/{use-task-board-events-OAPO3lhD.js → use-task-board-events-D5XnGFaO.js} +1 -1
- package/dist/client/assets/{use-task-board-item-prs-HXPEyO5q.js → use-task-board-item-prs-CSoHUx1b.js} +1 -1
- package/dist/client/assets/{use-task-metadata-DiHVSC33.js → use-task-metadata-C7aK-HiB.js} +1 -1
- package/dist/client/assets/{use-thread-analytics-w_rB9QIG.js → use-thread-analytics-u-QN-pcv.js} +1 -1
- package/dist/client/assets/{use-thread-outputs-DKCnoHd3.js → use-thread-outputs-BkxphpfI.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BYZFn0Hg.js +1 -0
- package/dist/client/assets/{useQueries-KktKhtBK.js → useQueries-Rmt36TSN.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BjfsGxpD.js +1 -0
- package/dist/client/assets/{users-Ccz0EkLs.js → users-DaTm0LIa.js} +1 -1
- package/dist/client/assets/{utils-C-JscWIZ.js → utils-DF3h1YFq.js} +1 -1
- package/dist/client/assets/{variant-calendar-CIx6nlV_.js → variant-calendar-6x1UYIC-.js} +1 -1
- package/dist/client/assets/{variant-matcher-override-BS5Ktooo.js → variant-matcher-override-nKaBGWQ5.js} +1 -1
- package/dist/client/assets/{view-header-vhlXWyA_.js → view-header-DhqNDwWw.js} +1 -1
- package/dist/client/assets/{virtual-mcp-DlFkWVPE.js → virtual-mcp-Bp27ph4n.js} +1 -1
- package/dist/client/assets/{watch-sse-pool-WDeFSNQB.js → watch-sse-pool-62BerBh7.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +36 -36
- package/dist/server/migrate-dbos.js +2 -2
- package/dist/server/migrate.js +154 -154
- package/dist/server/server.js +818 -818
- package/package.json +1 -1
- package/dist/client/assets/agent-app-DCimJxt7.js +0 -1
- package/dist/client/assets/agent-assets-CKWKjJVe.js +0 -1
- package/dist/client/assets/agent-calendar-CvhUXQcR.js +0 -1
- package/dist/client/assets/agent-deck-lEVBCGON.js +0 -1
- package/dist/client/assets/agent-experiments-YQlAf7zr.js +0 -1
- package/dist/client/assets/agent-library-Ba6xxY0S.js +0 -1
- package/dist/client/assets/agent-library-file-C1MFH3K4.js +0 -1
- package/dist/client/assets/agent-monitor-CaemcP0H.js +0 -1
- package/dist/client/assets/agent-overview-DshioPXr.js +0 -1
- package/dist/client/assets/agent-releases-D5Z2vsLx.js +0 -2
- package/dist/client/assets/agent-settings-B_btYOUt.js +0 -1
- package/dist/client/assets/agent-site-editor-code-Dhb4M-7j.js +0 -2
- package/dist/client/assets/agent-site-editor-content-V5UD-MGZ.js +0 -1
- package/dist/client/assets/agent-site-editor-preview-CKQ1fN9d.js +0 -1
- package/dist/client/assets/agent-view-Bbabi60T.js +0 -1
- package/dist/client/assets/ai-providers-DZBGz0NB.js +0 -6
- package/dist/client/assets/api-keys-DZxhiAP3.js +0 -1
- package/dist/client/assets/chat-draft-BH6THiDR.js +0 -1
- package/dist/client/assets/home-Bww65mfc.js +0 -1
- package/dist/client/assets/index-DJP2Tw2D.css +0 -1
- package/dist/client/assets/input-BhtnU6ti.js +0 -17
- package/dist/client/assets/library-5HUi0FUB.js +0 -1
- package/dist/client/assets/mock-board-BTicfoXo.js +0 -81
- package/dist/client/assets/openai-conversation-CLJJf4OK.js +0 -3
- package/dist/client/assets/project-reports-C5YM8o57.js +0 -1
- package/dist/client/assets/project-tasks-C4GmnH0I.js +0 -1
- package/dist/client/assets/record-editor-qapMfvRB.js +0 -1
- package/dist/client/assets/reports-Ci3Di9K0.js +0 -1
- package/dist/client/assets/repositories-ByW6AQ1Z.js +0 -1
- package/dist/client/assets/roles-DBDcQxYx.js +0 -1
- package/dist/client/assets/route-BNotXZvh.js +0 -1
- package/dist/client/assets/route-DpwFAnDq.js +0 -1
- package/dist/client/assets/settings-tab-DOC7qZpo.js +0 -1
- package/dist/client/assets/site-editor-C78f9k6P.js +0 -1
- package/dist/client/assets/tasks-DbRJoDgD.js +0 -1
- package/dist/client/assets/use-open-billing-url-Cv0uvlPt.js +0 -1
- package/dist/client/assets/useInfiniteQuery-BEMm4bHr.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-UxOXZxMu.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var T=import.meta.require;var E="14";function R(h){return{name:"decocms",systemDatabaseUrl:h.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:h.poolSize,runAdminServer:!1,executorID:h.executorID,applicationVersion:E,...h.listenQueues!==void 0?{listenQueues:h.listenQueues}:{}}}function j(h,w={}){let{signal:f}=w;if(f?.aborted)return Promise.reject(f.reason);return new Promise((J,c)=>{let y=()=>{clearTimeout(+m),c(f?.reason)},m=_(()=>{f?.removeEventListener("abort",y),J()},h);f?.addEventListener("abort",y,{once:!0})})}var Q=2147483647;function _(h,w){if(w=Math.trunc(Math.max(w,0)||0),w<=Q){let y=Number(setTimeout(h,w));return{valueOf:()=>y}}let f=Date.now(),J,c=()=>{let y=w-(Date.now()-f);J=y>Q?Number(setTimeout(c,Q)):Number(setTimeout(h,y))};return c(),{valueOf:()=>J}}import M from"pg";var q=8314027461559302n,P=600000,g=500;async function G(h,w){let{databaseUrl:f,lockTimeoutMs:J=P}=h,c=h.log??((N)=>console.log(N)),y=new M.Client({connectionString:f});await y.connect();let d=Date.now(),m=!1;try{while(!m){if(m=(await y.query("SELECT pg_try_advisory_lock($1) AS locked",[q.toString()])).rows[0]?.locked===!0,m)break;if(Date.now()-d>=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 j(g)}let N=Date.now()-d;if(N>1000)c(`[dbos] waited ${N}ms for the migration lock; another process migrated first`);return await w()}finally{if(m)try{await y.query("SELECT pg_advisory_unlock($1)",[q.toString()])}catch{}await y.end().catch(()=>{})}}import{homedir as A}from"os";var p=new Set(["all","worker","api"]);function u(h){let w=(h??"").trim();return p.has(w)?w:"all"}var I=new Set(["production","development","test"]);function t(h){let w=(h??"").trim();return I.has(w)?w:"development"}function k(h){return h==="true"||h==="1"}function X(h,w,f){if(w===void 0||w==="")return;let J=Number(w);if(!Number.isSafeInteger(J)||J<=0)throw Error(`${h} must be a positive integer`);if(f!==void 0&&J>f)throw Error(`${h} must be at most ${f}`);return J}function z(h,w,f,J){return X(h,w,J)??f}function l(h){let w={};for(let f of(h??"").split(",")){let J=f.trim();if(!J)continue;let c=J.indexOf("="),y=c>0?J.slice(0,c).trim():"",d=c>0?J.slice(c+1).trim():"";if(!y||!d){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${J}" \u2014 expected price_xxx=planId`);continue}w[y]=d}return w}function n(h,w,f,J){if(w===void 0||w==="")return f;let c=Number(w);if(!Number.isSafeInteger(c)||c<0)throw Error(`${h} must be a non-negative integer`);if(J!==void 0&&c>J)throw Error(`${h} must be at most ${J}`);return c}function U(h,w){if(h===void 0||h==="")return w;return h==="true"||h==="1"}function V(h){return h===void 0||h===""||h==="true"||h==="1"}function Z(h,w){return h||w}function i(h){let w=h.DATA_DIR||h.DECOCMS_HOME||`${A()}/deco`,f=t(h.NODE_ENV),J=h.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",c={nodeEnv:f,port:z("PORT",h.PORT,3000,65535),baseUrl:h.BASE_URL,publicUrl:Z(h.STUDIO_PUBLIC_URL,h.MESH_PUBLIC_URL),dataDir:w,voiceConversationProvider:J==="elevenlabs"||J==="openai"?J: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",databaseUrl:h.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:k(h.DATABASE_PG_SSL),databasePoolMax:z("DATABASE_POOL_MAX",h.DATABASE_POOL_MAX,5),dbosPoolSize:z("DBOS_POOL_SIZE",h.DBOS_POOL_SIZE,5),betterAuthSecret:h.BETTER_AUTH_SECRET||"",encryptionKey:h.ENCRYPTION_KEY||"",studioJwtSecret:Z(h.STUDIO_JWT_SECRET,h.MESH_JWT_SECRET),localMode:k(h.DECOCMS_LOCAL_MODE),disableRateLimit:k(h.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:k(h.JIRA_ALLOW_LOCAL_SITE_URL),codexUsageUrl:h.CODEX_USAGE_URL||"https://chatgpt.com/backend-api/wham/usage",claudeUsageUrl:h.CLAUDE_USAGE_URL||"https://api.anthropic.com/api/oauth/usage",jiraSettleSeconds:z("JIRA_SETTLE_SECONDS",h.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:h.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(h.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(h.STUDIO_ADMIN_ORG_IDS??"").split(",").map((y)=>y.trim()).filter(Boolean),deploymentAdminToken:h.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:h.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:X("CLICKHOUSE_MAX_MEMORY_USAGE",h.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:h.MONITORING_OTLP_ENDPOINT,otelServiceName:h.OTEL_SERVICE_NAME||"studio",natsUrls:(h.NATS_URL||"nats://localhost:4222").split(",").map((y)=>y.trim()).filter(Boolean),natsCredsPath:h.NATS_CREDS,natsUser:h.NATS_USER||void 0,natsPassword:h.NATS_PASSWORD||void 0,configPath:h.CONFIG_PATH||"./config.json",aiGatewayEnabled:k(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:n("STUDIO_TOPUP_FEE_PERCENT",h.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:k(h.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:z("STUDIO_FREE_TASKS",h.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:z("STUDIO_MONTHLY_TASKS",h.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:z("STUDIO_MAX_RUNS_PER_TASK",h.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:k(h.ENABLE_DECO_IMPORT),hostingControlPlaneGa:k(h.HOSTING_CONTROL_PLANE_GA),monitorGa:k(h.MONITOR_GA),plansEnabled:k(h.STUDIO_PLANS_ENABLED),mcpCacheEnabled:U(h.MCP_CACHE_ENABLED,f!=="development"),orgFsPublicSetsJson:h.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:k(h.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:z("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",h.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:z("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",h.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:U(h.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:z("BOARD_TRANSITION_SETTLE_SECONDS",h.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:z("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",h.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:h.S3_ENDPOINT,s3Bucket:h.S3_BUCKET,s3Region:h.S3_REGION||"auto",s3AccessKeyId:h.S3_ACCESS_KEY_ID,s3SecretAccessKey:h.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:V(h.S3_FORCE_PATH_STYLE),monitoringS3Bucket:h.MONITORING_S3_BUCKET,monitoringS3Endpoint:h.MONITORING_S3_ENDPOINT,monitoringS3Region:h.MONITORING_S3_REGION,monitoringS3AccessKeyId:h.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:h.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:h.MONITORING_S3_PREFIX,duckdbExtensionDirectory:h.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:h.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:X("DUCKDB_THREADS",h.DUCKDB_THREADS),podName:h.POD_NAME||crypto.randomUUID(),dispatchRole:u(Z(h.STUDIO_DISPATCH_ROLE,h.MESH_DISPATCH_ROLE)),agentSandboxEnabled:k(h.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:k(h.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:U(h.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:k(h.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:k(h.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:k(h.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:z("SANDBOX_RELEASE_GRACE_MS",h.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:h.DECO_SUPABASE_URL,decoSupabaseServiceKey:h.DECO_SUPABASE_SERVICE_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,customerLakeUrl:h.CUSTOMER_LAKE_URL,customerLakeAdminUsername:h.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:h.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:h.CUSTOMER_LAKE_TENANT_SECRET,orderMonitorIngestUrl:h.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:h.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:Z(h.REPORTS_INTERNAL_API_URL,h.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:Z(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://assets.decocms.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,deliveryR2AccountId:h.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:h.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:h.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:h.DELIVERY_R2_BUCKET,deliveryR2Endpoint:h.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:h.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:h.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:h.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:h.CF_PURGE_API_TOKEN};if(Boolean(c.natsUser)!==Boolean(c.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(c.natsCredsPath&&c.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(c.plansEnabled&&!c.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(c.plansEnabled&&!c.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(c.plansEnabled&&!c.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(c.plansEnabled&&Object.keys(c.stripePlanPriceIds).length>0&&!c.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(c.plansEnabled&&Object.keys(c.stripePlanPriceIds).length>1&&!c.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 c}var v=null;function $(){return v??=Object.freeze(i(process.env))}import{Kysely as Pc,PostgresDialect as gc}from"kysely";import{Pool as pc}from"pg";import{createContextKey as wh,metrics as ch,propagation as Aw,ROOT_CONTEXT as pw,SpanStatusCode as uw,trace as fh}from"@opentelemetry/api";import{logs as yh,SeverityNumber as K}from"@opentelemetry/api-logs";import{OTLPLogExporter as lw}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Jh}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as vw}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as sw}from"@opentelemetry/instrumentation-runtime-node";import{context as bh,propagation as Th,SpanKind as _h,SpanStatusCode as Mh}from"@opentelemetry/api";var gh=globalThis.fetch;import{ExportResultCode as eh}from"@opentelemetry/core";import{ExportResultCode as o}from"@opentelemetry/core";import{mkdir as r,rename as s,writeFile as e}from"fs/promises";import{join as D}from"path";class F{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(h){this.basePath=h.basePath,this.flushThreshold=h.flushThreshold??1000,this.maxBufferBytes=h.maxBufferBytes??10485760,this.partitionKey=h.partitionKey;let w=h.flushIntervalMs??60000;if(w>0&&w<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((f)=>{console.error("[NDJSONExporter] Timer flush failed:",f)})},w),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(h){if(this.isShutdown)return Promise.resolve({code:o.FAILED});for(let w of h){let f=JSON.stringify(w),J=this.partitionKey?this.partitionKey(w):"";this.bufferItems.push({partition:J,json:f}),this.bufferBytes+=Buffer.byteLength(f,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:o.SUCCESS})).catch((w)=>{return console.error("[NDJSONExporter] Flush failed:",w),{code:o.FAILED}});return Promise.resolve({code:o.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 w=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=w,w}async doFlush(){if(this.bufferItems.length===0)return;let h=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let w=new Map;for(let c of h){let y=w.get(c.partition);if(!y)y=[],w.set(c.partition,y);y.push(c.json)}let f=await Promise.allSettled(Array.from(w.entries()).map(([c,y])=>this.writeNDJSON(y,c).then(()=>c))),J=f.find((c)=>c.status==="rejected");if(J){let c=new Set;for(let d of f)if(d.status==="fulfilled")c.add(d.value);let y=h.filter((d)=>!c.has(d.partition));this.bufferItems=y.concat(this.bufferItems),this.bufferBytes=0;for(let d of this.bufferItems)this.bufferBytes+=Buffer.byteLength(d.json,"utf8")+1;throw J.reason}}async writeNDJSON(h,w){let f=new Date,J=[String(f.getUTCFullYear()),String(f.getUTCMonth()+1).padStart(2,"0"),String(f.getUTCDate()).padStart(2,"0"),String(f.getUTCHours()).padStart(2,"0")],c=w?D(this.basePath,w,...J):D(this.basePath,...J);if(!this.knownDirs.has(c))await r(c,{recursive:!0,mode:448}),this.knownDirs.add(c);let y=`${crypto.randomUUID()}.ndjson`,d=D(c,`.${y}.tmp`),m=D(c,y),N=h.join(`
|
|
2
|
+
var T=import.meta.require;var E="14";function R(h){return{name:"decocms",systemDatabaseUrl:h.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:h.poolSize,runAdminServer:!1,executorID:h.executorID,applicationVersion:E,...h.listenQueues!==void 0?{listenQueues:h.listenQueues}:{}}}function j(h,w={}){let{signal:f}=w;if(f?.aborted)return Promise.reject(f.reason);return new Promise((J,c)=>{let y=()=>{clearTimeout(+m),c(f?.reason)},m=_(()=>{f?.removeEventListener("abort",y),J()},h);f?.addEventListener("abort",y,{once:!0})})}var Q=2147483647;function _(h,w){if(w=Math.trunc(Math.max(w,0)||0),w<=Q){let y=Number(setTimeout(h,w));return{valueOf:()=>y}}let f=Date.now(),J,c=()=>{let y=w-(Date.now()-f);J=y>Q?Number(setTimeout(c,Q)):Number(setTimeout(h,y))};return c(),{valueOf:()=>J}}import M from"pg";var i=8314027461559302n,P=600000,g=500;async function q(h,w){let{databaseUrl:f,lockTimeoutMs:J=P}=h,c=h.log??((o)=>console.log(o)),y=new M.Client({connectionString:f});await y.connect();let d=Date.now(),m=!1;try{while(!m){if(m=(await y.query("SELECT pg_try_advisory_lock($1) AS locked",[i.toString()])).rows[0]?.locked===!0,m)break;if(Date.now()-d>=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 j(g)}let o=Date.now()-d;if(o>1000)c(`[dbos] waited ${o}ms for the migration lock; another process migrated first`);return await w()}finally{if(m)try{await y.query("SELECT pg_advisory_unlock($1)",[i.toString()])}catch{}await y.end().catch(()=>{})}}import{homedir as A}from"os";var u=new Set(["all","worker","api"]);function p(h){let w=(h??"").trim();return u.has(w)?w:"all"}var I=new Set(["production","development","test"]);function t(h){let w=(h??"").trim();return I.has(w)?w:"development"}function k(h){return h==="true"||h==="1"}function X(h,w,f){if(w===void 0||w==="")return;let J=Number(w);if(!Number.isSafeInteger(J)||J<=0)throw Error(`${h} must be a positive integer`);if(f!==void 0&&J>f)throw Error(`${h} must be at most ${f}`);return J}function z(h,w,f,J){return X(h,w,J)??f}function l(h){let w={};for(let f of(h??"").split(",")){let J=f.trim();if(!J)continue;let c=J.indexOf("="),y=c>0?J.slice(0,c).trim():"",d=c>0?J.slice(c+1).trim():"";if(!y||!d){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${J}" \u2014 expected price_xxx=planId`);continue}w[y]=d}return w}function n(h,w,f,J){if(w===void 0||w==="")return f;let c=Number(w);if(!Number.isSafeInteger(c)||c<0)throw Error(`${h} must be a non-negative integer`);if(J!==void 0&&c>J)throw Error(`${h} must be at most ${J}`);return c}function U(h,w){if(h===void 0||h==="")return w;return h==="true"||h==="1"}function V(h){return h===void 0||h===""||h==="true"||h==="1"}function W(h,w){return h||w}function G(h){let w=h.DATA_DIR||h.DECOCMS_HOME||`${A()}/deco`,f=t(h.NODE_ENV),J=h.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",c={nodeEnv:f,port:z("PORT",h.PORT,3000,65535),baseUrl:h.BASE_URL,publicUrl:W(h.STUDIO_PUBLIC_URL,h.MESH_PUBLIC_URL),dataDir:w,voiceConversationProvider:J==="elevenlabs"||J==="openai"?J: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",databaseUrl:h.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:k(h.DATABASE_PG_SSL),databasePoolMax:z("DATABASE_POOL_MAX",h.DATABASE_POOL_MAX,5),dbosPoolSize:z("DBOS_POOL_SIZE",h.DBOS_POOL_SIZE,5),betterAuthSecret:h.BETTER_AUTH_SECRET||"",encryptionKey:h.ENCRYPTION_KEY||"",studioJwtSecret:W(h.STUDIO_JWT_SECRET,h.MESH_JWT_SECRET),localMode:k(h.DECOCMS_LOCAL_MODE),disableRateLimit:k(h.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:k(h.JIRA_ALLOW_LOCAL_SITE_URL),codexUsageUrl:h.CODEX_USAGE_URL||"https://chatgpt.com/backend-api/wham/usage",claudeUsageUrl:h.CLAUDE_USAGE_URL||"https://api.anthropic.com/api/oauth/usage",jiraSettleSeconds:z("JIRA_SETTLE_SECONDS",h.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:h.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(h.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(h.STUDIO_ADMIN_ORG_IDS??"").split(",").map((y)=>y.trim()).filter(Boolean),deploymentAdminToken:h.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:h.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:X("CLICKHOUSE_MAX_MEMORY_USAGE",h.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:h.MONITORING_OTLP_ENDPOINT,otelServiceName:h.OTEL_SERVICE_NAME||"studio",natsUrls:(h.NATS_URL||"nats://localhost:4222").split(",").map((y)=>y.trim()).filter(Boolean),natsCredsPath:h.NATS_CREDS,natsUser:h.NATS_USER||void 0,natsPassword:h.NATS_PASSWORD||void 0,configPath:h.CONFIG_PATH||"./config.json",aiGatewayEnabled:k(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:n("STUDIO_TOPUP_FEE_PERCENT",h.STUDIO_TOPUP_FEE_PERCENT,15,100),enableDecoImport:k(h.ENABLE_DECO_IMPORT),hostingControlPlaneGa:k(h.HOSTING_CONTROL_PLANE_GA),monitorGa:k(h.MONITOR_GA),plansEnabled:k(h.STUDIO_PLANS_ENABLED),mcpCacheEnabled:U(h.MCP_CACHE_ENABLED,f!=="development"),orgFsPublicSetsJson:h.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:k(h.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:z("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",h.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:z("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",h.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:U(h.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:z("BOARD_TRANSITION_SETTLE_SECONDS",h.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:z("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",h.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:h.S3_ENDPOINT,s3Bucket:h.S3_BUCKET,s3Region:h.S3_REGION||"auto",s3AccessKeyId:h.S3_ACCESS_KEY_ID,s3SecretAccessKey:h.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:V(h.S3_FORCE_PATH_STYLE),monitoringS3Bucket:h.MONITORING_S3_BUCKET,monitoringS3Endpoint:h.MONITORING_S3_ENDPOINT,monitoringS3Region:h.MONITORING_S3_REGION,monitoringS3AccessKeyId:h.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:h.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:h.MONITORING_S3_PREFIX,duckdbExtensionDirectory:h.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:h.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:X("DUCKDB_THREADS",h.DUCKDB_THREADS),podName:h.POD_NAME||crypto.randomUUID(),dispatchRole:p(W(h.STUDIO_DISPATCH_ROLE,h.MESH_DISPATCH_ROLE)),agentSandboxEnabled:k(h.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:k(h.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:U(h.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:k(h.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:k(h.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:k(h.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:z("SANDBOX_RELEASE_GRACE_MS",h.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:h.DECO_SUPABASE_URL,decoSupabaseServiceKey:h.DECO_SUPABASE_SERVICE_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,customerLakeUrl:h.CUSTOMER_LAKE_URL,customerLakeAdminUsername:h.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:h.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:h.CUSTOMER_LAKE_TENANT_SECRET,orderMonitorIngestUrl:h.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:h.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:W(h.REPORTS_INTERNAL_API_URL,h.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:W(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://assets.decocms.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,deliveryR2AccountId:h.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:h.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:h.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:h.DELIVERY_R2_BUCKET,deliveryR2Endpoint:h.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:h.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:h.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:h.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:h.CF_PURGE_API_TOKEN};if(Boolean(c.natsUser)!==Boolean(c.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(c.natsCredsPath&&c.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(c.plansEnabled&&!c.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(c.plansEnabled&&!c.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(c.plansEnabled&&!c.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(c.plansEnabled&&Object.keys(c.stripePlanPriceIds).length>0&&!c.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(c.plansEnabled&&Object.keys(c.stripePlanPriceIds).length>1&&!c.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 c}var r=null;function D(){return r??=Object.freeze(G(process.env))}import{Kysely as Pc,PostgresDialect as gc}from"kysely";import{Pool as uc}from"pg";import{createContextKey as wh,metrics as ch,propagation as Aw,ROOT_CONTEXT as uw,SpanStatusCode as pw,trace as fh}from"@opentelemetry/api";import{logs as yh,SeverityNumber as K}from"@opentelemetry/api-logs";import{OTLPLogExporter as lw}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Jh}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as rw}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as sw}from"@opentelemetry/instrumentation-runtime-node";import{context as bh,propagation as Th,SpanKind as _h,SpanStatusCode as Mh}from"@opentelemetry/api";var gh=globalThis.fetch;import{ExportResultCode as eh}from"@opentelemetry/core";import{ExportResultCode as Z}from"@opentelemetry/core";import{mkdir as v,rename as s,writeFile as e}from"fs/promises";import{join as $}from"path";class F{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(h){this.basePath=h.basePath,this.flushThreshold=h.flushThreshold??1000,this.maxBufferBytes=h.maxBufferBytes??10485760,this.partitionKey=h.partitionKey;let w=h.flushIntervalMs??60000;if(w>0&&w<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((f)=>{console.error("[NDJSONExporter] Timer flush failed:",f)})},w),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(h){if(this.isShutdown)return Promise.resolve({code:Z.FAILED});for(let w of h){let f=JSON.stringify(w),J=this.partitionKey?this.partitionKey(w):"";this.bufferItems.push({partition:J,json:f}),this.bufferBytes+=Buffer.byteLength(f,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Z.SUCCESS})).catch((w)=>{return console.error("[NDJSONExporter] Flush failed:",w),{code:Z.FAILED}});return Promise.resolve({code:Z.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 w=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=w,w}async doFlush(){if(this.bufferItems.length===0)return;let h=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let w=new Map;for(let c of h){let y=w.get(c.partition);if(!y)y=[],w.set(c.partition,y);y.push(c.json)}let f=await Promise.allSettled(Array.from(w.entries()).map(([c,y])=>this.writeNDJSON(y,c).then(()=>c))),J=f.find((c)=>c.status==="rejected");if(J){let c=new Set;for(let d of f)if(d.status==="fulfilled")c.add(d.value);let y=h.filter((d)=>!c.has(d.partition));this.bufferItems=y.concat(this.bufferItems),this.bufferBytes=0;for(let d of this.bufferItems)this.bufferBytes+=Buffer.byteLength(d.json,"utf8")+1;throw J.reason}}async writeNDJSON(h,w){let f=new Date,J=[String(f.getUTCFullYear()),String(f.getUTCMonth()+1).padStart(2,"0"),String(f.getUTCDate()).padStart(2,"0"),String(f.getUTCHours()).padStart(2,"0")],c=w?$(this.basePath,w,...J):$(this.basePath,...J);if(!this.knownDirs.has(c))await v(c,{recursive:!0,mode:448}),this.knownDirs.add(c);let y=`${crypto.randomUUID()}.ndjson`,d=$(c,`.${y}.tmp`),m=$(c,y),o=h.join(`
|
|
3
3
|
`)+`
|
|
4
|
-
`;await e(d,
|
|
4
|
+
`;await e(d,o,{mode:384}),await s(d,m)}}import{ExportResultCode as fw}from"@opentelemetry/core";import{AggregationTemporality as Jw,DataPointType as dw}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Ww}from"@opentelemetry/core";var Fw=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as dc,LoggerProvider as mc}from"@opentelemetry/sdk-logs";import{detectResources as oc,envDetector as zc,hostDetector as Nc,osDetector as Wc,processDetector as Dc,resourceFromAttributes as Zc}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Fc}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Uw}from"@opentelemetry/api-logs";import{NodeSDK as Uc}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as Yc,SamplingDecision as N}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as xw}from"@opentelemetry/api";var dh="__d",mh=wh("Current request"),kh=1;var L=(h)=>{let f=new URL(h.url).searchParams.get(dh);if(f==="")return crypto.randomUUID();if(!f)f=h.headers.get("x-trace-debug-id");return f};class S{inner;constructor(h){this.inner=h}shouldSample(h,w,f,J,c,y){let d=h.getValue(mh);if(!d){if(this.inner)return this.inner.shouldSample(h,w,f,J,c,y);return{decision:N.RECORD_AND_SAMPLED}}let m=L(d);if(m)return{decision:N.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":m}};if(this.inner){let o=this.inner.shouldSample(h,w,f,J,c,y);if(o.decision===N.RECORD_AND_SAMPLED){let C=crypto.randomUUID();o.attributes={...o.attributes??{},"trace.debug.id":C}}return o}return{decision:N.NOT_RECORD}}toString(){return"DebugSampler"}}class b{ratio;constructor(h){this.ratio=h}shouldSample(){if(Math.random()<this.ratio)return{decision:N.RECORD_AND_SAMPLED};return{decision:N.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var Bc=new Jh({preventServerStart:!0}),xc=new S(new b(kh));var O=fh.getTracer("studio","1.0.0"),Y=ch.getMeter("studio","1.0.0"),oh=yh.getLogger("studio","1.0.0"),B=(h,w,f)=>{let J={},c=f,y=f[f.length-1];if(y!==null&&typeof y==="object"&&!Array.isArray(y)&&!(y instanceof Error)&&Object.getPrototypeOf(y)===Object.prototype)J=y,c=f.slice(0,-1);let d=c.map((m)=>{if(m instanceof Error)return`${m.name}: ${m.message}`;if(typeof m==="object")try{return JSON.stringify(m)}catch{return"[Object]"}return String(m)}).join(" ");oh.emit({severityNumber:h,severityText:w,body:d,attributes:{"log.source":"console",...J}})},x={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...h)=>{B(K.ERROR,"ERROR",h),x.error(...h)};console.warn=(...h)=>{B(K.WARN,"WARN",h),x.warn(...h)};console.debug=(...h)=>{B(K.DEBUG,"DEBUG",h),x.debug(...h)};function H(h,w){if(!w)return h;let f=new URL(h);if(!f.searchParams.has("sslmode"))f.searchParams.set("sslmode","verify-full");return f.toString()}async function zh(){let h=D(),{DBOS:w}=await import("@dbos-inc/dbos-sdk");w.setConfig(R({systemDatabaseUrl:H(h.databaseUrl,h.databasePgSsl),poolSize:h.dbosPoolSize,executorID:h.podName,listenQueues:[]})),await q({databaseUrl:H(h.databaseUrl,h.databasePgSsl)},async()=>{await w.launch(),await w.shutdown()})}if(import.meta.main)(async()=>{try{await zh(),console.log("DBOS system-schema migrations completed."),process.exit(0)}catch(h){console.error("DBOS system-schema migration failed:",h),process.exit(1)}})();export{zh as migrateDbos};
|