decocms 4.505.1 → 4.506.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{ActiveShapeUtils-CPJ1MgDb.js → ActiveShapeUtils-YBOj2cK0.js} +1 -1
- package/dist/client/assets/{AlertCircle-DqeQeZIo.js → AlertCircle-SlWthUo-.js} +1 -1
- package/dist/client/assets/{AreaChart-C-18l_uG.js → AreaChart-D7jrbsmW.js} +1 -1
- package/dist/client/assets/{ArrowLeft-DPGP5g4O.js → ArrowLeft-KHwg-gY7.js} +1 -1
- package/dist/client/assets/{ArrowUp-CDNiJQ3Z.js → ArrowUp-DcS4NtQu.js} +1 -1
- package/dist/client/assets/{BarChart-CU_yn9c-.js → BarChart-C_clG8Ob.js} +1 -1
- package/dist/client/assets/{Building02-Bn3V8SyT.js → Building02-CNZjLCzO.js} +1 -1
- package/dist/client/assets/{CategoricalChart-Ds9PuWui.js → CategoricalChart-DlYOL7Yr.js} +1 -1
- package/dist/client/assets/{CheckCircle-BxjjIHP3.js → CheckCircle-BmoiDiMI.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-DhsMteL_.js → ChevronSelectorVertical-DKuBdQt_.js} +1 -1
- package/dist/client/assets/{ChevronUp-mM4k2SNd.js → ChevronUp-BZdHrdSa.js} +1 -1
- package/dist/client/assets/{Copy01-CE54Zkyb.js → Copy01-CuZQqOx0.js} +1 -1
- package/dist/client/assets/{CreditCard01-DH-01CEi.js → CreditCard01-Dy-cJWaD.js} +1 -1
- package/dist/client/assets/{DotsVertical-judgrIje.js → DotsVertical-BRx6WGDK.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-BOF7UG7D.js → ErrorBarContext-C_eBf_yb.js} +1 -1
- package/dist/client/assets/{Globe04-ZYzvP_wb.js → Globe04-C14EHEAN.js} +1 -1
- package/dist/client/assets/{Image01-DrTbYVVK.js → Image01-B4ADQjw6.js} +1 -1
- package/dist/client/assets/{Key01-osOREfQl.js → Key01-DFRkR5rw.js} +1 -1
- package/dist/client/assets/{Link01-B9G68hNn.js → Link01-HNlOmSEO.js} +1 -1
- package/dist/client/assets/{LinkBroken01-DmEX13WI.js → LinkBroken01-ZJSQiUDy.js} +1 -1
- package/dist/client/assets/{Monitor01-NkP5UQNs.js → Monitor01-D6P0fhgC.js} +1 -1
- package/dist/client/assets/{Play-B47awNwY.js → Play-BUzibowQ.js} +1 -1
- package/dist/client/assets/{Plus-DcfUNR2f.js → Plus-DMw0rYpl.js} +1 -1
- package/dist/client/assets/{SearchMd-C9-YwsK0.js → SearchMd-5zzeWTKY.js} +1 -1
- package/dist/client/assets/{Sector-B_DvrPH2.js → Sector-DhHL2rjm.js} +1 -1
- package/dist/client/assets/{ShoppingBag01-ujP3y_qp.js → ShoppingBag01-JCO9eh6X.js} +1 -1
- package/dist/client/assets/{Sun-DrT0hU0Y.js → Sun-CZj_t7ip.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-DA5rnPNX.js → SwitchHorizontal01-DFdRxYUn.js} +1 -1
- package/dist/client/assets/{Tool01-C4R3ZOr4.js → Tool01-BM2irxFF.js} +1 -1
- package/dist/client/assets/{Trash01-Kje2UjpJ.js → Trash01-DCBnmu5P.js} +1 -1
- package/dist/client/assets/{Upload01-ClskmS1t.js → Upload01-CGS2ebmt.js} +1 -1
- package/dist/client/assets/{User01-BnkZxOFX.js → User01-Cs-eJ-Db.js} +1 -1
- package/dist/client/assets/{UserSquare-Sii9PRmG.js → UserSquare-DwswTgw8.js} +1 -1
- package/dist/client/assets/{Users01-CwARyXl9.js → Users01-B4Uysmrx.js} +1 -1
- package/dist/client/assets/{XAxis-C5ouXN9R.js → XAxis-Bq2-riEp.js} +1 -1
- package/dist/client/assets/{XClose-BjuY3nsh.js → XClose-B6X-WQEL.js} +1 -1
- package/dist/client/assets/{ZoomOut-DwuOJSek.js → ZoomOut-CPMInjM1.js} +1 -1
- package/dist/client/assets/{access-gate-Ckw1tvkz.js → access-gate-CHtG4vI8.js} +1 -1
- package/dist/client/assets/{add-connection-dialog-CRR0P53q.js → add-connection-dialog-gHKHol-P.js} +1 -1
- package/dist/client/assets/{agent-analytics-Bb_fc8YJ.js → agent-analytics-DXbNELON.js} +1 -1
- package/dist/client/assets/agent-app-Cv__AOVM.js +1 -0
- package/dist/client/assets/{agent-assets-D1Z85b_F.js → agent-assets-DMv6anfA.js} +1 -1
- package/dist/client/assets/{agent-automation-BFysez0o.js → agent-automation-ClB242hY.js} +1 -1
- package/dist/client/assets/{agent-automations-DDVixO3t.js → agent-automations-BfSWMz7r.js} +1 -1
- package/dist/client/assets/{agent-connect-sources-K-A5r1fP.js → agent-connect-sources-1y7VsJ7D.js} +1 -1
- package/dist/client/assets/agent-deck-Du1mMR-E.js +1 -0
- package/dist/client/assets/{agent-e2e-BPrY52Ep.js → agent-e2e-VfJQEaZF.js} +1 -1
- package/dist/client/assets/{agent-experiments-ihc1Pcv7.js → agent-experiments-BIloXgen.js} +1 -1
- package/dist/client/assets/{agent-file-DVlNnuKt.js → agent-file-DHb7VoiQ.js} +1 -1
- package/dist/client/assets/{agent-hosting-CDAmKMBw.js → agent-hosting-Dd3LktbV.js} +1 -1
- package/dist/client/assets/{agent-icon-DgBki_YS.js → agent-icon-DPEjJB4e.js} +1 -1
- package/dist/client/assets/agent-library-file-vb-6Hjtp.js +1 -0
- package/dist/client/assets/agent-library-pAGySVEX.js +1 -0
- package/dist/client/assets/{agent-monitor-CzKIw_tz.js → agent-monitor-Bqq_5OKe.js} +1 -1
- package/dist/client/assets/{agent-overview-rk6Sm92U.js → agent-overview-CzK1M8k2.js} +1 -1
- package/dist/client/assets/{agent-releases-D4BE1wNR.js → agent-releases-CycYtkVh.js} +1 -1
- package/dist/client/assets/agent-settings-6lU0Rtg1.js +1 -0
- package/dist/client/assets/{agent-site-editor-CrwVyv-3.js → agent-site-editor-DHhqBK5P.js} +1 -1
- package/dist/client/assets/agent-site-editor-code-C0sVCVRO.js +2 -0
- package/dist/client/assets/agent-site-editor-content-DuKM0OyF.js +1 -0
- package/dist/client/assets/agent-site-editor-preview-QBPik_OC.js +1 -0
- package/dist/client/assets/agent-view-DcW4UHjt.js +1 -0
- package/dist/client/assets/{agent-view-guard-CXKYvvbm.js → agent-view-guard-D6GUEcFf.js} +1 -1
- package/dist/client/assets/{agents-list-CoPS1QbO.js → agents-list-BEIvacYR.js} +1 -1
- package/dist/client/assets/ai-providers-0X1DCh96.js +6 -0
- package/dist/client/assets/{alert-DfAkUZEI.js → alert-BpZ59_Gc.js} +1 -1
- package/dist/client/assets/{alert-dialog-DaNO60rY.js → alert-dialog-DOc9sMK7.js} +1 -1
- package/dist/client/assets/{analytics-sections-CTPHY4dx.js → analytics-sections-ShUUJbGz.js} +1 -1
- package/dist/client/assets/{api-keys-DKiBsp1M.js → api-keys-BDfZvFu9.js} +1 -1
- package/dist/client/assets/api-keys-CX0eTNjr.js +1 -0
- package/dist/client/assets/{app-editor-D2opLmgN.js → app-editor-BWwoXiez.js} +1 -1
- package/dist/client/assets/{asset-utils-d4oNaz_A.js → asset-utils-BpRYKiOA.js} +1 -1
- package/dist/client/assets/{auth-CUB1QFat.js → auth-Bew9bJSh.js} +1 -1
- package/dist/client/assets/{auth-catchall-DSz5u8HT.js → auth-catchall-BZM_DFXE.js} +1 -1
- package/dist/client/assets/{auth-entry-DvLTlbUA.js → auth-entry-C0pPXrpQ.js} +1 -1
- package/dist/client/assets/{auth-split-layout-BnWB2obZ.js → auth-split-layout-D4mHxU2I.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-B5SszYN9.js → authenticate-and-persist-oauth-Bg2qSKP5.js} +1 -1
- package/dist/client/assets/{automation-list-row-MXx8TYwq.js → automation-list-row-Du_X7bLQ.js} +1 -1
- package/dist/client/assets/{automation-runs-CO9plUCm.js → automation-runs-K0640sJi.js} +1 -1
- package/dist/client/assets/{automations-B7PntWfd.js → automations-1ZKwiBVj.js} +1 -1
- package/dist/client/assets/{autosend-BpLsiV89.js → autosend-BM8Gkro6.js} +1 -1
- package/dist/client/assets/{avatar-Dpt3gCAd.js → avatar-Cf8ensdm.js} +1 -1
- package/dist/client/assets/{badge-CUAHXmJu.js → badge-u-FEcB1F.js} +1 -1
- package/dist/client/assets/{block-document-m88Js_78.js → block-document-rnpU1D6O.js} +1 -1
- package/dist/client/assets/{blocks-preview-workspace-context-CHPTPxQM.js → blocks-preview-workspace-context-Dz4R0igJ.js} +1 -1
- package/dist/client/assets/{blocks-tab-states-B0NemDn-.js → blocks-tab-states-Dbou5tyV.js} +3 -3
- package/dist/client/assets/{blog-schema-DDHXkyX9.js → blog-schema-BLwhAB4M.js} +1 -1
- package/dist/client/assets/{board-analytics-D6tmbt7p.js → board-analytics-vn1KvhHP.js} +1 -1
- package/dist/client/assets/{buckets-DZtZImlO.js → buckets-CkiliZPf.js} +1 -1
- package/dist/client/assets/{build-improve-prompt-doc-z2YVmdXu.js → build-improve-prompt-doc-BGKwjyz_.js} +1 -1
- package/dist/client/assets/{calendar-BagLrzzB.js → calendar-Cms_t32w.js} +1 -1
- package/dist/client/assets/{capability-load-error-Bno41Mdy.js → capability-load-error-Btsxhikd.js} +1 -1
- package/dist/client/assets/{category-editor-DPncph6G.js → category-editor-BIFxkSOg.js} +1 -1
- package/dist/client/assets/{chart-BSLITNsB.js → chart-WIORlSk5.js} +1 -1
- package/dist/client/assets/{chat-context-4taVXd9k.js → chat-context-CXuTB4t_.js} +1 -1
- package/dist/client/assets/{chat-draft-C77P_ztf.js → chat-draft-BfZZImrW.js} +1 -1
- package/dist/client/assets/{checkbox-5y3yRheb.js → checkbox-39Y4Yvzb.js} +1 -1
- package/dist/client/assets/{choose-editor-pulsD9GR.js → choose-editor-A6KbDeMD.js} +1 -1
- package/dist/client/assets/{cli-auth-success-KQCGj7Au.js → cli-auth-success-CBQcY2ti.js} +1 -1
- package/dist/client/assets/{client-icons-CAIFNaE6.js → client-icons-CkJbp7Kf.js} +1 -1
- package/dist/client/assets/cms-settings-editor-CCE6WfjP.js +1 -0
- package/dist/client/assets/{collapsible-kDOQ8vBg.js → collapsible-DQScoiBp.js} +1 -1
- package/dist/client/assets/{collection-detail-DWwDhlsT.js → collection-detail-CTj1twku.js} +1 -1
- package/dist/client/assets/{collection-display-button-COz9Csh1.js → collection-display-button-2k7Qd1eY.js} +1 -1
- package/dist/client/assets/{collection-search-Crc9IxG5.js → collection-search-BvWeMsnW.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Brz0spkb.js → collection-table-wrapper-KHKDw1rQ.js} +1 -1
- package/dist/client/assets/{collection-tabs-JUBQ_0wY.js → collection-tabs-DMN1FKAg.js} +1 -1
- package/dist/client/assets/{column-rules-Dz-6M0_6.js → column-rules-J5zEqDKI.js} +1 -1
- package/dist/client/assets/{combobox-wz8LJZD2.js → combobox-BbEIMkIW.js} +1 -1
- package/dist/client/assets/{command-DC0_Z4MO.js → command-bEQWkHWl.js} +1 -1
- package/dist/client/assets/{companion-mcps-section-fCNgFv-6.js → companion-mcps-section-C9zrMUWG.js} +1 -1
- package/dist/client/assets/{config-B7GxzysW.js → config-oRqWYZBw.js} +1 -1
- package/dist/client/assets/{connect-CsnMjaAH.js → connect-CpChXP6m.js} +1 -1
- package/dist/client/assets/{connect-layout-CS-qUAl1.js → connect-layout-7yNDEshW.js} +1 -1
- package/dist/client/assets/{connection-CWuCG2aS.js → connection-DE10KgqA.js} +1 -1
- package/dist/client/assets/{connection-card-D8GQ1QiI.js → connection-card-f5vHryIM.js} +1 -1
- package/dist/client/assets/{connection-detail-BSjzEMSz.js → connection-detail-BvxmL1lP.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-DDccjG4q.js → connection-form-helpers-iXh508wY.js} +1 -1
- package/dist/client/assets/{connections-yjmgtiRD.js → connections-uyNi3ziJ.js} +1 -1
- package/dist/client/assets/{content-tab-CJsLui7I.js → content-tab-DbhBHZG2.js} +3 -3
- package/dist/client/assets/{context-BHC2FGlS.js → context-RzldR5hI.js} +1 -1
- package/dist/client/assets/{context-menu-1K85jwpY.js → context-menu-Bu-wDHbx.js} +1 -1
- package/dist/client/assets/{core.esm-DApLsxsY.js → core.esm-BOurIsL2.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-DdAGsC_j.js → create-organization-dialog-BYS8yCkD.js} +1 -1
- package/dist/client/assets/{daily-pulse-BSzPNBRW.js → daily-pulse-B0nm37Wk.js} +1 -1
- package/dist/client/assets/{discover-DLa_piaB.js → discover-C3-2Xsml.js} +1 -1
- package/dist/client/assets/{domain-settings-Dy4AbnYn.js → domain-settings-DJWETZdb.js} +1 -1
- package/dist/client/assets/{drawer-BbUlpUCW.js → drawer-SYkf9S3t.js} +1 -1
- package/dist/client/assets/{editor-C-OgXNhB.js → editor-50pL9wJq.js} +1 -1
- package/dist/client/assets/{editor-classes-Dc2W7nDk.js → editor-classes-tT6DS3c0.js} +1 -1
- package/dist/client/assets/{empty-state-DZKVrCuI.js → empty-state-BBRtoH8X.js} +1 -1
- package/dist/client/assets/{empty-state-CSKwPEsv.js → empty-state-BEo1idJ2.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DFUDKHm9.js → extract-connection-data-BXwLKN9Y.js} +1 -1
- package/dist/client/assets/{feature-gate-BD1b5v86.js → feature-gate-CmK7hW3c.js} +1 -1
- package/dist/client/assets/{feature-paywall-BICO-vth.js → feature-paywall-B6WYRGmt.js} +1 -1
- package/dist/client/assets/{file-explorer-DNkagk5u.js → file-explorer-BmA6nLXP.js} +1 -1
- package/dist/client/assets/{file-preview-CfdQRxcT.js → file-preview-navJIo3Y.js} +1 -1
- package/dist/client/assets/{file-share-button-G-_PwGQA.js → file-share-button-By02TUaE.js} +1 -1
- package/dist/client/assets/{file-type-icon-VpQt0U2l.js → file-type-icon-CXYODp5S.js} +1 -1
- package/dist/client/assets/flat-project-CVEZo8Pd.js +1 -0
- package/dist/client/assets/{folder-icon-CsTHd67Z.js → folder-icon-CPUJWTIk.js} +1 -1
- package/dist/client/assets/{form-Ccs7r35I.js → form-CSMe0Xu2.js} +1 -1
- package/dist/client/assets/{general-CW8PZIFH.js → general-BCOJVftC.js} +1 -1
- package/dist/client/assets/{home-B7ZUJZwU.js → home-rN3gPNj9.js} +1 -1
- package/dist/client/assets/{hosted-publish-feedback-BKP6B_BC.js → hosted-publish-feedback-cq97qRwz.js} +1 -1
- package/dist/client/assets/{icon-button-B70HUI29.js → icon-button-jj21Pfs7.js} +1 -1
- package/dist/client/assets/{index-D3hogDX7.js → index-6vyUSmHY.js} +1 -1
- package/dist/client/assets/{index-1iomk3-f.js → index-9Jrp3KlM.js} +1 -1
- package/dist/client/assets/{index-B5qumCT5.js → index-B7U88B6N.js} +1 -1
- package/dist/client/assets/{index-D2jzeqMs.js → index-BFoj7reh.js} +1 -1
- package/dist/client/assets/{index-D2sT3et4.js → index-BaYKytFu.js} +1 -1
- package/dist/client/assets/{index-C4rMNEe_.js → index-CnqqaukI.js} +1 -1
- package/dist/client/assets/{index-D_r171PN.js → index-DEDDgDGK.js} +1 -1
- package/dist/client/assets/{index-BK0oWzQv.js → index-DKVv-34T.js} +1 -1
- package/dist/client/assets/{index-CO1YjQbJ.js → index-DRz4ZqDU.js} +1 -1
- package/dist/client/assets/{index-CTbRlsHm.js → index-D_zg5lyX.js} +1 -1
- package/dist/client/assets/{index-BW7my073.js → index-DmJJi5Aj.js} +5 -5
- package/dist/client/assets/{index-BkyXbFPG.js → index-Du7SnZ-C.js} +1 -1
- package/dist/client/assets/{index-Ck67Gekc.js → index-Dz84h2Uh.js} +1 -1
- package/dist/client/assets/{index-P_lVMWb7.js → index-Yt-1DNw6.js} +3 -3
- package/dist/client/assets/{index-D2Gob1Gb.js → index-lvmhjtam.js} +1 -1
- package/dist/client/assets/{index-redirect-Yg4URS2R.js → index-redirect-CPDHoWP-.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-4_03tcmw.js → infiniteQueryObserver-DMUM7SCu.js} +1 -1
- package/dist/client/assets/{infra-billing-BUPMegJK.js → infra-billing-DNOr1seX.js} +1 -1
- package/dist/client/assets/{input-4Rq6XFEH.js → input-BH4Oxr1L.js} +1 -1
- package/dist/client/assets/{input-Bv3xUnbf.js → input-YsTzlSvU.js} +3 -3
- package/dist/client/assets/{integration-icon-ZpA1aS5H.js → integration-icon-DQxxCK04.js} +1 -1
- package/dist/client/assets/{jira-icon-J9FhJ7li.js → jira-icon-CPUmww9A.js} +1 -1
- package/dist/client/assets/{label-CKxoomj_.js → label-DXaPh7Je.js} +1 -1
- package/dist/client/assets/{layout-f0wIUbsA.js → layout-DQ66qmO9.js} +1 -1
- package/dist/client/assets/{legacy-agents-deep-C51dCIBr.js → legacy-agents-deep-BNVqjDv8.js} +1 -1
- package/dist/client/assets/{legacy-main-redirect-BGGStzw2.js → legacy-main-redirect-Np53PuYT.js} +1 -1
- package/dist/client/assets/library-D66pbYEa.js +1 -0
- package/dist/client/assets/{library-tab-BQafg70w.js → library-tab-Bq6k_3IG.js} +1 -1
- package/dist/client/assets/{login-BFqeypRc.js → login-DBsx92_o.js} +1 -1
- package/dist/client/assets/{markdown-J9r3yqs2.js → markdown-CF_EwD8u.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-CACkKi_k.js → mcp-app-renderer-SLcpw_GO.js} +1 -1
- package/dist/client/assets/{mcp-oauth-DujtvQuP.js → mcp-oauth-BPsTeQb9.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CxXOlOKx.js → mcp-oauth-CzbNzM03.js} +1 -1
- package/dist/client/assets/{members-CDFEF1pK.js → members-BNplg4tN.js} +1 -1
- package/dist/client/assets/{memory-T0C48v-f.js → memory-Be-EH5Kw.js} +1 -1
- package/dist/client/assets/{mini-report-page-B35BDvvI.js → mini-report-page-MmikJINJ.js} +1 -1
- package/dist/client/assets/{mock-board-Dirj3Gja.js → mock-board-BaHvboTU.js} +1 -1
- package/dist/client/assets/{monaco-editor-GQLZ51K4.js → monaco-editor-dPYi6L5q.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-qdxP_Wd2.js → monitoring-stats-row-C8PGI7z7.js} +1 -1
- package/dist/client/assets/{multi-select-CX9fw6H9.js → multi-select-BzwMWM94.js} +1 -1
- package/dist/client/assets/{mustache-B4L349mf.js → mustache-DhZHK7zV.js} +1 -1
- package/dist/client/assets/{new-project-dialog-Dyv4E8A7.js → new-project-dialog-x3CgBcBd.js} +1 -1
- package/dist/client/assets/{oauth-callback-D_DR_zkb.js → oauth-callback-DwnwB6UW.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-BG7RRBHB.js → oauth-callback-ai-provider-Cq1iMkGk.js} +1 -1
- package/dist/client/assets/{onboarding-wAaszeRs.js → onboarding-fQG5r2FK.js} +1 -1
- package/dist/client/assets/{openai-conversation-Bng7y8SC.js → openai-conversation-KVcfBBc6.js} +1 -1
- package/dist/client/assets/{optimistic-project-sidebar-views-ChS4G4R2.js → optimistic-project-sidebar-views-DNYS7Cn_.js} +1 -1
- package/dist/client/assets/{order-monitor-day-BTZBXgfe.js → order-monitor-day-CIjpWX2N.js} +1 -1
- package/dist/client/assets/{organization-choice-B_fTehRJ.js → organization-choice-CLkvC5Cb.js} +1 -1
- package/dist/client/assets/{orgs-B5G1g_8m.js → orgs-CMEfgf3N.js} +1 -1
- package/dist/client/assets/{page-seo-form-CVaY5siA.js → page-seo-form-BlD1QdAg.js} +1 -1
- package/dist/client/assets/{pair-DnuFgiBk.js → pair-DP5ED0n_.js} +1 -1
- package/dist/client/assets/{plan-ladder-Dj01rq7g.js → plan-ladder-zWIPqL-O.js} +1 -1
- package/dist/client/assets/{popover-DEOhusl7.js → popover-fYvCFbz-.js} +1 -1
- package/dist/client/assets/{post-calendar-BObVF6RC.js → post-calendar-D1yzYd4M.js} +1 -1
- package/dist/client/assets/{post-editor-C96fan-2.js → post-editor-BXUHohyr.js} +1 -1
- package/dist/client/assets/{preview-content-Bfx_-yIq.js → preview-content-CmfLKt3D.js} +1 -1
- package/dist/client/assets/{preview-dialog-5cvahUdT.js → preview-dialog-C5CJFtZe.js} +1 -1
- package/dist/client/assets/{preview-panel-CguVsO17.js → preview-panel-16KeEdoG.js} +1 -1
- package/dist/client/assets/{preview-tab-CALmFMCp.js → preview-tab-DhgHL0WN.js} +3 -3
- package/dist/client/assets/{product-picker-dialog-B_dFoug-.js → product-picker-dialog-tVZq0CDa.js} +1 -1
- package/dist/client/assets/{profile-Ct0YCzPs.js → profile-CIMiHvG6.js} +1 -1
- package/dist/client/assets/{project-app-view-CC-jqHFi.js → project-app-view-CWtv42hH.js} +1 -1
- package/dist/client/assets/{project-feed-DwuLAv8n.js → project-feed-DMV42khD.js} +1 -1
- package/dist/client/assets/{project-icon-Cx5wvhJp.js → project-icon-DijKHVuo.js} +1 -1
- package/dist/client/assets/project-reports-BXZYOXjl.js +1 -0
- package/dist/client/assets/project-tasks-JG50DV7s.js +1 -0
- package/dist/client/assets/{projects-DECrXLzg.js → projects-BVF2wGAY.js} +1 -1
- package/dist/client/assets/{projects-empty-state-Blr-_CSK.js → projects-empty-state-CdfFkgo9.js} +1 -1
- package/dist/client/assets/{prompts-DXRKuRun.js → prompts-D8lBj64B.js} +1 -1
- package/dist/client/assets/record-editor-Q4r6DK6y.js +1 -0
- package/dist/client/assets/{redirect-editor-D0sMpbPJ.js → redirect-editor-D6GG3gU8.js} +1 -1
- package/dist/client/assets/reports-Dp6RE3Y_.js +1 -0
- package/dist/client/assets/{reports-CqSc92eL.js → reports-DzFUAAe9.js} +1 -1
- package/dist/client/assets/{reports-onboarding-Z0Af4wWJ.js → reports-onboarding-CtCpWMWq.js} +1 -1
- package/dist/client/assets/{reports-tab-D2wHi3J4.js → reports-tab-DdjqXd-P.js} +2 -2
- package/dist/client/assets/{repositories-BXEg38wk.js → repositories-DvZv22_y.js} +1 -1
- package/dist/client/assets/{repository-binding-Br5D6iZ4.js → repository-binding-CteZmIva.js} +1 -1
- package/dist/client/assets/{repository-import-picker-39r_1yMe.js → repository-import-picker-DdjluiGQ.js} +1 -1
- package/dist/client/assets/{repository-picker-CVdPaFjE.js → repository-picker-BHG_Q3_Y.js} +1 -1
- package/dist/client/assets/{require-capability-AMKHJ_cQ.js → require-capability-DfMvVRIs.js} +1 -1
- package/dist/client/assets/{required-auth-layout-82S74c2p.js → required-auth-layout-B4Pt2844.js} +1 -1
- package/dist/client/assets/{reset-password-BqW9I62A.js → reset-password-CoG-TCPT.js} +1 -1
- package/dist/client/assets/{resizable-R1DYYRbo.js → resizable-QOT7XwbA.js} +1 -1
- package/dist/client/assets/{resolve-tab-icon-CbG7Itnv.js → resolve-tab-icon-BDl2h0Dq.js} +1 -1
- package/dist/client/assets/{review-settings-CPwMmlOA.js → review-settings-CuM9As5T.js} +1 -1
- package/dist/client/assets/roles-B6Agdrhz.js +1 -0
- package/dist/client/assets/{route-DrVQj73j.js → route-DCzETavQ.js} +1 -1
- package/dist/client/assets/route-GZy5TvX0.js +1 -0
- package/dist/client/assets/route-t5GwjFKP.js +1 -0
- package/dist/client/assets/{sandbox-lifecycle-context-DMrwC3Vb.js → sandbox-lifecycle-context-BcfEFMah.js} +1 -1
- package/dist/client/assets/{schema-DSE_jEQa.js → schema-B5twZahU.js} +1 -1
- package/dist/client/assets/{schema-BFC2i8Ph.js → schema-C_Twe2CR.js} +1 -1
- package/dist/client/assets/{scroll-area-BkDSkTWr.js → scroll-area-DWfW8PPp.js} +1 -1
- package/dist/client/assets/{search-input-BIROh4Hl.js → search-input-iONBjTDn.js} +1 -1
- package/dist/client/assets/{search-toggle-DfQFz--4.js → search-toggle-DNrxid9T.js} +1 -1
- package/dist/client/assets/{secret-ciphertext-Cl-rP9st.js → secret-ciphertext-DQJA6LTs.js} +1 -1
- package/dist/client/assets/{secret-picker--j_T0tgi.js → secret-picker-RTqlv_mw.js} +1 -1
- package/dist/client/assets/{secrets-DjUcCXn5.js → secrets-CT-Ix4aE.js} +1 -1
- package/dist/client/assets/{sections-editor-DEiO3_fB.js → sections-editor-BbVsm3CC.js} +1 -1
- package/dist/client/assets/{select-BhjOZlg8.js → select-7a9WvaWj.js} +1 -1
- package/dist/client/assets/{select-model-bltZeKaZ.js → select-model-MsH0R9Xj.js} +1 -1
- package/dist/client/assets/{seo-editor-CWK6ROUZ.js → seo-editor-0ZcLNYXq.js} +1 -1
- package/dist/client/assets/{separator-Bpma_IKl.js → separator-DVSdXQ2O.js} +1 -1
- package/dist/client/assets/{settings-tab-CqGe95B8.js → settings-tab-D-_nS2xd.js} +1 -1
- package/dist/client/assets/{sheet-EMAUBGeL.js → sheet-C2JlOlpD.js} +1 -1
- package/dist/client/assets/{shell-layout-CA9NkQMC.js → shell-layout-BDxZg9_K.js} +1 -1
- package/dist/client/assets/site-editor-C6vYIwH1.js +1 -0
- package/dist/client/assets/{site-editor-toast-ChWi-qye.js → site-editor-toast-DISsODHI.js} +1 -1
- package/dist/client/assets/{skills-CffM1-dc.js → skills-CWjsrGc5.js} +1 -1
- package/dist/client/assets/{slider-BaOeotxA.js → slider-04lpm0v_.js} +1 -1
- package/dist/client/assets/{sortable.esm-DNm_8QhY.js → sortable.esm-BP__-BL2.js} +1 -1
- package/dist/client/assets/{sso-DYW6pcdA.js → sso-B5Zn_6ZD.js} +1 -1
- package/dist/client/assets/{suggestion-BYDMpEKS.js → suggestion-DFoIyeE9.js} +1 -1
- package/dist/client/assets/{switch-BHJedeJ7.js → switch-CFiGUTOP.js} +1 -1
- package/dist/client/assets/{symbol-CbhZsT2O.js → symbol-7m9tSCCw.js} +1 -1
- package/dist/client/assets/{synced-repos-DxrDIyAz.js → synced-repos-C4fTRc_O.js} +1 -1
- package/dist/client/assets/{tab-icon-glyph-DH0XjtgN.js → tab-icon-glyph-DrR3rVhf.js} +1 -1
- package/dist/client/assets/{table-RzFYa6QY.js → table-BTn9QLXW.js} +1 -1
- package/dist/client/assets/{tabs-Bsw9oeKO.js → tabs-gZYZCgK2.js} +1 -1
- package/dist/client/assets/{task-board-CILWAO9J.js → task-board-CieGpcMy.js} +1 -1
- package/dist/client/assets/{task-route-B-8mckrS.js → task-route-Du0a6oFo.js} +1 -1
- package/dist/client/assets/{task-status-DiYjmDMM.js → task-status-CZXBctHo.js} +1 -1
- package/dist/client/assets/taskboard-analytics-C-ASxw6x.js +1 -0
- package/dist/client/assets/{tasks-DD0n0w1a.js → tasks-DbnjSqj8.js} +1 -1
- package/dist/client/assets/tasks-UazvBHEg.js +1 -0
- package/dist/client/assets/{textarea-DTnTc1B6.js → textarea-Bej_HjJx.js} +1 -1
- package/dist/client/assets/{thread-analytics-BiM8dsgQ.js → thread-analytics-DlZSGBPY.js} +1 -1
- package/dist/client/assets/{thread-intent-DVQUGbJp.js → thread-intent-D56tMIbL.js} +1 -1
- package/dist/client/assets/{thread-route-CPJ43sWw.js → thread-route-BNBBewOp.js} +1 -1
- package/dist/client/assets/{thread-route-CY9KSYYk.js → thread-route-Ch_UFE8H.js} +1 -1
- package/dist/client/assets/{thread-sheet-body-2nqdwz29.js → thread-sheet-body-BGZjdiWy.js} +1 -1
- package/dist/client/assets/{time-range-picker-BBdfacFe.js → time-range-picker-DFRYI5yT.js} +1 -1
- package/dist/client/assets/{toggle-group-B2-S3DWB.js → toggle-group-DZg8BqTb.js} +1 -1
- package/dist/client/assets/{tool-namespace-C0BJvxK3.js → tool-namespace-DHnrXl8N.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-tGQlTkgW.js → toolbar-icon-button-UMKCT0Ua.js} +1 -1
- package/dist/client/assets/{tooltip-DjtuBfP1.js → tooltip-yZHJwZ0_.js} +1 -1
- package/dist/client/assets/{tooltipContext-BhlbMZ3N.js → tooltipContext-BYBEDJBX.js} +1 -1
- package/dist/client/assets/{track-CnFYb-pv.js → track-Cmqq1NGv.js} +1 -1
- package/dist/client/assets/{types-BzYUug-M.js → types-CfDTYsf_.js} +1 -1
- package/dist/client/assets/{url-slug-CtiYvkEm.js → url-slug-CF34E0UB.js} +1 -1
- package/dist/client/assets/{usage-stats-CDJp6v2e.js → usage-stats-DK61cAbW.js} +1 -1
- package/dist/client/assets/{use-ai-providers-BhDXpjgz.js → use-ai-providers-CdtssKYb.js} +1 -1
- package/dist/client/assets/{use-app-takeover-Delvb7wx.js → use-app-takeover-D6c6GrNl.js} +1 -1
- package/dist/client/assets/{use-automations-BCX0KxqO.js → use-automations-DuQ94ezs.js} +1 -1
- package/dist/client/assets/{use-autosave-BV0jiw5O.js → use-autosave-Cw2uAKzO.js} +1 -1
- package/dist/client/assets/{use-chat-navigation-BmUqvOFh.js → use-chat-navigation-DXGdGkgT.js} +1 -1
- package/dist/client/assets/{use-clock-tick-TF0Wf2j3.js → use-clock-tick-BtNyF77k.js} +1 -1
- package/dist/client/assets/{use-connect-companion-BLmeBGFg.js → use-connect-companion-BklKatzN.js} +1 -1
- package/dist/client/assets/{use-connection-SqoLkv0s.js → use-connection-Bdiz2xzR.js} +1 -1
- package/dist/client/assets/{use-content-sync-BQX2Pcu9.js → use-content-sync-gPUq66Q_.js} +1 -1
- package/dist/client/assets/{use-copy-BgIuhAow.js → use-copy-Cy4qf6se.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-B6zN0Gxf.js → use-create-virtual-mcp-C3RgOrG7.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-Cnl0faOK.js → use-date-fns-locale-mq2zvQEQ.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-CH7ETKkX.js → use-debounced-autosave-69_37K6A.js} +1 -1
- package/dist/client/assets/{use-debounced-value-BcR6Dex1.js → use-debounced-value-hKuOSnf8.js} +1 -1
- package/dist/client/assets/{use-deco-credits-BInQHzU9.js → use-deco-credits-BM65ruxD.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-ByNj6G_f.js → use-decopilot-events-CDGgmpnF.js} +1 -1
- package/dist/client/assets/{use-delete-connection-C75DG-6h.js → use-delete-connection-Cf3UUyQ4.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-CC6hRfFJ.js → use-deployment-admin-BQKTAPvq.js} +1 -1
- package/dist/client/assets/{use-ensure-project-folder-B1XXe3-5.js → use-ensure-project-folder-D6FwKelb.js} +1 -1
- package/dist/client/assets/{use-fast-preview-draft-url-GDccyDV7.js → use-fast-preview-draft-url-Dl_wew24.js} +1 -1
- package/dist/client/assets/{use-file-configs-BGcR08Xf.js → use-file-configs-DEeSzk9H.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-Bx5l0Vtt.js → use-infinite-scroll-jQz1UxrT.js} +1 -1
- package/dist/client/assets/{use-join-requests-CdXgkoRz.js → use-join-requests-B0uJBWtr.js} +1 -1
- package/dist/client/assets/{use-main-panel-tabs-DbM884FF.js → use-main-panel-tabs-BcqmbIv8.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-DkTPBg_u.js → use-mcp-auth-status-BSYgNstS.js} +1 -1
- package/dist/client/assets/{use-mcp-client-CSqf234U.js → use-mcp-client-Cmf3kYdA.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-CWOUKYTJ.js → use-mcp-prompts-Dk9LHUFW.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-Bm3f2TR4.js → use-mcp-tools-DzF7PfOd.js} +1 -1
- package/dist/client/assets/{use-members-Cl38_Hd4.js → use-members-Bq6wseSf.js} +1 -1
- package/dist/client/assets/{use-mobile-COJ6n1bn.js → use-mobile-C56EQrK9.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-KL7kZGo6.js → use-navigate-to-agent-BdY7K2gs.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-BcIBpyZG.js → use-open-billing-url-ctn8rgn5.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-C9-MA1oE.js → use-org-auth-client-BQKXCp53.js} +1 -1
- package/dist/client/assets/{use-org-fs-CswcDdS6.js → use-org-fs-DpBvFsJy.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-B-uHZEPd.js → use-org-repo-syncs-BGbiDUhK.js} +1 -1
- package/dist/client/assets/{use-org-sso-Dxa5UggE.js → use-org-sso-By1UBOKy.js} +1 -1
- package/dist/client/assets/{use-organization-roles-D-phQHoQ.js → use-organization-roles-DAM-KEoH.js} +1 -1
- package/dist/client/assets/{use-organization-settings-De2KUfve.js → use-organization-settings-BbPuWdeO.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-BJ7GO0A8.js → use-panel-navigate-DdMcNzfR.js} +1 -1
- package/dist/client/assets/{use-project-native-view-presence-zlL4ok9D.js → use-project-native-view-presence-sPhh7BGC.js} +1 -1
- package/dist/client/assets/{use-project-scope-BWBWngye.js → use-project-scope-D1tA1r10.js} +1 -1
- package/dist/client/assets/{use-recent-apps-25u5qe8z.js → use-recent-apps-DQQGGtQF.js} +1 -1
- package/dist/client/assets/{use-releases-T-pjzJdi.js → use-releases-D_4OhIZK.js} +1 -1
- package/dist/client/assets/{use-reports-diagnostic-tSBLtmIE.js → use-reports-diagnostic-DmNOWdgE.js} +1 -1
- package/dist/client/assets/{use-secrets-CzaDdvQG.js → use-secrets-DVHGHbWn.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-CDGxe86A.js → use-section-preview-base-EEIQI4Ik.js} +1 -1
- package/dist/client/assets/{use-tags-6FNfIPTx.js → use-tags-wkF8OlfB.js} +1 -1
- package/dist/client/assets/{use-task-board-analytics-gOQo_K0X.js → use-task-board-analytics-CeChyUNV.js} +1 -1
- package/dist/client/assets/{use-task-board-events-Cn-eMkHZ.js → use-task-board-events-HM8tkd7K.js} +1 -1
- package/dist/client/assets/{use-task-board-item-prs-Cnwm21X1.js → use-task-board-item-prs-BrZLlBFN.js} +1 -1
- package/dist/client/assets/{use-task-board-items-hVW51ztR.js → use-task-board-items-AkUs4SCp.js} +1 -1
- package/dist/client/assets/{use-task-metadata-CXdy1IkW.js → use-task-metadata-BYWnl_Dc.js} +1 -1
- package/dist/client/assets/{use-thread-analytics-BmiN2rOT.js → use-thread-analytics-C-mFzjx5.js} +1 -1
- package/dist/client/assets/{use-thread-outputs-CgUm6KdM.js → use-thread-outputs-B1zzKutX.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Z1h_BzmN.js +1 -0
- package/dist/client/assets/{useQueries-Bh2Kfq3r.js → useQueries-BlBb4paf.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery--UgGWd1x.js +1 -0
- package/dist/client/assets/{users-Bk7mZ56d.js → users-C2_RmXbp.js} +1 -1
- package/dist/client/assets/{utils-DTwti_Jm.js → utils-BdpWMmUt.js} +1 -1
- package/dist/client/assets/{variant-calendar-Y3euxv7N.js → variant-calendar-CpdfrWzd.js} +1 -1
- package/dist/client/assets/{variant-draft-pointer-CCQ84S6v.js → variant-draft-pointer-UfH0PPCK.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-BWGY1kw5.js → view-mode-toggle-BuPOaLfD.js} +1 -1
- package/dist/client/assets/{virtual-mcp-tPJmsSdD.js → virtual-mcp-DEzWx_Zp.js} +1 -1
- package/dist/client/assets/{watch-sse-pool-DpRXmjtA.js → watch-sse-pool-DatmHsge.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +1 -1
- package/dist/server/migrate-dbos.js +1 -1
- package/dist/server/migrate.js +1 -1
- package/dist/server/server.js +751 -751
- package/package.json +1 -1
- package/dist/client/assets/agent-app-CJyWV08D.js +0 -1
- package/dist/client/assets/agent-deck-DNTuOGup.js +0 -1
- package/dist/client/assets/agent-library-B617uDLH.js +0 -1
- package/dist/client/assets/agent-library-file-C4eL1Ooi.js +0 -1
- package/dist/client/assets/agent-settings-Bm6FSi9f.js +0 -1
- package/dist/client/assets/agent-site-editor-code-IDf-3duF.js +0 -2
- package/dist/client/assets/agent-site-editor-content-CqEytc-s.js +0 -1
- package/dist/client/assets/agent-site-editor-preview-CCUzETFG.js +0 -1
- package/dist/client/assets/agent-view-D2tPWwzu.js +0 -1
- package/dist/client/assets/ai-providers-BcJpLDbU.js +0 -6
- package/dist/client/assets/api-keys-CiPUhdGB.js +0 -1
- package/dist/client/assets/cms-settings-editor-bF-YNU5u.js +0 -1
- package/dist/client/assets/flat-project-Bq221olc.js +0 -1
- package/dist/client/assets/library-YgWnAca2.js +0 -1
- package/dist/client/assets/project-reports-BhfZrHoF.js +0 -1
- package/dist/client/assets/project-tasks-BmBM_2h9.js +0 -1
- package/dist/client/assets/record-editor-Conv1zKH.js +0 -1
- package/dist/client/assets/reports-D7CsNPgk.js +0 -1
- package/dist/client/assets/roles-CZCPyobB.js +0 -1
- package/dist/client/assets/route-6Vq3OdbS.js +0 -1
- package/dist/client/assets/route-MfH6OHjo.js +0 -1
- package/dist/client/assets/site-editor-DicIkKzK.js +0 -1
- package/dist/client/assets/taskboard-analytics-BQfMWpPx.js +0 -1
- package/dist/client/assets/tasks-CxhFIm2w.js +0 -1
- package/dist/client/assets/useInfiniteQuery-BZ3w6M2f.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Ce3yOBcb.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -2379,7 +2379,7 @@ var fz=Object.defineProperty;var Az=(_)=>_;function Iz(_,x){this[_]=Az.bind(null
|
|
|
2379
2379
|
ON CONFLICT (thread_id, repository_id) DO NOTHING
|
|
2380
2380
|
`.execute(_),await I`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function AW(_){await I`DROP TABLE IF EXISTS thread_repositories`.execute(_),await I`
|
|
2381
2381
|
ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
|
|
2382
|
-
`.execute(_)}var IW={"001-initial-schema":Xu,"002-organization-settings":Zu,"003-connection-schema-align":Wu,"004-remove-models-binding":ju,"005-connection-configuration":Lu,"006-add-views-to-settings":Fu,"007-monitoring-logs":Yu,"008-event-bus":Du,"009-drop-audit-logs":Hu,"010-gateways":Mu,"011-gateway-icon":Ru,"012-gateway-tool-selection-mode":Bu,"013-monitoring-user-agent-gateway":Gu,"014-gateway-resources-prompts":Ou,"015-monitoring-properties":Su,"016-downstream-token-client-info":fu,"017-downstream-token-remove-userid":Au,"018-drop-gateway-tool-selection-strategy":Iu,"019-remove-gateway-is-default":yu,"020-enabled-plugins":Vu,"021-threads":wu,"022-rename-gateway-to-virtual-mcp":ku,"023-optimize-thread-indexes":nu,"024-consolidate-virtual-mcp":vu,"025-add-monitoring-virtual-mcp-id":pu,"026-restrict-child-connection-delete":gu,"027-update-management-mcp-url":iu,"028-update-management-mcp-to-self":hu,"029-add-updated-by-to-connections":tu,"030-member-tags":ou,"031-add-dependency-mode":au,"032-projects":ru,"033-thread-status":lu,"034-monitoring-dashboards":eu,"035-project-connections":du,"036-update-registry-url":bu,"037-ai-provider-keys":su,"038-oauth-pkce-states":_C,"039-automations":xC,"040-replace-next-run-at-with-last-run-at":uC,"041-ai-provider-keys-unique-constraint":CC,"042-rename-mesh-mcp-to-cms-mcp":KC,"043-rename-cms-mcp-to-deco-cms":NC,"044-drop-connections-tools-column":mC,"045-thread-context-start-message":TC,"046-remove-object-storage-plugin":EC,"047-add-next-run-at":$C,"048-merge-projects-agents":JC,"049-remove-org-admin-projects":PC,"050-durable-agent-runs":QC,"051-org-sso":ZC,"052-thread-agent-ids":WC,"053-registry-config":jC,"054-connection-slug":FC,"055-spaces":YC,"056-automation-project-scope":DC,"057-thread-virtual-mcp-id":HC,"058-trigger-callback-tokens":MC,"059-kv":RC,"060-member-index":BC,"061-downstream-token-connection-index":GC,"062-private-registry":OC,"063-event-subscriptions-enabled-boolean":SC,"064-brand-context":fC,"065-organization-domains":AC,"066-brand-context-structured":IC,"067-threads-metadata":yC,"068-threads-branch":VC,"069-sandbox-runner-state":wC,"070-model-categories":kC,"071-default-home-agents":nC,"072-ai-provider-key-preset-id":vC,"073-backfill-basic-usage-roles":pC,"074-sandbox-runner-state-handle-nonunique":gC,"075-thread-inflight-async-jobs":qC,"076-automations-drop-agent-json":iC,"077-tier-only-model-selection":hC,"078-automation-tool-call-kind":tC,"079-strip-legacy-freestyle-vm-map-entries":oC,"080-async-research-jobs":aC,"081-async-research-jobs-result-content":rC,"082-secrets":lC,"083-thread-run-locally":eC,"084-drop-host-sandbox-rows":dC,"085-rename-runner-kind":bC,"086-thread-pins-and-vm-map-rekey":sC,"087-fix-vm-map-rekey":_K,"088-purge-cli-activate-keys":xK,"089-rename-remote-user-to-desktop":uK,"090-automation-webhook-triggers":CK,"091-organization-domains-allow-multi":KK,"092-sandbox-naming-uniformization":NK,"093-backfill-global-search-basic-usage":mK,"094-org-file-configs":zK,"095-remove-automation-tool-call-kind":EK,"096-org-file-configs-public-url-base":$K,"097-drop-local-docker-sandbox-state":JK,"098-thread-message-parts":PK,"099-run-fence":QK,"100-link-transport":XK,"101-cancel-requested-at":ZK,"102-observational-agent":WK,"103-revert-observational-agent":jK,"104-agent-sandbox-provider-kind":FK,"105-org-fs":YK,"106-automation-tools":DK,"107-org-fs-public-org":HK,"108-automation-max-agent-steps":MK,"109-thread-message-parts-per-message-seq":RK,"110-backfill-ghs-token-expiry":BK,"111-org-fs-thread-id":GK,"112-org-file-configs-credential-type":OK,"113-thread-failure-reason":SK,"114-run-acked-seq":fK,"115-thread-projected-seq":AK,"116-org-sites":IK,"117-org-file-configs-site-slug":yK,"118-organization-domains-multi-verify":VK,"119-organization-join-requests":wK,"120-org-fs-read-public":kK,"121-org-fs-share-password":nK,"122-split-web-research-tier":gK,"123-connection-credential-vault":qK,"124-drop-thread-projected-seq":iK,"125-github-child-single-parent":cK,"126-task-board":tK,"127-task-board-due-date":oK,"128-reports-only":aK,"129-task-board-assigned-by":rK,"130-task-board-thread-id":lK,"131-task-board-thread-link-cascade":eK,"132-task-board-item-prs":dK,"133-dedupe-duplicate-members":bK,"134-drop-task-board-enabled":sK,"135-task-board-item-fk-cascade":_N,"136-task-board-import-idempotency":xN,"137-agent-sandbox-runner-state":uN,"138-agent-sandbox-sessions":CN,"139-organization-billing":KN,"140-seat-change-log":NN,"141-benefits-sync-pending":mN,"142-stripe-event-watermark":TN,"143-armed-report-url":zN,"144-benefits-pending-index":EN,"145-user-model-preferences":$N,"146-organization-main-agent":UN,"147-drop-agent-sandbox-tables":JN,"148-org-flags":PN,"149-task-board-item-sort-order":QN,"150-task-board-activity":XN,"151-task-board-tags":WN,"152-repair-connection-slug":LN,"153-task-board-latest-assistant-part-index":FN,"154-task-board-qa-activity":DN,"155-task-board-review-claims":HN,"156-task-board-conflict-activity":RN,"157-drop-seat-billing":BN,"158-drop-github-child-single-parent":GN,"159-task-board-comments":ON,"160-task-quota-billing":SN,"161-task-quota-claim-state":AN,"162-claude-subscriptions":IN,"163-task-board-item-dismissed":yN,"164-per-org-task-quota":VN,"165-task-board-pending-review-index":wN,"166-task-board-last-swept-at":kN,"167-task-board-run-retry":nN,"168-org-repo-sync":pN,"169-task-board-merge-failed-activity":qN,"170-task-board-item-repo":iN,"171-jira-integration":cN,"172-task-board-item-key-seq":hN,"173-thread-github-repo-connection-index":tN,"174-thread-message-parts-persisted-at":aN,"175-task-board-sprints":rN,"176-task-board-done-sweep-index":lN,"177-notifications":eN,"178-jira-status-mapping-array":dN,"179-notification-mentioned":sN,"180-task-board-item-type":xm,"181-task-board-item-type-required":um,"182-task-board-sprints-entities":Cm,"183-drop-jira-jql-filter":Km,"184-jira-rescan-after-scope-change":Nm,"185-jira-rescan-existing-cards":mm,"186-jira-rescan-pending-flag":zm,"187-task-board-comment-thread":Em,"188-invitation-auto-accept":$m,"189-task-board-column-automations":Jm,"190-task-board-review-cycle-started-at":Pm,"191-task-board-columns":Qm,"192-task-board-verdict-nudge-activity":Zm,"193-task-board-status-column-fk":Wm,"194-jira-link-sprint":jm,"195-task-board-sprint-activity":Fm,"196-task-board-column-tracker-statuses":Ym,"197-task-board-prompts":Dm,"198-task-board-external-url":Hm,"199-drop-jira-mirror-and-org-columns":Mm,"200-jira-run-trigger":Rm,"201-organization-notices":Bm,"202-redact-base64-thread-parts":Om,"203-task-board-preview-routes":Sm,"204-git-provider-accounts-and-repositories":fm,"205-repository-references":Am,"206-repository-consumers":Qu,"207-task-board-prs-repo-idx":Pu,"208-github-connect-flows":Ju,"209-github-installation-authorization":Uu,"210-github-repository-authorization":Cu,"211-user-fs-org":uu,"212-coding-agent-mcp-excluded":Ku,"213-bitbucket-git-provider":Nu,"214-connections-sanitized-id-idx":bx,"215-commerce-discovery-repository":sx,"216-github-cli-auth":xu,"217-experiments":mu,"218-thread-message-parts-error-idx":Tu,"219-task-board-duplicate-reported-activity":Eu,"220-jira-automation-continue-pr":$u,"221-remove-private-registry":Qx,"222-org-git-credentials":Xx,"223-drop-org-main-agent-id":dx,"224-repository-sandbox-image":Zx,"225-thread-analytics-indexes":jx,"226-deco-score-names":Fx,"227-task-board-finding-resolved-activity":Dx,"228-org-voice-config":Px,"229-jira-automation-from":Hx,"230-project-sidebar":Mx,"231-jira-chat-agent":Rx,"232-task-board-prompt-skills":Gx,"233-remove-jira-chat-agent":Sx,"234-task-board-comment-audience":fx,"235-prune-empty-thread-dirs":Ax,"236-task-board-sprints":yx,"237-org-sites-project-link":Vx,"238-task-board-default-lanes":wx,"239-task-board-retire-old-lanes":kx,"240-task-board-restore-todo":nx,"241-automation-board-column-transition":vx,"242-connection-url-slug":px,"243-experiment-task-board-item":gx,"244-connection-url-slug-rollout-backfill":qx,"245-automation-system-key":ix,"246-automation-pr-ready-trigger":cx,"247-automation-jira-transition":hx,"248-drop-retired-rule-tables":tx,"249-task-board-item-project":ox,"250-github-copilot-subscriptions":ax,"251-org-shared-plans":rx,"252-automation-linked-chat-trigger":lx,"253-automation-pr-builtin-triggers":ex,"254-codex-subscriptions":$x,"255-order-monitor":Jx},Nx=IW;import{getMigrations as U9}from"better-auth/db";import{sso as J9}from"@better-auth/sso";import{organization as P9}from"@decocms/better-auth/plugins";import{admin as Q9,apiKey as X9,jwt as Z9,magicLink as W9,mcp as j9,openAPI as L9}from"better-auth/plugins";import{emailOTP as F9}from"better-auth/plugins/email-otp";import{Kysely as C9,PostgresDialect as Dz}from"kysely";import{Pool as Hz}from"pg";import{homedir as yW}from"os";var VW=new Set(["all","worker","api"]);function wW(_){let x=(_??"").trim();return VW.has(x)?x:"all"}var kW=new Set(["production","development","test"]);function nW(_){let x=(_??"").trim();return kW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function ym(_,x,u){if(x===void 0||x==="")return;let N=Number(x);if(!Number.isSafeInteger(N)||N<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&N>u)throw Error(`${_} must be at most ${u}`);return N}function B(_,x,u,N){return ym(_,x,N)??u}function vW(_){let x={};for(let u of(_??"").split(",")){let N=u.trim();if(!N)continue;let K=N.indexOf("="),m=K>0?N.slice(0,K).trim():"",T=K>0?N.slice(K+1).trim():"";if(!m||!T){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${N}" \u2014 expected price_xxx=planId`);continue}x[m]=T}return x}function pW(_,x,u,N){if(x===void 0||x==="")return u;let K=Number(x);if(!Number.isSafeInteger(K)||K<0)throw Error(`${_} must be a non-negative integer`);if(N!==void 0&&K>N)throw Error(`${_} must be at most ${N}`);return K}function Im(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function gW(_){return _===void 0||_===""||_==="true"||_==="1"}function H_(_,x){return _||x}function Pz(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${yW()}/deco`,u=nW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:H_(_.STUDIO_PUBLIC_URL,_.MESH_PUBLIC_URL),dataDir:x,voiceConversationProvider:N==="elevenlabs"||N==="openai"?N:null,openaiLiveApiKey:_.OPENAI_LIVE_API_KEY,openaiLiveModel:_.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:_.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:_.ELEVENLABS_API_KEY,elevenlabsVoiceId:_.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:_.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:_.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:Z(_.DATABASE_PG_SSL),databasePoolMax:B("DATABASE_POOL_MAX",_.DATABASE_POOL_MAX,5),dbosPoolSize:B("DBOS_POOL_SIZE",_.DBOS_POOL_SIZE,5),betterAuthSecret:_.BETTER_AUTH_SECRET||"",encryptionKey:_.ENCRYPTION_KEY||"",studioJwtSecret:H_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),jiraSettleSeconds:B("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:ym("CLICKHOUSE_MAX_MEMORY_USAGE",_.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:_.MONITORING_OTLP_ENDPOINT,otelServiceName:_.OTEL_SERVICE_NAME||"studio",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((m)=>m.trim()).filter(Boolean),natsCredsPath:_.NATS_CREDS,natsUser:_.NATS_USER||void 0,natsPassword:_.NATS_PASSWORD||void 0,configPath:_.CONFIG_PATH||"./config.json",aiGatewayEnabled:Z(_.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:_.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:_.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:_.STRIPE_WEBHOOK_SECRET,stripeSecretKey:_.STRIPE_SECRET_KEY,stripeOrgPriceId:_.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:vW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:pW("STUDIO_TOPUP_FEE_PERCENT",_.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:Z(_.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:B("STUDIO_FREE_TASKS",_.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:B("STUDIO_MONTHLY_TASKS",_.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:B("STUDIO_MAX_RUNS_PER_TASK",_.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:Z(_.ENABLE_DECO_IMPORT),hostingControlPlaneGa:Z(_.HOSTING_CONTROL_PLANE_GA),monitorGa:Z(_.MONITOR_GA),plansEnabled:Z(_.STUDIO_PLANS_ENABLED),mcpCacheEnabled:Im(_.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:_.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:Z(_.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:B("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",_.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:B("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",_.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:Im(_.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:B("BOARD_TRANSITION_SETTLE_SECONDS",_.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:B("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",_.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:_.S3_ENDPOINT,s3Bucket:_.S3_BUCKET,s3Region:_.S3_REGION||"auto",s3AccessKeyId:_.S3_ACCESS_KEY_ID,s3SecretAccessKey:_.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:gW(_.S3_FORCE_PATH_STYLE),monitoringS3Bucket:_.MONITORING_S3_BUCKET,monitoringS3Endpoint:_.MONITORING_S3_ENDPOINT,monitoringS3Region:_.MONITORING_S3_REGION,monitoringS3AccessKeyId:_.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:_.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:_.MONITORING_S3_PREFIX,duckdbExtensionDirectory:_.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:_.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:ym("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:wW(H_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Im(_.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:Z(_.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:Z(_.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:Z(_.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:B("SANDBOX_RELEASE_GRACE_MS",_.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:_.DECO_SUPABASE_URL,decoSupabaseServiceKey:_.DECO_SUPABASE_SERVICE_KEY,controlplaneRestUrl:_.CONTROLPLANE_REST_URL,controlplaneServiceToken:_.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:_.ANALYTICS_URL,analyticsMasterToken:_.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:_.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:_.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:_.CLICKHOUSE_ANALYTICS_PASSWORD,customerLakeUrl:_.CUSTOMER_LAKE_URL,customerLakeAdminUsername:_.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:_.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:_.CUSTOMER_LAKE_TENANT_SECRET,orderMonitorIngestUrl:_.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:H_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:H_(_.REPORTS_INTERNAL_API_KEY,_.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:_.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:_.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:_.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:_.S3_TENANT_PUBLIC_URL_BASE||"https://assets.decocms.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY,deliveryR2AccountId:_.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:_.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:_.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:_.DELIVERY_R2_BUCKET,deliveryR2Endpoint:_.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:_.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:_.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:_.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:_.CF_PURGE_API_TOKEN};if(Boolean(K.natsUser)!==Boolean(K.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(K.natsCredsPath&&K.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(K.plansEnabled&&!K.studioJwtSecret)throw Error("STUDIO_PLANS_ENABLED requires an explicit gateway JWT secret. Set STUDIO_JWT_SECRET (or its legacy alias MESH_JWT_SECRET) to the same value as the gateway's MESH_JWT_SECRET. Refusing to fall back to BETTER_AUTH_SECRET: that mismatch 401s every entitlements call, which every feature gate reads as 'no answer' and fails OPEN.");if(K.plansEnabled&&!K.studioProvisionSecretKey)throw Error("STUDIO_PLANS_ENABLED requires STUDIO_PROVISION_SECRET_KEY, set to the same value as the gateway's STUDIO_PROVISION_KEY. Without it the gateway cannot identify this server, falls back to a per-user membership callback that 401s for any user who never completed the gateway OAuth flow, and every feature gate then fails OPEN.");if(K.plansEnabled&&!K.aiGatewayEnabled)throw Error("STUDIO_PLANS_ENABLED requires DECO_AI_GATEWAY_ENABLED=true. Plans are read from the gateway; with it disabled there is no adapter to ask, so every feature gate fails OPEN on both server and client and the paid product is free fleet-wide.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>0&&!K.aiGatewayAdminToken)throw Error("STRIPE_PLAN_PRICE_IDS is set but DECO_AI_GATEWAY_ADMIN_TOKEN is not. The Stripe webhook places the paid tier through the gateway's admin API, so without the token a customer is charged and the entitlement "+"is never granted \u2014 and AI_PLAN_SET cannot repair it, it accepts only "+"'free'.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>1&&!K.stripePortalConfigurationId)console.warn("STRIPE_PLAN_PRICE_IDS maps more than one plan but STRIPE_PORTAL_CONFIGURATION_ID is unset. An org that already has a subscription cannot change tier: the account's default portal configuration lists only the legacy plans, not the tiers, so Stripe refuses the update flow. First-time checkout is unaffected.");return K}var qW=null;function K_(){return qW??=Object.freeze(Pz(process.env))}import{createContextKey as aW,metrics as rW,propagation as D8,ROOT_CONTEXT as H8,SpanStatusCode as M8,trace as lW}from"@opentelemetry/api";import{logs as eW,SeverityNumber as Vm}from"@opentelemetry/api-logs";import{OTLPLogExporter as G8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as dW}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as f8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as I8}from"@opentelemetry/instrumentation-runtime-node";import{context as Z5,propagation as W5,SpanKind as j5,SpanStatusCode as L5}from"@opentelemetry/api";var Y5=globalThis.fetch;import{ExportResultCode as y5}from"@opentelemetry/core";import{ExportResultCode as mx}from"@opentelemetry/core";import{mkdir as iW,rename as cW,writeFile as hW}from"fs/promises";import{join as Tx}from"path";class zx{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:mx.FAILED});for(let x of _){let u=JSON.stringify(x),N=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:N,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:mx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:mx.FAILED}});return Promise.resolve({code:mx.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let K of _){let m=x.get(K.partition);if(!m)m=[],x.set(K.partition,m);m.push(K.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([K,m])=>this.writeNDJSON(m,K).then(()=>K))),N=u.find((K)=>K.status==="rejected");if(N){let K=new Set;for(let T of u)if(T.status==="fulfilled")K.add(T.value);let m=_.filter((T)=>!K.has(T.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let T of this.bufferItems)this.bufferBytes+=Buffer.byteLength(T.json,"utf8")+1;throw N.reason}}async writeNDJSON(_,x){let u=new Date,N=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],K=x?Tx(this.basePath,x,...N):Tx(this.basePath,...N);if(!this.knownDirs.has(K))await iW(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=Tx(K,`.${m}.tmp`),z=Tx(K,m),E=_.join(`
|
|
2382
|
+
`.execute(_)}var IW={"001-initial-schema":Xu,"002-organization-settings":Zu,"003-connection-schema-align":Wu,"004-remove-models-binding":ju,"005-connection-configuration":Lu,"006-add-views-to-settings":Fu,"007-monitoring-logs":Yu,"008-event-bus":Du,"009-drop-audit-logs":Hu,"010-gateways":Mu,"011-gateway-icon":Ru,"012-gateway-tool-selection-mode":Bu,"013-monitoring-user-agent-gateway":Gu,"014-gateway-resources-prompts":Ou,"015-monitoring-properties":Su,"016-downstream-token-client-info":fu,"017-downstream-token-remove-userid":Au,"018-drop-gateway-tool-selection-strategy":Iu,"019-remove-gateway-is-default":yu,"020-enabled-plugins":Vu,"021-threads":wu,"022-rename-gateway-to-virtual-mcp":ku,"023-optimize-thread-indexes":nu,"024-consolidate-virtual-mcp":vu,"025-add-monitoring-virtual-mcp-id":pu,"026-restrict-child-connection-delete":gu,"027-update-management-mcp-url":iu,"028-update-management-mcp-to-self":hu,"029-add-updated-by-to-connections":tu,"030-member-tags":ou,"031-add-dependency-mode":au,"032-projects":ru,"033-thread-status":lu,"034-monitoring-dashboards":eu,"035-project-connections":du,"036-update-registry-url":bu,"037-ai-provider-keys":su,"038-oauth-pkce-states":_C,"039-automations":xC,"040-replace-next-run-at-with-last-run-at":uC,"041-ai-provider-keys-unique-constraint":CC,"042-rename-mesh-mcp-to-cms-mcp":KC,"043-rename-cms-mcp-to-deco-cms":NC,"044-drop-connections-tools-column":mC,"045-thread-context-start-message":TC,"046-remove-object-storage-plugin":EC,"047-add-next-run-at":$C,"048-merge-projects-agents":JC,"049-remove-org-admin-projects":PC,"050-durable-agent-runs":QC,"051-org-sso":ZC,"052-thread-agent-ids":WC,"053-registry-config":jC,"054-connection-slug":FC,"055-spaces":YC,"056-automation-project-scope":DC,"057-thread-virtual-mcp-id":HC,"058-trigger-callback-tokens":MC,"059-kv":RC,"060-member-index":BC,"061-downstream-token-connection-index":GC,"062-private-registry":OC,"063-event-subscriptions-enabled-boolean":SC,"064-brand-context":fC,"065-organization-domains":AC,"066-brand-context-structured":IC,"067-threads-metadata":yC,"068-threads-branch":VC,"069-sandbox-runner-state":wC,"070-model-categories":kC,"071-default-home-agents":nC,"072-ai-provider-key-preset-id":vC,"073-backfill-basic-usage-roles":pC,"074-sandbox-runner-state-handle-nonunique":gC,"075-thread-inflight-async-jobs":qC,"076-automations-drop-agent-json":iC,"077-tier-only-model-selection":hC,"078-automation-tool-call-kind":tC,"079-strip-legacy-freestyle-vm-map-entries":oC,"080-async-research-jobs":aC,"081-async-research-jobs-result-content":rC,"082-secrets":lC,"083-thread-run-locally":eC,"084-drop-host-sandbox-rows":dC,"085-rename-runner-kind":bC,"086-thread-pins-and-vm-map-rekey":sC,"087-fix-vm-map-rekey":_K,"088-purge-cli-activate-keys":xK,"089-rename-remote-user-to-desktop":uK,"090-automation-webhook-triggers":CK,"091-organization-domains-allow-multi":KK,"092-sandbox-naming-uniformization":NK,"093-backfill-global-search-basic-usage":mK,"094-org-file-configs":zK,"095-remove-automation-tool-call-kind":EK,"096-org-file-configs-public-url-base":$K,"097-drop-local-docker-sandbox-state":JK,"098-thread-message-parts":PK,"099-run-fence":QK,"100-link-transport":XK,"101-cancel-requested-at":ZK,"102-observational-agent":WK,"103-revert-observational-agent":jK,"104-agent-sandbox-provider-kind":FK,"105-org-fs":YK,"106-automation-tools":DK,"107-org-fs-public-org":HK,"108-automation-max-agent-steps":MK,"109-thread-message-parts-per-message-seq":RK,"110-backfill-ghs-token-expiry":BK,"111-org-fs-thread-id":GK,"112-org-file-configs-credential-type":OK,"113-thread-failure-reason":SK,"114-run-acked-seq":fK,"115-thread-projected-seq":AK,"116-org-sites":IK,"117-org-file-configs-site-slug":yK,"118-organization-domains-multi-verify":VK,"119-organization-join-requests":wK,"120-org-fs-read-public":kK,"121-org-fs-share-password":nK,"122-split-web-research-tier":gK,"123-connection-credential-vault":qK,"124-drop-thread-projected-seq":iK,"125-github-child-single-parent":cK,"126-task-board":tK,"127-task-board-due-date":oK,"128-reports-only":aK,"129-task-board-assigned-by":rK,"130-task-board-thread-id":lK,"131-task-board-thread-link-cascade":eK,"132-task-board-item-prs":dK,"133-dedupe-duplicate-members":bK,"134-drop-task-board-enabled":sK,"135-task-board-item-fk-cascade":_N,"136-task-board-import-idempotency":xN,"137-agent-sandbox-runner-state":uN,"138-agent-sandbox-sessions":CN,"139-organization-billing":KN,"140-seat-change-log":NN,"141-benefits-sync-pending":mN,"142-stripe-event-watermark":TN,"143-armed-report-url":zN,"144-benefits-pending-index":EN,"145-user-model-preferences":$N,"146-organization-main-agent":UN,"147-drop-agent-sandbox-tables":JN,"148-org-flags":PN,"149-task-board-item-sort-order":QN,"150-task-board-activity":XN,"151-task-board-tags":WN,"152-repair-connection-slug":LN,"153-task-board-latest-assistant-part-index":FN,"154-task-board-qa-activity":DN,"155-task-board-review-claims":HN,"156-task-board-conflict-activity":RN,"157-drop-seat-billing":BN,"158-drop-github-child-single-parent":GN,"159-task-board-comments":ON,"160-task-quota-billing":SN,"161-task-quota-claim-state":AN,"162-claude-subscriptions":IN,"163-task-board-item-dismissed":yN,"164-per-org-task-quota":VN,"165-task-board-pending-review-index":wN,"166-task-board-last-swept-at":kN,"167-task-board-run-retry":nN,"168-org-repo-sync":pN,"169-task-board-merge-failed-activity":qN,"170-task-board-item-repo":iN,"171-jira-integration":cN,"172-task-board-item-key-seq":hN,"173-thread-github-repo-connection-index":tN,"174-thread-message-parts-persisted-at":aN,"175-task-board-sprints":rN,"176-task-board-done-sweep-index":lN,"177-notifications":eN,"178-jira-status-mapping-array":dN,"179-notification-mentioned":sN,"180-task-board-item-type":xm,"181-task-board-item-type-required":um,"182-task-board-sprints-entities":Cm,"183-drop-jira-jql-filter":Km,"184-jira-rescan-after-scope-change":Nm,"185-jira-rescan-existing-cards":mm,"186-jira-rescan-pending-flag":zm,"187-task-board-comment-thread":Em,"188-invitation-auto-accept":$m,"189-task-board-column-automations":Jm,"190-task-board-review-cycle-started-at":Pm,"191-task-board-columns":Qm,"192-task-board-verdict-nudge-activity":Zm,"193-task-board-status-column-fk":Wm,"194-jira-link-sprint":jm,"195-task-board-sprint-activity":Fm,"196-task-board-column-tracker-statuses":Ym,"197-task-board-prompts":Dm,"198-task-board-external-url":Hm,"199-drop-jira-mirror-and-org-columns":Mm,"200-jira-run-trigger":Rm,"201-organization-notices":Bm,"202-redact-base64-thread-parts":Om,"203-task-board-preview-routes":Sm,"204-git-provider-accounts-and-repositories":fm,"205-repository-references":Am,"206-repository-consumers":Qu,"207-task-board-prs-repo-idx":Pu,"208-github-connect-flows":Ju,"209-github-installation-authorization":Uu,"210-github-repository-authorization":Cu,"211-user-fs-org":uu,"212-coding-agent-mcp-excluded":Ku,"213-bitbucket-git-provider":Nu,"214-connections-sanitized-id-idx":bx,"215-commerce-discovery-repository":sx,"216-github-cli-auth":xu,"217-experiments":mu,"218-thread-message-parts-error-idx":Tu,"219-task-board-duplicate-reported-activity":Eu,"220-jira-automation-continue-pr":$u,"221-remove-private-registry":Qx,"222-org-git-credentials":Xx,"223-drop-org-main-agent-id":dx,"224-repository-sandbox-image":Zx,"225-thread-analytics-indexes":jx,"226-deco-score-names":Fx,"227-task-board-finding-resolved-activity":Dx,"228-org-voice-config":Px,"229-jira-automation-from":Hx,"230-project-sidebar":Mx,"231-jira-chat-agent":Rx,"232-task-board-prompt-skills":Gx,"233-remove-jira-chat-agent":Sx,"234-task-board-comment-audience":fx,"235-prune-empty-thread-dirs":Ax,"236-task-board-sprints":yx,"237-org-sites-project-link":Vx,"238-task-board-default-lanes":wx,"239-task-board-retire-old-lanes":kx,"240-task-board-restore-todo":nx,"241-automation-board-column-transition":vx,"242-connection-url-slug":px,"243-experiment-task-board-item":gx,"244-connection-url-slug-rollout-backfill":qx,"245-automation-system-key":ix,"246-automation-pr-ready-trigger":cx,"247-automation-jira-transition":hx,"248-drop-retired-rule-tables":tx,"249-task-board-item-project":ox,"250-github-copilot-subscriptions":ax,"251-org-shared-plans":rx,"252-automation-linked-chat-trigger":lx,"253-automation-pr-builtin-triggers":ex,"254-codex-subscriptions":$x,"255-order-monitor":Jx},Nx=IW;import{getMigrations as U9}from"better-auth/db";import{sso as J9}from"@better-auth/sso";import{organization as P9}from"@decocms/better-auth/plugins";import{admin as Q9,apiKey as X9,jwt as Z9,magicLink as W9,mcp as j9,openAPI as L9}from"better-auth/plugins";import{emailOTP as F9}from"better-auth/plugins/email-otp";import{Kysely as C9,PostgresDialect as Dz}from"kysely";import{Pool as Hz}from"pg";import{homedir as yW}from"os";var VW=new Set(["all","worker","api"]);function wW(_){let x=(_??"").trim();return VW.has(x)?x:"all"}var kW=new Set(["production","development","test"]);function nW(_){let x=(_??"").trim();return kW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function ym(_,x,u){if(x===void 0||x==="")return;let N=Number(x);if(!Number.isSafeInteger(N)||N<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&N>u)throw Error(`${_} must be at most ${u}`);return N}function B(_,x,u,N){return ym(_,x,N)??u}function vW(_){let x={};for(let u of(_??"").split(",")){let N=u.trim();if(!N)continue;let K=N.indexOf("="),m=K>0?N.slice(0,K).trim():"",T=K>0?N.slice(K+1).trim():"";if(!m||!T){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${N}" \u2014 expected price_xxx=planId`);continue}x[m]=T}return x}function pW(_,x,u,N){if(x===void 0||x==="")return u;let K=Number(x);if(!Number.isSafeInteger(K)||K<0)throw Error(`${_} must be a non-negative integer`);if(N!==void 0&&K>N)throw Error(`${_} must be at most ${N}`);return K}function Im(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function gW(_){return _===void 0||_===""||_==="true"||_==="1"}function H_(_,x){return _||x}function Pz(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${yW()}/deco`,u=nW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:H_(_.STUDIO_PUBLIC_URL,_.MESH_PUBLIC_URL),dataDir:x,voiceConversationProvider:N==="elevenlabs"||N==="openai"?N:null,openaiLiveApiKey:_.OPENAI_LIVE_API_KEY,openaiLiveModel:_.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:_.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:_.ELEVENLABS_API_KEY,elevenlabsVoiceId:_.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:_.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:_.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:Z(_.DATABASE_PG_SSL),databasePoolMax:B("DATABASE_POOL_MAX",_.DATABASE_POOL_MAX,5),dbosPoolSize:B("DBOS_POOL_SIZE",_.DBOS_POOL_SIZE,5),betterAuthSecret:_.BETTER_AUTH_SECRET||"",encryptionKey:_.ENCRYPTION_KEY||"",studioJwtSecret:H_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),codexUsageUrl:_.CODEX_USAGE_URL||"https://chatgpt.com/backend-api/wham/usage",claudeUsageUrl:_.CLAUDE_USAGE_URL||"https://api.anthropic.com/api/oauth/usage",jiraSettleSeconds:B("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:ym("CLICKHOUSE_MAX_MEMORY_USAGE",_.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:_.MONITORING_OTLP_ENDPOINT,otelServiceName:_.OTEL_SERVICE_NAME||"studio",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((m)=>m.trim()).filter(Boolean),natsCredsPath:_.NATS_CREDS,natsUser:_.NATS_USER||void 0,natsPassword:_.NATS_PASSWORD||void 0,configPath:_.CONFIG_PATH||"./config.json",aiGatewayEnabled:Z(_.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:_.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:_.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:_.STRIPE_WEBHOOK_SECRET,stripeSecretKey:_.STRIPE_SECRET_KEY,stripeOrgPriceId:_.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:vW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:pW("STUDIO_TOPUP_FEE_PERCENT",_.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:Z(_.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:B("STUDIO_FREE_TASKS",_.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:B("STUDIO_MONTHLY_TASKS",_.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:B("STUDIO_MAX_RUNS_PER_TASK",_.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:Z(_.ENABLE_DECO_IMPORT),hostingControlPlaneGa:Z(_.HOSTING_CONTROL_PLANE_GA),monitorGa:Z(_.MONITOR_GA),plansEnabled:Z(_.STUDIO_PLANS_ENABLED),mcpCacheEnabled:Im(_.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:_.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:Z(_.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:B("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",_.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:B("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",_.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:Im(_.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:B("BOARD_TRANSITION_SETTLE_SECONDS",_.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:B("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",_.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:_.S3_ENDPOINT,s3Bucket:_.S3_BUCKET,s3Region:_.S3_REGION||"auto",s3AccessKeyId:_.S3_ACCESS_KEY_ID,s3SecretAccessKey:_.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:gW(_.S3_FORCE_PATH_STYLE),monitoringS3Bucket:_.MONITORING_S3_BUCKET,monitoringS3Endpoint:_.MONITORING_S3_ENDPOINT,monitoringS3Region:_.MONITORING_S3_REGION,monitoringS3AccessKeyId:_.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:_.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:_.MONITORING_S3_PREFIX,duckdbExtensionDirectory:_.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:_.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:ym("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:wW(H_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Im(_.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:Z(_.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:Z(_.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:Z(_.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:B("SANDBOX_RELEASE_GRACE_MS",_.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:_.DECO_SUPABASE_URL,decoSupabaseServiceKey:_.DECO_SUPABASE_SERVICE_KEY,controlplaneRestUrl:_.CONTROLPLANE_REST_URL,controlplaneServiceToken:_.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:_.ANALYTICS_URL,analyticsMasterToken:_.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:_.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:_.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:_.CLICKHOUSE_ANALYTICS_PASSWORD,customerLakeUrl:_.CUSTOMER_LAKE_URL,customerLakeAdminUsername:_.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:_.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:_.CUSTOMER_LAKE_TENANT_SECRET,orderMonitorIngestUrl:_.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:H_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:H_(_.REPORTS_INTERNAL_API_KEY,_.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:_.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:_.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:_.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:_.S3_TENANT_PUBLIC_URL_BASE||"https://assets.decocms.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY,deliveryR2AccountId:_.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:_.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:_.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:_.DELIVERY_R2_BUCKET,deliveryR2Endpoint:_.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:_.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:_.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:_.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:_.CF_PURGE_API_TOKEN};if(Boolean(K.natsUser)!==Boolean(K.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(K.natsCredsPath&&K.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(K.plansEnabled&&!K.studioJwtSecret)throw Error("STUDIO_PLANS_ENABLED requires an explicit gateway JWT secret. Set STUDIO_JWT_SECRET (or its legacy alias MESH_JWT_SECRET) to the same value as the gateway's MESH_JWT_SECRET. Refusing to fall back to BETTER_AUTH_SECRET: that mismatch 401s every entitlements call, which every feature gate reads as 'no answer' and fails OPEN.");if(K.plansEnabled&&!K.studioProvisionSecretKey)throw Error("STUDIO_PLANS_ENABLED requires STUDIO_PROVISION_SECRET_KEY, set to the same value as the gateway's STUDIO_PROVISION_KEY. Without it the gateway cannot identify this server, falls back to a per-user membership callback that 401s for any user who never completed the gateway OAuth flow, and every feature gate then fails OPEN.");if(K.plansEnabled&&!K.aiGatewayEnabled)throw Error("STUDIO_PLANS_ENABLED requires DECO_AI_GATEWAY_ENABLED=true. Plans are read from the gateway; with it disabled there is no adapter to ask, so every feature gate fails OPEN on both server and client and the paid product is free fleet-wide.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>0&&!K.aiGatewayAdminToken)throw Error("STRIPE_PLAN_PRICE_IDS is set but DECO_AI_GATEWAY_ADMIN_TOKEN is not. The Stripe webhook places the paid tier through the gateway's admin API, so without the token a customer is charged and the entitlement "+"is never granted \u2014 and AI_PLAN_SET cannot repair it, it accepts only "+"'free'.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>1&&!K.stripePortalConfigurationId)console.warn("STRIPE_PLAN_PRICE_IDS maps more than one plan but STRIPE_PORTAL_CONFIGURATION_ID is unset. An org that already has a subscription cannot change tier: the account's default portal configuration lists only the legacy plans, not the tiers, so Stripe refuses the update flow. First-time checkout is unaffected.");return K}var qW=null;function K_(){return qW??=Object.freeze(Pz(process.env))}import{createContextKey as aW,metrics as rW,propagation as D8,ROOT_CONTEXT as H8,SpanStatusCode as M8,trace as lW}from"@opentelemetry/api";import{logs as eW,SeverityNumber as Vm}from"@opentelemetry/api-logs";import{OTLPLogExporter as G8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as dW}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as f8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as I8}from"@opentelemetry/instrumentation-runtime-node";import{context as Z5,propagation as W5,SpanKind as j5,SpanStatusCode as L5}from"@opentelemetry/api";var Y5=globalThis.fetch;import{ExportResultCode as y5}from"@opentelemetry/core";import{ExportResultCode as mx}from"@opentelemetry/core";import{mkdir as iW,rename as cW,writeFile as hW}from"fs/promises";import{join as Tx}from"path";class zx{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:mx.FAILED});for(let x of _){let u=JSON.stringify(x),N=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:N,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:mx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:mx.FAILED}});return Promise.resolve({code:mx.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let K of _){let m=x.get(K.partition);if(!m)m=[],x.set(K.partition,m);m.push(K.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([K,m])=>this.writeNDJSON(m,K).then(()=>K))),N=u.find((K)=>K.status==="rejected");if(N){let K=new Set;for(let T of u)if(T.status==="fulfilled")K.add(T.value);let m=_.filter((T)=>!K.has(T.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let T of this.bufferItems)this.bufferBytes+=Buffer.byteLength(T.json,"utf8")+1;throw N.reason}}async writeNDJSON(_,x){let u=new Date,N=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],K=x?Tx(this.basePath,x,...N):Tx(this.basePath,...N);if(!this.knownDirs.has(K))await iW(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=Tx(K,`.${m}.tmp`),z=Tx(K,m),E=_.join(`
|
|
2383
2383
|
`)+`
|
|
2384
2384
|
`;await hW(T,E,{mode:384}),await cW(T,z)}}import{ExportResultCode as v5}from"@opentelemetry/core";import{AggregationTemporality as g5,DataPointType as q5}from"@opentelemetry/sdk-metrics";import{ExportResultCode as a5}from"@opentelemetry/core";var d5=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as q8,LoggerProvider as i8}from"@opentelemetry/sdk-logs";import{detectResources as h8,envDetector as t8,hostDetector as o8,osDetector as a8,processDetector as r8,resourceFromAttributes as l8}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as d8}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as _8}from"@opentelemetry/api-logs";import{NodeSDK as _3}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as u3,SamplingDecision as N_}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as N8}from"@opentelemetry/api";var bW="__d",sW=aW("Current request"),_9=1;var Xz=(_)=>{let u=new URL(_.url).searchParams.get(bW);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class Zz{inner;constructor(_){this.inner=_}shouldSample(_,x,u,N,K,m){let T=_.getValue(sW);if(!T){if(this.inner)return this.inner.shouldSample(_,x,u,N,K,m);return{decision:N_.RECORD_AND_SAMPLED}}let z=Xz(T);if(z)return{decision:N_.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":z}};if(this.inner){let E=this.inner.shouldSample(_,x,u,N,K,m);if(E.decision===N_.RECORD_AND_SAMPLED){let $=crypto.randomUUID();E.attributes={...E.attributes??{},"trace.debug.id":$}}return E}return{decision:N_.NOT_RECORD}}toString(){return"DebugSampler"}}class Wz{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:N_.RECORD_AND_SAMPLED};return{decision:N_.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var K3=new dW({preventServerStart:!0}),N3=new Zz(new Wz(_9));var Qz=lW.getTracer("studio","1.0.0"),M_=rW.getMeter("studio","1.0.0"),x9=eW.getLogger("studio","1.0.0"),wm=(_,x,u)=>{let N={},K=u,m=u[u.length-1];if(m!==null&&typeof m==="object"&&!Array.isArray(m)&&!(m instanceof Error)&&Object.getPrototypeOf(m)===Object.prototype)N=m,K=u.slice(0,-1);let T=K.map((z)=>{if(z instanceof Error)return`${z.name}: ${z.message}`;if(typeof z==="object")try{return JSON.stringify(z)}catch{return"[Object]"}return String(z)}).join(" ");x9.emit({severityNumber:_,severityText:x,body:T,attributes:{"log.source":"console",...N}})},km={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{wm(Vm.ERROR,"ERROR",_),km.error(..._)};console.warn=(..._)=>{wm(Vm.WARN,"WARN",_),km.warn(..._)};console.debug=(..._)=>{wm(Vm.DEBUG,"DEBUG",_),km.debug(..._)};var nm,jz=0,vm=500;function u9(){if(nm)return;let _=performance.now()+vm;nm=setInterval(()=>{let x=performance.now();jz=Math.max(0,x-_),_=x+vm},vm),nm.unref?.()}function Lz(){return u9(),jz}var K9=()=>M_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Fz=()=>M_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Yz=400,N9=100,m9=(_)=>({"db.status":_.level==="error"?"error":"success"}),T9=(_)=>(x)=>{let u=m9(x);if(x.queryDurationMillis>Yz){let N=Lz(),K=N>Yz/2;console.error(K?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(N),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:Ex()}})}if(K9().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function z9(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let N=performance.now(),K=Ex(),m=_.idleCount===0&&_.totalCount>=K,T=_.idleCount;return x().then((z)=>{let E=performance.now()-N;if(Fz().record(E,{"db.pool.outcome":m?"contended":"available"}),E>N9)if(m)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:E,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:K});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:E,idleAtStart:T,total:_.totalCount,max:K});return z},(z)=>{throw Fz().record(performance.now()-N,{"db.pool.outcome":"error"}),z})},_}var Mz={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Rz(){try{return K_().databasePgSsl}catch{return!1}}function Ex(){try{return K_().databasePoolMax}catch{return 10}}function E9(_){let x=z9(new Hz({connectionString:_,max:Ex(),ssl:Rz(),...Mz})),u=new Dz({pool:x});return{type:"postgres",db:new C9({dialect:u,log:T9(x)}),pool:x}}function B_(){return K_().databaseUrl}function Bz(_){let x=_||B_();return new Dz({pool:new Hz({connectionString:x,max:Ex(),ssl:Rz(),...Mz})})}function $9(_){let x=_||B_();return E9(x)}async function Gz(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===R_)R_=null}var R_=null;function pm(){if(!R_)R_=$9(B_());return R_}async function Oz(_){let u={database:Bz(_||B_()),plugins:[P9({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),Q9(),X9(),Z9(),L9(),j9({loginPage:"/login"}),J9(),W9({sendMagicLink:async()=>{}}),F9({sendVerificationOTP:async()=>{}})]},{toBeAdded:N,toBeCreated:K,runMigrations:m}=await U9(u);if(!N.length&&!K.length)return"up to date";return await m(),`${K.length+N.length} table(s) migrated`}async function gm(_,x){return(await o`
|
|
2385
2385
|
SELECT table_name FROM information_schema.tables
|