decocms 4.207.0 → 4.207.2
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-BIsXZUEO.js → AlertCircle-CXc40Ar6.js} +1 -1
- package/dist/client/assets/{AreaChart-CoasZrX-.js → AreaChart-C27tNchs.js} +1 -1
- package/dist/client/assets/{ArrowLeft-BNm4jfzs.js → ArrowLeft-BLxfklwI.js} +1 -1
- package/dist/client/assets/{ArrowUp-u32tNbR1.js → ArrowUp-Dt_UBFfb.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-DVVt11mJ.js → ArrowUpRight-B-uxDkHp.js} +1 -1
- package/dist/client/assets/{Check-Bs-R8wY0.js → Check-bZA9Z1eF.js} +1 -1
- package/dist/client/assets/{CheckCircle-CGtmaXJ3.js → CheckCircle-D2XQVczr.js} +1 -1
- package/dist/client/assets/{ChevronDown-CAqrusJs.js → ChevronDown-BGaOCqOd.js} +1 -1
- package/dist/client/assets/{ChevronRight-Cd_UlsvT.js → ChevronRight-DgtqlYpW.js} +1 -1
- package/dist/client/assets/{ChevronUp-DHpSE6iq.js → ChevronUp-CU6rC-TG.js} +1 -1
- package/dist/client/assets/{Copy01-CZJepdy4.js → Copy01-BvlcT5Ak.js} +1 -1
- package/dist/client/assets/{CpuChip01-C8cqXunC.js → CpuChip01-De0DRzcV.js} +1 -1
- package/dist/client/assets/{CreditCard01-D6PzfgWu.js → CreditCard01-HzK6QPzC.js} +1 -1
- package/dist/client/assets/{DotsVertical-Vpwvdr0J.js → DotsVertical-Bag93q8O.js} +1 -1
- package/dist/client/assets/{Eye-BPXX6VoG.js → Eye-C2y40JOs.js} +1 -1
- package/dist/client/assets/{FilterLines-CgbRxiww.js → FilterLines-8Tl5IgAp.js} +1 -1
- package/dist/client/assets/{Globe01-D-EcIcjy.js → Globe01-DnjVyKuc.js} +1 -1
- package/dist/client/assets/{Globe04-BJ1ETG77.js → Globe04-BSBp9x9K.js} +1 -1
- package/dist/client/assets/{HardDrive-CW66Zlzo.js → HardDrive-ztiySPY3.js} +1 -1
- package/dist/client/assets/{Key01-Dm0VSwoE.js → Key01-DgMd07Bt.js} +1 -1
- package/dist/client/assets/{LayoutLeft-DAM1ssfV.js → LayoutLeft-CSX405Cu.js} +1 -1
- package/dist/client/assets/{LinkExternal01-CGD6IOB8.js → LinkExternal01-DdJQIgWn.js} +1 -1
- package/dist/client/assets/{LogOut01-CLpRV4f-.js → LogOut01-B0-7s2BH.js} +1 -1
- package/dist/client/assets/{Monitor01-BNJLU4eV.js → Monitor01-BBsMz7mA.js} +1 -1
- package/dist/client/assets/{Palette-G2-WnzIs.js → Palette-CmXv5yHg.js} +1 -1
- package/dist/client/assets/{Play-BDuxhiMt.js → Play-CFmLewXQ.js} +1 -1
- package/dist/client/assets/{Plus-B0eVBe4O.js → Plus-lM34Fm-Y.js} +1 -1
- package/dist/client/assets/{SearchLg-COL5Pxp8.js → SearchLg-CuGk6O6r.js} +1 -1
- package/dist/client/assets/{SearchMd-98Yunm63.js → SearchMd-DAvgULQa.js} +1 -1
- package/dist/client/assets/{Settings02-Cdk2KHA2.js → Settings02-C8pTBq19.js} +1 -1
- package/dist/client/assets/{Share07-DUxBHhPW.js → Share07-CvTKb5Cr.js} +1 -1
- package/dist/client/assets/{Shield01-CWIglVdc.js → Shield01-C4-B78z8.js} +1 -1
- package/dist/client/assets/{Star01-bE5Nu5fA.js → Star01-CUGeyTl-.js} +1 -1
- package/dist/client/assets/{Stars01-Co1kSV-L.js → Stars01-DCLEiWVl.js} +1 -1
- package/dist/client/assets/{Stars02-BkdGU3id.js → Stars02-C6NUxJ3v.js} +1 -1
- package/dist/client/assets/{Sun-DxdxUNls.js → Sun-CCpfLp3_.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-DjU8_mcJ.js → SwitchHorizontal01-DI2GMRDp.js} +1 -1
- package/dist/client/assets/{Tool01-DwPmealV.js → Tool01-CPX10VXL.js} +1 -1
- package/dist/client/assets/{Tool02-DQj02UM8.js → Tool02-B1Y3c2VD.js} +1 -1
- package/dist/client/assets/{Trash01-BkDAP6Ui.js → Trash01-BMmfvKlv.js} +1 -1
- package/dist/client/assets/{TrendUp01-CdZjUaI8.js → TrendUp01-BKg0xQwM.js} +1 -1
- package/dist/client/assets/{Upload01-98MfYlMN.js → Upload01-B1cBCKT8.js} +1 -1
- package/dist/client/assets/{User01-yY2eh1_d.js → User01-BWxiE43u.js} +1 -1
- package/dist/client/assets/{Users01-CsLOaOqj.js → Users01-Bm4pxg61.js} +1 -1
- package/dist/client/assets/{Users03-DM0x0Tg1.js → Users03-D9fqA39L.js} +1 -1
- package/dist/client/assets/{X-BbkFrdIq.js → X-Cqi1_WmZ.js} +1 -1
- package/dist/client/assets/{XCircle-CJrledJK.js → XCircle-7dp2AJa7.js} +1 -1
- package/dist/client/assets/{XClose-HopZyIt-.js → XClose-CCYFw001.js} +1 -1
- package/dist/client/assets/{Zap-D__0UMqn.js → Zap-BjAoOGZy.js} +1 -1
- package/dist/client/assets/{ZapSquare-Cc7FxAwc.js → ZapSquare-CySeWwxR.js} +1 -1
- package/dist/client/assets/{access-gate-C8DnsdiI.js → access-gate-B1fm4HnI.js} +1 -1
- package/dist/client/assets/{agent-icon-1vKhAiKW.js → agent-icon-CsKv98kn.js} +1 -1
- package/dist/client/assets/{agents-list-DaBNoT0j.js → agents-list-B4fEE15t.js} +1 -1
- package/dist/client/assets/{ai-providers-DfQ-3Mtn.js → ai-providers-Dg70YHFf.js} +1 -1
- package/dist/client/assets/{alert-wnC44Lcu.js → alert-DtUrF-Jl.js} +1 -1
- package/dist/client/assets/{alert-dialog-B94RKrpB.js → alert-dialog-aW9uE3iw.js} +1 -1
- package/dist/client/assets/{app-editor-DnQbSXlY.js → app-editor-B0jVKIpV.js} +1 -1
- package/dist/client/assets/{auth-BCvvRTRT.js → auth-2KiKWAkl.js} +1 -1
- package/dist/client/assets/{auth-catchall-BDWRJ7VM.js → auth-catchall-DVcTU2RJ.js} +1 -1
- package/dist/client/assets/{auth-entry-CIdfCkx0.js → auth-entry-Cc644sSQ.js} +1 -1
- package/dist/client/assets/{auth-split-layout-7vwIV9m_.js → auth-split-layout-CYkTtEXP.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-Cl9pN4A7.js → authenticate-and-persist-oauth-CJ0AY64X.js} +1 -1
- package/dist/client/assets/{automation-list-row-B8lsVwA9.js → automation-list-row-q5ph9tUp.js} +1 -1
- package/dist/client/assets/{automation-runs-COGzW48W.js → automation-runs-C6JMyCKb.js} +1 -1
- package/dist/client/assets/{automations-D-A522sd.js → automations-BsYbBUoP.js} +1 -1
- package/dist/client/assets/{avatar-DdgFyVIK.js → avatar-ZnWhik7z.js} +1 -1
- package/dist/client/assets/{badge-Ds1Wnxgf.js → badge-BrTFVDsZ.js} +1 -1
- package/dist/client/assets/{billing-Yb3sA68U.js → billing-Dkv0Ch6o.js} +1 -1
- package/dist/client/assets/{block-document-DVEtY996.js → block-document-CgKO9mVv.js} +1 -1
- package/dist/client/assets/{brand-context-CVKoHubR.js → brand-context-8g7zhW8B.js} +1 -1
- package/dist/client/assets/{buckets-CkFa01HI.js → buckets-Cs8HaBE9.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-CHKdOPND.js → bulk-category-panel-r4P7-YZG.js} +1 -1
- package/dist/client/assets/{capability-load-error-BktCLsTE.js → capability-load-error-DGN89M4A.js} +1 -1
- package/dist/client/assets/{card-DlHf-lsN.js → card-Djbfm7g6.js} +1 -1
- package/dist/client/assets/{cards-RuESfpOS.js → cards-DfWQ7Qfa.js} +1 -1
- package/dist/client/assets/{category-editor-CJpr4IWv.js → category-editor-BT99_Xr2.js} +1 -1
- package/dist/client/assets/{chat-context-nBPGo5Lk.js → chat-context-DaRp_QoN.js} +1 -1
- package/dist/client/assets/{checkbox-DKT6dO8Z.js → checkbox-BVl4NM3V.js} +1 -1
- package/dist/client/assets/{cli-auth-success-A61_Ra8B.js → cli-auth-success-DeHP94Wy.js} +1 -1
- package/dist/client/assets/{collection-detail-BlwZCaka.js → collection-detail-BDqwAwhM.js} +1 -1
- package/dist/client/assets/{collection-display-button-H1biHeps.js → collection-display-button-CQqHdi-q.js} +1 -1
- package/dist/client/assets/{collection-search-27Z_ZWZT.js → collection-search-Bw4RaUQw.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-JUU17uAc.js → collection-table-wrapper-CQJ5ywVm.js} +1 -1
- package/dist/client/assets/{collection-tabs-DkBeoa5Z.js → collection-tabs-C6tpry-d.js} +1 -1
- package/dist/client/assets/{command-DjAcFSs1.js → command-C1hTHyH4.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-Cy-gCnLt.js → commerce-onboarding-BGNqNLKO.js} +1 -1
- package/dist/client/assets/{connect-kZOs8CHa.js → connect-CueoMMwi.js} +1 -1
- package/dist/client/assets/{connection-Cy8L3aJ3.js → connection-CqYrQzJN.js} +1 -1
- package/dist/client/assets/{connection-card-BCOCK_Eb.js → connection-card-ChLOu03x.js} +1 -1
- package/dist/client/assets/{connection-detail-DhPSnaZV.js → connection-detail-Bz9MpROg.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-DmSfP11N.js → connection-form-helpers-DqJddwE8.js} +1 -1
- package/dist/client/assets/{connections-HOeS1AJd.js → connections-Cx_h9o6t.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-DeMGFbxJ.js → decopilot-sse-pool-19xPv_KT.js} +1 -1
- package/dist/client/assets/{dialog-B9uSdMGN.js → dialog-CA0qqjyi.js} +1 -1
- package/dist/client/assets/{domain-settings-CxG8FQYU.js → domain-settings-W1Cr8ngd.js} +1 -1
- package/dist/client/assets/{drawer-98eLt1an.js → drawer-GuYvsNGa.js} +1 -1
- package/dist/client/assets/{dropdown-menu-C1hjqODM.js → dropdown-menu-BAbRcskP.js} +1 -1
- package/dist/client/assets/{empty-state-o0gQhpc4.js → empty-state-B4pZCQIN.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BFlArbmP.js → extract-connection-data-DlldFhRH.js} +1 -1
- package/dist/client/assets/{file-explorer-Bc1LxF5Z.js → file-explorer-CaJe6BOl.js} +1 -1
- package/dist/client/assets/{file-type-icon-CUqlbkN4.js → file-type-icon-jYSypdXz.js} +1 -1
- package/dist/client/assets/{form-D_woCs7l.js → form-CXgKW-FR.js} +1 -1
- package/dist/client/assets/{general-Dk9AO_Dn.js → general-DQT1SG48.js} +1 -1
- package/dist/client/assets/{github-repo-picker-BMJy82Ev.js → github-repo-picker-DBv3km-6.js} +1 -1
- package/dist/client/assets/{hooks-Gv0gN8aJ.js → hooks-DXhypX2m.js} +1 -1
- package/dist/client/assets/{index-9XUiIWTR.js → index-6hsDNm7n.js} +1 -1
- package/dist/client/assets/{index-LkjnDNlx.js → index-B4QMrIft.js} +1 -1
- package/dist/client/assets/{index-C3G-6I1r.js → index-CGTxx1y8.js} +1 -1
- package/dist/client/assets/{index-C1vwFKI6.js → index-CfFRy8o8.js} +1 -1
- package/dist/client/assets/{index-CHLuEKuC.js → index-CsogwfdS.js} +1 -1
- package/dist/client/assets/{index-BruORjTP.js → index-DAn-7yTL.js} +1 -1
- package/dist/client/assets/{index-DI3yzcq9.js → index-DFAQ1EJ-.js} +3 -3
- package/dist/client/assets/{index-BROruwzJ.js → index-Dq4RN-Tc.js} +1 -1
- package/dist/client/assets/{index-51f6XlwG.js → index-Vqs_AAna.js} +1 -1
- package/dist/client/assets/{index-DN_t9Vle.js → index-i1MJ6BZf.js} +5 -5
- package/dist/client/assets/{index-redirect-Xm-Wfcmk.js → index-redirect-BErKD-Ul.js} +1 -1
- package/dist/client/assets/{input-rqb9s9a8.js → input-9WxsmvVz.js} +1 -1
- package/dist/client/assets/{integration-icon-NgM6caDc.js → integration-icon-DxLv-APu.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-CFpFsOm-.js → invite-member-dialog-Dexd3Uay.js} +1 -1
- package/dist/client/assets/{label-CQkrTrwb.js → label-CFZCMSb8.js} +1 -1
- package/dist/client/assets/{layout-CPTYQuI4.js → layout-BcuDRyLO.js} +1 -1
- package/dist/client/assets/{login-D59iMEla.js → login-BDdcyKEE.js} +1 -1
- package/dist/client/assets/{mcp-oauth-X21IvZ1G.js → mcp-oauth-DDhIYBuK.js} +1 -1
- package/dist/client/assets/{members-CyiAS0Pa.js → members-BRSj6r0T.js} +1 -1
- package/dist/client/assets/{monaco-editor-CaRaMucM.js → monaco-editor-CmKmm0FK.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-B4DBqbQ2.js → monitoring-stats-row-DST0zWF_.js} +1 -1
- package/dist/client/assets/{multi-select-DOObsNJA.js → multi-select-DxOQZVfL.js} +1 -1
- package/dist/client/assets/{oauth-callback-BzGwDXCC.js → oauth-callback-BOVgVCFm.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-BKWs28AL.js → oauth-callback-ai-provider-SPBIZ07m.js} +1 -1
- package/dist/client/assets/{onboarding-Czj8G4s9.js → onboarding-C-QSMb-G.js} +1 -1
- package/dist/client/assets/{org-layout-D_JBIC42.js → org-layout-CTP3vumM.js} +1 -1
- package/dist/client/assets/{organization-choice-CNtAOuw9.js → organization-choice-4tixXzlH.js} +1 -1
- package/dist/client/assets/{orgs-WFw9FKpT.js → orgs-C-g9pi2K.js} +1 -1
- package/dist/client/assets/{page-seo-form-C1g7UFST.js → page-seo-form-rwXXHzG0.js} +1 -1
- package/dist/client/assets/{popover-1grKPHF-.js → popover-Cj9zRw6i.js} +1 -1
- package/dist/client/assets/{post-editor-B_Fg_PtG.js → post-editor-ip8KBLaE.js} +1 -1
- package/dist/client/assets/{primitives-B1JFDByD.js → primitives-2GzooOrV.js} +1 -1
- package/dist/client/assets/{profile-awrxi6Uz.js → profile-Cvu_EoMx.js} +1 -1
- package/dist/client/assets/{project-app-view-mt45EZmG.js → project-app-view-CJIo89x6.js} +1 -1
- package/dist/client/assets/record-editor-DI3Bhe1G.js +1 -0
- package/dist/client/assets/{redirect-editor-CcmQCF7Y.js → redirect-editor-BjmS8eUr.js} +1 -1
- package/dist/client/assets/registry-BPqrOBsl.js +2 -0
- package/dist/client/assets/{registry-layout-7yZvOqOy.js → registry-layout-DMDDnV_q.js} +1 -1
- package/dist/client/assets/{reports-DCwj-kO-.js → reports-BO4tWYW7.js} +1 -1
- package/dist/client/assets/{require-capability-D1cW6Q8M.js → require-capability-D5OkbEgr.js} +1 -1
- package/dist/client/assets/{required-auth-layout-BvG-ioDs.js → required-auth-layout-Da5oFv2d.js} +1 -1
- package/dist/client/assets/{reset-password-CkKHp2p5.js → reset-password-DtLAFqy7.js} +1 -1
- package/dist/client/assets/{roles-21C2zkxi.js → roles-CPQLfaqM.js} +1 -1
- package/dist/client/assets/{search-input-CJHrGfWW.js → search-input-C_0BXBUE.js} +1 -1
- package/dist/client/assets/{secrets-CvR9yj2i.js → secrets-BPAYuBeu.js} +1 -1
- package/dist/client/assets/{sections-editor-fp1wM8pw.js → sections-editor-dBBkYgzd.js} +1 -1
- package/dist/client/assets/{select--TLOq7j8.js → select-90QtnyOa.js} +1 -1
- package/dist/client/assets/{select-model-BHOo1rp9.js → select-model-BehxtIgI.js} +1 -1
- package/dist/client/assets/{self-tool-result-CrB2rXFl.js → self-tool-result-BZdNeZSO.js} +1 -1
- package/dist/client/assets/{seo-editor-CYyt6O16.js → seo-editor-sivkxRiC.js} +1 -1
- package/dist/client/assets/{settings-layout-REfjxme3.js → settings-layout-CfUQ0tRJ.js} +1 -1
- package/dist/client/assets/{settings-section-C3ONEfGE.js → settings-section-BZ5lvRtv.js} +1 -1
- package/dist/client/assets/{shell-controls-BzV056SW.js → shell-controls-BQjORh0z.js} +1 -1
- package/dist/client/assets/{shell-layout-DlKj27bb.js → shell-layout-BFfYBuH8.js} +1 -1
- package/dist/client/assets/{sidebar-CNeZ85zy.js → sidebar-BGD7QssJ.js} +1 -1
- package/dist/client/assets/{skeleton-Dl3k4lxd.js → skeleton-BrszoFmI.js} +1 -1
- package/dist/client/assets/{spinner-kqhk2wdd.js → spinner-CcXrJu8r.js} +1 -1
- package/dist/client/assets/{sso-CPPmaCwP.js → sso-BvzSSLNB.js} +1 -1
- package/dist/client/assets/{store-Dmee7NFI.js → store-DZOEfSbI.js} +1 -1
- package/dist/client/assets/store-registry-Dyf7ckJJ.js +2 -0
- package/dist/client/assets/{studio-tools-Bdk11iXL.js → studio-tools-B67rnasf.js} +1 -1
- package/dist/client/assets/{switch-CG0_fDX9.js → switch-A_8GxjwB.js} +1 -1
- package/dist/client/assets/{synced-repos-B9BOntjb.js → synced-repos-C0OQcT4d.js} +1 -1
- package/dist/client/assets/{tab-id-BgguDV_T.js → tab-id-00aGi4r-.js} +1 -1
- package/dist/client/assets/{table-Cx2OcF-5.js → table-BnFpCqDf.js} +1 -1
- package/dist/client/assets/{tabs-CbawcjgJ.js → tabs-6cs1ZcJu.js} +1 -1
- package/dist/client/assets/{textarea-DLes0m8p.js → textarea-DOMWl7hz.js} +1 -1
- package/dist/client/assets/{toggle-group-DyUnK4OS.js → toggle-group-BPptYrIi.js} +1 -1
- package/dist/client/assets/{toolbar-D8hTZ_p2.js → toolbar-Bl6qY3rO.js} +1 -1
- package/dist/client/assets/{tooltip-DcLUD06s.js → tooltip-CHWh13MB.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CUYq8orO.js → use-ai-providers-WSA7m6LX.js} +1 -1
- package/dist/client/assets/{use-automations-BjstAQWn.js → use-automations-D3vG6yKH.js} +1 -1
- package/dist/client/assets/{use-autosave-oRIz3IWx.js → use-autosave-BxhftnSO.js} +1 -1
- package/dist/client/assets/{use-capability-A1Nh-1c-.js → use-capability-DakEJHuv.js} +1 -1
- package/dist/client/assets/{use-clock-tick-CFHYPlbJ.js → use-clock-tick-Be7huOEc.js} +1 -1
- package/dist/client/assets/{use-connection-MqEPg6ky.js → use-connection-BbSK0zCm.js} +1 -1
- package/dist/client/assets/{use-copy-_jjDU2g1.js → use-copy-BefhlW44.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Svxxjbnm.js → use-create-virtual-mcp-DY6DJSU_.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-D9paTl-2.js → use-debounced-autosave-CeYXg8DG.js} +1 -1
- package/dist/client/assets/{use-debounced-value-BIPN2O6h.js → use-debounced-value-Bj8A4dgk.js} +1 -1
- package/dist/client/assets/{use-deco-credits-D-bUjGxi.js → use-deco-credits-BuN_0hQH.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BBTIMFGs.js → use-decopilot-events-KbbNQEic.js} +1 -1
- package/dist/client/assets/{use-delete-connection-SIfEMhcg.js → use-delete-connection-B4bGuw52.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-DkqoZQYC.js → use-deployment-admin-CeceKVIb.js} +1 -1
- package/dist/client/assets/{use-file-configs-BuZ7hFmK.js → use-file-configs-DZngbiME.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-72q6jUv6.js → use-infinite-scroll-DQhZHsvX.js} +1 -1
- package/dist/client/assets/{use-join-requests-Cbz31rNV.js → use-join-requests-DpJ7-Al5.js} +1 -1
- package/dist/client/assets/{use-mcp-client-BekaO9lz.js → use-mcp-client-CVm31V6F.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CIXlr8N2.js → use-mcp-tools-CYLIBnYs.js} +1 -1
- package/dist/client/assets/{use-members-0qUDlbAr.js → use-members-BzaWrkKT.js} +1 -1
- package/dist/client/assets/{use-mobile-DMbNnlTA.js → use-mobile-D8UMZtPl.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CET38Vg9.js → use-navigate-to-agent-CuaGQwJF.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-CCadFnV1.js → use-open-billing-url-Cc80RM1m.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-DFK_0KSz.js → use-org-auth-client-D5YL3Y-K.js} +1 -1
- package/dist/client/assets/{use-org-sso-B_1DEBvf.js → use-org-sso-CL5Bnwn7.js} +1 -1
- package/dist/client/assets/{use-organization-roles-Cx3CvgUK.js → use-organization-roles-Z8qc0s_T.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Bxh2HDDm.js → use-organization-settings-Akz9Tqr2.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Mw00EKui.js → use-registry-connections-DZ4rBsG_.js} +1 -1
- package/dist/client/assets/{use-secrets-Dp3WT00a.js → use-secrets-Bq5oFU1S.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-DdNJ2arm.js → use-section-preview-base-CoF5vuNM.js} +1 -1
- package/dist/client/assets/{use-status-sounds-Bc12sBux.js → use-status-sounds-BNQaG5gv.js} +1 -1
- package/dist/client/assets/{use-tags-j37diAvW.js → use-tags-R_IwgWua.js} +1 -1
- package/dist/client/assets/{use-view-mode-DCcwKbXe.js → use-view-mode-Cs3yL9pb.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CqU6VupE.js → use-virtual-mcp-DxweTSkQ.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-DtySonqq.js +1 -0
- package/dist/client/assets/{useRouterState-xxRU2w37.js → useRouterState-DlqVqaTo.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BL9Mn7SA.js +1 -0
- package/dist/client/assets/{users-DYAgABwe.js → users-ChvPEbAw.js} +1 -1
- package/dist/client/assets/{variant-calendar-eFgFIV4T.js → variant-calendar-DXB8YJhY.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-g5jce1H8.js → view-mode-toggle-DX-7gXWI.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +4 -4
- package/dist/server/migrate.js +20 -20
- package/dist/server/server.js +4 -4
- package/package.json +1 -1
- package/dist/client/assets/record-editor-BBEHvVwc.js +0 -1
- package/dist/client/assets/registry-BlqGlt4F.js +0 -2
- package/dist/client/assets/store-registry-PhKSKGkg.js +0 -2
- package/dist/client/assets/useInfiniteQuery-BFbHksQ0.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Ciwo96ge.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null,t)}var u=(n,t)=>{for(var _ in t)fm(n,_,{get:t[_],enumerable:!0,configurable:!0,set:Pm.bind(t,_)})};import{Migrator as Km,sql as O}from"kysely";var Wn={};u(Wn,{up:()=>wm,down:()=>Um});import{sql as $}from"kysely";async function wm(n){await n.schema.createTable("connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(t)=>t.notNull()).addColumn("connectionUrl","text",(t)=>t.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("api_keys").addColumn("id","text",(t)=>t.primaryKey()).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("hashedKey","text",(t)=>t.notNull().unique()).addColumn("permissions","text",(t)=>t.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("audit_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await n.schema.createTable("oauth_clients").addColumn("id","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(t)=>t.notNull()).addColumn("redirectUris","text",(t)=>t.notNull()).addColumn("grantTypes","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("oauth_authorization_codes").addColumn("code","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(t)=>t.notNull()).addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("downstream_tokens").addColumn("id","text",(t)=>t.primaryKey()).addColumn("connectionId","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(t)=>t.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(t)=>t.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo($`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await n.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function Um(n){await n.schema.dropTable("downstream_tokens").execute(),await n.schema.dropTable("oauth_refresh_tokens").execute(),await n.schema.dropTable("oauth_authorization_codes").execute(),await n.schema.dropTable("oauth_clients").execute(),await n.schema.dropTable("audit_logs").execute(),await n.schema.dropTable("api_keys").execute(),await n.schema.dropTable("connections").execute()}var Rn={};u(Rn,{up:()=>Jm,down:()=>jm});import{sql as ix}from"kysely";async function Jm(n){await n.schema.createTable("organization_settings").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(ix`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(ix`CURRENT_TIMESTAMP`)).execute()}async function jm(n){await n.schema.dropTable("organization_settings").execute()}var Xn={};u(Xn,{up:()=>am,down:()=>$m});async function am(n){await n.schema.alterTable("connections").renameColumn("name","title").execute(),await n.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await n.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await n.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await n.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await n.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await n.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await n.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await n.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await n.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await n.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await n.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function $m(n){await n.schema.alterTable("connections").renameColumn("title","name").execute(),await n.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await n.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await n.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await n.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await n.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await n.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await n.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await n.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await n.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await n.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await n.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Qn={};u(Qn,{up:()=>Dm,down:()=>Lm});async function Dm(n){await n.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await n.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await n.schema.dropTable("organization_settings").execute(),await n.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function Lm(n){await n.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await n.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId",t.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await n.schema.dropTable("organization_settings").execute(),await n.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Zn={};u(Zn,{up:()=>Wm,down:()=>Rm});async function Wm(n){await n.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await n.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function Rm(n){await n.schema.alterTable("connections").dropColumn("configuration_state").execute(),await n.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Fn={};u(Fn,{up:()=>Qm,down:()=>Zm});import{sql as Xm}from"kysely";async function Qm(n){await n.schema.alterTable("organization_settings").addColumn("sidebar_items",Xm`text`).execute()}async function Zm(n){await n.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Mn={};u(Mn,{up:()=>Fm,down:()=>Mm});async function Fm(n){await n.schema.createTable("monitoring_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(t)=>t.notNull()).addColumn("tool_name","text",(t)=>t.notNull()).addColumn("input","text",(t)=>t.notNull()).addColumn("output","text",(t)=>t.notNull()).addColumn("is_error","integer",(t)=>t.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(t)=>t.notNull()).addColumn("timestamp","text",(t)=>t.notNull()).addColumn("user_id","text").addColumn("request_id","text",(t)=>t.notNull()).execute(),await n.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await n.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await n.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function Mm(n){await n.schema.dropIndex("monitoring_logs_is_error").execute(),await n.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await n.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await n.schema.dropTable("monitoring_logs").execute()}var Yn={};u(Yn,{up:()=>Ym,down:()=>Hm});import{sql as I}from"kysely";async function Ym(n){await n.schema.createTable("events").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(t)=>t.notNull()).addColumn("source","text",(t)=>t.notNull()).addColumn("specversion","text",(t)=>t.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(t)=>t.notNull()).addColumn("datacontenttype","text",(t)=>t.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("event_subscriptions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(t)=>t.notNull()).addColumn("filter","text").addColumn("enabled","integer",(t)=>t.notNull().defaultTo(1)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("event_deliveries").addColumn("id","text",(t)=>t.primaryKey()).addColumn("event_id","text",(t)=>t.notNull()).addColumn("subscription_id","text",(t)=>t.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await n.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await n.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await n.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await n.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await n.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await n.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await n.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await n.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await n.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await n.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function Hm(n){await n.schema.dropIndex("idx_deliveries_retry").execute(),await n.schema.dropIndex("idx_deliveries_subscription_status").execute(),await n.schema.dropIndex("idx_deliveries_event").execute(),await n.schema.dropIndex("idx_subscriptions_unique").execute(),await n.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await n.schema.dropIndex("idx_subscriptions_type").execute(),await n.schema.dropIndex("idx_subscriptions_connection").execute(),await n.schema.dropIndex("idx_events_retry").execute(),await n.schema.dropIndex("idx_events_type").execute(),await n.schema.dropIndex("idx_events_source").execute(),await n.schema.dropIndex("idx_events_org_status").execute(),await n.schema.dropTable("event_deliveries").execute(),await n.schema.dropTable("event_subscriptions").execute(),await n.schema.dropTable("events").execute()}var Hn={};u(Hn,{up:()=>Bm,down:()=>Gm});import{sql as pm}from"kysely";async function Bm(n){await n.schema.dropTable("audit_logs").ifExists().execute()}async function Gm(n){await n.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(pm`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await n.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await n.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var pn={};u(pn,{up:()=>Am,down:()=>Sm});import{sql as d}from"kysely";async function Am(n){await n.schema.createTable("gateways").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(t)=>t.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("is_default","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await n.schema.createTable("gateway_connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("gateway_id","text",(t)=>t.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await n.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await d`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(n),await n.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await n.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await n.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function Sm(n){await n.schema.dropIndex("idx_gateway_connections_unique").execute(),await n.schema.dropIndex("idx_gateway_connections_connection").execute(),await n.schema.dropIndex("idx_gateway_connections_gateway").execute(),await n.schema.dropIndex("idx_gateways_default_per_org").execute(),await n.schema.dropIndex("idx_gateways_org_status").execute(),await n.schema.dropIndex("idx_gateways_org").execute(),await n.schema.dropTable("gateway_connections").execute(),await n.schema.dropTable("gateways").execute()}var Bn={};u(Bn,{up:()=>Om,down:()=>Im});async function Om(n){await n.schema.alterTable("gateways").addColumn("icon","text").execute()}async function Im(n){await n.schema.alterTable("gateways").dropColumn("icon").execute()}var Gn={};u(Gn,{up:()=>em,down:()=>om});import{sql as b}from"kysely";async function em(n){await n.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(t)=>t.notNull().defaultTo("inclusion")).execute(),await b`
|
|
2
|
+
var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null,t)}var u=(n,t)=>{for(var _ in t)fm(n,_,{get:t[_],enumerable:!0,configurable:!0,set:Pm.bind(t,_)})};import{Migrator as Km,sql as O}from"kysely";var Wn={};u(Wn,{up:()=>wm,down:()=>Um});import{sql as a}from"kysely";async function wm(n){await n.schema.createTable("connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(t)=>t.notNull()).addColumn("connectionUrl","text",(t)=>t.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("api_keys").addColumn("id","text",(t)=>t.primaryKey()).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("hashedKey","text",(t)=>t.notNull().unique()).addColumn("permissions","text",(t)=>t.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("audit_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await n.schema.createTable("oauth_clients").addColumn("id","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(t)=>t.notNull()).addColumn("redirectUris","text",(t)=>t.notNull()).addColumn("grantTypes","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("oauth_authorization_codes").addColumn("code","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(t)=>t.notNull()).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("downstream_tokens").addColumn("id","text",(t)=>t.primaryKey()).addColumn("connectionId","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(t)=>t.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(t)=>t.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(a`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await n.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function Um(n){await n.schema.dropTable("downstream_tokens").execute(),await n.schema.dropTable("oauth_refresh_tokens").execute(),await n.schema.dropTable("oauth_authorization_codes").execute(),await n.schema.dropTable("oauth_clients").execute(),await n.schema.dropTable("audit_logs").execute(),await n.schema.dropTable("api_keys").execute(),await n.schema.dropTable("connections").execute()}var Rn={};u(Rn,{up:()=>Jm,down:()=>jm});import{sql as ix}from"kysely";async function Jm(n){await n.schema.createTable("organization_settings").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(ix`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(ix`CURRENT_TIMESTAMP`)).execute()}async function jm(n){await n.schema.dropTable("organization_settings").execute()}var Xn={};u(Xn,{up:()=>$m,down:()=>am});async function $m(n){await n.schema.alterTable("connections").renameColumn("name","title").execute(),await n.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await n.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await n.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await n.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await n.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await n.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await n.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await n.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await n.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await n.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await n.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function am(n){await n.schema.alterTable("connections").renameColumn("title","name").execute(),await n.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await n.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await n.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await n.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await n.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await n.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await n.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await n.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await n.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await n.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await n.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Qn={};u(Qn,{up:()=>Dm,down:()=>Lm});async function Dm(n){await n.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await n.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await n.schema.dropTable("organization_settings").execute(),await n.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function Lm(n){await n.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await n.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId",t.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await n.schema.dropTable("organization_settings").execute(),await n.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Zn={};u(Zn,{up:()=>Wm,down:()=>Rm});async function Wm(n){await n.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await n.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function Rm(n){await n.schema.alterTable("connections").dropColumn("configuration_state").execute(),await n.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Fn={};u(Fn,{up:()=>Qm,down:()=>Zm});import{sql as Xm}from"kysely";async function Qm(n){await n.schema.alterTable("organization_settings").addColumn("sidebar_items",Xm`text`).execute()}async function Zm(n){await n.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Mn={};u(Mn,{up:()=>Fm,down:()=>Mm});async function Fm(n){await n.schema.createTable("monitoring_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(t)=>t.notNull()).addColumn("tool_name","text",(t)=>t.notNull()).addColumn("input","text",(t)=>t.notNull()).addColumn("output","text",(t)=>t.notNull()).addColumn("is_error","integer",(t)=>t.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(t)=>t.notNull()).addColumn("timestamp","text",(t)=>t.notNull()).addColumn("user_id","text").addColumn("request_id","text",(t)=>t.notNull()).execute(),await n.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await n.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await n.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function Mm(n){await n.schema.dropIndex("monitoring_logs_is_error").execute(),await n.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await n.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await n.schema.dropTable("monitoring_logs").execute()}var Yn={};u(Yn,{up:()=>Ym,down:()=>Hm});import{sql as I}from"kysely";async function Ym(n){await n.schema.createTable("events").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(t)=>t.notNull()).addColumn("source","text",(t)=>t.notNull()).addColumn("specversion","text",(t)=>t.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(t)=>t.notNull()).addColumn("datacontenttype","text",(t)=>t.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("event_subscriptions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(t)=>t.notNull()).addColumn("filter","text").addColumn("enabled","integer",(t)=>t.notNull().defaultTo(1)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("event_deliveries").addColumn("id","text",(t)=>t.primaryKey()).addColumn("event_id","text",(t)=>t.notNull()).addColumn("subscription_id","text",(t)=>t.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(I`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await n.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await n.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await n.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await n.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await n.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await n.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await n.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await n.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await n.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await n.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function Hm(n){await n.schema.dropIndex("idx_deliveries_retry").execute(),await n.schema.dropIndex("idx_deliveries_subscription_status").execute(),await n.schema.dropIndex("idx_deliveries_event").execute(),await n.schema.dropIndex("idx_subscriptions_unique").execute(),await n.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await n.schema.dropIndex("idx_subscriptions_type").execute(),await n.schema.dropIndex("idx_subscriptions_connection").execute(),await n.schema.dropIndex("idx_events_retry").execute(),await n.schema.dropIndex("idx_events_type").execute(),await n.schema.dropIndex("idx_events_source").execute(),await n.schema.dropIndex("idx_events_org_status").execute(),await n.schema.dropTable("event_deliveries").execute(),await n.schema.dropTable("event_subscriptions").execute(),await n.schema.dropTable("events").execute()}var Hn={};u(Hn,{up:()=>Bm,down:()=>Gm});import{sql as pm}from"kysely";async function Bm(n){await n.schema.dropTable("audit_logs").ifExists().execute()}async function Gm(n){await n.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(pm`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await n.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await n.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await n.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var pn={};u(pn,{up:()=>Am,down:()=>Sm});import{sql as d}from"kysely";async function Am(n){await n.schema.createTable("gateways").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(t)=>t.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("is_default","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await n.schema.createTable("gateway_connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("gateway_id","text",(t)=>t.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await n.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await d`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(n),await n.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await n.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await n.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function Sm(n){await n.schema.dropIndex("idx_gateway_connections_unique").execute(),await n.schema.dropIndex("idx_gateway_connections_connection").execute(),await n.schema.dropIndex("idx_gateway_connections_gateway").execute(),await n.schema.dropIndex("idx_gateways_default_per_org").execute(),await n.schema.dropIndex("idx_gateways_org_status").execute(),await n.schema.dropIndex("idx_gateways_org").execute(),await n.schema.dropTable("gateway_connections").execute(),await n.schema.dropTable("gateways").execute()}var Bn={};u(Bn,{up:()=>Om,down:()=>Im});async function Om(n){await n.schema.alterTable("gateways").addColumn("icon","text").execute()}async function Im(n){await n.schema.alterTable("gateways").dropColumn("icon").execute()}var Gn={};u(Gn,{up:()=>em,down:()=>om});import{sql as b}from"kysely";async function em(n){await n.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(t)=>t.notNull().defaultTo("inclusion")).execute(),await b`
|
|
3
3
|
UPDATE gateways
|
|
4
4
|
SET tool_selection_mode = CASE
|
|
5
5
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
@@ -116,7 +116,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
116
116
|
updated_at = CURRENT_TIMESTAMP
|
|
117
117
|
WHERE connection_url LIKE '%/mcp/management'
|
|
118
118
|
AND app_name = '@deco/management-mcp'
|
|
119
|
-
`.execute(n)}var bn={};u(bn,{up:()=>ji,down:()
|
|
119
|
+
`.execute(n)}var bn={};u(bn,{up:()=>ji,down:()=>$i});import{sql as dn}from"kysely";async function ji(n){await dn`
|
|
120
120
|
UPDATE connections
|
|
121
121
|
SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
|
|
122
122
|
tools = NULL,
|
|
@@ -130,13 +130,13 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
130
130
|
WHERE connection_url LIKE '%/mcp/self'
|
|
131
131
|
AND app_name = '@deco/management-mcp'
|
|
132
132
|
AND tools IS NOT NULL
|
|
133
|
-
`.execute(n)}async function
|
|
133
|
+
`.execute(n)}async function $i(n){await dn`
|
|
134
134
|
UPDATE connections
|
|
135
135
|
SET connection_url = REPLACE(connection_url, '/mcp/self', '/mcp/management'),
|
|
136
136
|
updated_at = CURRENT_TIMESTAMP
|
|
137
137
|
WHERE connection_url LIKE '%/mcp/self'
|
|
138
138
|
AND app_name = '@deco/management-mcp'
|
|
139
|
-
`.execute(n)}var nt={};u(nt,{up:()
|
|
139
|
+
`.execute(n)}var nt={};u(nt,{up:()=>ai,down:()=>Di});async function ai(n){await n.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function Di(n){await n.schema.alterTable("connections").dropColumn("updated_by").execute()}var tt={};u(tt,{up:()=>Li,down:()=>Wi});import{sql as Cx}from"kysely";async function Li(n){await n.schema.createTable("organization_tags").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Cx`CURRENT_TIMESTAMP`)).execute(),await n.schema.createTable("member_tags").addColumn("id","text",(t)=>t.primaryKey()).addColumn("member_id","text",(t)=>t.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(t)=>t.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Cx`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await n.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await n.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await n.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await n.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function Wi(n){await n.schema.dropIndex("idx_member_tags_unique").execute(),await n.schema.dropIndex("idx_member_tags_tag").execute(),await n.schema.dropIndex("idx_member_tags_member").execute(),await n.schema.dropIndex("idx_organization_tags_unique_name").execute(),await n.schema.dropIndex("idx_organization_tags_org").execute(),await n.schema.dropTable("member_tags").execute(),await n.schema.dropTable("organization_tags").execute()}var _t={};u(_t,{up:()=>Ri,down:()=>Xi});import{sql as e}from"kysely";async function Ri(n){await e`
|
|
140
140
|
ALTER TABLE connection_aggregations
|
|
141
141
|
ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
|
|
142
142
|
`.execute(n),await n.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function Xi(n){if(await n.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await e`SELECT current_database()`.execute(n).then(()=>!0).catch(()=>!1))await e`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(n);else await n.schema.dropIndex("idx_conn_agg_unique").execute(),await n.schema.dropIndex("idx_conn_agg_child").execute(),await n.schema.dropIndex("idx_conn_agg_parent").execute(),await n.schema.createTable("connection_aggregations_new").addColumn("id","text",(_)=>_.primaryKey()).addColumn("parent_connection_id","text",(_)=>_.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(_)=>_.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(_)=>_.notNull().defaultTo(e`CURRENT_TIMESTAMP`)).execute(),await e`
|
|
@@ -204,15 +204,15 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
204
204
|
`.execute(n),await Ut`
|
|
205
205
|
DELETE FROM project_plugin_configs
|
|
206
206
|
WHERE plugin_id = 'object-storage'
|
|
207
|
-
`.execute(n)}async function CT(n){}var jt={};u(jt,{up:()=>yT,down:()=>NT});import{sql as zx}from"kysely";async function yT(n){await n.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await zx`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(n)}async function NT(n){await zx`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(n),await n.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var
|
|
207
|
+
`.execute(n)}async function CT(n){}var jt={};u(jt,{up:()=>yT,down:()=>NT});import{sql as zx}from"kysely";async function yT(n){await n.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await zx`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(n)}async function NT(n){await zx`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(n),await n.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var at={};u(at,{up:()=>KT,down:()=>ET});import{sql as $t}from"kysely";async function KT(n){await n.schema.alterTable("connections").addColumn("subtype","text").execute(),await $t`
|
|
208
208
|
ALTER TABLE connections
|
|
209
209
|
ADD CONSTRAINT chk_connections_subtype
|
|
210
210
|
CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
|
|
211
|
-
`.execute(n),await n.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await
|
|
211
|
+
`.execute(n),await n.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await $t`
|
|
212
212
|
UPDATE connections
|
|
213
213
|
SET subtype = 'agent'
|
|
214
214
|
WHERE connection_type = 'VIRTUAL'
|
|
215
|
-
`.execute(n),await n.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(T)=>T.primaryKey()).addColumn("virtual_mcp_id","text",(T)=>T.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(T)=>T.notNull()).addColumn("connection_id","text",(T)=>T.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(T)=>T.notNull()).addColumn("updated_at","text",(T)=>T.notNull()).execute(),await n.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await n.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let t=await n.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),_=await n.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),m=new Map;for(let T of _)m.set(T.organizationId,T.userId);let x=new Map;for(let T of t){let y=`vir_${H()}`;x.set(T.id,y);let N=T.ui?JSON.parse(T.ui):null,K=JSON.stringify({enabled_plugins:T.enabled_plugins?JSON.parse(T.enabled_plugins):null,ui:N,migrated_from_project:T.id,migrated_project_slug:T.slug}),f=m.get(T.organization_id);if(!f)continue;await n.insertInto("connections").values({id:y,organization_id:T.organization_id,created_by:f,updated_by:null,title:T.name,description:T.description,icon:N?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${y}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:K,bindings:null,status:"active",subtype:"project",created_at:T.created_at,updated_at:T.updated_at}).execute()}let i=await n.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let T of i){let y=x.get(T.project_id);if(!y)continue;await n.insertInto("connection_aggregations").values({id:`agg_${H()}`,parent_connection_id:y,child_connection_id:T.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:T.created_at}).onConflict((N)=>N.doNothing()).execute()}let C=await n.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let T of C){let y=x.get(T.project_id);if(!y)continue;await n.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${H()}`,virtual_mcp_id:y,plugin_id:T.plugin_id,connection_id:T.connection_id,settings:T.settings,created_at:T.created_at,updated_at:T.updated_at}).execute()}await n.schema.dropTable("project_plugin_configs").execute(),await n.schema.dropTable("project_connections").execute(),await n.schema.dropTable("projects").execute()}async function ET(n){await n.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await n.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await
|
|
215
|
+
`.execute(n),await n.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(T)=>T.primaryKey()).addColumn("virtual_mcp_id","text",(T)=>T.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(T)=>T.notNull()).addColumn("connection_id","text",(T)=>T.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(T)=>T.notNull()).addColumn("updated_at","text",(T)=>T.notNull()).execute(),await n.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await n.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let t=await n.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),_=await n.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),m=new Map;for(let T of _)m.set(T.organizationId,T.userId);let x=new Map;for(let T of t){let y=`vir_${H()}`;x.set(T.id,y);let N=T.ui?JSON.parse(T.ui):null,K=JSON.stringify({enabled_plugins:T.enabled_plugins?JSON.parse(T.enabled_plugins):null,ui:N,migrated_from_project:T.id,migrated_project_slug:T.slug}),f=m.get(T.organization_id);if(!f)continue;await n.insertInto("connections").values({id:y,organization_id:T.organization_id,created_by:f,updated_by:null,title:T.name,description:T.description,icon:N?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${y}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:K,bindings:null,status:"active",subtype:"project",created_at:T.created_at,updated_at:T.updated_at}).execute()}let i=await n.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let T of i){let y=x.get(T.project_id);if(!y)continue;await n.insertInto("connection_aggregations").values({id:`agg_${H()}`,parent_connection_id:y,child_connection_id:T.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:T.created_at}).onConflict((N)=>N.doNothing()).execute()}let C=await n.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let T of C){let y=x.get(T.project_id);if(!y)continue;await n.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${H()}`,virtual_mcp_id:y,plugin_id:T.plugin_id,connection_id:T.connection_id,settings:T.settings,created_at:T.created_at,updated_at:T.updated_at}).execute()}await n.schema.dropTable("project_plugin_configs").execute(),await n.schema.dropTable("project_connections").execute(),await n.schema.dropTable("projects").execute()}async function ET(n){await n.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await n.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await $t`
|
|
216
216
|
ALTER TABLE connections
|
|
217
217
|
DROP CONSTRAINT IF EXISTS chk_connections_subtype
|
|
218
218
|
`.execute(n),await n.schema.alterTable("connections").dropColumn("subtype").execute()}var Dt={};u(Dt,{up:()=>zT,down:()=>PT});import{sql as fT}from"kysely";async function zT(n){await fT`
|
|
@@ -220,7 +220,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
220
220
|
WHERE connection_type = 'VIRTUAL'
|
|
221
221
|
AND subtype = 'project'
|
|
222
222
|
AND metadata::json->>'migrated_project_slug' = 'org-admin'
|
|
223
|
-
`.execute(n)}async function PT(n){}var Lt={};u(Lt,{up:()=>UT,down:()=>JT});import{sql as wT}from"kysely";async function UT(n){await n.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await wT`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(n)}async function JT(n){await n.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await n.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var Rt={};u(Rt,{up:()=>jT,down:()
|
|
223
|
+
`.execute(n)}async function PT(n){}var Lt={};u(Lt,{up:()=>UT,down:()=>JT});import{sql as wT}from"kysely";async function UT(n){await n.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await wT`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(n)}async function JT(n){await n.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await n.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var Rt={};u(Rt,{up:()=>jT,down:()=>$T});import{sql as Wt}from"kysely";async function jT(n){await n.schema.createTable("org_sso_config").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(t)=>t.notNull()).addColumn("client_id","text",(t)=>t.notNull()).addColumn("client_secret","text",(t)=>t.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(t)=>t.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(t)=>t.notNull()).addColumn("enforced","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await n.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await n.schema.createTable("org_sso_sessions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("user_id","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(t)=>t.notNull()).addColumn("expires_at","text",(t)=>t.notNull()).addColumn("created_at","text",(t)=>t.notNull().defaultTo(Wt`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function $T(n){await n.schema.dropTable("org_sso_sessions").execute(),await n.schema.dropTable("org_sso_config").execute()}var Xt={};u(Xt,{up:()=>aT,down:()=>DT});async function aT(n){await n.schema.alterTable("threads").addColumn("agent_ids","text",(t)=>t.defaultTo("[]")).execute()}async function DT(n){await n.schema.alterTable("threads").dropColumn("agent_ids").execute()}var Qt={};u(Qt,{up:()=>LT,down:()=>WT});async function LT(n){await n.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function WT(n){await n.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var Ft={};u(Ft,{up:()=>XT,down:()=>QT});import{sql as Px}from"kysely";function Zt(n){return n.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function RT(n){if(n.app_name)return n.app_name;if(n.connection_url)try{let t=new URL(n.connection_url),m=((t.port?`${t.hostname}-${t.port}`:t.hostname)+t.pathname).replace(/\/+$/,"");return Zt(m)}catch{return Zt(n.connection_url)}if(n.title)return Zt(n.title);return n.id}async function XT(n){await n.schema.alterTable("connections").addColumn("slug","text").execute();let t=await Px`
|
|
224
224
|
SELECT id, app_name, connection_url, title FROM connections
|
|
225
225
|
`.execute(n);for(let _ of t.rows){let m=RT(_);await Px`UPDATE connections SET slug = ${m} WHERE id = ${_.id}`.execute(n)}await n.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function QT(n){await n.schema.dropIndex("idx_connections_org_slug").execute(),await n.schema.alterTable("connections").dropColumn("slug").execute()}var Mt={};u(Mt,{up:()=>ZT,down:()=>FT});import{sql as o}from"kysely";async function ZT(n){await n.schema.alterTable("connections").addColumn("pinned","boolean",(t)=>t.notNull().defaultTo(!1)).execute(),await o`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(n),await n.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await o`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(n),await n.schema.alterTable("connections").dropColumn("subtype").execute(),await n.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function FT(n){await n.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await n.schema.alterTable("connections").addColumn("subtype","text").execute(),await o`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(n),await o`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(n),await o`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(n),await n.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await n.schema.alterTable("connections").dropColumn("pinned").execute()}var Yt={};u(Yt,{up:()=>MT,down:()=>YT});async function MT(n){await n.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await n.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function YT(n){await n.schema.dropIndex("idx_automations_virtual_mcp").execute(),await n.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var Ht={};u(Ht,{up:()=>HT,down:()=>pT});import{sql as tn}from"kysely";async function HT(n){await n.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(t)=>t.notNull().defaultTo("")).execute(),await tn`
|
|
226
226
|
UPDATE threads
|
|
@@ -273,7 +273,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
273
273
|
UPDATE "organizationRole"
|
|
274
274
|
SET permission = ${T}
|
|
275
275
|
WHERE id = ${_.id}
|
|
276
|
-
`.execute(n)}}async function wC(n){}var rt={};u(rt,{up:()=>UC,down:()=>JC});async function UC(n){await n.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await n.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").execute()}async function JC(n){await n.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await n.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}var st={};u(st,{up:()=>jC,down:()
|
|
276
|
+
`.execute(n)}}async function wC(n){}var rt={};u(rt,{up:()=>UC,down:()=>JC});async function UC(n){await n.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await n.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").execute()}async function JC(n){await n.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await n.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}var st={};u(st,{up:()=>jC,down:()=>$C});async function jC(n){await n.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function $C(n){await n.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var lt={};u(lt,{up:()=>aC,down:()=>DC});import{sql as k}from"kysely";async function aC(n){await k`
|
|
277
277
|
UPDATE automations
|
|
278
278
|
SET virtual_mcp_id = (agent::json ->> 'id')
|
|
279
279
|
WHERE virtual_mcp_id IS NULL
|
|
@@ -289,7 +289,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
289
289
|
`.execute(n),await k`
|
|
290
290
|
ALTER TABLE automations
|
|
291
291
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
292
|
-
`.execute(n)}var bt={};u(bt,{up:()=>XC,reshapeSimpleMode:()
|
|
292
|
+
`.execute(n)}var bt={};u(bt,{up:()=>XC,reshapeSimpleMode:()=>$x,inferAutomationTier:()=>ax,down:()=>QC,__testing:()=>RC});var LC={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},WC=["fast","smart","thinking","image","web_research"];function dt(n){if(!n||typeof n!=="object")return!1;let t=n;if(!("tiers"in t))return!1;let _=t.tiers;if(!_||typeof _!=="object")return!1;return WC.some((m)=>(m in _))}function $x(n){if(dt(n))return n;let t=n,_=t?.enabled===!0,m=(x)=>x&&x.keyId&&x.modelId?{keyId:x.keyId,modelId:x.modelId,title:x.title}:null;if(!_)return LC;return{tiers:{fast:m(t?.chat?.fast),smart:m(t?.chat?.smart),thinking:m(t?.chat?.thinking),image:m(t?.image),web_research:m(t?.webResearch)}}}function ax(n){if(n.tier==="fast"||n.tier==="smart"||n.tier==="thinking")return n.tier;if(n.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function Dx(n){if(!(n.tier==="fast"||n.tier==="smart"||n.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((m)=>n[m]===void 0)}var RC={isAlreadyReshapedSimpleMode:dt,isAlreadyReshapedAutomationModels:Dx};async function XC(n){let t=await n.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let m of t){let x=m.simple_mode?typeof m.simple_mode==="string"?JSON.parse(m.simple_mode):m.simple_mode:null;if(dt(x))continue;let i=$x(x);await n.updateTable("organization_settings").set({simple_mode:JSON.stringify(i)}).where("organizationId","=",m.organizationId).execute()}let _=await n.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let m of _){let x;try{x=typeof m.models==="string"?JSON.parse(m.models):m.models}catch{x={}}if(Dx(x))continue;let i=ax(x);if(await n.updateTable("automations").set({models:JSON.stringify({tier:i})}).where("id","=",m.id).execute(),x.thinking?.capabilities?.image)console.log(`[migration 077] automation ${m.id} previously used an image-only model; mapped to "${i}"`)}}async function QC(n){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var n_={};u(n_,{up:()=>ZC,down:()=>FC});import{sql as R}from"kysely";async function ZC(n){await n.schema.alterTable("automations").addColumn("kind","text",(t)=>t.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await R`
|
|
293
293
|
ALTER TABLE automations
|
|
294
294
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
295
295
|
`.execute(n),await R`
|
|
@@ -319,7 +319,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
319
319
|
WHERE connection_type = 'VIRTUAL'
|
|
320
320
|
AND metadata IS NOT NULL
|
|
321
321
|
AND metadata LIKE '%vmMap%'
|
|
322
|
-
`.execute(n);for(let _ of t.rows){if(!_.metadata)continue;let m;try{m=JSON.parse(_.metadata)}catch{continue}let x=m.vmMap;if(!x||typeof x!=="object")continue;let i=!1,C={};for(let[y,N]of Object.entries(x)){if(!N||typeof N!=="object"){i=!0;continue}let K={};for(let[f,E]of Object.entries(N)){if(!E||typeof E!=="object"){i=!0;continue}let
|
|
322
|
+
`.execute(n);for(let _ of t.rows){if(!_.metadata)continue;let m;try{m=JSON.parse(_.metadata)}catch{continue}let x=m.vmMap;if(!x||typeof x!=="object")continue;let i=!1,C={};for(let[y,N]of Object.entries(x)){if(!N||typeof N!=="object"){i=!0;continue}let K={};for(let[f,E]of Object.entries(N)){if(!E||typeof E!=="object"){i=!0;continue}let $=E.runnerKind;if($!==void 0&&!MC.has($)){i=!0;continue}K[f]=E}if(Object.keys(K).length>0)C[y]=K;else i=!0}if(!i)continue;m.vmMap=C;let T=JSON.stringify(m);await Lx`
|
|
323
323
|
UPDATE "connections"
|
|
324
324
|
SET metadata = ${T}
|
|
325
325
|
WHERE id = ${_.id}
|
|
@@ -824,16 +824,16 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
824
824
|
AND tool_input IS NOT NULL
|
|
825
825
|
)
|
|
826
826
|
)
|
|
827
|
-
`.execute(n)}var j_={};u(j_,{up:()=>zy,down:()=>Py});async function zy(n){await n.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function Py(n){await n.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var
|
|
827
|
+
`.execute(n)}var j_={};u(j_,{up:()=>zy,down:()=>Py});async function zy(n){await n.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function Py(n){await n.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var a_={};u(a_,{up:()=>wy,down:()=>Uy});import{sql as $_}from"kysely";var Tn="local-docker";async function wy(n){await $_`delete from sandbox_runner_state where sandbox_provider_kind = ${Tn}`.execute(n);let t=await $_`
|
|
828
828
|
SELECT id, metadata FROM "connections"
|
|
829
829
|
WHERE connection_type = 'VIRTUAL'
|
|
830
830
|
AND metadata IS NOT NULL
|
|
831
831
|
AND metadata LIKE ${"%"+Tn+"%"}
|
|
832
|
-
`.execute(n);for(let _ of t.rows){if(!_.metadata)continue;let m;try{m=JSON.parse(_.metadata)}catch{continue}let x=m.sandboxMap;if(!x||typeof x!=="object")continue;let i=!1,C={};for(let[y,N]of Object.entries(x)){if(!N||typeof N!=="object"){i=!0;continue}let K={};for(let[f,E]of Object.entries(N)){if(!E||typeof E!=="object"){i=!0;continue}if(Tn in E){i=!0;let
|
|
832
|
+
`.execute(n);for(let _ of t.rows){if(!_.metadata)continue;let m;try{m=JSON.parse(_.metadata)}catch{continue}let x=m.sandboxMap;if(!x||typeof x!=="object")continue;let i=!1,C={};for(let[y,N]of Object.entries(x)){if(!N||typeof N!=="object"){i=!0;continue}let K={};for(let[f,E]of Object.entries(N)){if(!E||typeof E!=="object"){i=!0;continue}if(Tn in E){i=!0;let $={...E};if(delete $[Tn],Object.keys($).length>0)K[f]=$}else K[f]=E}if(Object.keys(K).length>0)C[y]=K;else i=!0}if(!i)continue;m.sandboxMap=C;let T=JSON.stringify(m);await $_`
|
|
833
833
|
UPDATE "connections"
|
|
834
834
|
SET metadata = ${T}
|
|
835
835
|
WHERE id = ${_.id}
|
|
836
|
-
`.execute(n)}}async function Uy(n){}var D_={};u(D_,{up:()=>Jy,down:()=>jy});import{sql as Cn}from"kysely";async function Jy(n){await n.schema.createTable("thread_message_parts").addColumn("id","text",(t)=>t.primaryKey()).addColumn("seq","integer",(t)=>t.notNull()).addColumn("org_id","text",(t)=>t.notNull()).addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(t)=>t.notNull()).addColumn("message_id","text",(t)=>t.notNull()).addColumn("role","text",(t)=>t.notNull()).addColumn("kind","text",(t)=>t.notNull()).addColumn("payload","jsonb",(t)=>t.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(t)=>t.notNull()).execute(),await Cn`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(n),await Cn`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(n),await Cn`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(n),await Cn`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(n),await n.schema.alterTable("threads").addColumn("message_storage_version","integer",(t)=>t.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function jy(n){await n.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await n.schema.dropTable("thread_message_parts").ifExists().execute()}var L_={};u(L_,{up:()
|
|
836
|
+
`.execute(n)}}async function Uy(n){}var D_={};u(D_,{up:()=>Jy,down:()=>jy});import{sql as Cn}from"kysely";async function Jy(n){await n.schema.createTable("thread_message_parts").addColumn("id","text",(t)=>t.primaryKey()).addColumn("seq","integer",(t)=>t.notNull()).addColumn("org_id","text",(t)=>t.notNull()).addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(t)=>t.notNull()).addColumn("message_id","text",(t)=>t.notNull()).addColumn("role","text",(t)=>t.notNull()).addColumn("kind","text",(t)=>t.notNull()).addColumn("payload","jsonb",(t)=>t.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(t)=>t.notNull()).execute(),await Cn`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(n),await Cn`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(n),await Cn`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(n),await Cn`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(n),await n.schema.alterTable("threads").addColumn("message_storage_version","integer",(t)=>t.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function jy(n){await n.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await n.schema.dropTable("thread_message_parts").ifExists().execute()}var L_={};u(L_,{up:()=>$y,down:()=>ay});async function $y(n){await n.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function ay(n){await n.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var W_={};u(W_,{up:()=>Dy,down:()=>Ly});async function Dy(n){await n.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function Ly(n){await n.schema.alterTable("threads").dropColumn("link_transport").execute()}var R_={};u(R_,{up:()=>Wy,down:()=>Ry});async function Wy(n){await n.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Ry(n){await n.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var X_={};u(X_,{up:()=>Xy,down:()=>Qy});async function Xy(n){await n.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await n.schema.alterTable("threads").addColumn("is_observation","boolean",(t)=>t.notNull().defaultTo(!1)).execute(),await n.schema.createTable("thread_observations").addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(t)=>t.notNull()).addColumn("last_observed_at","text",(t)=>t.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function Qy(n){await n.schema.dropTable("thread_observations").execute(),await n.schema.alterTable("threads").dropColumn("is_observation").execute(),await n.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var Q_={};u(Q_,{up:()=>Zy,down:()=>Fy});async function Zy(n){await n.schema.dropTable("thread_observations").ifExists().execute(),await n.schema.alterTable("threads").dropColumn("is_observation").execute(),await n.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function Fy(n){await n.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await n.schema.alterTable("threads").addColumn("is_observation","boolean",(t)=>t.notNull().defaultTo(!1)).execute(),await n.schema.createTable("thread_observations").addColumn("thread_id","text",(t)=>t.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(t)=>t.notNull()).addColumn("last_observed_at","text",(t)=>t.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var F_={};u(F_,{up:()=>Yy,down:()=>Hy});import{sql as L}from"kysely";var U="cluster",J="agent-sandbox";function G(n){return n!==null&&typeof n==="object"&&!Array.isArray(n)}function Z_(n,t,_){if(!G(n))return n;if(n.sandboxProviderKind!==t)return n;return{...n,sandboxProviderKind:_}}function yn(n){if(!G(n))return!1;if(typeof n.sandboxHandle!=="string")return!1;if(n.previewUrl!==null&&typeof n.previewUrl!=="string")return!1;if(n.sandboxApiUrl!==void 0&&n.sandboxApiUrl!==null&&typeof n.sandboxApiUrl!=="string")return!1;if(n.sandboxProviderKind!==void 0&&n.sandboxProviderKind!==U&&n.sandboxProviderKind!==J&&n.sandboxProviderKind!=="user-desktop")return!1;if(n.createdAt!==void 0&&typeof n.createdAt!=="number")return!1;if(n.startedWith!==void 0){if(!G(n.startedWith))return!1;for(let t of["packageManager","port","path"]){let _=n.startedWith[t];if(_!==void 0&&_!==null&&typeof _!=="string")return!1}}return!0}function My(n,t,_){if(!G(n))return null;let m=!1,x={};for(let[i,C]of Object.entries(n)){if(!G(C)){x[i]=C;continue}let T={};for(let[y,N]of Object.entries(C)){if(!G(N)){T[y]=N;continue}let K={};for(let[f,E]of Object.entries(N)){if(f===t){if(m=!0,!(_ in N))K[_]=Z_(E,t,_);else if(!yn(N[_])&&yn(E))K[_]=Z_(E,t,_);continue}let $=Z_(E,t,_);if($!==E)m=!0;if(f===_&&f in K&&yn(K[f])&&!yn($))continue;K[f]=$}T[y]=K}x[i]=T}return{sandboxMap:x,changed:m}}async function Zx(n,t,_){let m=await L`
|
|
837
837
|
SELECT id, metadata FROM connections
|
|
838
838
|
WHERE connection_type = 'VIRTUAL'
|
|
839
839
|
AND metadata IS NOT NULL
|
|
@@ -948,7 +948,7 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
948
948
|
CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
|
|
949
949
|
ON connection_workload_tokens (organization_id, subject_connection_id, name)
|
|
950
950
|
WHERE revoked_at IS NULL
|
|
951
|
-
`.execute(n),await n.schema.createTable("connection_credential_grants").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(t)=>t.notNull()).addColumn("created_by","text",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(t)=>t.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await n.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await n.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function jN(n){await n.schema.dropTable("connection_credential_grants").ifExists().execute(),await n.schema.dropTable("connection_workload_tokens").ifExists().execute()}var l_={};u(l_,{up:()
|
|
951
|
+
`.execute(n),await n.schema.createTable("connection_credential_grants").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(t)=>t.notNull()).addColumn("created_by","text",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(t)=>t.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await n.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await n.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await n.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function jN(n){await n.schema.dropTable("connection_credential_grants").ifExists().execute(),await n.schema.dropTable("connection_workload_tokens").ifExists().execute()}var l_={};u(l_,{up:()=>$N,down:()=>aN});async function $N(n){await n.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function aN(n){await n.schema.alterTable("threads").addColumn("projected_seq","integer",(t)=>t.notNull().defaultTo(0)).execute()}var d_={};u(d_,{up:()=>DN,down:()=>LN});import{sql as M}from"kysely";async function DN(n){await M`
|
|
952
952
|
CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
|
|
953
953
|
RETURNS jsonb AS $fn$
|
|
954
954
|
BEGIN
|
|
@@ -1038,15 +1038,15 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
1038
1038
|
create index idx_org_billing_benefits_pending
|
|
1039
1039
|
on organization_billing (updated_at)
|
|
1040
1040
|
where benefits_reference_id is not null
|
|
1041
|
-
`.execute(n)}async function EK(n){await Bx`drop index if exists idx_org_billing_benefits_pending`.execute(n)}var ju={};u(ju,{up:()=>fK,down:()=>zK});import{sql as Gx}from"kysely";async function fK(n){await n.schema.createTable("user_model_preferences").addColumn("user_id","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("tiers","jsonb",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(Gx`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(t)=>t.notNull().defaultTo(Gx`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await n.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function zK(n){await n.schema.dropTable("user_model_preferences").execute()}var
|
|
1041
|
+
`.execute(n)}async function EK(n){await Bx`drop index if exists idx_org_billing_benefits_pending`.execute(n)}var ju={};u(ju,{up:()=>fK,down:()=>zK});import{sql as Gx}from"kysely";async function fK(n){await n.schema.createTable("user_model_preferences").addColumn("user_id","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("tiers","jsonb",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(Gx`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(t)=>t.notNull().defaultTo(Gx`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await n.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function zK(n){await n.schema.dropTable("user_model_preferences").execute()}var $u={};u($u,{up:()=>PK,down:()=>wK});async function PK(n){await n.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function wK(n){await n.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var au={};u(au,{up:()=>UK,down:()=>JK});async function UK(n){await n.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await n.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function JK(n){}var Du={};u(Du,{up:()=>jK,down:()=>$K});import{sql as Ax}from"kysely";async function jK(n){await n.schema.alterTable("organization_settings").addColumn("flags","jsonb").execute(),await Ax`
|
|
1042
1042
|
UPDATE organization_settings
|
|
1043
1043
|
SET flags = jsonb_build_object('reports_only', reports_only)
|
|
1044
1044
|
WHERE reports_only IS NOT NULL
|
|
1045
|
-
`.execute(n),await n.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function
|
|
1045
|
+
`.execute(n),await n.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function $K(n){await n.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute(),await Ax`
|
|
1046
1046
|
UPDATE organization_settings
|
|
1047
1047
|
SET reports_only = (flags ->> 'reports_only')::boolean
|
|
1048
1048
|
WHERE flags ? 'reports_only'
|
|
1049
|
-
`.execute(n),await n.schema.alterTable("organization_settings").dropColumn("flags").execute()}var Lu={};u(Lu,{up:()=>DK,down:()=>LK});import{sql as
|
|
1049
|
+
`.execute(n),await n.schema.alterTable("organization_settings").dropColumn("flags").execute()}var Lu={};u(Lu,{up:()=>DK,down:()=>LK});import{sql as aK}from"kysely";async function DK(n){await n.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(t)=>t.notNull().defaultTo(0)).execute(),await aK`
|
|
1050
1050
|
update task_board_items
|
|
1051
1051
|
set sort_order = -extract(epoch from created_at)
|
|
1052
1052
|
`.execute(n)}async function LK(n){await n.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var Wu={};u(Wu,{up:()=>WK,down:()=>RK,ACTIONS:()=>Sx});import{sql as fn}from"kysely";var Sx=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function WK(n){await n.schema.createTable("task_board_activity").addColumn("id","text",(t)=>t.primaryKey()).addColumn("task_board_item_id","text",(t)=>t.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("action","text",(t)=>t.notNull()).addColumn("actor_id","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("data","jsonb").addColumn("occurred_at","timestamptz",(t)=>t.notNull().defaultTo(fn`now()`)).addCheckConstraint("chk_task_board_activity_action",fn`action IN (${fn.join(Sx.map((t)=>fn.lit(t)))})`).execute(),await n.schema.createIndex("idx_task_board_activity_item").on("task_board_activity").columns(["task_board_item_id","occurred_at"]).execute()}async function RK(n){await n.schema.dropIndex("idx_task_board_activity_item").execute(),await n.schema.dropTable("task_board_activity").execute()}var Xu={};u(Xu,{up:()=>XK,down:()=>QK,ACTIONS:()=>Ru});import{sql as g}from"kysely";var Ru=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function XK(n){await n.schema.alterTable("organization_tags").addColumn("color","text").execute(),await n.schema.createTable("task_board_item_tags").addColumn("task_board_item_id","text",(t)=>t.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("id","text",(t)=>t.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_by","text",(t)=>t.notNull()).addColumn("created_at","timestamptz",(t)=>t.notNull().defaultTo(g`now()`)).addPrimaryKeyConstraint("task_board_item_tags_pkey",["task_board_item_id","id"]).execute(),await n.schema.createIndex("idx_task_board_item_tags_tag").on("task_board_item_tags").columns(["id"]).execute(),await Ox(n,Ru)}async function QK(n){await Ox(n,Ru.filter((t)=>t!=="tags_changed")),await n.schema.dropIndex("idx_task_board_item_tags_tag").execute(),await n.schema.dropTable("task_board_item_tags").execute(),await n.schema.alterTable("organization_tags").dropColumn("color").execute()}async function Ox(n,t){await g`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(n),await g`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${g.join(t.map((_)=>g.lit(_)))}))`.execute(n)}var Zu={};u(Zu,{up:()=>FK,down:()=>MK});import{sql as Ix}from"kysely";function Qu(n){return n.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function ZK(n){if(n.app_name)return n.app_name;if(n.connection_url)try{let t=new URL(n.connection_url),m=((t.port?`${t.hostname}-${t.port}`:t.hostname)+t.pathname).replace(/\/+$/,"");return Qu(m)}catch{return Qu(n.connection_url)}if(n.title)return Qu(n.title);return n.id}async function FK(n){let t=await Ix`
|
|
@@ -1133,9 +1133,9 @@ var fm=Object.defineProperty;var zm=(n)=>n;function Pm(n,t){this[n]=zm.bind(null
|
|
|
1133
1133
|
CREATE INDEX idx_org_repo_sync_enabled
|
|
1134
1134
|
ON org_repo_sync (organization_id)
|
|
1135
1135
|
WHERE enabled
|
|
1136
|
-
`.execute(n)}async function fE(n){await qu`DROP TABLE IF EXISTS org_repo_sync`.execute(n)}var su={};u(su,{up:()=>PE,down:()=>wE,ACTIONS:()=>ru});import{sql as Jn}from"kysely";var ru=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution","merge_failed"],zE=new Set(["merge_failed"]);async function PE(n){await gx(n,ru)}async function wE(n){await gx(n,ru.filter((t)=>!zE.has(t)))}async function gx(n,t){await Jn`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(n),await Jn`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Jn.join(t.map((_)=>Jn.lit(_)))}))`.execute(n)}var lu={};u(lu,{up:()=>UE,down:()=>JE});async function UE(n){await n.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function JE(n){await n.schema.alterTable("task_board_items").dropColumn("repo").execute()}var jE={"001-initial-schema":Wn,"002-organization-settings":Rn,"003-connection-schema-align":Xn,"004-remove-models-binding":Qn,"005-connection-configuration":Zn,"006-add-views-to-settings":Fn,"007-monitoring-logs":Mn,"008-event-bus":Yn,"009-drop-audit-logs":Hn,"010-gateways":pn,"011-gateway-icon":Bn,"012-gateway-tool-selection-mode":Gn,"013-monitoring-user-agent-gateway":An,"014-gateway-resources-prompts":Sn,"015-monitoring-properties":On,"016-downstream-token-client-info":In,"017-downstream-token-remove-userid":en,"018-drop-gateway-tool-selection-strategy":on,"019-remove-gateway-is-default":kn,"020-enabled-plugins":cn,"021-threads":Vn,"022-rename-gateway-to-virtual-mcp":hn,"023-optimize-thread-indexes":gn,"024-consolidate-virtual-mcp":qn,"025-add-monitoring-virtual-mcp-id":vn,"026-restrict-child-connection-delete":rn,"027-update-management-mcp-url":ln,"028-update-management-mcp-to-self":bn,"029-add-updated-by-to-connections":nt,"030-member-tags":tt,"031-add-dependency-mode":_t,"032-projects":ut,"033-thread-status":xt,"034-monitoring-dashboards":mt,"035-project-connections":it,"036-update-registry-url":Tt,"037-ai-provider-keys":Ct,"038-oauth-pkce-states":yt,"039-automations":Nt,"040-replace-next-run-at-with-last-run-at":Kt,"041-ai-provider-keys-unique-constraint":Et,"042-rename-mesh-mcp-to-cms-mcp":ft,"043-rename-cms-mcp-to-deco-cms":zt,"044-drop-connections-tools-column":Pt,"045-thread-context-start-message":wt,"046-remove-object-storage-plugin":Jt,"047-add-next-run-at":jt,"048-merge-projects-agents":$t,"049-remove-org-admin-projects":Dt,"050-durable-agent-runs":Lt,"051-org-sso":Rt,"052-thread-agent-ids":Xt,"053-registry-config":Qt,"054-connection-slug":Ft,"055-spaces":Mt,"056-automation-project-scope":Yt,"057-thread-virtual-mcp-id":Ht,"058-trigger-callback-tokens":pt,"059-kv":Bt,"060-member-index":Gt,"061-downstream-token-connection-index":At,"062-private-registry":St,"063-event-subscriptions-enabled-boolean":Ot,"064-brand-context":It,"065-organization-domains":et,"066-brand-context-structured":ot,"067-threads-metadata":kt,"068-threads-branch":ct,"069-sandbox-runner-state":Vt,"070-model-categories":ht,"071-default-home-agents":gt,"072-ai-provider-key-preset-id":qt,"073-backfill-basic-usage-roles":vt,"074-sandbox-runner-state-handle-nonunique":rt,"075-thread-inflight-async-jobs":st,"076-automations-drop-agent-json":lt,"077-tier-only-model-selection":bt,"078-automation-tool-call-kind":n_,"079-strip-legacy-freestyle-vm-map-entries":t_,"080-async-research-jobs":__,"081-async-research-jobs-result-content":u_,"082-secrets":x_,"083-thread-run-locally":m_,"084-drop-host-sandbox-rows":i_,"085-rename-runner-kind":T_,"086-thread-pins-and-vm-map-rekey":C_,"087-fix-vm-map-rekey":y_,"088-purge-cli-activate-keys":N_,"089-rename-remote-user-to-desktop":K_,"090-automation-webhook-triggers":E_,"091-organization-domains-allow-multi":f_,"092-sandbox-naming-uniformization":z_,"093-backfill-global-search-basic-usage":P_,"094-org-file-configs":U_,"095-remove-automation-tool-call-kind":J_,"096-org-file-configs-public-url-base":j_,"097-drop-local-docker-sandbox-state":$_,"098-thread-message-parts":D_,"099-run-fence":L_,"100-link-transport":W_,"101-cancel-requested-at":R_,"102-observational-agent":X_,"103-revert-observational-agent":Q_,"104-agent-sandbox-provider-kind":F_,"105-org-fs":M_,"106-automation-tools":Y_,"107-org-fs-public-org":H_,"108-automation-max-agent-steps":p_,"109-thread-message-parts-per-message-seq":B_,"110-backfill-ghs-token-expiry":G_,"111-org-fs-thread-id":A_,"112-org-file-configs-credential-type":S_,"113-thread-failure-reason":O_,"114-run-acked-seq":I_,"115-thread-projected-seq":e_,"116-org-sites":o_,"117-org-file-configs-site-slug":k_,"118-organization-domains-multi-verify":c_,"119-organization-join-requests":V_,"120-org-fs-read-public":h_,"121-org-fs-share-password":g_,"122-split-web-research-tier":r_,"123-connection-credential-vault":s_,"124-drop-thread-projected-seq":l_,"125-github-child-single-parent":d_,"126-task-board":nu,"127-task-board-due-date":tu,"128-reports-only":_u,"129-task-board-assigned-by":uu,"130-task-board-thread-id":xu,"131-task-board-thread-link-cascade":mu,"132-task-board-item-prs":iu,"133-dedupe-duplicate-members":Tu,"134-drop-task-board-enabled":Cu,"135-task-board-item-fk-cascade":yu,"136-task-board-import-idempotency":Nu,"137-agent-sandbox-runner-state":Ku,"138-agent-sandbox-sessions":Eu,"139-organization-billing":fu,"140-seat-change-log":zu,"141-benefits-sync-pending":Pu,"142-stripe-event-watermark":wu,"143-armed-report-url":Uu,"144-benefits-pending-index":Ju,"145-user-model-preferences":ju,"146-organization-main-agent":au,"147-drop-agent-sandbox-tables":$u,"148-org-flags":Du,"149-task-board-item-sort-order":Lu,"150-task-board-activity":Wu,"151-task-board-tags":Xu,"152-repair-connection-slug":Zu,"153-task-board-latest-assistant-part-index":Fu,"154-task-board-qa-activity":Yu,"155-task-board-review-claims":Hu,"156-task-board-conflict-activity":Bu,"157-drop-seat-billing":Gu,"158-drop-github-child-single-parent":Au,"159-task-board-comments":Su,"160-task-quota-billing":Ou,"161-task-quota-claim-state":eu,"162-claude-subscriptions":ou,"163-task-board-item-dismissed":ku,"164-per-org-task-quota":cu,"165-task-board-pending-review-index":Vu,"166-task-board-last-swept-at":hu,"167-task-board-run-retry":gu,"168-org-repo-sync":vu,"169-task-board-merge-failed-activity":su,"170-task-board-item-repo":lu},du=jE;import{getMigrations as bE}from"better-auth/db";import{sso as nf}from"@better-auth/sso";import{organization as tf}from"@decocms/better-auth/plugins";import{admin as _f,apiKey as uf,jwt as xf,magicLink as mf,mcp as Tf,openAPI as Cf}from"better-auth/plugins";import{emailOTP as yf}from"better-auth/plugins/email-otp";import{Kysely as gE,PostgresDialect as xm}from"kysely";import{Pool as mm}from"pg";import{homedir as aE}from"os";var $E=new Set(["all","worker","api"]);function DE(n){let t=(n??"").trim();return $E.has(t)?t:"all"}var LE=new Set(["production","development","test"]);function WE(n){let t=(n??"").trim();return LE.has(t)?t:"development"}function W(n){return n==="true"||n==="1"}function RE(n){if(n===void 0||n==="")return;return W(n)}function bu(n,t,_){if(t===void 0||t==="")return;let m=Number(t);if(!Number.isSafeInteger(m)||m<=0)throw Error(`${n} must be a positive integer`);if(_!==void 0&&m>_)throw Error(`${n} must be at most ${_}`);return m}function j(n,t,_,m){return bu(n,t,m)??_}function XE(n,t,_,m){if(t===void 0||t==="")return _;let x=Number(t);if(!Number.isSafeInteger(x)||x<0)throw Error(`${n} must be a non-negative integer`);if(m!==void 0&&x>m)throw Error(`${n} must be at most ${m}`);return x}function qx(n,t){if(n===void 0||n==="")return t;return n==="true"||n==="1"}function vx(n){if(!n)return null;try{let _=new URL(n).hostname.replace(/^\[|\]$/g,"");if(_==="localhost"||_==="127.0.0.1"||_==="::1")return null;return n}catch{return null}}function QE(n){return n===void 0||n===""||n==="true"||n==="1"}function v(n,t){return n||t}var ZE=new Set(["agent-sandbox","user-desktop"]);function FE(n){let t=(n??"").trim(),_=t.length>0?t:"user-desktop";if(_==="cluster")return"agent-sandbox";if(!ZE.has(_))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${n}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return _}function rx(n,t){let _=n.home||t.DATA_DIR||t.DECOCMS_HOME||`${aE()}/deco`,m=n.localMode,x=n.nodeEnv||WE(t.NODE_ENV),i=t.NATS_URL||"nats://localhost:4222",C=RE(t.NATS_TUNNEL_PUBLIC_ENABLED)??!!t.NATS_PUBLIC_URL;return{settings:{nodeEnv:x,port:j("PORT",n.port||t.PORT,3000,65535),baseUrl:n.baseUrl||t.BASE_URL,publicUrl:v(t.STUDIO_PUBLIC_URL,t.MESH_PUBLIC_URL),dataDir:_,databasePgSsl:W(t.DATABASE_PG_SSL),databasePoolMax:j("DATABASE_POOL_MAX",t.DATABASE_POOL_MAX,5),dbosPoolSize:j("DBOS_POOL_SIZE",t.DBOS_POOL_SIZE,5),betterAuthSecret:t.BETTER_AUTH_SECRET||"",encryptionKey:t.ENCRYPTION_KEY||"",studioJwtSecret:v(t.STUDIO_JWT_SECRET,t.MESH_JWT_SECRET),localMode:m,disableRateLimit:W(t.DISABLE_RATE_LIMIT),studioProvisionSecretKey:t.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(t.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),clickhouseUrl:t.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:bu("CLICKHOUSE_MAX_MEMORY_USAGE",t.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:t.MONITORING_OTLP_ENDPOINT,otelServiceName:t.OTEL_SERVICE_NAME||"studio",natsPublicUrl:t.NATS_PUBLIC_URL,natsTunnelPublicEnabled:C,natsTunnelSessionTtlSeconds:j("NATS_TUNNEL_SESSION_TTL_SECONDS",t.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:t.NATS_OPERATOR_JWT,natsAccountJwt:t.NATS_ACCOUNT_JWT,natsAccountSigningKey:t.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:t.NATS_CREDS,configPath:t.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(t.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:t.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:t.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:t.STRIPE_WEBHOOK_SECRET,stripeSecretKey:t.STRIPE_SECRET_KEY,stripeOrgPriceId:t.STRIPE_ORG_PRICE_ID,topupFeePercent:XE("STUDIO_TOPUP_FEE_PERCENT",t.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:W(t.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:j("STUDIO_FREE_TASKS",t.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:j("STUDIO_MONTHLY_TASKS",t.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:j("STUDIO_MAX_RUNS_PER_TASK",t.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:W(t.ENABLE_DECO_IMPORT),mcpCacheEnabled:qx(t.MCP_CACHE_ENABLED,x!=="development"),orgFsPublicSetsJson:t.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(t.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:j("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",t.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:j("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",t.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:qx(t.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:j("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",t.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:t.S3_ENDPOINT,s3Bucket:t.S3_BUCKET,s3Region:t.S3_REGION||"auto",s3AccessKeyId:t.S3_ACCESS_KEY_ID,s3SecretAccessKey:t.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:QE(t.S3_FORCE_PATH_STYLE),monitoringS3Bucket:t.MONITORING_S3_BUCKET,monitoringS3Endpoint:t.MONITORING_S3_ENDPOINT,monitoringS3Region:t.MONITORING_S3_REGION,monitoringS3AccessKeyId:t.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:t.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:t.MONITORING_S3_PREFIX,duckdbExtensionDirectory:t.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:t.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:bu("DUCKDB_THREADS",t.DUCKDB_THREADS),isCli:!0,noTui:n.noTui===!0,podName:t.POD_NAME||crypto.randomUUID(),dispatchRole:DE(v(t.STUDIO_DISPATCH_ROLE,t.MESH_DISPATCH_ROLE)),sandboxProviderKind:FE(t.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:W(t.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:W(t.TASK_BOARD_RERUN_REUSES_PR_BRANCH),sandboxReleaseOnRunEndEnabled:W(t.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:j("SANDBOX_RELEASE_GRACE_MS",t.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:t.DECO_SUPABASE_URL,decoSupabaseServiceKey:t.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:t.FIRECRAWL_API_KEY,reportsInternalApiUrl:v(t.REPORTS_INTERNAL_API_URL,t.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:v(t.REPORTS_INTERNAL_API_KEY,t.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:t.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:t.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:t.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:t.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:t.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:t.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:t.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:vx(t.DATABASE_URL),externalNatsUrl:vx(i),skipMigrations:n.skipMigrations}}var jn=null;function A(){if(!jn)ME();return jn}function ME(){if(jn)return;let n={...process.env},t=rx({port:n.PORT||"3000",home:n.DATA_DIR||n.DECOCMS_HOME||"",localMode:n.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:n.DECO_NO_TUI==="true",vitePort:n.VITE_PORT,baseUrl:n.BASE_URL},n);jn=Object.freeze({...t.settings,databaseUrl:n.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(n.NATS_URL||"nats://localhost:4222").split(",").map((_)=>_.trim()).filter(Boolean)})}import{createContextKey as AE,metrics as SE,propagation as Iw,ROOT_CONTEXT as ew,SpanStatusCode as ow,trace as OE}from"@opentelemetry/api";import{logs as IE,SeverityNumber as nx}from"@opentelemetry/api-logs";import{OTLPLogExporter as Vw}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as eE}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as qw}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as rw}from"@opentelemetry/instrumentation-runtime-node";import{context as pP,propagation as BP,SpanKind as GP,SpanStatusCode as AP}from"@opentelemetry/api";var OP=globalThis.fetch;import{ExportResultCode as sP}from"@opentelemetry/core";import{ExportResultCode as an}from"@opentelemetry/core";import{mkdir as YE,rename as HE,writeFile as pE}from"fs/promises";import{join as $n}from"path";class Dn{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(n){this.basePath=n.basePath,this.flushThreshold=n.flushThreshold??1000,this.maxBufferBytes=n.maxBufferBytes??10485760,this.partitionKey=n.partitionKey;let t=n.flushIntervalMs??60000;if(t>0&&t<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((_)=>{console.error("[NDJSONExporter] Timer flush failed:",_)})},t),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(n){if(this.isShutdown)return Promise.resolve({code:an.FAILED});for(let t of n){let _=JSON.stringify(t),m=this.partitionKey?this.partitionKey(t):"";this.bufferItems.push({partition:m,json:_}),this.bufferBytes+=Buffer.byteLength(_,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:an.SUCCESS})).catch((t)=>{return console.error("[NDJSONExporter] Flush failed:",t),{code:an.FAILED}});return Promise.resolve({code:an.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 t=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=t,t}async doFlush(){if(this.bufferItems.length===0)return;let n=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let t=new Map;for(let x of n){let i=t.get(x.partition);if(!i)i=[],t.set(x.partition,i);i.push(x.json)}let _=await Promise.allSettled(Array.from(t.entries()).map(([x,i])=>this.writeNDJSON(i,x).then(()=>x))),m=_.find((x)=>x.status==="rejected");if(m){let x=new Set;for(let C of _)if(C.status==="fulfilled")x.add(C.value);let i=n.filter((C)=>!x.has(C.partition));this.bufferItems=i.concat(this.bufferItems),this.bufferBytes=0;for(let C of this.bufferItems)this.bufferBytes+=Buffer.byteLength(C.json,"utf8")+1;throw m.reason}}async writeNDJSON(n,t){let _=new Date,m=[String(_.getUTCFullYear()),String(_.getUTCMonth()+1).padStart(2,"0"),String(_.getUTCDate()).padStart(2,"0"),String(_.getUTCHours()).padStart(2,"0")],x=t?$n(this.basePath,t,...m):$n(this.basePath,...m);if(!this.knownDirs.has(x))await YE(x,{recursive:!0,mode:448}),this.knownDirs.add(x);let i=`${crypto.randomUUID()}.ndjson`,C=$n(x,`.${i}.tmp`),T=$n(x,i),y=n.join(`
|
|
1136
|
+
`.execute(n)}async function fE(n){await qu`DROP TABLE IF EXISTS org_repo_sync`.execute(n)}var su={};u(su,{up:()=>PE,down:()=>wE,ACTIONS:()=>ru});import{sql as Jn}from"kysely";var ru=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","merge_conflict_resolution","merge_failed"],zE=new Set(["merge_failed"]);async function PE(n){await gx(n,ru)}async function wE(n){await gx(n,ru.filter((t)=>!zE.has(t)))}async function gx(n,t){await Jn`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(n),await Jn`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Jn.join(t.map((_)=>Jn.lit(_)))}))`.execute(n)}var lu={};u(lu,{up:()=>UE,down:()=>JE});async function UE(n){await n.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function JE(n){await n.schema.alterTable("task_board_items").dropColumn("repo").execute()}var jE={"001-initial-schema":Wn,"002-organization-settings":Rn,"003-connection-schema-align":Xn,"004-remove-models-binding":Qn,"005-connection-configuration":Zn,"006-add-views-to-settings":Fn,"007-monitoring-logs":Mn,"008-event-bus":Yn,"009-drop-audit-logs":Hn,"010-gateways":pn,"011-gateway-icon":Bn,"012-gateway-tool-selection-mode":Gn,"013-monitoring-user-agent-gateway":An,"014-gateway-resources-prompts":Sn,"015-monitoring-properties":On,"016-downstream-token-client-info":In,"017-downstream-token-remove-userid":en,"018-drop-gateway-tool-selection-strategy":on,"019-remove-gateway-is-default":kn,"020-enabled-plugins":cn,"021-threads":Vn,"022-rename-gateway-to-virtual-mcp":hn,"023-optimize-thread-indexes":gn,"024-consolidate-virtual-mcp":qn,"025-add-monitoring-virtual-mcp-id":vn,"026-restrict-child-connection-delete":rn,"027-update-management-mcp-url":ln,"028-update-management-mcp-to-self":bn,"029-add-updated-by-to-connections":nt,"030-member-tags":tt,"031-add-dependency-mode":_t,"032-projects":ut,"033-thread-status":xt,"034-monitoring-dashboards":mt,"035-project-connections":it,"036-update-registry-url":Tt,"037-ai-provider-keys":Ct,"038-oauth-pkce-states":yt,"039-automations":Nt,"040-replace-next-run-at-with-last-run-at":Kt,"041-ai-provider-keys-unique-constraint":Et,"042-rename-mesh-mcp-to-cms-mcp":ft,"043-rename-cms-mcp-to-deco-cms":zt,"044-drop-connections-tools-column":Pt,"045-thread-context-start-message":wt,"046-remove-object-storage-plugin":Jt,"047-add-next-run-at":jt,"048-merge-projects-agents":at,"049-remove-org-admin-projects":Dt,"050-durable-agent-runs":Lt,"051-org-sso":Rt,"052-thread-agent-ids":Xt,"053-registry-config":Qt,"054-connection-slug":Ft,"055-spaces":Mt,"056-automation-project-scope":Yt,"057-thread-virtual-mcp-id":Ht,"058-trigger-callback-tokens":pt,"059-kv":Bt,"060-member-index":Gt,"061-downstream-token-connection-index":At,"062-private-registry":St,"063-event-subscriptions-enabled-boolean":Ot,"064-brand-context":It,"065-organization-domains":et,"066-brand-context-structured":ot,"067-threads-metadata":kt,"068-threads-branch":ct,"069-sandbox-runner-state":Vt,"070-model-categories":ht,"071-default-home-agents":gt,"072-ai-provider-key-preset-id":qt,"073-backfill-basic-usage-roles":vt,"074-sandbox-runner-state-handle-nonunique":rt,"075-thread-inflight-async-jobs":st,"076-automations-drop-agent-json":lt,"077-tier-only-model-selection":bt,"078-automation-tool-call-kind":n_,"079-strip-legacy-freestyle-vm-map-entries":t_,"080-async-research-jobs":__,"081-async-research-jobs-result-content":u_,"082-secrets":x_,"083-thread-run-locally":m_,"084-drop-host-sandbox-rows":i_,"085-rename-runner-kind":T_,"086-thread-pins-and-vm-map-rekey":C_,"087-fix-vm-map-rekey":y_,"088-purge-cli-activate-keys":N_,"089-rename-remote-user-to-desktop":K_,"090-automation-webhook-triggers":E_,"091-organization-domains-allow-multi":f_,"092-sandbox-naming-uniformization":z_,"093-backfill-global-search-basic-usage":P_,"094-org-file-configs":U_,"095-remove-automation-tool-call-kind":J_,"096-org-file-configs-public-url-base":j_,"097-drop-local-docker-sandbox-state":a_,"098-thread-message-parts":D_,"099-run-fence":L_,"100-link-transport":W_,"101-cancel-requested-at":R_,"102-observational-agent":X_,"103-revert-observational-agent":Q_,"104-agent-sandbox-provider-kind":F_,"105-org-fs":M_,"106-automation-tools":Y_,"107-org-fs-public-org":H_,"108-automation-max-agent-steps":p_,"109-thread-message-parts-per-message-seq":B_,"110-backfill-ghs-token-expiry":G_,"111-org-fs-thread-id":A_,"112-org-file-configs-credential-type":S_,"113-thread-failure-reason":O_,"114-run-acked-seq":I_,"115-thread-projected-seq":e_,"116-org-sites":o_,"117-org-file-configs-site-slug":k_,"118-organization-domains-multi-verify":c_,"119-organization-join-requests":V_,"120-org-fs-read-public":h_,"121-org-fs-share-password":g_,"122-split-web-research-tier":r_,"123-connection-credential-vault":s_,"124-drop-thread-projected-seq":l_,"125-github-child-single-parent":d_,"126-task-board":nu,"127-task-board-due-date":tu,"128-reports-only":_u,"129-task-board-assigned-by":uu,"130-task-board-thread-id":xu,"131-task-board-thread-link-cascade":mu,"132-task-board-item-prs":iu,"133-dedupe-duplicate-members":Tu,"134-drop-task-board-enabled":Cu,"135-task-board-item-fk-cascade":yu,"136-task-board-import-idempotency":Nu,"137-agent-sandbox-runner-state":Ku,"138-agent-sandbox-sessions":Eu,"139-organization-billing":fu,"140-seat-change-log":zu,"141-benefits-sync-pending":Pu,"142-stripe-event-watermark":wu,"143-armed-report-url":Uu,"144-benefits-pending-index":Ju,"145-user-model-preferences":ju,"146-organization-main-agent":$u,"147-drop-agent-sandbox-tables":au,"148-org-flags":Du,"149-task-board-item-sort-order":Lu,"150-task-board-activity":Wu,"151-task-board-tags":Xu,"152-repair-connection-slug":Zu,"153-task-board-latest-assistant-part-index":Fu,"154-task-board-qa-activity":Yu,"155-task-board-review-claims":Hu,"156-task-board-conflict-activity":Bu,"157-drop-seat-billing":Gu,"158-drop-github-child-single-parent":Au,"159-task-board-comments":Su,"160-task-quota-billing":Ou,"161-task-quota-claim-state":eu,"162-claude-subscriptions":ou,"163-task-board-item-dismissed":ku,"164-per-org-task-quota":cu,"165-task-board-pending-review-index":Vu,"166-task-board-last-swept-at":hu,"167-task-board-run-retry":gu,"168-org-repo-sync":vu,"169-task-board-merge-failed-activity":su,"170-task-board-item-repo":lu},du=jE;import{getMigrations as bE}from"better-auth/db";import{sso as nf}from"@better-auth/sso";import{organization as tf}from"@decocms/better-auth/plugins";import{admin as _f,apiKey as uf,jwt as xf,magicLink as mf,mcp as Tf,openAPI as Cf}from"better-auth/plugins";import{emailOTP as yf}from"better-auth/plugins/email-otp";import{Kysely as gE,PostgresDialect as xm}from"kysely";import{Pool as mm}from"pg";import{homedir as $E}from"os";var aE=new Set(["all","worker","api"]);function DE(n){let t=(n??"").trim();return aE.has(t)?t:"all"}var LE=new Set(["production","development","test"]);function WE(n){let t=(n??"").trim();return LE.has(t)?t:"development"}function W(n){return n==="true"||n==="1"}function RE(n){if(n===void 0||n==="")return;return W(n)}function bu(n,t,_){if(t===void 0||t==="")return;let m=Number(t);if(!Number.isSafeInteger(m)||m<=0)throw Error(`${n} must be a positive integer`);if(_!==void 0&&m>_)throw Error(`${n} must be at most ${_}`);return m}function j(n,t,_,m){return bu(n,t,m)??_}function XE(n,t,_,m){if(t===void 0||t==="")return _;let x=Number(t);if(!Number.isSafeInteger(x)||x<0)throw Error(`${n} must be a non-negative integer`);if(m!==void 0&&x>m)throw Error(`${n} must be at most ${m}`);return x}function qx(n,t){if(n===void 0||n==="")return t;return n==="true"||n==="1"}function vx(n){if(!n)return null;try{let _=new URL(n).hostname.replace(/^\[|\]$/g,"");if(_==="localhost"||_==="127.0.0.1"||_==="::1")return null;return n}catch{return null}}function QE(n){return n===void 0||n===""||n==="true"||n==="1"}function v(n,t){return n||t}var ZE=new Set(["agent-sandbox","user-desktop"]);function FE(n){let t=(n??"").trim(),_=t.length>0?t:"user-desktop";if(_==="cluster")return"agent-sandbox";if(!ZE.has(_))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${n}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return _}function rx(n,t){let _=n.home||t.DATA_DIR||t.DECOCMS_HOME||`${$E()}/deco`,m=n.localMode,x=n.nodeEnv||WE(t.NODE_ENV),i=t.NATS_URL||"nats://localhost:4222",C=RE(t.NATS_TUNNEL_PUBLIC_ENABLED)??!!t.NATS_PUBLIC_URL;return{settings:{nodeEnv:x,port:j("PORT",n.port||t.PORT,3000,65535),baseUrl:n.baseUrl||t.BASE_URL,publicUrl:v(t.STUDIO_PUBLIC_URL,t.MESH_PUBLIC_URL),dataDir:_,databasePgSsl:W(t.DATABASE_PG_SSL),databasePoolMax:j("DATABASE_POOL_MAX",t.DATABASE_POOL_MAX,5),dbosPoolSize:j("DBOS_POOL_SIZE",t.DBOS_POOL_SIZE,5),betterAuthSecret:t.BETTER_AUTH_SECRET||"",encryptionKey:t.ENCRYPTION_KEY||"",studioJwtSecret:v(t.STUDIO_JWT_SECRET,t.MESH_JWT_SECRET),localMode:m,disableRateLimit:W(t.DISABLE_RATE_LIMIT),studioProvisionSecretKey:t.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(t.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),clickhouseUrl:t.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:bu("CLICKHOUSE_MAX_MEMORY_USAGE",t.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:t.MONITORING_OTLP_ENDPOINT,otelServiceName:t.OTEL_SERVICE_NAME||"studio",natsPublicUrl:t.NATS_PUBLIC_URL,natsTunnelPublicEnabled:C,natsTunnelSessionTtlSeconds:j("NATS_TUNNEL_SESSION_TTL_SECONDS",t.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:t.NATS_OPERATOR_JWT,natsAccountJwt:t.NATS_ACCOUNT_JWT,natsAccountSigningKey:t.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:t.NATS_CREDS,configPath:t.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(t.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:t.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:t.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:t.STRIPE_WEBHOOK_SECRET,stripeSecretKey:t.STRIPE_SECRET_KEY,stripeOrgPriceId:t.STRIPE_ORG_PRICE_ID,stripeTopupProductId:t.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:XE("STUDIO_TOPUP_FEE_PERCENT",t.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:W(t.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:j("STUDIO_FREE_TASKS",t.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:j("STUDIO_MONTHLY_TASKS",t.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:j("STUDIO_MAX_RUNS_PER_TASK",t.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:W(t.ENABLE_DECO_IMPORT),mcpCacheEnabled:qx(t.MCP_CACHE_ENABLED,x!=="development"),orgFsPublicSetsJson:t.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(t.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:j("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",t.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:j("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",t.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:qx(t.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:j("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",t.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:t.S3_ENDPOINT,s3Bucket:t.S3_BUCKET,s3Region:t.S3_REGION||"auto",s3AccessKeyId:t.S3_ACCESS_KEY_ID,s3SecretAccessKey:t.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:QE(t.S3_FORCE_PATH_STYLE),monitoringS3Bucket:t.MONITORING_S3_BUCKET,monitoringS3Endpoint:t.MONITORING_S3_ENDPOINT,monitoringS3Region:t.MONITORING_S3_REGION,monitoringS3AccessKeyId:t.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:t.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:t.MONITORING_S3_PREFIX,duckdbExtensionDirectory:t.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:t.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:bu("DUCKDB_THREADS",t.DUCKDB_THREADS),isCli:!0,noTui:n.noTui===!0,podName:t.POD_NAME||crypto.randomUUID(),dispatchRole:DE(v(t.STUDIO_DISPATCH_ROLE,t.MESH_DISPATCH_ROLE)),sandboxProviderKind:FE(t.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:W(t.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:W(t.TASK_BOARD_RERUN_REUSES_PR_BRANCH),sandboxReleaseOnRunEndEnabled:W(t.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:j("SANDBOX_RELEASE_GRACE_MS",t.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:t.DECO_SUPABASE_URL,decoSupabaseServiceKey:t.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:t.FIRECRAWL_API_KEY,reportsInternalApiUrl:v(t.REPORTS_INTERNAL_API_URL,t.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:v(t.REPORTS_INTERNAL_API_KEY,t.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:t.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:t.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:t.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:t.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:t.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:t.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:t.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:vx(t.DATABASE_URL),externalNatsUrl:vx(i),skipMigrations:n.skipMigrations}}var jn=null;function A(){if(!jn)ME();return jn}function ME(){if(jn)return;let n={...process.env},t=rx({port:n.PORT||"3000",home:n.DATA_DIR||n.DECOCMS_HOME||"",localMode:n.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:n.DECO_NO_TUI==="true",vitePort:n.VITE_PORT,baseUrl:n.BASE_URL},n);jn=Object.freeze({...t.settings,databaseUrl:n.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(n.NATS_URL||"nats://localhost:4222").split(",").map((_)=>_.trim()).filter(Boolean)})}import{createContextKey as AE,metrics as SE,propagation as Iw,ROOT_CONTEXT as ew,SpanStatusCode as ow,trace as OE}from"@opentelemetry/api";import{logs as IE,SeverityNumber as nx}from"@opentelemetry/api-logs";import{OTLPLogExporter as Vw}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as eE}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as qw}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as rw}from"@opentelemetry/instrumentation-runtime-node";import{context as pP,propagation as BP,SpanKind as GP,SpanStatusCode as AP}from"@opentelemetry/api";var OP=globalThis.fetch;import{ExportResultCode as sP}from"@opentelemetry/core";import{ExportResultCode as $n}from"@opentelemetry/core";import{mkdir as YE,rename as HE,writeFile as pE}from"fs/promises";import{join as an}from"path";class Dn{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(n){this.basePath=n.basePath,this.flushThreshold=n.flushThreshold??1000,this.maxBufferBytes=n.maxBufferBytes??10485760,this.partitionKey=n.partitionKey;let t=n.flushIntervalMs??60000;if(t>0&&t<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((_)=>{console.error("[NDJSONExporter] Timer flush failed:",_)})},t),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(n){if(this.isShutdown)return Promise.resolve({code:$n.FAILED});for(let t of n){let _=JSON.stringify(t),m=this.partitionKey?this.partitionKey(t):"";this.bufferItems.push({partition:m,json:_}),this.bufferBytes+=Buffer.byteLength(_,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:$n.SUCCESS})).catch((t)=>{return console.error("[NDJSONExporter] Flush failed:",t),{code:$n.FAILED}});return Promise.resolve({code:$n.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 t=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=t,t}async doFlush(){if(this.bufferItems.length===0)return;let n=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let t=new Map;for(let x of n){let i=t.get(x.partition);if(!i)i=[],t.set(x.partition,i);i.push(x.json)}let _=await Promise.allSettled(Array.from(t.entries()).map(([x,i])=>this.writeNDJSON(i,x).then(()=>x))),m=_.find((x)=>x.status==="rejected");if(m){let x=new Set;for(let C of _)if(C.status==="fulfilled")x.add(C.value);let i=n.filter((C)=>!x.has(C.partition));this.bufferItems=i.concat(this.bufferItems),this.bufferBytes=0;for(let C of this.bufferItems)this.bufferBytes+=Buffer.byteLength(C.json,"utf8")+1;throw m.reason}}async writeNDJSON(n,t){let _=new Date,m=[String(_.getUTCFullYear()),String(_.getUTCMonth()+1).padStart(2,"0"),String(_.getUTCDate()).padStart(2,"0"),String(_.getUTCHours()).padStart(2,"0")],x=t?an(this.basePath,t,...m):an(this.basePath,...m);if(!this.knownDirs.has(x))await YE(x,{recursive:!0,mode:448}),this.knownDirs.add(x);let i=`${crypto.randomUUID()}.ndjson`,C=an(x,`.${i}.tmp`),T=an(x,i),y=n.join(`
|
|
1137
1137
|
`)+`
|
|
1138
|
-
`;await pE(C,y,{mode:384}),await HE(C,T)}}import{ExportResultCode as tw}from"@opentelemetry/core";import{AggregationTemporality as uw,DataPointType as xw}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Nw}from"@opentelemetry/core";var zw=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as xU,LoggerProvider as mU}from"@opentelemetry/sdk-logs";import{detectResources as TU,envDetector as CU,hostDetector as yU,osDetector as NU,processDetector as KU,resourceFromAttributes as EU}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as zU}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Uw}from"@opentelemetry/api-logs";import{NodeSDK as UU}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as jU,SamplingDecision as S}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Dw}from"@opentelemetry/api";var oE="__d",kE=AE("Current request"),cE=1;var lx=(n)=>{let _=new URL(n.url).searchParams.get(oE);if(_==="")return crypto.randomUUID();if(!_)_=n.headers.get("x-trace-debug-id");return _};class dx{inner;constructor(n){this.inner=n}shouldSample(n,t,_,m,x,i){let C=n.getValue(kE);if(!C){if(this.inner)return this.inner.shouldSample(n,t,_,m,x,i);return{decision:S.RECORD_AND_SAMPLED}}let T=lx(C);if(T)return{decision:S.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":T}};if(this.inner){let y=this.inner.shouldSample(n,t,_,m,x,i);if(y.decision===S.RECORD_AND_SAMPLED){let N=crypto.randomUUID();y.attributes={...y.attributes??{},"trace.debug.id":N}}return y}return{decision:S.NOT_RECORD}}toString(){return"DebugSampler"}}class bx{ratio;constructor(n){this.ratio=n}shouldSample(){if(Math.random()<this.ratio)return{decision:S.RECORD_AND_SAMPLED};return{decision:S.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var
|
|
1138
|
+
`;await pE(C,y,{mode:384}),await HE(C,T)}}import{ExportResultCode as tw}from"@opentelemetry/core";import{AggregationTemporality as uw,DataPointType as xw}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Nw}from"@opentelemetry/core";var zw=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as xU,LoggerProvider as mU}from"@opentelemetry/sdk-logs";import{detectResources as TU,envDetector as CU,hostDetector as yU,osDetector as NU,processDetector as KU,resourceFromAttributes as EU}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as zU}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as Uw}from"@opentelemetry/api-logs";import{NodeSDK as UU}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as jU,SamplingDecision as S}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Dw}from"@opentelemetry/api";var oE="__d",kE=AE("Current request"),cE=1;var lx=(n)=>{let _=new URL(n.url).searchParams.get(oE);if(_==="")return crypto.randomUUID();if(!_)_=n.headers.get("x-trace-debug-id");return _};class dx{inner;constructor(n){this.inner=n}shouldSample(n,t,_,m,x,i){let C=n.getValue(kE);if(!C){if(this.inner)return this.inner.shouldSample(n,t,_,m,x,i);return{decision:S.RECORD_AND_SAMPLED}}let T=lx(C);if(T)return{decision:S.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":T}};if(this.inner){let y=this.inner.shouldSample(n,t,_,m,x,i);if(y.decision===S.RECORD_AND_SAMPLED){let N=crypto.randomUUID();y.attributes={...y.attributes??{},"trace.debug.id":N}}return y}return{decision:S.NOT_RECORD}}toString(){return"DebugSampler"}}class bx{ratio;constructor(n){this.ratio=n}shouldSample(){if(Math.random()<this.ratio)return{decision:S.RECORD_AND_SAMPLED};return{decision:S.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var aU=new eE({preventServerStart:!0}),DU=new dx(new bx(cE));var sx=OE.getTracer("studio","1.0.0"),r=SE.getMeter("studio","1.0.0"),VE=IE.getLogger("studio","1.0.0"),tx=(n,t,_)=>{let m={},x=_,i=_[_.length-1];if(i!==null&&typeof i==="object"&&!Array.isArray(i)&&!(i instanceof Error)&&Object.getPrototypeOf(i)===Object.prototype)m=i,x=_.slice(0,-1);let C=x.map((T)=>{if(T instanceof Error)return`${T.name}: ${T.message}`;if(typeof T==="object")try{return JSON.stringify(T)}catch{return"[Object]"}return String(T)}).join(" ");VE.emit({severityNumber:n,severityText:t,body:C,attributes:{"log.source":"console",...m}})},_x={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...n)=>{tx(nx.ERROR,"ERROR",n),_x.error(...n)};console.warn=(...n)=>{tx(nx.WARN,"WARN",n),_x.warn(...n)};console.debug=(...n)=>{tx(nx.DEBUG,"DEBUG",n),_x.debug(...n)};var ux,nm=0,xx=500;function hE(){if(ux)return;let n=performance.now()+xx;ux=setInterval(()=>{let t=performance.now();nm=Math.max(0,t-n),n=t+xx},xx),ux.unref?.()}function tm(){return hE(),nm}var qE=()=>r.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),_m=()=>r.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),um=400,vE=100,rE=(n)=>(t)=>{let _={"db.statement":t.query.sql,"db.status":t.level==="error"?"error":"success"};if(t.queryDurationMillis>um){let m=tm(),x=m>um/2;console.error(x?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:t.queryDurationMillis,eventLoopLagMs:Math.round(m),sql:t.query.sql,pool:{total:n.totalCount,idle:n.idleCount,waiting:n.waitingCount,max:Ln()}})}if(qE().record(t.queryDurationMillis,_),t.level==="error")console.error("Query failed:",{durationMs:t.queryDurationMillis,error:t.error,sql:t.query.sql})};function sE(n){let t=n.connect.bind(n);return n.connect=(_)=>{if(typeof _==="function")return t(_);let m=performance.now(),x=Ln(),i=n.idleCount===0&&n.totalCount>=x,C=n.idleCount;return t().then((T)=>{let y=performance.now()-m;if(_m().record(y,{"db.pool.outcome":i?"contended":"available"}),y>vE)if(i)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:y,total:n.totalCount,idle:n.idleCount,waiting:n.waitingCount,max:x});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:y,idleAtStart:C,total:n.totalCount,max:x});return T},(T)=>{throw _m().record(performance.now()-m,{"db.pool.outcome":"error"}),T})},n}var im={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Tm(){try{return A().databasePgSsl}catch{return!1}}function Ln(){try{return A().databasePoolMax}catch{return 10}}function lE(n){let t=sE(new mm({connectionString:n,max:Ln(),ssl:Tm(),...im})),_=new xm({pool:t});return{type:"postgres",db:new gE({dialect:_,log:rE(t)}),pool:t}}function l(){return A().databaseUrl}function Cm(n){let t=n||l();return new xm({pool:new mm({connectionString:t,max:Ln(),ssl:Tm(),...im})})}function dE(n){let t=n||l();return lE(t)}async function ym(n){if(await n.db.destroy(),!n.pool.ended)await n.pool.end();if(n===s)s=null}var s=null;function mx(){if(!s)s=dE(l());return s}async function Nm(n){let _={database:Cm(n||l()),plugins:[tf({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),_f(),uf(),xf(),Cf(),Tf({loginPage:"/login"}),nf(),mf({sendMagicLink:async()=>{}}),yf({sendVerificationOTP:async()=>{}})]},{toBeAdded:m,toBeCreated:x,runMigrations:i}=await bE(_);if(!m.length&&!x.length)return"up to date";return await i(),`${x.length+m.length} table(s) migrated`}async function Em(n,t){return(await O`
|
|
1139
1139
|
SELECT table_name FROM information_schema.tables
|
|
1140
1140
|
WHERE table_schema='public' AND table_name=${t}
|
|
1141
1141
|
`.execute(n)).rows.length>0}async function Nf(n){if(await Em(n,"plugin_migrations"))return;await O`
|