decocms 4.181.2 → 4.181.3
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/{AlertCircle-DhwfTi65.js → AlertCircle-BTxQkLh_.js} +1 -1
- package/dist/client/assets/{AreaChart-CXKI3JpY.js → AreaChart-54GTf9Wv.js} +1 -1
- package/dist/client/assets/{ArrowUp-BWR9dQl8.js → ArrowUp-CiT0cU4D.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-D4qu9qE6.js → ArrowUpRight-KmOQGUGd.js} +1 -1
- package/dist/client/assets/{Check-7fe09mMg.js → Check-Dw-gymvq.js} +1 -1
- package/dist/client/assets/{CheckCircle-D5saJ3-2.js → CheckCircle-CJSSqHjK.js} +1 -1
- package/dist/client/assets/{ChevronDown-DFqNx4Ma.js → ChevronDown-DJaWgVC0.js} +1 -1
- package/dist/client/assets/{ChevronRight-CRnb0aSS.js → ChevronRight-DLaD7kHP.js} +1 -1
- package/dist/client/assets/{ChevronUp-CvH3Jbpe.js → ChevronUp-C4i-02np.js} +1 -1
- package/dist/client/assets/{Copy01-CCrRD_v-.js → Copy01-Cmo8Ag8o.js} +1 -1
- package/dist/client/assets/{CpuChip01-Cm6Xgyie.js → CpuChip01-K-xlLMGB.js} +1 -1
- package/dist/client/assets/{CreditCard01-CNzw0ddZ.js → CreditCard01-CmetOEMF.js} +1 -1
- package/dist/client/assets/{DotsVertical-6MyHH5sK.js → DotsVertical-BH53E0xj.js} +1 -1
- package/dist/client/assets/{Eye-D2tsgwEB.js → Eye-B6gNJQkZ.js} +1 -1
- package/dist/client/assets/{FilterLines--Qcv2fTv.js → FilterLines-Cpf5z5Iu.js} +1 -1
- package/dist/client/assets/{HardDrive-_f2c9Jkk.js → HardDrive-Dv_gzUWs.js} +1 -1
- package/dist/client/assets/{Key01-1xwZnZcu.js → Key01-ai3raIR8.js} +1 -1
- package/dist/client/assets/{LayoutLeft-D19TYd87.js → LayoutLeft-BUkBSDrI.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Dw7qYNHV.js → LinkExternal01-C_HyHuei.js} +1 -1
- package/dist/client/assets/{LogOut01-BLN2nxXZ.js → LogOut01-CcD6g7YP.js} +1 -1
- package/dist/client/assets/{Monitor01-DoHemlFB.js → Monitor01-DH8zVvcw.js} +1 -1
- package/dist/client/assets/{Palette-DQn4hdOZ.js → Palette-BVF7aPzx.js} +1 -1
- package/dist/client/assets/{Play-Dtsx6JqS.js → Play-DktqrYeq.js} +1 -1
- package/dist/client/assets/{Plus-fsakZj2i.js → Plus-D3gVN1IJ.js} +1 -1
- package/dist/client/assets/{SearchLg-B6A7YmGB.js → SearchLg-X8pCQ7Bs.js} +1 -1
- package/dist/client/assets/{SearchMd-Yh9NWGHH.js → SearchMd-BGw6nenO.js} +1 -1
- package/dist/client/assets/{Settings02-Lx-1u3Bn.js → Settings02-DLn641-3.js} +1 -1
- package/dist/client/assets/{Shield01-BJ3TiyrY.js → Shield01-MX0RzfQ2.js} +1 -1
- package/dist/client/assets/{Star01-D56V4TVC.js → Star01-jcE2iXLN.js} +1 -1
- package/dist/client/assets/{Stars01-BV53-GPu.js → Stars01-B33s_mIG.js} +1 -1
- package/dist/client/assets/{Stars02-B2Wf8VG1.js → Stars02-CUMfm05b.js} +1 -1
- package/dist/client/assets/{Sun-DfSj0AwW.js → Sun-DL3Et2O2.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-0vB7r3W7.js → SwitchHorizontal01-Ca1irFIT.js} +1 -1
- package/dist/client/assets/{Tool01-Krxro8Eb.js → Tool01-CoHxo05I.js} +1 -1
- package/dist/client/assets/{Tool02-BYunryUZ.js → Tool02-q7KgS36M.js} +1 -1
- package/dist/client/assets/{Trash01-EgpeoR-H.js → Trash01-C_iTJrzM.js} +1 -1
- package/dist/client/assets/{TrendUp01-DXZnUZEU.js → TrendUp01-C64GToZR.js} +1 -1
- package/dist/client/assets/{Upload01-B_YOepEj.js → Upload01-C_wNHEuX.js} +1 -1
- package/dist/client/assets/{User01-BVhAcPFu.js → User01-DbfhZ4ti.js} +1 -1
- package/dist/client/assets/{Users01-CfMh8jDn.js → Users01-DVMG5rdr.js} +1 -1
- package/dist/client/assets/{Users03-v7hzkYQA.js → Users03-CJSf0I5d.js} +1 -1
- package/dist/client/assets/{X-Cv0UCoHc.js → X-BGd3Yd9R.js} +1 -1
- package/dist/client/assets/{XCircle-DHmH1ofD.js → XCircle-BzhEmj9C.js} +1 -1
- package/dist/client/assets/{XClose-C028jAbZ.js → XClose-yx7RXMlE.js} +1 -1
- package/dist/client/assets/{Zap-DWrOJOIs.js → Zap-Cc1RYTno.js} +1 -1
- package/dist/client/assets/{ZapSquare-CK872AWs.js → ZapSquare--_Wuc2N_.js} +1 -1
- package/dist/client/assets/{access-gate-BgnqMDuH.js → access-gate-BSUWjwCs.js} +1 -1
- package/dist/client/assets/{add-section-modal-CMGW4M05.js → add-section-modal-CB73EjN8.js} +1 -1
- package/dist/client/assets/{agent-icon-ClQ6MFoq.js → agent-icon-LwtXnQ8r.js} +1 -1
- package/dist/client/assets/{agents-list-D4encQ2B.js → agents-list-CrnSFHfy.js} +1 -1
- package/dist/client/assets/{ai-providers-CtnxxO-g.js → ai-providers-oJ038Zl_.js} +1 -1
- package/dist/client/assets/{alert-D--gPplk.js → alert-BGnJ_noO.js} +1 -1
- package/dist/client/assets/{alert-dialog-BmxMiJzj.js → alert-dialog-qDSW0Crq.js} +1 -1
- package/dist/client/assets/app-editor-DILiTJoW.js +1 -0
- package/dist/client/assets/{auth-BKrzkQE7.js → auth-DIPKpaIr.js} +1 -1
- package/dist/client/assets/{auth-catchall-JkfMFsIl.js → auth-catchall-CYL9uxik.js} +1 -1
- package/dist/client/assets/{auth-entry-bs5kljRR.js → auth-entry-DImJpw9E.js} +1 -1
- package/dist/client/assets/{auth-split-layout-Focpghx1.js → auth-split-layout-s6sRFVyK.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-BpB5Oaek.js → authenticate-and-persist-oauth-CaPu7RQh.js} +1 -1
- package/dist/client/assets/{automation-list-row-CWhy6hWm.js → automation-list-row-3pYfyU0O.js} +1 -1
- package/dist/client/assets/{automation-runs-B2FWi9UR.js → automation-runs-D2d3Wb2r.js} +1 -1
- package/dist/client/assets/{automations-pgwbDNQF.js → automations-DclhicEU.js} +1 -1
- package/dist/client/assets/{avatar-DPeJxtUT.js → avatar-CEbbtaiZ.js} +1 -1
- package/dist/client/assets/{badge-BON79ftm.js → badge-C1OyErpa.js} +1 -1
- package/dist/client/assets/billing-DRZX3EmX.js +6 -0
- package/dist/client/assets/{block-document-sNv31PCH.js → block-document-C3rhxAfS.js} +1 -1
- package/dist/client/assets/{brand-context-BnwI3qzC.js → brand-context-aUlyRlh0.js} +1 -1
- package/dist/client/assets/{buckets-DnBKR3GG.js → buckets-DELnzTrg.js} +1 -1
- package/dist/client/assets/bulk-category-panel-MPj9Giz3.js +1 -0
- package/dist/client/assets/{calendar-DDTH236u.js → calendar-Cgmlwp6s.js} +1 -1
- package/dist/client/assets/{capability-load-error-DaWbWNmk.js → capability-load-error-CO2UqFKW.js} +1 -1
- package/dist/client/assets/{card-_M-bn-6c.js → card-D0L8m2Fk.js} +1 -1
- package/dist/client/assets/category-editor-B-verZ0D.js +1 -0
- package/dist/client/assets/{chat-context-tVEHCSX5.js → chat-context-D6CbggZW.js} +1 -1
- package/dist/client/assets/{checkbox-YqK6rwSF.js → checkbox-DtFnclfC.js} +1 -1
- package/dist/client/assets/{cli-auth-success-zUMcbAKo.js → cli-auth-success-Bicb4f4q.js} +1 -1
- package/dist/client/assets/{collection-detail-RpRySuf7.js → collection-detail-CAcg5xcf.js} +1 -1
- package/dist/client/assets/{collection-display-button-KsZ-MLPt.js → collection-display-button-BCy_2J75.js} +1 -1
- package/dist/client/assets/{collection-search-BjSxnSjJ.js → collection-search-2xNmmwyF.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BWtp84vf.js → collection-table-wrapper-CTDA0KGg.js} +1 -1
- package/dist/client/assets/{collection-tabs-5nGCOfxk.js → collection-tabs-CTBrfSnI.js} +1 -1
- package/dist/client/assets/{command-BfEiAydz.js → command-CC22u5HT.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-B0MLztec.js → commerce-onboarding-DPhOKMuI.js} +1 -1
- package/dist/client/assets/{companions-core-EBpmeIUx.js → companions-core-DhobrWwt.js} +1 -1
- package/dist/client/assets/{connect-C7QBnQPp.js → connect-BpuNc0ED.js} +1 -1
- package/dist/client/assets/{connection-iwdkv-CM.js → connection-D7v6o0sJ.js} +1 -1
- package/dist/client/assets/{connection-card-DSAVcix6.js → connection-card-Go0wl4dH.js} +1 -1
- package/dist/client/assets/{connection-detail-CXbDLJBm.js → connection-detail-DHeSqYBk.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-CNuWl6PY.js → connection-form-helpers-C8vqp-PX.js} +1 -1
- package/dist/client/assets/{connections-BiRKuv9V.js → connections-B0ZbAgCH.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-C_7bumAG.js → decopilot-sse-pool-BSRr7Awl.js} +1 -1
- package/dist/client/assets/{dialog-BaQ3_w8_.js → dialog-nd9Y9UDf.js} +1 -1
- package/dist/client/assets/{domain-settings-CdoOjSht.js → domain-settings-BwjA2jso.js} +1 -1
- package/dist/client/assets/{drawer-DzfGx-oA.js → drawer-Y02E8bZP.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BlQ1KaCg.js → dropdown-menu-DYJ4Ot9-.js} +1 -1
- package/dist/client/assets/{empty-state-CLumFPMt.js → empty-state-CCnFw3SI.js} +1 -1
- package/dist/client/assets/{extract-connection-data-B3R7rEs4.js → extract-connection-data-B6jF9vIP.js} +1 -1
- package/dist/client/assets/file-explorer-DpEAqpKl.js +2 -0
- package/dist/client/assets/{form-Cz3JG_Nj.js → form-DZe1OoXa.js} +1 -1
- package/dist/client/assets/general-BcbT-g-z.js +1 -0
- package/dist/client/assets/{github-repo-picker-CHXo4WUU.js → github-repo-picker-R7F1yX2B.js} +1 -1
- package/dist/client/assets/{hooks-DuSycRtz.js → hooks-BcHj3Ob3.js} +1 -1
- package/dist/client/assets/{index-Cte3Qotw.js → index-BC57PyF6.js} +1 -1
- package/dist/client/assets/{index-6Wy7SN7a.js → index-Bd-WG2FD.js} +1 -1
- package/dist/client/assets/{index-QHgw-nQE.js → index-Bk-CGEfI.js} +1 -1
- package/dist/client/assets/{index-CM5jFPpd.js → index-Cattr6nA.js} +35 -35
- package/dist/client/assets/{index-BbV1LXbP.js → index-Cd-mxy8I.js} +1 -1
- package/dist/client/assets/index-CdeKbNns.js +77 -0
- package/dist/client/assets/{index-Dc-kHG2N.js → index-Ci-xAbr8.js} +1 -1
- package/dist/client/assets/{index-C_tlTFTQ.js → index-D01T8L5t.js} +1 -1
- package/dist/client/assets/{index-Csj4ulP-.js → index-DSL_ub0T.js} +5 -5
- package/dist/client/assets/{index-BLiCxBFm.js → index-DjdZgCR6.js} +1 -1
- package/dist/client/assets/{index-D6gquhyQ.js → index-Dllcdz9M.js} +1 -1
- package/dist/client/assets/{index-BYAu2SO4.js → index-FXSmmHSb.js} +1 -1
- package/dist/client/assets/{index-redirect-DlRa9qk7.js → index-redirect-CmpV-Jj_.js} +1 -1
- package/dist/client/assets/{input-5_ihaBYH.js → input-D-iDTYtd.js} +1 -1
- package/dist/client/assets/{integration-icon-B_iJXwRI.js → integration-icon-BdwbQSLL.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-d5R9AKjX.js → invite-member-dialog-BzkSk1Ge.js} +1 -1
- package/dist/client/assets/{label-BXyWlH3c.js → label-CxOnDTfr.js} +1 -1
- package/dist/client/assets/{layout-BqmRqncM.js → layout-GbjkVmGk.js} +1 -1
- package/dist/client/assets/{login-BHf7tXQm.js → login-BPeVUOhv.js} +1 -1
- package/dist/client/assets/{mcp-oauth-DpJ3kn83.js → mcp-oauth-DPdfbG_o.js} +1 -1
- package/dist/client/assets/members-Dm_2MGcL.js +1 -0
- package/dist/client/assets/{monaco-editor-B4SGDglp.js → monaco-editor-C86Ru8dd.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-C7ZDGWU8.js → monitoring-stats-row-BwPJ9hvQ.js} +1 -1
- package/dist/client/assets/{multi-select-C3t1eBvR.js → multi-select-CmcBjW31.js} +1 -1
- package/dist/client/assets/{oauth-callback-6_hjYEY8.js → oauth-callback-CW40581a.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CZuQoiSC.js → oauth-callback-ai-provider-BxEnbW0f.js} +1 -1
- package/dist/client/assets/{onboarding-BcHzqLxX.js → onboarding-DkoxJYt2.js} +1 -1
- package/dist/client/assets/{org-layout-C_p3W9up.js → org-layout-4xil_83z.js} +1 -1
- package/dist/client/assets/{organization-choice-CVhAwuDa.js → organization-choice-DXN-yJMk.js} +1 -1
- package/dist/client/assets/{orgs-9OqOkv9x.js → orgs-pac80290.js} +1 -1
- package/dist/client/assets/{page-seo-form-hf_pWp_F.js → page-seo-form-Bk_lJRhg.js} +1 -1
- package/dist/client/assets/{popover-Byln4TuQ.js → popover-BzY6SGD5.js} +1 -1
- package/dist/client/assets/post-editor-Caeo9yZ0.js +1 -0
- package/dist/client/assets/{primitives-Df3Bn_ya.js → primitives-D59xgpfo.js} +1 -1
- package/dist/client/assets/{profile-CS_iAKkm.js → profile-CWK3fjie.js} +1 -1
- package/dist/client/assets/project-app-view-DOxMbUNa.js +1 -0
- package/dist/client/assets/record-editor-_niGq24j.js +1 -0
- package/dist/client/assets/redirect-editor-CV9xq4Ct.js +1 -0
- package/dist/client/assets/registry-DNAqKX9b.js +2 -0
- package/dist/client/assets/{registry-layout-vt4vhU8c.js → registry-layout-BtBW4sei.js} +1 -1
- package/dist/client/assets/{reports-_cLV6W7t.js → reports-zFMLtR1A.js} +1 -1
- package/dist/client/assets/{require-capability-BmrfZmFk.js → require-capability-Br1pAJen.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DssttDRY.js → required-auth-layout-D-kXHcFc.js} +1 -1
- package/dist/client/assets/{reset-password-J-GZyivg.js → reset-password-DxnpIDQZ.js} +1 -1
- package/dist/client/assets/{roles-DcqOrq9D.js → roles-BkhveSy6.js} +1 -1
- package/dist/client/assets/{search-input-BcMesWuB.js → search-input-C115Kksl.js} +1 -1
- package/dist/client/assets/{secrets-3-rsElai.js → secrets-BBfooOeU.js} +1 -1
- package/dist/client/assets/{sections-editor-G2RgoSGR.js → sections-editor-DK40H8jT.js} +2 -2
- package/dist/client/assets/{select-SGu4_FtX.js → select-DoSBsXS-.js} +1 -1
- package/dist/client/assets/{select-model-cIVouYTm.js → select-model-BoNfnd6b.js} +1 -1
- package/dist/client/assets/{self-tool-result-CACndU_u.js → self-tool-result-DtUlgJUE.js} +1 -1
- package/dist/client/assets/seo-editor-BIY7X9oK.js +1 -0
- package/dist/client/assets/{settings-layout-JwWYh0P3.js → settings-layout-BJ2Ef5pZ.js} +1 -1
- package/dist/client/assets/{settings-section-CXUhMVs1.js → settings-section-CDsu-DGw.js} +1 -1
- package/dist/client/assets/{shell-controls-y6dmq3Ut.js → shell-controls-Dr9vMfYa.js} +1 -1
- package/dist/client/assets/{shell-layout-DLhKvUEj.js → shell-layout-DBQkutH7.js} +1 -1
- package/dist/client/assets/{sidebar-QbwqQIu3.js → sidebar-B2MwaU8I.js} +1 -1
- package/dist/client/assets/{skeleton-s6ngmE7x.js → skeleton-Byy9MKOd.js} +1 -1
- package/dist/client/assets/{spinner-DzW40heC.js → spinner-DkNs3_AG.js} +1 -1
- package/dist/client/assets/{sso-BMlDhirk.js → sso-DBWJAZWr.js} +1 -1
- package/dist/client/assets/{store-BKcscc7a.js → store-CEwQ2QQ2.js} +1 -1
- package/dist/client/assets/store-registry-D7sYPe7R.js +2 -0
- package/dist/client/assets/{studio-tools-ByQe0nxW.js → studio-tools-CCpiCxVq.js} +1 -1
- package/dist/client/assets/{switch-DFCKdzt7.js → switch-Ckyz60oQ.js} +1 -1
- package/dist/client/assets/{tab-id-BiTYDOcZ.js → tab-id-DamQoqFe.js} +1 -1
- package/dist/client/assets/{table-DlRW6FZv.js → table-g2dB7kHC.js} +1 -1
- package/dist/client/assets/{tabs-C5vm-_nz.js → tabs-DhhmWcXn.js} +1 -1
- package/dist/client/assets/{textarea-CKeVZVzt.js → textarea-ml1xcq4m.js} +1 -1
- package/dist/client/assets/{toggle-group-DnYIxYbk.js → toggle-group-DaJb5ecI.js} +1 -1
- package/dist/client/assets/{toolbar-DwU8FQW4.js → toolbar-Dehgj7Nj.js} +1 -1
- package/dist/client/assets/{tooltip-CxHFa6IC.js → tooltip-fNNHHvCP.js} +1 -1
- package/dist/client/assets/{use-ai-providers-Co7pb7Qr.js → use-ai-providers-CwtqZyAl.js} +1 -1
- package/dist/client/assets/{use-automations-BP5ujW2a.js → use-automations-v0SaJAdt.js} +1 -1
- package/dist/client/assets/{use-autosave-D8ji2Fa4.js → use-autosave-CNHqftWQ.js} +1 -1
- package/dist/client/assets/{use-capability-DqWvGlPP.js → use-capability-6s_CDaCx.js} +1 -1
- package/dist/client/assets/{use-clock-tick-DSZ3Gm8N.js → use-clock-tick-Cw81SvwW.js} +1 -1
- package/dist/client/assets/{use-connection-DyO48bWG.js → use-connection-CzkVTaht.js} +1 -1
- package/dist/client/assets/{use-copy-6Jj0xxnI.js → use-copy-BYYLTgJg.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Bmy5mqEA.js → use-create-virtual-mcp-jDvPk26o.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-D_DmEb8w.js → use-debounced-autosave-CWSN1_X_.js} +1 -1
- package/dist/client/assets/{use-debounced-value-_FeINZsD.js → use-debounced-value-D4-eJghO.js} +1 -1
- package/dist/client/assets/{use-deco-credits-C_lnLrG5.js → use-deco-credits-Dwwqo-VH.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-L_uDUkvt.js → use-decopilot-events-CMeACuxN.js} +1 -1
- package/dist/client/assets/{use-delete-connection-CMqGCbIX.js → use-delete-connection-DV_zsO6y.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-DnjeA_1_.js → use-deployment-admin-By7yhBUI.js} +1 -1
- package/dist/client/assets/{use-file-configs-BHd6zoJg.js → use-file-configs-Z-5fKuaj.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-D_VL9wUU.js → use-infinite-scroll-fXFRW5gQ.js} +1 -1
- package/dist/client/assets/{use-join-requests-yfo1t6jl.js → use-join-requests-BoAzPTLj.js} +1 -1
- package/dist/client/assets/{use-mcp-client-D_w4YfXz.js → use-mcp-client-DqHVlRT-.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-ApQ-yd9r.js → use-mcp-tools-DBw2JL-y.js} +1 -1
- package/dist/client/assets/{use-members-BHIh4BMi.js → use-members-DsNs-XXd.js} +1 -1
- package/dist/client/assets/{use-mobile-BTbk3OtS.js → use-mobile-DTQQN7CZ.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-DlOybjQl.js → use-navigate-to-agent-DGSYNDms.js} +1 -1
- package/dist/client/assets/use-open-billing-url-BiA8ypry.js +1 -0
- package/dist/client/assets/{use-org-auth-client-B81bJ_PA.js → use-org-auth-client-BoO3p-ZD.js} +1 -1
- package/dist/client/assets/{use-org-sso-DA_tV60t.js → use-org-sso-pjSvX-hU.js} +1 -1
- package/dist/client/assets/{use-organization-roles--CkNNivC.js → use-organization-roles-CDb_-Y7M.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BIlGedqq.js → use-organization-settings-DDGI0ux_.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CS7FZ6vE.js → use-registry-connections-9HNFG4EX.js} +1 -1
- package/dist/client/assets/{use-secrets-YHPDYoG0.js → use-secrets-DuY_szss.js} +1 -1
- package/dist/client/assets/{use-status-sounds-Dmzs3AZM.js → use-status-sounds-DrHItgaG.js} +1 -1
- package/dist/client/assets/{use-tags-BwYUEYku.js → use-tags-D9BTOCB6.js} +1 -1
- package/dist/client/assets/{use-view-mode-BrMghI3p.js → use-view-mode-BBNpqulX.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CSlt6IBv.js → use-virtual-mcp-CTQtyJk0.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-CAndPTbu.js +1 -0
- package/dist/client/assets/{useQueries-y3ZS11ts.js → useQueries-YKDnkiqD.js} +1 -1
- package/dist/client/assets/{useRouterState-BWggJFL2.js → useRouterState-D-3vvriX.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CR3WF7F3.js +1 -0
- package/dist/client/assets/{users-u61YI361.js → users-DFm1KNAU.js} +1 -1
- package/dist/client/assets/{variant-calendar-CesD7nTB.js → variant-calendar-lUVRsxSt.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-D5P-Fw97.js → view-mode-toggle-BjkWD1Pd.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +143 -143
- package/dist/server/migrate.js +1 -1
- package/dist/server/server.js +121 -121
- package/package.json +1 -1
- package/dist/client/assets/app-editor-DL3n5aIo.js +0 -1
- package/dist/client/assets/billing-CSRO_Xhf.js +0 -6
- package/dist/client/assets/bulk-category-panel-D6Bqf27J.js +0 -1
- package/dist/client/assets/category-editor-8aLxI0zu.js +0 -1
- package/dist/client/assets/file-explorer-C8bBTplO.js +0 -2
- package/dist/client/assets/general-BMPq4RKk.js +0 -1
- package/dist/client/assets/index-DmMjm15X.js +0 -77
- package/dist/client/assets/members-GtIKQUzd.js +0 -1
- package/dist/client/assets/post-editor-MzsGcDsk.js +0 -1
- package/dist/client/assets/project-app-view-BGhZ4HbH.js +0 -1
- package/dist/client/assets/record-editor-5tOBqSaF.js +0 -1
- package/dist/client/assets/redirect-editor-DV_7QC_m.js +0 -1
- package/dist/client/assets/registry-CCbAvu-S.js +0 -2
- package/dist/client/assets/seo-editor-CRdRftoa.js +0 -1
- package/dist/client/assets/store-registry-CATZt53a.js +0 -2
- package/dist/client/assets/useInfiniteQuery-DRBWKJK0.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CfunhPPn.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1087,7 +1087,7 @@ var dx=Object.defineProperty;var bx=(t)=>t;function ti(t,n){this[t]=bx.bind(null
|
|
|
1087
1087
|
create index idx_task_quota_claims_org_period_live
|
|
1088
1088
|
on task_quota_claims (organization_id, period_key)
|
|
1089
1089
|
where state <> 'released'
|
|
1090
|
-
`.execute(t)}async function GC(t){await G_`drop index if exists idx_task_quota_claims_org_period_live`.execute(t),await t.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await t.schema.alterTable("task_quota_claims").dropColumn("state").execute()}var S_={};_(S_,{up:()=>AC,down:()=>SC});async function AC(t){await t.schema.createTable("claude_subscriptions").addColumn("user_id","text",(n)=>n.primaryKey()).addColumn("encrypted_access_token","text",(n)=>n.notNull()).addColumn("expires_at","timestamptz").addColumn("created_at","timestamptz",(n)=>n.notNull()).execute()}async function SC(t){await t.schema.dropTable("claude_subscriptions").ifExists().execute()}var O_={};_(O_,{up:()=>OC,down:()=>kC});async function OC(t){await t.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function kC(t){await t.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var IC={"001-initial-schema":Ut,"002-organization-settings":Jt,"003-connection-schema-align":jt,"004-remove-models-binding":Dt,"005-connection-configuration":Lt,"006-add-views-to-settings":$t,"007-monitoring-logs":Wt,"008-event-bus":Rt,"009-drop-audit-logs":Xt,"010-gateways":Qt,"011-gateway-icon":Zt,"012-gateway-tool-selection-mode":Ft,"013-monitoring-user-agent-gateway":Mt,"014-gateway-resources-prompts":Ht,"015-monitoring-properties":Yt,"016-downstream-token-client-info":Bt,"017-downstream-token-remove-userid":Gt,"018-drop-gateway-tool-selection-strategy":At,"019-remove-gateway-is-default":St,"020-enabled-plugins":Ot,"021-threads":kt,"022-rename-gateway-to-virtual-mcp":It,"023-optimize-thread-indexes":ct,"024-consolidate-virtual-mcp":ht,"025-add-monitoring-virtual-mcp-id":rt,"026-restrict-child-connection-delete":Vt,"027-update-management-mcp-url":vt,"028-update-management-mcp-to-self":st,"029-add-updated-by-to-connections":lt,"030-member-tags":dt,"031-add-dependency-mode":bt,"032-projects":tn,"033-thread-status":nn,"034-monitoring-dashboards":un,"035-project-connections":_n,"036-update-registry-url":xn,"037-ai-provider-keys":mn,"038-oauth-pkce-states":en,"039-automations":an,"040-replace-next-run-at-with-last-run-at":yn,"041-ai-provider-keys-unique-constraint":Tn,"042-rename-mesh-mcp-to-cms-mcp":Cn,"043-rename-cms-mcp-to-deco-cms":Nn,"044-drop-connections-tools-column":En,"045-thread-context-start-message":Kn,"046-remove-object-storage-plugin":fn,"047-add-next-run-at":wn,"048-merge-projects-agents":Pn,"049-remove-org-admin-projects":pn,"050-durable-agent-runs":Un,"051-org-sso":jn,"052-thread-agent-ids":Dn,"053-registry-config":Ln,"054-connection-slug":Wn,"055-spaces":Rn,"056-automation-project-scope":Xn,"057-thread-virtual-mcp-id":Qn,"058-trigger-callback-tokens":Zn,"059-kv":Fn,"060-member-index":Mn,"061-downstream-token-connection-index":Hn,"062-private-registry":Yn,"063-event-subscriptions-enabled-boolean":Bn,"064-brand-context":Gn,"065-organization-domains":An,"066-brand-context-structured":Sn,"067-threads-metadata":On,"068-threads-branch":kn,"069-sandbox-runner-state":In,"070-model-categories":cn,"071-default-home-agents":hn,"072-ai-provider-key-preset-id":rn,"073-backfill-basic-usage-roles":Vn,"074-sandbox-runner-state-handle-nonunique":gn,"075-thread-inflight-async-jobs":vn,"076-automations-drop-agent-json":qn,"077-tier-only-model-selection":ln,"078-automation-tool-call-kind":dn,"079-strip-legacy-freestyle-vm-map-entries":bn,"080-async-research-jobs":tu,"081-async-research-jobs-result-content":nu,"082-secrets":uu,"083-thread-run-locally":_u,"084-drop-host-sandbox-rows":xu,"085-rename-runner-kind":iu,"086-thread-pins-and-vm-map-rekey":mu,"087-fix-vm-map-rekey":eu,"088-purge-cli-activate-keys":au,"089-rename-remote-user-to-desktop":yu,"090-automation-webhook-triggers":Tu,"091-organization-domains-allow-multi":Cu,"092-sandbox-naming-uniformization":Nu,"093-backfill-global-search-basic-usage":Eu,"094-org-file-configs":ou,"095-remove-automation-tool-call-kind":fu,"096-org-file-configs-public-url-base":wu,"097-drop-local-docker-sandbox-state":Pu,"098-thread-message-parts":pu,"099-run-fence":Uu,"100-link-transport":Ju,"101-cancel-requested-at":ju,"102-observational-agent":Du,"103-revert-observational-agent":Lu,"104-agent-sandbox-provider-kind":Wu,"105-org-fs":Ru,"106-automation-tools":Xu,"107-org-fs-public-org":Qu,"108-automation-max-agent-steps":Zu,"109-thread-message-parts-per-message-seq":Fu,"110-backfill-ghs-token-expiry":Mu,"111-org-fs-thread-id":Hu,"112-org-file-configs-credential-type":Yu,"113-thread-failure-reason":Bu,"114-run-acked-seq":Gu,"115-thread-projected-seq":Au,"116-org-sites":Su,"117-org-file-configs-site-slug":Ou,"118-organization-domains-multi-verify":ku,"119-organization-join-requests":Iu,"120-org-fs-read-public":cu,"121-org-fs-share-password":hu,"122-split-web-research-tier":gu,"123-connection-credential-vault":vu,"124-drop-thread-projected-seq":qu,"125-github-child-single-parent":su,"126-task-board":du,"127-task-board-due-date":bu,"128-reports-only":t_,"129-task-board-assigned-by":n_,"130-task-board-thread-id":u_,"131-task-board-thread-link-cascade":__,"132-task-board-item-prs":x_,"133-dedupe-duplicate-members":i_,"134-drop-task-board-enabled":m_,"135-task-board-item-fk-cascade":e_,"136-task-board-import-idempotency":a_,"137-agent-sandbox-runner-state":y_,"138-agent-sandbox-sessions":T_,"139-organization-billing":C_,"140-seat-change-log":N_,"141-benefits-sync-pending":E_,"142-stripe-event-watermark":K_,"143-armed-report-url":o_,"144-benefits-pending-index":f_,"145-user-model-preferences":w_,"146-organization-main-agent":z_,"147-drop-agent-sandbox-tables":P_,"148-org-flags":p_,"149-task-board-item-sort-order":U_,"150-task-board-activity":J_,"151-task-board-tags":D_,"152-repair-connection-slug":$_,"153-task-board-latest-assistant-part-index":W_,"154-task-board-qa-activity":X_,"155-task-board-review-claims":Q_,"156-task-board-conflict-activity":F_,"157-drop-seat-billing":M_,"158-drop-github-child-single-parent":H_,"159-task-board-comments":Y_,"160-task-quota-billing":B_,"161-task-quota-claim-state":A_,"162-claude-subscriptions":S_,"163-task-board-item-dismissed":O_},k_=IC;import{getMigrations as jN}from"better-auth/db";import{sso as DN}from"@better-auth/sso";import{organization as LN}from"@decocms/better-auth/plugins";import{admin as $N,apiKey as WN,jwt as RN,magicLink as XN,mcp as QN,openAPI as ZN}from"better-auth/plugins";import{emailOTP as FN}from"better-auth/plugins/email-otp";import{Kysely as fN,PostgresDialect as cx}from"kysely";import{Pool as hx}from"pg";import{homedir as cC}from"os";var hC=new Set(["all","worker","api"]);function rC(t){let n=(t??"").trim();return hC.has(n)?n:"all"}var VC=new Set(["production","development","test"]);function gC(t){let n=(t??"").trim();return VC.has(n)?n:"development"}function $(t){return t==="true"||t==="1"}function vC(t){if(t===void 0||t==="")return;return $(t)}function I_(t,n,u){if(n===void 0||n==="")return;let i=Number(n);if(!Number.isSafeInteger(i)||i<=0)throw Error(`${t} must be a positive integer`);if(u!==void 0&&i>u)throw Error(`${t} must be at most ${u}`);return i}function j(t,n,u,i){return I_(t,n,i)??u}function qC(t,n,u,i){if(n===void 0||n==="")return u;let x=Number(n);if(!Number.isSafeInteger(x)||x<0)throw Error(`${t} must be a non-negative integer`);if(i!==void 0&&x>i)throw Error(`${t} must be at most ${i}`);return x}function sC(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Mx(t){if(!t)return null;try{let u=new URL(t).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return t}catch{return null}}function lC(t){return t===void 0||t===""||t==="true"||t==="1"}function v(t,n){return t||n}var dC=new Set(["agent-sandbox","user-desktop"]);function bC(t){let n=(t??"").trim(),u=n.length>0?n:"user-desktop";if(u==="cluster")return"agent-sandbox";if(!dC.has(u))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return u}function Hx(t,n){let u=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${cC()}/deco`,i=t.localMode,x=t.nodeEnv||gC(n.NODE_ENV),m=n.NATS_URL||"nats://localhost:4222",a=vC(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:x,port:j("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:v(n.STUDIO_PUBLIC_URL,n.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:$(n.DATABASE_PG_SSL),databasePoolMax:j("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),dbosPoolSize:j("DBOS_POOL_SIZE",n.DBOS_POOL_SIZE,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:v(n.STUDIO_JWT_SECRET,n.MESH_JWT_SECRET),localMode:i,disableRateLimit:$(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:I_("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:a,natsTunnelSessionTtlSeconds:j("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:$(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeOrgPriceId:n.STRIPE_ORG_PRICE_ID,topupFeePercent:qC("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:$(n.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:j("STUDIO_FREE_TASKS",n.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:j("STUDIO_MONTHLY_TASKS",n.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:j("STUDIO_MAX_RUNS_PER_TASK",n.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:$(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:sC(n.MCP_CACHE_ENABLED,x!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:$(n.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:j("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",n.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:j("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",n.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:lC(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:I_("DUCKDB_THREADS",n.DUCKDB_THREADS),isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME||crypto.randomUUID(),dispatchRole:rC(v(n.STUDIO_DISPATCH_ROLE,n.MESH_DISPATCH_ROLE)),sandboxProviderKind:bC(n.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:$(n.SANDBOX_STICKY_HEAD_REF),sandboxReleaseOnRunEndEnabled:$(n.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:j("SANDBOX_RELEASE_GRACE_MS",n.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:v(n.REPORTS_INTERNAL_API_URL,n.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:v(n.REPORTS_INTERNAL_API_KEY,n.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:Mx(n.DATABASE_URL),externalNatsUrl:Mx(m),skipMigrations:t.skipMigrations}}var ft=null;function B(){if(!ft)tN();return ft}function tN(){if(ft)return;let t={...process.env},n=Hx({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);ft=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as mN,metrics as eN,propagation as _f,ROOT_CONTEXT as xf,SpanStatusCode as mf,trace as aN}from"@opentelemetry/api";import{logs as yN,SeverityNumber as c_}from"@opentelemetry/api-logs";import{OTLPLogExporter as yf}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as TN}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Nf}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Kf}from"@opentelemetry/instrumentation-runtime-node";import{context as sK,propagation as lK,SpanKind as dK,SpanStatusCode as bK}from"@opentelemetry/api";var no=globalThis.fetch;import{ExportResultCode as Eo}from"@opentelemetry/core";import{ExportResultCode as wt}from"@opentelemetry/core";import{mkdir as nN,rename as uN,writeFile as _N}from"fs/promises";import{join as zt}from"path";class Pt{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:wt.FAILED});for(let n of t){let u=JSON.stringify(n),i=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:i,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:wt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:wt.FAILED}});return Promise.resolve({code:wt.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 n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let x of t){let m=n.get(x.partition);if(!m)m=[],n.set(x.partition,m);m.push(x.json)}let u=await Promise.allSettled(Array.from(n.entries()).map(([x,m])=>this.writeNDJSON(m,x).then(()=>x))),i=u.find((x)=>x.status==="rejected");if(i){let x=new Set;for(let a of u)if(a.status==="fulfilled")x.add(a.value);let m=t.filter((a)=>!x.has(a.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let a of this.bufferItems)this.bufferBytes+=Buffer.byteLength(a.json,"utf8")+1;throw i.reason}}async writeNDJSON(t,n){let u=new Date,i=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],x=n?zt(this.basePath,n,...i):zt(this.basePath,...i);if(!this.knownDirs.has(x))await nN(x,{recursive:!0,mode:448}),this.knownDirs.add(x);let m=`${crypto.randomUUID()}.ndjson`,a=zt(x,`.${m}.tmp`),e=zt(x,m),y=t.join(`
|
|
1090
|
+
`.execute(t)}async function GC(t){await G_`drop index if exists idx_task_quota_claims_org_period_live`.execute(t),await t.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await t.schema.alterTable("task_quota_claims").dropColumn("state").execute()}var S_={};_(S_,{up:()=>AC,down:()=>SC});async function AC(t){await t.schema.createTable("claude_subscriptions").addColumn("user_id","text",(n)=>n.primaryKey()).addColumn("encrypted_access_token","text",(n)=>n.notNull()).addColumn("expires_at","timestamptz").addColumn("created_at","timestamptz",(n)=>n.notNull()).execute()}async function SC(t){await t.schema.dropTable("claude_subscriptions").ifExists().execute()}var O_={};_(O_,{up:()=>OC,down:()=>kC});async function OC(t){await t.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function kC(t){await t.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var IC={"001-initial-schema":Ut,"002-organization-settings":Jt,"003-connection-schema-align":jt,"004-remove-models-binding":Dt,"005-connection-configuration":Lt,"006-add-views-to-settings":$t,"007-monitoring-logs":Wt,"008-event-bus":Rt,"009-drop-audit-logs":Xt,"010-gateways":Qt,"011-gateway-icon":Zt,"012-gateway-tool-selection-mode":Ft,"013-monitoring-user-agent-gateway":Mt,"014-gateway-resources-prompts":Ht,"015-monitoring-properties":Yt,"016-downstream-token-client-info":Bt,"017-downstream-token-remove-userid":Gt,"018-drop-gateway-tool-selection-strategy":At,"019-remove-gateway-is-default":St,"020-enabled-plugins":Ot,"021-threads":kt,"022-rename-gateway-to-virtual-mcp":It,"023-optimize-thread-indexes":ct,"024-consolidate-virtual-mcp":ht,"025-add-monitoring-virtual-mcp-id":rt,"026-restrict-child-connection-delete":Vt,"027-update-management-mcp-url":vt,"028-update-management-mcp-to-self":st,"029-add-updated-by-to-connections":lt,"030-member-tags":dt,"031-add-dependency-mode":bt,"032-projects":tn,"033-thread-status":nn,"034-monitoring-dashboards":un,"035-project-connections":_n,"036-update-registry-url":xn,"037-ai-provider-keys":mn,"038-oauth-pkce-states":en,"039-automations":an,"040-replace-next-run-at-with-last-run-at":yn,"041-ai-provider-keys-unique-constraint":Tn,"042-rename-mesh-mcp-to-cms-mcp":Cn,"043-rename-cms-mcp-to-deco-cms":Nn,"044-drop-connections-tools-column":En,"045-thread-context-start-message":Kn,"046-remove-object-storage-plugin":fn,"047-add-next-run-at":wn,"048-merge-projects-agents":Pn,"049-remove-org-admin-projects":pn,"050-durable-agent-runs":Un,"051-org-sso":jn,"052-thread-agent-ids":Dn,"053-registry-config":Ln,"054-connection-slug":Wn,"055-spaces":Rn,"056-automation-project-scope":Xn,"057-thread-virtual-mcp-id":Qn,"058-trigger-callback-tokens":Zn,"059-kv":Fn,"060-member-index":Mn,"061-downstream-token-connection-index":Hn,"062-private-registry":Yn,"063-event-subscriptions-enabled-boolean":Bn,"064-brand-context":Gn,"065-organization-domains":An,"066-brand-context-structured":Sn,"067-threads-metadata":On,"068-threads-branch":kn,"069-sandbox-runner-state":In,"070-model-categories":cn,"071-default-home-agents":hn,"072-ai-provider-key-preset-id":rn,"073-backfill-basic-usage-roles":Vn,"074-sandbox-runner-state-handle-nonunique":gn,"075-thread-inflight-async-jobs":vn,"076-automations-drop-agent-json":qn,"077-tier-only-model-selection":ln,"078-automation-tool-call-kind":dn,"079-strip-legacy-freestyle-vm-map-entries":bn,"080-async-research-jobs":tu,"081-async-research-jobs-result-content":nu,"082-secrets":uu,"083-thread-run-locally":_u,"084-drop-host-sandbox-rows":xu,"085-rename-runner-kind":iu,"086-thread-pins-and-vm-map-rekey":mu,"087-fix-vm-map-rekey":eu,"088-purge-cli-activate-keys":au,"089-rename-remote-user-to-desktop":yu,"090-automation-webhook-triggers":Tu,"091-organization-domains-allow-multi":Cu,"092-sandbox-naming-uniformization":Nu,"093-backfill-global-search-basic-usage":Eu,"094-org-file-configs":ou,"095-remove-automation-tool-call-kind":fu,"096-org-file-configs-public-url-base":wu,"097-drop-local-docker-sandbox-state":Pu,"098-thread-message-parts":pu,"099-run-fence":Uu,"100-link-transport":Ju,"101-cancel-requested-at":ju,"102-observational-agent":Du,"103-revert-observational-agent":Lu,"104-agent-sandbox-provider-kind":Wu,"105-org-fs":Ru,"106-automation-tools":Xu,"107-org-fs-public-org":Qu,"108-automation-max-agent-steps":Zu,"109-thread-message-parts-per-message-seq":Fu,"110-backfill-ghs-token-expiry":Mu,"111-org-fs-thread-id":Hu,"112-org-file-configs-credential-type":Yu,"113-thread-failure-reason":Bu,"114-run-acked-seq":Gu,"115-thread-projected-seq":Au,"116-org-sites":Su,"117-org-file-configs-site-slug":Ou,"118-organization-domains-multi-verify":ku,"119-organization-join-requests":Iu,"120-org-fs-read-public":cu,"121-org-fs-share-password":hu,"122-split-web-research-tier":gu,"123-connection-credential-vault":vu,"124-drop-thread-projected-seq":qu,"125-github-child-single-parent":su,"126-task-board":du,"127-task-board-due-date":bu,"128-reports-only":t_,"129-task-board-assigned-by":n_,"130-task-board-thread-id":u_,"131-task-board-thread-link-cascade":__,"132-task-board-item-prs":x_,"133-dedupe-duplicate-members":i_,"134-drop-task-board-enabled":m_,"135-task-board-item-fk-cascade":e_,"136-task-board-import-idempotency":a_,"137-agent-sandbox-runner-state":y_,"138-agent-sandbox-sessions":T_,"139-organization-billing":C_,"140-seat-change-log":N_,"141-benefits-sync-pending":E_,"142-stripe-event-watermark":K_,"143-armed-report-url":o_,"144-benefits-pending-index":f_,"145-user-model-preferences":w_,"146-organization-main-agent":z_,"147-drop-agent-sandbox-tables":P_,"148-org-flags":p_,"149-task-board-item-sort-order":U_,"150-task-board-activity":J_,"151-task-board-tags":D_,"152-repair-connection-slug":$_,"153-task-board-latest-assistant-part-index":W_,"154-task-board-qa-activity":X_,"155-task-board-review-claims":Q_,"156-task-board-conflict-activity":F_,"157-drop-seat-billing":M_,"158-drop-github-child-single-parent":H_,"159-task-board-comments":Y_,"160-task-quota-billing":B_,"161-task-quota-claim-state":A_,"162-claude-subscriptions":S_,"163-task-board-item-dismissed":O_},k_=IC;import{getMigrations as jN}from"better-auth/db";import{sso as DN}from"@better-auth/sso";import{organization as LN}from"@decocms/better-auth/plugins";import{admin as $N,apiKey as WN,jwt as RN,magicLink as XN,mcp as QN,openAPI as ZN}from"better-auth/plugins";import{emailOTP as FN}from"better-auth/plugins/email-otp";import{Kysely as fN,PostgresDialect as cx}from"kysely";import{Pool as hx}from"pg";import{homedir as cC}from"os";var hC=new Set(["all","worker","api"]);function rC(t){let n=(t??"").trim();return hC.has(n)?n:"all"}var VC=new Set(["production","development","test"]);function gC(t){let n=(t??"").trim();return VC.has(n)?n:"development"}function $(t){return t==="true"||t==="1"}function vC(t){if(t===void 0||t==="")return;return $(t)}function I_(t,n,u){if(n===void 0||n==="")return;let i=Number(n);if(!Number.isSafeInteger(i)||i<=0)throw Error(`${t} must be a positive integer`);if(u!==void 0&&i>u)throw Error(`${t} must be at most ${u}`);return i}function j(t,n,u,i){return I_(t,n,i)??u}function qC(t,n,u,i){if(n===void 0||n==="")return u;let x=Number(n);if(!Number.isSafeInteger(x)||x<0)throw Error(`${t} must be a non-negative integer`);if(i!==void 0&&x>i)throw Error(`${t} must be at most ${i}`);return x}function sC(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Mx(t){if(!t)return null;try{let u=new URL(t).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return t}catch{return null}}function lC(t){return t===void 0||t===""||t==="true"||t==="1"}function v(t,n){return t||n}var dC=new Set(["agent-sandbox","user-desktop"]);function bC(t){let n=(t??"").trim(),u=n.length>0?n:"user-desktop";if(u==="cluster")return"agent-sandbox";if(!dC.has(u))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return u}function Hx(t,n){let u=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${cC()}/deco`,i=t.localMode,x=t.nodeEnv||gC(n.NODE_ENV),m=n.NATS_URL||"nats://localhost:4222",a=vC(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:x,port:j("PORT",t.port||n.PORT,3000,65535),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:v(n.STUDIO_PUBLIC_URL,n.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:$(n.DATABASE_PG_SSL),databasePoolMax:j("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),dbosPoolSize:j("DBOS_POOL_SIZE",n.DBOS_POOL_SIZE,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:v(n.STUDIO_JWT_SECRET,n.MESH_JWT_SECRET),localMode:i,disableRateLimit:$(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:I_("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:a,natsTunnelSessionTtlSeconds:j("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:$(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeOrgPriceId:n.STRIPE_ORG_PRICE_ID,topupFeePercent:qC("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:$(n.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:j("STUDIO_FREE_TASKS",n.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:j("STUDIO_MONTHLY_TASKS",n.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:j("STUDIO_MAX_RUNS_PER_TASK",n.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:$(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:sC(n.MCP_CACHE_ENABLED,x!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:$(n.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:j("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",n.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:j("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",n.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:lC(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:I_("DUCKDB_THREADS",n.DUCKDB_THREADS),isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME||crypto.randomUUID(),dispatchRole:rC(v(n.STUDIO_DISPATCH_ROLE,n.MESH_DISPATCH_ROLE)),sandboxProviderKind:bC(n.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:$(n.SANDBOX_STICKY_HEAD_REF),sandboxReleaseOnRunEndEnabled:$(n.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:j("SANDBOX_RELEASE_GRACE_MS",n.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:v(n.REPORTS_INTERNAL_API_URL,n.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:v(n.REPORTS_INTERNAL_API_KEY,n.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:Mx(n.DATABASE_URL),externalNatsUrl:Mx(m),skipMigrations:t.skipMigrations}}var ft=null;function B(){if(!ft)tN();return ft}function tN(){if(ft)return;let t={...process.env},n=Hx({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);ft=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as mN,metrics as eN,propagation as _f,ROOT_CONTEXT as xf,SpanStatusCode as mf,trace as aN}from"@opentelemetry/api";import{logs as yN,SeverityNumber as c_}from"@opentelemetry/api-logs";import{OTLPLogExporter as yf}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as TN}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Nf}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Kf}from"@opentelemetry/instrumentation-runtime-node";import{context as sK,propagation as lK,SpanKind as dK,SpanStatusCode as bK}from"@opentelemetry/api";var no=globalThis.fetch;import{ExportResultCode as Eo}from"@opentelemetry/core";import{ExportResultCode as wt}from"@opentelemetry/core";import{mkdir as nN,rename as uN,writeFile as _N}from"fs/promises";import{join as zt}from"path";class Pt{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:wt.FAILED});for(let n of t){let u=JSON.stringify(n),i=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:i,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:wt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:wt.FAILED}});return Promise.resolve({code:wt.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 n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let x of t){let m=n.get(x.partition);if(!m)m=[],n.set(x.partition,m);m.push(x.json)}let u=await Promise.allSettled(Array.from(n.entries()).map(([x,m])=>this.writeNDJSON(m,x).then(()=>x))),i=u.find((x)=>x.status==="rejected");if(i){let x=new Set;for(let a of u)if(a.status==="fulfilled")x.add(a.value);let m=t.filter((a)=>!x.has(a.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let a of this.bufferItems)this.bufferBytes+=Buffer.byteLength(a.json,"utf8")+1;throw i.reason}}async writeNDJSON(t,n){let u=new Date,i=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],x=n?zt(this.basePath,n,...i):zt(this.basePath,...i);if(!this.knownDirs.has(x))await nN(x,{recursive:!0,mode:448}),this.knownDirs.add(x);let m=`${crypto.randomUUID()}.ndjson`,a=zt(x,`.${m}.tmp`),e=zt(x,m),y=t.join(`
|
|
1091
1091
|
`)+`
|
|
1092
1092
|
`;await _N(a,y,{mode:384}),await uN(a,e)}}import{ExportResultCode as zo}from"@opentelemetry/core";import{AggregationTemporality as po,DataPointType as Uo}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Wo}from"@opentelemetry/core";var Zo=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as jf,LoggerProvider as Df}from"@opentelemetry/sdk-logs";import{detectResources as $f,envDetector as Wf,hostDetector as Rf,osDetector as Xf,processDetector as Qf,resourceFromAttributes as Zf}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Mf}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Ho}from"@opentelemetry/api-logs";import{NodeSDK as Bf}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as Af,SamplingDecision as G}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as So}from"@opentelemetry/api";var CN="__d",NN=mN("Current request"),EN=1;var Bx=(t)=>{let u=new URL(t.url).searchParams.get(CN);if(u==="")return crypto.randomUUID();if(!u)u=t.headers.get("x-trace-debug-id");return u};class Gx{inner;constructor(t){this.inner=t}shouldSample(t,n,u,i,x,m){let a=t.getValue(NN);if(!a){if(this.inner)return this.inner.shouldSample(t,n,u,i,x,m);return{decision:G.RECORD_AND_SAMPLED}}let e=Bx(a);if(e)return{decision:G.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":e}};if(this.inner){let y=this.inner.shouldSample(t,n,u,i,x,m);if(y.decision===G.RECORD_AND_SAMPLED){let T=crypto.randomUUID();y.attributes={...y.attributes??{},"trace.debug.id":T}}return y}return{decision:G.NOT_RECORD}}toString(){return"DebugSampler"}}class Ax{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:G.RECORD_AND_SAMPLED};return{decision:G.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var Of=new TN({preventServerStart:!0}),kf=new Gx(new Ax(EN));var Yx=aN.getTracer("studio","1.0.0"),q=eN.getMeter("studio","1.0.0"),KN=yN.getLogger("studio","1.0.0"),h_=(t,n,u)=>{let i={},x=u,m=u[u.length-1];if(m!==null&&typeof m==="object"&&!Array.isArray(m)&&!(m instanceof Error)&&Object.getPrototypeOf(m)===Object.prototype)i=m,x=u.slice(0,-1);let a=x.map((e)=>{if(e instanceof Error)return`${e.name}: ${e.message}`;if(typeof e==="object")try{return JSON.stringify(e)}catch{return"[Object]"}return String(e)}).join(" ");KN.emit({severityNumber:t,severityText:n,body:a,attributes:{"log.source":"console",...i}})},r_={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{h_(c_.ERROR,"ERROR",t),r_.error(...t)};console.warn=(...t)=>{h_(c_.WARN,"WARN",t),r_.warn(...t)};console.debug=(...t)=>{h_(c_.DEBUG,"DEBUG",t),r_.debug(...t)};var V_,Sx=0,g_=500;function oN(){if(V_)return;let t=performance.now()+g_;V_=setInterval(()=>{let n=performance.now();Sx=Math.max(0,n-t),t=n+g_},g_),V_.unref?.()}function Ox(){return oN(),Sx}var wN=()=>q.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),kx=()=>q.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Ix=400,zN=100,PN=(t)=>(n)=>{let u={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>Ix){let i=Ox(),x=i>Ix/2;console.error(x?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(i),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:pt()}})}if(wN().record(n.queryDurationMillis,u),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function pN(t){let n=t.connect.bind(t);return t.connect=(u)=>{if(typeof u==="function")return n(u);let i=performance.now(),x=pt(),m=t.idleCount===0&&t.totalCount>=x,a=t.idleCount;return n().then((e)=>{let y=performance.now()-i;if(kx().record(y,{"db.pool.outcome":m?"contended":"available"}),y>zN)if(m)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:y,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:x});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:y,idleAtStart:a,total:t.totalCount,max:x});return e},(e)=>{throw kx().record(performance.now()-i,{"db.pool.outcome":"error"}),e})},t}var rx={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Vx(){try{return B().databasePgSsl}catch{return!1}}function pt(){try{return B().databasePoolMax}catch{return 10}}function UN(t){let n=pN(new hx({connectionString:t,max:pt(),ssl:Vx(),...rx})),u=new cx({pool:n});return{type:"postgres",db:new fN({dialect:u,log:PN(n)}),pool:n}}function l(){return B().databaseUrl}function gx(t){let n=t||l();return new cx({pool:new hx({connectionString:n,max:pt(),ssl:Vx(),...rx})})}function JN(t){let n=t||l();return UN(n)}async function vx(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===s)s=null}var s=null;function v_(){if(!s)s=JN(l());return s}async function qx(t){let u={database:gx(t||l()),plugins:[LN({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),$N(),WN(),RN(),ZN(),QN({loginPage:"/login"}),DN(),XN({sendMagicLink:async()=>{}}),FN({sendVerificationOTP:async()=>{}})]},{toBeAdded:i,toBeCreated:x,runMigrations:m}=await jN(u);if(!i.length&&!x.length)return"up to date";return await m(),`${x.length+i.length} table(s) migrated`}async function lx(t,n){return(await A`
|
|
1093
1093
|
SELECT table_name FROM information_schema.tables
|