decocms 4.532.4 → 4.532.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{ActiveShapeUtils-ChPJqGh0.js → ActiveShapeUtils-CaEgEZvI.js} +1 -1
- package/dist/client/assets/{AlertCircle-BtpKz4PT.js → AlertCircle-jOIG9xCe.js} +1 -1
- package/dist/client/assets/{AreaChart-DZmHXkAp.js → AreaChart-DvTTFEFt.js} +1 -1
- package/dist/client/assets/{ArrowLeft-ahbogFmz.js → ArrowLeft-_8Uks4vi.js} +1 -1
- package/dist/client/assets/{ArrowUp-DyCjG74a.js → ArrowUp-DLq2nLX8.js} +1 -1
- package/dist/client/assets/{BarChart-CiE4pEf-.js → BarChart-CVlhINWt.js} +1 -1
- package/dist/client/assets/{Building02-DxaGdtc9.js → Building02-ZfhRNnW3.js} +1 -1
- package/dist/client/assets/{CartesianChart-cDuBYvE7.js → CartesianChart-BMMqKooR.js} +1 -1
- package/dist/client/assets/{CategoricalChart-DZHmxzzH.js → CategoricalChart-BLs4G68N.js} +1 -1
- package/dist/client/assets/{CheckCircle-D-aNr7ni.js → CheckCircle-CCfdUgg-.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-JCtUtQXM.js → ChevronSelectorVertical-CLCDTwgL.js} +1 -1
- package/dist/client/assets/{ChevronUp-DI2ULEH1.js → ChevronUp-BdV3030b.js} +1 -1
- package/dist/client/assets/{Copy01-CVi-tdIV.js → Copy01-BrgkQFI1.js} +1 -1
- package/dist/client/assets/{CreditCard01-C0r7pxEe.js → CreditCard01-DkLMbgPJ.js} +1 -1
- package/dist/client/assets/{DotsVertical-BRA2E5SW.js → DotsVertical-NceXVduW.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-C64evHjm.js → ErrorBarContext-CDV9mdj1.js} +1 -1
- package/dist/client/assets/{Globe04-Cte1L_TC.js → Globe04-FNU0EBeA.js} +1 -1
- package/dist/client/assets/{Image01-D1k8qTMT.js → Image01-vCYTOYb-.js} +1 -1
- package/dist/client/assets/{Key01-BpgHOWui.js → Key01-fvkjmlGO.js} +1 -1
- package/dist/client/assets/{Link01-DcuF2PJG.js → Link01-Cev0isOx.js} +1 -1
- package/dist/client/assets/{LinkBroken01-CQNo32Ja.js → LinkBroken01-PWwgvIAl.js} +1 -1
- package/dist/client/assets/{Minus-Dhc5_Uny.js → Minus-W1OtKmpt.js} +1 -1
- package/dist/client/assets/{Monitor01-oUm4kh2W.js → Monitor01-BjrEH76P.js} +1 -1
- package/dist/client/assets/{Play-DxsyIVJU.js → Play-CfW34NqC.js} +1 -1
- package/dist/client/assets/{Plus-wcBLBnsy.js → Plus-D6jTbSjz.js} +1 -1
- package/dist/client/assets/{ReferenceLine-Ba0KUpi7.js → ReferenceLine-DNFdKvEw.js} +1 -1
- package/dist/client/assets/{SearchMd-Cd6S_AYP.js → SearchMd-C0QgVvIZ.js} +1 -1
- package/dist/client/assets/{Sector-Dx1I-dh1.js → Sector-B69UBy8k.js} +1 -1
- package/dist/client/assets/{ShoppingBag01-sYpo9zdq.js → ShoppingBag01-BIiKiz9O.js} +1 -1
- package/dist/client/assets/{Sun-DU3-MXlo.js → Sun-CSsYOi-m.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-BwIaA5sf.js → SwitchHorizontal01-DHiD77xh.js} +1 -1
- package/dist/client/assets/{Tool01-BhJrBqSS.js → Tool01-6PhR3Zen.js} +1 -1
- package/dist/client/assets/{Trash01-Bl9OvMDc.js → Trash01-CQPAs_-c.js} +1 -1
- package/dist/client/assets/{Upload01-CxLN401G.js → Upload01-C-WB_MYj.js} +1 -1
- package/dist/client/assets/{UserSquare-BijqROcb.js → UserSquare-Ci6Vs_7m.js} +1 -1
- package/dist/client/assets/{Users01-D1Fzq2jH.js → Users01-VusgyHQ_.js} +1 -1
- package/dist/client/assets/{XClose-DvAqSZdS.js → XClose-Bq0oxdBl.js} +1 -1
- package/dist/client/assets/{ZoomOut-Cp1NVjXu.js → ZoomOut-B-NyeUhx.js} +1 -1
- package/dist/client/assets/{access-gate-DKM36wx_.js → access-gate-B4u9zTxN.js} +1 -1
- package/dist/client/assets/{add-connection-dialog-DE2gX_vu.js → add-connection-dialog-BsZp1K8x.js} +1 -1
- package/dist/client/assets/{agent-analytics-YzDARsvg.js → agent-analytics-BJFArwTy.js} +1 -1
- package/dist/client/assets/agent-app-D3WD7R7r.js +1 -0
- package/dist/client/assets/agent-assets-OCgwdlFL.js +1 -0
- package/dist/client/assets/{agent-automation-3AtSkd1J.js → agent-automation-DWLId-8n.js} +1 -1
- package/dist/client/assets/{agent-automations-CpuaAPmm.js → agent-automations-BbedFyS2.js} +1 -1
- package/dist/client/assets/agent-calendar-1Wbidj3r.js +1 -0
- package/dist/client/assets/{agent-connect-sources-B8hXnUh-.js → agent-connect-sources-ZNRG50jr.js} +1 -1
- package/dist/client/assets/agent-deck-BYKAvJ1l.js +1 -0
- package/dist/client/assets/{agent-e2e-BI6_Y2Qm.js → agent-e2e-RhEj2JKY.js} +1 -1
- package/dist/client/assets/agent-experiments-BZ26UMwX.js +1 -0
- package/dist/client/assets/{agent-file-SiqvdxDu.js → agent-file-7rtwstMm.js} +1 -1
- package/dist/client/assets/{agent-hosting-B2zNelvZ.js → agent-hosting-BNvt-sLY.js} +1 -1
- package/dist/client/assets/{agent-icon-BA0wSxVc.js → agent-icon-DZaQgedH.js} +1 -1
- package/dist/client/assets/agent-library-Vsns06T7.js +1 -0
- package/dist/client/assets/agent-library-file-B3BfnQSq.js +1 -0
- package/dist/client/assets/agent-monitor-BvzYxPND.js +1 -0
- package/dist/client/assets/agent-overview-ezR2wizT.js +1 -0
- package/dist/client/assets/agent-releases-DAzK0i9-.js +2 -0
- package/dist/client/assets/agent-settings-Ts8YYqLg.js +1 -0
- package/dist/client/assets/{agent-site-editor-CTyNCNF-.js → agent-site-editor-CRAYRh8u.js} +2 -2
- package/dist/client/assets/agent-site-editor-code-Bh0XxrD7.js +2 -0
- package/dist/client/assets/agent-site-editor-content-zNmDDpgr.js +1 -0
- package/dist/client/assets/agent-site-editor-preview-BTfJt6gb.js +1 -0
- package/dist/client/assets/agent-view-BhicZJ_m.js +1 -0
- package/dist/client/assets/{agent-view-guard-BpSQOXQJ.js → agent-view-guard-BYlnx8ey.js} +1 -1
- package/dist/client/assets/{agents-list-DHHipu9N.js → agents-list-C2WTCsvS.js} +1 -1
- package/dist/client/assets/ai-providers-B5GOh9nc.js +6 -0
- package/dist/client/assets/{alert-BRAPjpyd.js → alert-BiFRSxzn.js} +1 -1
- package/dist/client/assets/{analytics-sections-BalaLoX8.js → analytics-sections-BWVAR_AK.js} +1 -1
- package/dist/client/assets/{api-keys-Cf4NzzlF.js → api-keys-DBaowngP.js} +1 -1
- package/dist/client/assets/api-keys-sfoKmkCw.js +1 -0
- package/dist/client/assets/{app-editor-CqYdTBdQ.js → app-editor-C4ezWxp1.js} +1 -1
- package/dist/client/assets/{asset-utils-DfcCDt_8.js → asset-utils-CO7YyrzG.js} +1 -1
- package/dist/client/assets/{auth-Cq02D4nn.js → auth-Dt4Bt9uU.js} +1 -1
- package/dist/client/assets/{auth-catchall-DSSPM0vv.js → auth-catchall-BQwv93_V.js} +1 -1
- package/dist/client/assets/{auth-entry-DnT8rRES.js → auth-entry-CGm-IlH8.js} +1 -1
- package/dist/client/assets/{auth-split-layout-D4wlm7YR.js → auth-split-layout-CciG8j1A.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-BBrRZnWN.js → authenticate-and-persist-oauth-CpA_y6h5.js} +1 -1
- package/dist/client/assets/{automation-list-row-CHZWDcvt.js → automation-list-row-j7-nDQSC.js} +1 -1
- package/dist/client/assets/{automation-runs-B6QZ0ROW.js → automation-runs-CZa8ZYjg.js} +1 -1
- package/dist/client/assets/{automations-BcM3w1v2.js → automations-BJqFZ_RC.js} +1 -1
- package/dist/client/assets/{autosend-Co5xz8Gi.js → autosend-Dlj7a5ki.js} +1 -1
- package/dist/client/assets/{badge-gZsmT22J.js → badge-D75N0A5V.js} +1 -1
- package/dist/client/assets/{block-document-2K7R3kCf.js → block-document-BzQcJvEw.js} +1 -1
- package/dist/client/assets/{blocks-preview-workspace-context-Pg-1gGNK.js → blocks-preview-workspace-context-BH9CZ1Sh.js} +1 -1
- package/dist/client/assets/{blocks-tab-states-BtE_pKjX.js → blocks-tab-states-BCs3jAKi.js} +1 -1
- package/dist/client/assets/{blog-schema-DPqkYVXa.js → blog-schema-BZiz_P3C.js} +1 -1
- package/dist/client/assets/{buckets-B6n9Srkv.js → buckets-ruGHyjqH.js} +1 -1
- package/dist/client/assets/{build-improve-prompt-doc-COJilRIS.js → build-improve-prompt-doc-C2vRe40c.js} +1 -1
- package/dist/client/assets/{calendar-XpraAwVM.js → calendar-BuApW2el.js} +1 -1
- package/dist/client/assets/{capability-load-error-BWJxAmDU.js → capability-load-error-Cjx_YomY.js} +1 -1
- package/dist/client/assets/{category-editor-D9WstmCu.js → category-editor-BX05PNR9.js} +1 -1
- package/dist/client/assets/{cdn-tab-CvUbabiJ.js → cdn-tab-CQiLr5VD.js} +1 -1
- package/dist/client/assets/{chart-CwYqQLKp.js → chart-RIuC025E.js} +1 -1
- package/dist/client/assets/{chat-context-CLLbJGXj.js → chat-context-CvGFWv-h.js} +1 -1
- package/dist/client/assets/chat-draft-79guk-Wd.js +1 -0
- package/dist/client/assets/{checkbox-C9UULR8k.js → checkbox-DGP86Cq2.js} +1 -1
- package/dist/client/assets/{choose-editor-BbrK1J6q.js → choose-editor-BZx3WDkU.js} +1 -1
- package/dist/client/assets/{cli-auth-success-017xXJSi.js → cli-auth-success-BbIR5eLw.js} +1 -1
- package/dist/client/assets/{client-icons-DC2uTuOI.js → client-icons-DVVzXauu.js} +1 -1
- package/dist/client/assets/{cms-settings-editor-Db-HeJmw.js → cms-settings-editor-zWjP_MSw.js} +1 -1
- package/dist/client/assets/{collapsible-SvWPym8d.js → collapsible-DT2lPC2i.js} +1 -1
- package/dist/client/assets/{collection-detail-BlKohPLw.js → collection-detail-CDAsZNtZ.js} +1 -1
- package/dist/client/assets/{collection-display-button-BywO1R2t.js → collection-display-button-CkzLqa8z.js} +1 -1
- package/dist/client/assets/{collection-search-DtdoGA9K.js → collection-search-DdYo6ZJM.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BrBXdd-g.js → collection-table-wrapper-DOE2xCN7.js} +1 -1
- package/dist/client/assets/{collection-tabs-CTyTx68t.js → collection-tabs-D2GKtGRE.js} +1 -1
- package/dist/client/assets/{column-rules-KE9740K5.js → column-rules-COOGrYaE.js} +1 -1
- package/dist/client/assets/{combobox-CKuPCd5z.js → combobox-BpHVcxdl.js} +1 -1
- package/dist/client/assets/{command-p6B9RH3h.js → command-BPrKG1um.js} +1 -1
- package/dist/client/assets/{companion-mcps-section-BCMOAnvk.js → companion-mcps-section-C34v2ZVp.js} +1 -1
- package/dist/client/assets/{config-BpSR7fZ-.js → config-CrE-5lEN.js} +1 -1
- package/dist/client/assets/{connect-B8AXFjdY.js → connect-DIR96ZjB.js} +1 -1
- package/dist/client/assets/{connect-layout-6-TUS84W.js → connect-layout-D_R5PTBQ.js} +1 -1
- package/dist/client/assets/{connect-source-dialog-FYlss7nI.js → connect-source-dialog-BtO2E5rg.js} +1 -1
- package/dist/client/assets/{connection-B_vJ6T29.js → connection-VR1-8TY_.js} +1 -1
- package/dist/client/assets/{connection-card-DVkZvaM-.js → connection-card-m08LCCLa.js} +1 -1
- package/dist/client/assets/{connection-detail-Bzl_oJx2.js → connection-detail-BR4VlVh4.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-lSHy9dtX.js → connection-form-helpers-5fcC6G7T.js} +1 -1
- package/dist/client/assets/{connections-BvgIlAU9.js → connections-CNFBHUoQ.js} +1 -1
- package/dist/client/assets/{content-tab-BVHV6dPn.js → content-tab-CxBlYet7.js} +3 -3
- package/dist/client/assets/{context-DZ-o1G_r.js → context-DNy7BuDU.js} +1 -1
- package/dist/client/assets/{context-menu-4iKJivEI.js → context-menu-BvMdHD-C.js} +1 -1
- package/dist/client/assets/{context-shell-D-Byl_hS.js → context-shell-CNGcDLrO.js} +3 -3
- package/dist/client/assets/{core.esm-DJ7xaMj8.js → core.esm-BIBcQwfP.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-upyyqwAS.js → create-organization-dialog-BaaEyeFH.js} +1 -1
- package/dist/client/assets/{daily-pulse-DBSqxt03.js → daily-pulse-CMR9-GnX.js} +1 -1
- package/dist/client/assets/{discover-CPqRIc0t.js → discover-ClGyGe3-.js} +1 -1
- package/dist/client/assets/{domain-settings-DnbRmOHt.js → domain-settings-DMd56nMZ.js} +1 -1
- package/dist/client/assets/{drawer-Dp0r57Qp.js → drawer-BbHWEcoO.js} +1 -1
- package/dist/client/assets/{editor-BCBz6jsB.js → editor-BQnQRfuC.js} +1 -1
- package/dist/client/assets/{editor-classes-CUvsZ6TK.js → editor-classes-CjarBUxd.js} +1 -1
- package/dist/client/assets/{empty-state-7LsTt5sL.js → empty-state-DSOiHjIr.js} +1 -1
- package/dist/client/assets/{empty-state-rcQuHhk6.js → empty-state-DbHzf9GG.js} +1 -1
- package/dist/client/assets/{experiments-tab-D7malH84.js → experiments-tab-Bp5-LE9m.js} +1 -1
- package/dist/client/assets/{experiments-tab-choice-DDomXBPA.js → experiments-tab-choice-BtQeitL5.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BvfRDqC4.js → extract-connection-data-3Hme2Zoo.js} +1 -1
- package/dist/client/assets/{feature-gate-DdfwuiKB.js → feature-gate-B4PWnNtI.js} +1 -1
- package/dist/client/assets/{feature-paywall-pnXia0J8.js → feature-paywall-unKuVWEv.js} +1 -1
- package/dist/client/assets/{file-explorer-CFF6fba5.js → file-explorer-B6_6d9ym.js} +1 -1
- package/dist/client/assets/{file-preview-Bj2kFfso.js → file-preview-CvVeo5lb.js} +1 -1
- package/dist/client/assets/{file-share-button-DSVwr_sV.js → file-share-button-B2eb16IR.js} +1 -1
- package/dist/client/assets/{file-type-icon-tH_Br6Of.js → file-type-icon-BLyYqjqs.js} +1 -1
- package/dist/client/assets/{folder-icon-BJ1ZRLFL.js → folder-icon-DVsxlA37.js} +1 -1
- package/dist/client/assets/{form-CDBWVZmE.js → form-3bkiF7gA.js} +1 -1
- package/dist/client/assets/{general-BTB_XY1d.js → general-BBW186Xk.js} +1 -1
- package/dist/client/assets/{held-block-view-BYiRzwJw.js → held-block-view-DKSlN_M8.js} +3 -3
- package/dist/client/assets/home-BwQwFYqB.js +1 -0
- package/dist/client/assets/{hosted-publish-feedback-BX6_-Epi.js → hosted-publish-feedback-DMwKmJc6.js} +1 -1
- package/dist/client/assets/{icon-button-DVmDp8lL.js → icon-button-C7r3KkLl.js} +1 -1
- package/dist/client/assets/{index-Dw0ALa60.js → index-B-myEQ-9.js} +1 -1
- package/dist/client/assets/{index-CeFLqtNb.js → index-B1iuWsoy.js} +1 -1
- package/dist/client/assets/{index-nn0dWPfn.js → index-BT5RfFsD.js} +1 -1
- package/dist/client/assets/{index-B9XczdNY.js → index-BTDTw5bI.js} +1 -1
- package/dist/client/assets/{index-DROH6MCH.js → index-BaHr9Mli.js} +1 -1
- package/dist/client/assets/{index-C86JEmj3.js → index-BiNrH4hx.js} +1 -1
- package/dist/client/assets/{index-CFx9VdIE.js → index-CAQmqKZU.js} +1 -1
- package/dist/client/assets/index-CDXVQ_TQ.css +1 -0
- package/dist/client/assets/{index-DucOKncm.js → index-CIeIfvHH.js} +1 -1
- package/dist/client/assets/{index-B6sjLnnC.js → index-CfC1PX7J.js} +1 -1
- package/dist/client/assets/{index-BIoURtql.js → index-D0G7YkWj.js} +1 -1
- package/dist/client/assets/{index-Ce_Co-9r.js → index-D36RGabD.js} +1 -1
- package/dist/client/assets/{index-CsZnvO4A.js → index-D5-rPFl4.js} +1 -1
- package/dist/client/assets/{index-6TnHuNKo.js → index-EE1WZwgi.js} +1 -1
- package/dist/client/assets/{index-BHfNbC3J.js → index-Eerqiqov.js} +44 -44
- package/dist/client/assets/{index-C1jnfnTx.js → index-b5BVAi8c.js} +1 -1
- package/dist/client/assets/{index-redirect-CkhmqmlO.js → index-redirect-CfxRp26H.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-V9LqyXQl.js → infiniteQueryObserver-iS78U_ZL.js} +1 -1
- package/dist/client/assets/{infra-billing-D1cg_G5x.js → infra-billing-Do3_PCQa.js} +1 -1
- package/dist/client/assets/input-BAOR7gdz.js +17 -0
- package/dist/client/assets/{input-3ql30_TD.js → input-DHL7GZ6i.js} +1 -1
- package/dist/client/assets/{integration-icon-B0-KqsSh.js → integration-icon-hnsUAm4P.js} +1 -1
- package/dist/client/assets/{jira-icon-DBG6iiVj.js → jira-icon-anvLEqTG.js} +1 -1
- package/dist/client/assets/{label-DP4jFd6T.js → label-Xa3-kfx-.js} +1 -1
- package/dist/client/assets/{layout-Cqr-RNfg.js → layout-BNnl1pe_.js} +1 -1
- package/dist/client/assets/{legacy-agents-deep-CbLdTgKM.js → legacy-agents-deep-CFLUUxZv.js} +1 -1
- package/dist/client/assets/{legacy-main-redirect-UaYyBO2R.js → legacy-main-redirect-C7qbhkZW.js} +1 -1
- package/dist/client/assets/library-B56igKFJ.js +1 -0
- package/dist/client/assets/{login-BF7XBFc4.js → login-C0varsfP.js} +1 -1
- package/dist/client/assets/{markdown-DOcKgQkI.js → markdown-DIA98dM4.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-D9gtw-L1.js → mcp-app-renderer-RoNKZSiQ.js} +1 -1
- package/dist/client/assets/{mcp-oauth-BcU5Vr1i.js → mcp-oauth-BLWkV7q2.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CA0hjUdX.js → mcp-oauth-CKJml8s4.js} +1 -1
- package/dist/client/assets/{members-BYa7_oFh.js → members-l0Uk-01a.js} +1 -1
- package/dist/client/assets/{memory-D_LKKGXZ.js → memory-Dku-PynJ.js} +1 -1
- package/dist/client/assets/{mini-report-page-DY5IFbuc.js → mini-report-page-Dg68LsyX.js} +1 -1
- package/dist/client/assets/mock-board-sdDWQCOi.js +81 -0
- package/dist/client/assets/{monaco-editor-CT_wKOJZ.js → monaco-editor-BiT8gsWu.js} +1 -1
- package/dist/client/assets/{monitoring-B9KxDoyY.js → monitoring-DIpVFk3x.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-C0f3BIfr.js → monitoring-stats-row-GbEs0vfi.js} +1 -1
- package/dist/client/assets/{multi-select-CLYdfe2Y.js → multi-select-CeVCMpnB.js} +1 -1
- package/dist/client/assets/{mustache-C9_SXOP4.js → mustache-C5PE2AcG.js} +1 -1
- package/dist/client/assets/{named-rule-uses-bPdRY20_.js → named-rule-uses-BbiJYV7K.js} +1 -1
- package/dist/client/assets/{new-project-dialog-KevIoouL.js → new-project-dialog-DcTSDqB4.js} +1 -1
- package/dist/client/assets/{oauth-callback-CvHr64Gj.js → oauth-callback-D1IcQ0gF.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Cpn9kidM.js → oauth-callback-ai-provider-pOfP7Wuq.js} +1 -1
- package/dist/client/assets/{onboarding-BwWF1qci.js → onboarding-VScNPjdc.js} +1 -1
- package/dist/client/assets/openai-conversation-Dp0LJtYI.js +3 -0
- package/dist/client/assets/{optimistic-project-sidebar-views-Cjk0pCBE.js → optimistic-project-sidebar-views-SslPXcWG.js} +1 -1
- package/dist/client/assets/{order-monitor-day-Cnmpuv9f.js → order-monitor-day-BBzImHhI.js} +1 -1
- package/dist/client/assets/{organization-choice-d2BKN9Yu.js → organization-choice-Cl7qE_RO.js} +1 -1
- package/dist/client/assets/{orgs-B5jtYoeL.js → orgs-Sl5FOyjY.js} +1 -1
- package/dist/client/assets/{page-seo-form-CBz7r4kq.js → page-seo-form-B35bS6Dz.js} +1 -1
- package/dist/client/assets/{pair-CPz7fX5d.js → pair-BFZ1-7EF.js} +1 -1
- package/dist/client/assets/{parse-sections-DTGij5pB.js → parse-sections-D5OscMYn.js} +1 -1
- package/dist/client/assets/{plan-Je9PR-gV.js → plan-DgYeg1Ok.js} +1 -1
- package/dist/client/assets/{plan-ladder-C_QWsvUa.js → plan-ladder-BdEpibHS.js} +1 -1
- package/dist/client/assets/{popover-DHMsFNZO.js → popover-Cbt_vWk8.js} +1 -1
- package/dist/client/assets/{post-calendar-DHdFzSXi.js → post-calendar-D7bgMx0p.js} +1 -1
- package/dist/client/assets/{post-editor-CM8HHeAu.js → post-editor-Ib_8CS-D.js} +1 -1
- package/dist/client/assets/{preview-content-Dp2VvNmO.js → preview-content-cH2oId8v.js} +1 -1
- package/dist/client/assets/{preview-dialog-B07lPMsZ.js → preview-dialog-B0HSIZGb.js} +1 -1
- package/dist/client/assets/{preview-panel-CbVzeDkq.js → preview-panel-DpPhUwWS.js} +1 -1
- package/dist/client/assets/{preview-tab-Za6eM9ZE.js → preview-tab-CDaNYmuf.js} +3 -3
- package/dist/client/assets/{product-picker-dialog-dZwwYRcD.js → product-picker-dialog-C0lhSxiS.js} +1 -1
- package/dist/client/assets/{profile-BKmWx2G8.js → profile-DAd5_CmP.js} +1 -1
- package/dist/client/assets/{project-app-view-OhNlFwLe.js → project-app-view-DqngjGIv.js} +1 -1
- package/dist/client/assets/{project-apps-ByR971WC.js → project-apps-CzIX1SOl.js} +1 -1
- package/dist/client/assets/project-feed-D-6gHRtu.js +1 -0
- package/dist/client/assets/{project-icon-BRzC7xun.js → project-icon-CSGa4vs9.js} +1 -1
- package/dist/client/assets/project-reports--BggROx1.js +1 -0
- package/dist/client/assets/project-tasks-BtH26LId.js +1 -0
- package/dist/client/assets/{projects-Dx9YO4qB.js → projects--zQcNRJ7.js} +1 -1
- package/dist/client/assets/{projects-empty-state-Cwl_vLQO.js → projects-empty-state-DZbm-x_w.js} +1 -1
- package/dist/client/assets/{prompts-Dchn2MBF.js → prompts-BQQpsOSB.js} +1 -1
- package/dist/client/assets/record-editor-DDElm_gy.js +1 -0
- package/dist/client/assets/{redirect-editor-Boretiu3.js → redirect-editor-DhQU6lBj.js} +1 -1
- package/dist/client/assets/{releases-api-CbLXrRtA.js → releases-api-BbcN2ds5.js} +1 -1
- package/dist/client/assets/reports-BLMli2Ob.js +1 -0
- package/dist/client/assets/{reports-C9BgQpmt.js → reports-BSzjfrfU.js} +1 -1
- package/dist/client/assets/{reports-onboarding-U9ww7IJw.js → reports-onboarding-B1l96Ujh.js} +1 -1
- package/dist/client/assets/{reports-tab-CcMOyz5E.js → reports-tab-BkMuhd4d.js} +2 -2
- package/dist/client/assets/repositories-BKjfiom2.js +1 -0
- package/dist/client/assets/{repositories-CZuNni9b.js → repositories-Dl4QDB4s.js} +1 -1
- package/dist/client/assets/{repository-binding-BQa5osxz.js → repository-binding-KZB58w-2.js} +1 -1
- package/dist/client/assets/{repository-import-picker-bX-bkV1W.js → repository-import-picker-DYPUFMdx.js} +1 -1
- package/dist/client/assets/{repository-picker-CosSYciA.js → repository-picker-B02wIamX.js} +1 -1
- package/dist/client/assets/{require-capability-CEpjmn3B.js → require-capability-CljEbxi5.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Dc3A1ins.js → required-auth-layout-CmXM02vz.js} +1 -1
- package/dist/client/assets/{reset-password-BdbuaRA3.js → reset-password-Bd10KjY-.js} +1 -1
- package/dist/client/assets/{resizable-B1cWqD6a.js → resizable-CXIZE_hW.js} +1 -1
- package/dist/client/assets/{resolve-tab-icon-CKAqLX6_.js → resolve-tab-icon-Dpgdgm-t.js} +1 -1
- package/dist/client/assets/{review-settings-BhoF6EAe.js → review-settings-cy271krk.js} +1 -1
- package/dist/client/assets/roles-PkGKwJOl.js +1 -0
- package/dist/client/assets/route-CR5LF-A_.js +1 -0
- package/dist/client/assets/route-DLCKqdUY.js +1 -0
- package/dist/client/assets/{route-Dr_Vx4mu.js → route-esd8fOd_.js} +1 -1
- package/dist/client/assets/{sandbox-lifecycle-context-CJ_lOQLz.js → sandbox-lifecycle-context-BQlCmryG.js} +1 -1
- package/dist/client/assets/{schema-C9GQaQi3.js → schema-D5akFAgF.js} +1 -1
- package/dist/client/assets/{schema-BuKZ6x5v.js → schema-DBB7PEat.js} +1 -1
- package/dist/client/assets/{scroll-area-BANFTsxP.js → scroll-area-CBIqjbuN.js} +1 -1
- package/dist/client/assets/{search-input-675T6lu5.js → search-input-CkkobQWH.js} +1 -1
- package/dist/client/assets/{search-toggle-DIPbCLr7.js → search-toggle-DTZ5LcBf.js} +1 -1
- package/dist/client/assets/{secret-picker-xGDtanwg.js → secret-picker-7fFaVsab.js} +1 -1
- package/dist/client/assets/{secrets-C5yk5Rf_.js → secrets-hIiUhz6W.js} +1 -1
- package/dist/client/assets/{section-array-field-DpS0YJzV.js → section-array-field-BWDrSXQo.js} +1 -1
- package/dist/client/assets/{sections-BpeDTv5B.js → sections-CQ-Lj8q1.js} +1 -1
- package/dist/client/assets/{sections-editor-DvvKQ5Ao.js → sections-editor-DV8WlU6x.js} +1 -1
- package/dist/client/assets/{select-DeUMpSJ9.js → select-DP0eyC6X.js} +1 -1
- package/dist/client/assets/{select-model-flGcww1p.js → select-model-C3jHcZMF.js} +1 -1
- package/dist/client/assets/{seo-editor-BFG4AFCF.js → seo-editor-CZdRbo95.js} +1 -1
- package/dist/client/assets/{separator-CMFiGe9c.js → separator-B1lWsFYM.js} +1 -1
- package/dist/client/assets/settings-tab-PcrvpSlL.js +1 -0
- package/dist/client/assets/{sheet-D6OsnI4Q.js → sheet-CUAyRITn.js} +1 -1
- package/dist/client/assets/{shell-layout-v3SXhoC6.js → shell-layout-C7s-5JS_.js} +1 -1
- package/dist/client/assets/{site-draft-actions-CExA5GRl.js → site-draft-actions-0o1aJ_Ii.js} +1 -1
- package/dist/client/assets/{site-draft-view-bCNdZjgN.js → site-draft-view-D3ClHIAK.js} +2 -2
- package/dist/client/assets/site-editor-_Yy0JEP2.js +1 -0
- package/dist/client/assets/{site-editor-toast-KFvABq33.js → site-editor-toast-Bqjpfikq.js} +1 -1
- package/dist/client/assets/{skills-Dbf3rR0W.js → skills-DTOIb5fj.js} +1 -1
- package/dist/client/assets/{slider-CY8f0V_U.js → slider-BXuOFsbm.js} +1 -1
- package/dist/client/assets/{sortable.esm-BySuc2kW.js → sortable.esm-DeloZlht.js} +1 -1
- package/dist/client/assets/{sso-BikZKw53.js → sso-C-Cu1NgK.js} +1 -1
- package/dist/client/assets/{suggestion-Dng1OvVu.js → suggestion-DYg6WYnB.js} +1 -1
- package/dist/client/assets/{switch-CRLlGWRm.js → switch-CUfqF0u0.js} +1 -1
- package/dist/client/assets/{symbol-IDB1a86s.js → symbol-Y0_sDhOG.js} +1 -1
- package/dist/client/assets/{synced-repos-DijY8Z0t.js → synced-repos-D6AR2hcP.js} +1 -1
- package/dist/client/assets/{tab-icon-glyph-DqxS1W2O.js → tab-icon-glyph-D0eLYAJw.js} +1 -1
- package/dist/client/assets/{table-DURb9CvE.js → table-DzquLl7H.js} +1 -1
- package/dist/client/assets/{tabs-BmUHuMh_.js → tabs-CxqBR9sE.js} +1 -1
- package/dist/client/assets/{task-assignee-avatar-ETqhRnIl.js → task-assignee-avatar-BFX0H7zg.js} +1 -1
- package/dist/client/assets/{task-board-C0HnttyI.js → task-board-BNvtXGbP.js} +1 -1
- package/dist/client/assets/{task-route-DCdSOzRh.js → task-route-DF62oKjR.js} +1 -1
- package/dist/client/assets/{task-status-B3vHcktz.js → task-status-CTUPBrLv.js} +1 -1
- package/dist/client/assets/{taskboard-analytics-DmlxZ5Mf.js → taskboard-analytics-D2sJfyE9.js} +1 -1
- package/dist/client/assets/tasks-Bvf0_0rU.js +1 -0
- package/dist/client/assets/{tasks-CjGAgQXL.js → tasks-CTFSddHq.js} +1 -1
- package/dist/client/assets/{textarea-D-M04FyU.js → textarea-DvlUXyij.js} +1 -1
- package/dist/client/assets/{thread-analytics-D71NRRmc.js → thread-analytics-D2EbCjiW.js} +1 -1
- package/dist/client/assets/{thread-intent-Cz3k9J0V.js → thread-intent-2QF6UB5v.js} +1 -1
- package/dist/client/assets/{thread-route-BZApRytK.js → thread-route-BcSR1m2U.js} +1 -1
- package/dist/client/assets/{thread-route-WzhwdvG6.js → thread-route-CH3h5qSV.js} +1 -1
- package/dist/client/assets/{thread-sheet-body-a_5G_x24.js → thread-sheet-body-O6gj82sE.js} +1 -1
- package/dist/client/assets/{time-range-picker-By2VKq20.js → time-range-picker-Dgucnv9O.js} +1 -1
- package/dist/client/assets/{toggle-group-CuZdEcaQ.js → toggle-group-DwpQikZN.js} +1 -1
- package/dist/client/assets/{tool-namespace-BCjfmbIj.js → tool-namespace-DanZwx0o.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-CLfu4oc8.js → toolbar-icon-button-BP54TQcq.js} +1 -1
- package/dist/client/assets/{tooltip-BHKDYyNW.js → tooltip-BeUMsxMI.js} +1 -1
- package/dist/client/assets/{tooltipContext-CiCw0f_4.js → tooltipContext-BE-wVVaN.js} +1 -1
- package/dist/client/assets/{track-DapsK5NY.js → track-DLlAvgye.js} +1 -1
- package/dist/client/assets/{types-XXF2z162.js → types-Cgw14OXs.js} +1 -1
- package/dist/client/assets/{url-slug-DCBs2Iee.js → url-slug-DwegcalB.js} +1 -1
- package/dist/client/assets/{usage-stats-DyTGad0G.js → usage-stats-DUSZbgQM.js} +1 -1
- package/dist/client/assets/{use-ai-providers-Bx_YK4SP.js → use-ai-providers-BOLylj9n.js} +1 -1
- package/dist/client/assets/{use-apply-named-rule-sn752YMP.js → use-apply-named-rule-DZIa-otS.js} +1 -1
- package/dist/client/assets/{use-automations-Bn3XK6SO.js → use-automations-xMTC389u.js} +1 -1
- package/dist/client/assets/{use-autosave-BBFmGfRr.js → use-autosave-BK1o7sId.js} +1 -1
- package/dist/client/assets/{use-chat-layout-state-B_AOeaBZ.js → use-chat-layout-state-BtaZCsN0.js} +1 -1
- package/dist/client/assets/{use-clock-tick-CpFwzf-R.js → use-clock-tick-CViWLJW6.js} +1 -1
- package/dist/client/assets/{use-cms-publish-actions-cpjQhbMn.js → use-cms-publish-actions-B2liybYe.js} +1 -1
- package/dist/client/assets/{use-connect-companion-B1v45-YA.js → use-connect-companion-DjNwgdvN.js} +1 -1
- package/dist/client/assets/{use-connection-BHV4hlr5.js → use-connection-CUQEiOKF.js} +1 -1
- package/dist/client/assets/{use-copy-FdbZaK00.js → use-copy-BuVlDvqK.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CeFhyP52.js → use-create-virtual-mcp-CMOkfmhX.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-Cc5HqSt5.js → use-date-fns-locale-CgxGKPOF.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-D0OZ0z3L.js → use-debounced-autosave-Cnvr2tML.js} +1 -1
- package/dist/client/assets/{use-debounced-value-CFShX-im.js → use-debounced-value-T1nAopdz.js} +1 -1
- package/dist/client/assets/{use-deco-credits-Dj7f8XC0.js → use-deco-credits-Dnc_MUtc.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-Ca_CO8xU.js → use-decopilot-events-U5tAu9TR.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DoOw898x.js → use-delete-connection-DL_8OV14.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-CCtkUNgJ.js → use-deployment-admin-mCVhcBbt.js} +1 -1
- package/dist/client/assets/{use-fast-preview-draft-url-DVMYcZ0S.js → use-fast-preview-draft-url-B892eFex.js} +1 -1
- package/dist/client/assets/{use-file-configs-L_EIZykF.js → use-file-configs-zjL2Msx1.js} +1 -1
- package/dist/client/assets/{use-inbox-feed-SET_Qqr-.js → use-inbox-feed-BkBIKtGQ.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-ou4V9KG1.js → use-infinite-scroll-BEBXnjbr.js} +1 -1
- package/dist/client/assets/{use-join-requests-chrt_1MF.js → use-join-requests-CStaZ0cx.js} +1 -1
- package/dist/client/assets/{use-main-panel-tabs-DIRjMqa3.js → use-main-panel-tabs-CtFzsSwR.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-z87-JiLY.js → use-mcp-auth-status-CX42fxSK.js} +1 -1
- package/dist/client/assets/{use-mcp-client-Dkhr6mNw.js → use-mcp-client-C7hfgna6.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-CIKYKwtF.js → use-mcp-prompts-DG16xOih.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BKhJVoW_.js → use-mcp-tools-DHAm-mZ9.js} +1 -1
- package/dist/client/assets/{use-mobile-DI2FTIL0.js → use-mobile-OZeYs1sc.js} +1 -1
- package/dist/client/assets/{use-move-blocks-B14_P9tC.js → use-move-blocks-DZRs2Tq4.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-6ltC9eW0.js → use-navigate-to-agent-BTGHN1oT.js} +1 -1
- package/dist/client/assets/{use-org-fs-CB3veWHZ.js → use-org-fs-DuMRrW4w.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-6J5O5qVp.js → use-org-repo-syncs-DuwuKFY_.js} +1 -1
- package/dist/client/assets/{use-org-sso-DoYxVAf1.js → use-org-sso-ColRK-4Z.js} +1 -1
- package/dist/client/assets/{use-organization-roles-BDn2Q_fr.js → use-organization-roles-BNigfcRy.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Dkjdf4nA.js → use-organization-settings-CklqK5BR.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-BsaNinK5.js → use-panel-navigate-BOjorSi_.js} +1 -1
- package/dist/client/assets/{use-project-native-view-presence-COOx7x9i.js → use-project-native-view-presence-CpqSv0YX.js} +1 -1
- package/dist/client/assets/{use-project-scope-DUjnfoFF.js → use-project-scope-OhYmpl-f.js} +1 -1
- package/dist/client/assets/{use-recent-apps-BZ1V26Xs.js → use-recent-apps-BeUhaRzW.js} +1 -1
- package/dist/client/assets/{use-releases-978ACBrZ.js → use-releases-BLEwTEPV.js} +1 -1
- package/dist/client/assets/{use-reports-diagnostic-GepFD608.js → use-reports-diagnostic-CtztGq91.js} +1 -1
- package/dist/client/assets/{use-sandbox-events-tMbTFRNA.js → use-sandbox-events-BVKGc322.js} +1 -1
- package/dist/client/assets/{use-secrets-22jE29ga.js → use-secrets-DylsrZo5.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-DoatuuwF.js → use-section-preview-base-h_pomxT5.js} +1 -1
- package/dist/client/assets/{use-session-runtime-DqV0h8GY.js → use-session-runtime-BlwCZ3_M.js} +1 -1
- package/dist/client/assets/{use-sidebar-collapsed-DfprbLGc.js → use-sidebar-collapsed-DcUeoIyv.js} +1 -1
- package/dist/client/assets/{use-tags--xoooGVd.js → use-tags-CG8gfaqc.js} +1 -1
- package/dist/client/assets/{use-task-board-analytics-B0HvVIZ9.js → use-task-board-analytics-BcQ8xsa4.js} +1 -1
- package/dist/client/assets/{use-task-board-events-OAPO3lhD.js → use-task-board-events-Uth7T32r.js} +1 -1
- package/dist/client/assets/{use-task-board-item-prs-HXPEyO5q.js → use-task-board-item-prs-X8lLBwzK.js} +1 -1
- package/dist/client/assets/{use-task-metadata-DiHVSC33.js → use-task-metadata-J0TFwvf-.js} +1 -1
- package/dist/client/assets/{use-thread-analytics-w_rB9QIG.js → use-thread-analytics-D_7l5iPc.js} +1 -1
- package/dist/client/assets/{use-thread-outputs-DKCnoHd3.js → use-thread-outputs-Cfs5YYcH.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BeSDpZ7K.js +1 -0
- package/dist/client/assets/{useQueries-KktKhtBK.js → useQueries-CGzYxGrD.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CQ7lINLo.js +1 -0
- package/dist/client/assets/{users-Ccz0EkLs.js → users-DQmvpPZK.js} +1 -1
- package/dist/client/assets/{utils-C-JscWIZ.js → utils-VIj0edpp.js} +1 -1
- package/dist/client/assets/{variant-calendar-CIx6nlV_.js → variant-calendar-FArzy9OJ.js} +1 -1
- package/dist/client/assets/{variant-matcher-override-BS5Ktooo.js → variant-matcher-override-BcRlTW4r.js} +1 -1
- package/dist/client/assets/{view-header-vhlXWyA_.js → view-header-2IYyW_vA.js} +1 -1
- package/dist/client/assets/{virtual-mcp-DlFkWVPE.js → virtual-mcp-BTjE71TS.js} +1 -1
- package/dist/client/assets/{watch-sse-pool-WDeFSNQB.js → watch-sse-pool-6Jke1Dx5.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +36 -36
- package/dist/server/migrate-dbos.js +2 -2
- package/dist/server/migrate.js +154 -154
- package/dist/server/server.js +818 -818
- package/package.json +1 -1
- package/dist/client/assets/agent-app-DCimJxt7.js +0 -1
- package/dist/client/assets/agent-assets-CKWKjJVe.js +0 -1
- package/dist/client/assets/agent-calendar-CvhUXQcR.js +0 -1
- package/dist/client/assets/agent-deck-lEVBCGON.js +0 -1
- package/dist/client/assets/agent-experiments-YQlAf7zr.js +0 -1
- package/dist/client/assets/agent-library-Ba6xxY0S.js +0 -1
- package/dist/client/assets/agent-library-file-C1MFH3K4.js +0 -1
- package/dist/client/assets/agent-monitor-CaemcP0H.js +0 -1
- package/dist/client/assets/agent-overview-DshioPXr.js +0 -1
- package/dist/client/assets/agent-releases-D5Z2vsLx.js +0 -2
- package/dist/client/assets/agent-settings-B_btYOUt.js +0 -1
- package/dist/client/assets/agent-site-editor-code-Dhb4M-7j.js +0 -2
- package/dist/client/assets/agent-site-editor-content-V5UD-MGZ.js +0 -1
- package/dist/client/assets/agent-site-editor-preview-CKQ1fN9d.js +0 -1
- package/dist/client/assets/agent-view-Bbabi60T.js +0 -1
- package/dist/client/assets/ai-providers-DZBGz0NB.js +0 -6
- package/dist/client/assets/api-keys-DZxhiAP3.js +0 -1
- package/dist/client/assets/chat-draft-BH6THiDR.js +0 -1
- package/dist/client/assets/home-Bww65mfc.js +0 -1
- package/dist/client/assets/index-DJP2Tw2D.css +0 -1
- package/dist/client/assets/input-BhtnU6ti.js +0 -17
- package/dist/client/assets/library-5HUi0FUB.js +0 -1
- package/dist/client/assets/mock-board-BTicfoXo.js +0 -81
- package/dist/client/assets/openai-conversation-CLJJf4OK.js +0 -3
- package/dist/client/assets/project-feed-Btx2WdF9.js +0 -1
- package/dist/client/assets/project-reports-C5YM8o57.js +0 -1
- package/dist/client/assets/project-tasks-C4GmnH0I.js +0 -1
- package/dist/client/assets/record-editor-qapMfvRB.js +0 -1
- package/dist/client/assets/reports-Ci3Di9K0.js +0 -1
- package/dist/client/assets/repositories-ByW6AQ1Z.js +0 -1
- package/dist/client/assets/roles-DBDcQxYx.js +0 -1
- package/dist/client/assets/route-BNotXZvh.js +0 -1
- package/dist/client/assets/route-DpwFAnDq.js +0 -1
- package/dist/client/assets/settings-tab-DOC7qZpo.js +0 -1
- package/dist/client/assets/site-editor-C78f9k6P.js +0 -1
- package/dist/client/assets/tasks-DbRJoDgD.js +0 -1
- package/dist/client/assets/use-open-billing-url-Cv0uvlPt.js +0 -1
- package/dist/client/assets/useInfiniteQuery-BEMm4bHr.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-UxOXZxMu.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null,x)}var C=(_,x)=>{for(var u in x)nz(_,u,{get:x[u],enumerable:!0,configurable:!0,set:pz.bind(x,u)})};import{Migrator as kz,sql as o}from"kysely";var
|
|
2
|
+
var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null,x)}var C=(_,x)=>{for(var u in x)nz(_,u,{get:x[u],enumerable:!0,configurable:!0,set:pz.bind(x,u)})};import{Migrator as kz,sql as o}from"kysely";var Px={};C(Px,{up:()=>gz,down:()=>qz});import{sql as om}from"kysely";async function gz(_){await om`
|
|
3
3
|
ALTER TABLE task_board_items
|
|
4
4
|
ADD COLUMN IF NOT EXISTS harness_id text NOT NULL DEFAULT 'claude-code'
|
|
5
5
|
CHECK (harness_id IN ('claude-code', 'codex'))
|
|
6
|
-
`.execute(_)}async function qz(_){await om`ALTER TABLE task_board_items DROP COLUMN IF EXISTS harness_id`.execute(_)}var
|
|
6
|
+
`.execute(_)}async function qz(_){await om`ALTER TABLE task_board_items DROP COLUMN IF EXISTS harness_id`.execute(_)}var Ux={};C(Ux,{up:()=>iz,down:()=>cz});import{sql as G_}from"kysely";async function iz(_){await G_`
|
|
7
7
|
ALTER TABLE task_board_items
|
|
8
8
|
ADD COLUMN IF NOT EXISTS parent_id text NULL
|
|
9
9
|
REFERENCES task_board_items(id) ON DELETE SET NULL,
|
|
@@ -49,12 +49,12 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
49
49
|
on conflict ("organizationId") do update
|
|
50
50
|
set submodule_credentials = excluded.submodule_credentials,
|
|
51
51
|
"updatedAt" = excluded."updatedAt"
|
|
52
|
-
`.execute(_)}}async function CE(_){await _.schema.alterTable("organization_settings").dropColumn("submodule_credentials").execute()}var Yx={};C(Yx,{up:()=>KE,down:()=>NE});async function KE(_){await _.schema.alterTable("repositories").addColumn("sandbox_image","text").execute()}async function NE(_){await _.schema.alterTable("repositories").dropColumn("sandbox_image").execute()}var Hx={};C(Hx,{up:()=>mE,down:()=>TE});import{sql as Dx}from"kysely";async function mE(_){await Dx`CREATE INDEX idx_tmp_finish_persisted_at ON thread_message_parts (persisted_at DESC) WHERE kind = 'finish'`.execute(_),await Dx`CREATE INDEX idx_threads_updated_at ON threads (updated_at DESC)`.execute(_),await Dx`CREATE INDEX idx_threads_active_status ON threads (status) WHERE status IN ('in_progress', 'requires_action')`.execute(_)}async function TE(_){await _.schema.dropIndex("idx_threads_active_status").execute(),await _.schema.dropIndex("idx_threads_updated_at").execute(),await _.schema.dropIndex("idx_tmp_finish_persisted_at").execute()}var Rx={};C(Rx,{up:()=>$E,down:()=>
|
|
52
|
+
`.execute(_)}}async function CE(_){await _.schema.alterTable("organization_settings").dropColumn("submodule_credentials").execute()}var Yx={};C(Yx,{up:()=>KE,down:()=>NE});async function KE(_){await _.schema.alterTable("repositories").addColumn("sandbox_image","text").execute()}async function NE(_){await _.schema.alterTable("repositories").dropColumn("sandbox_image").execute()}var Hx={};C(Hx,{up:()=>mE,down:()=>TE});import{sql as Dx}from"kysely";async function mE(_){await Dx`CREATE INDEX idx_tmp_finish_persisted_at ON thread_message_parts (persisted_at DESC) WHERE kind = 'finish'`.execute(_),await Dx`CREATE INDEX idx_threads_updated_at ON threads (updated_at DESC)`.execute(_),await Dx`CREATE INDEX idx_threads_active_status ON threads (status) WHERE status IN ('in_progress', 'requires_action')`.execute(_)}async function TE(_){await _.schema.dropIndex("idx_threads_active_status").execute(),await _.schema.dropIndex("idx_threads_updated_at").execute(),await _.schema.dropIndex("idx_tmp_finish_persisted_at").execute()}var Rx={};C(Rx,{up:()=>$E,down:()=>PE});import{sql as B}from"kysely";var zE={title:{old:["Store Report","Commerce Discovery"],new:"Deco Score"},description:{old:["Your store's report and diagnostics","Commerce report and diagnostics","Commerce Discovery report and commerce diagnostics."],new:"Your store's Deco Score"}},EE={title:{old:["Report Agent","Commerce Discovery"],new:"Deco Score Agent"},description:{old:["Ask anything about your store's report","Commerce report and diagnostics","Commerce Discovery report workspace."],new:"Ask anything about your store's Deco Score"}},Mx={toolName:"get_my_diagnostic",label:{old:["Report","Commerce Discovery"],new:"Deco Score"}};function dm(_,x){return x==="up"?{from:_.old,to:_.new}:{from:[_.new],to:_.old[0]}}async function bm(_,x){for(let[K,m]of[[B`organization_id || '_commerce-discovery'`,zE],[B`'commerce-discovery_' || organization_id`,EE]])for(let T of["title","description"]){let{from:z,to:E}=dm(m[T],x);await B`
|
|
53
53
|
UPDATE connections
|
|
54
|
-
SET ${
|
|
54
|
+
SET ${B.ref(T)} = ${E}
|
|
55
55
|
WHERE id = ${K}
|
|
56
|
-
AND ${
|
|
57
|
-
`.execute(_)}await
|
|
56
|
+
AND ${B.ref(T)} = ANY(${B.val(z)}::text[])
|
|
57
|
+
`.execute(_)}await B`
|
|
58
58
|
CREATE OR REPLACE FUNCTION deco_score_try_jsonb(t text)
|
|
59
59
|
RETURNS jsonb AS $fn$
|
|
60
60
|
BEGIN
|
|
@@ -63,7 +63,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
63
63
|
RETURN NULL;
|
|
64
64
|
END;
|
|
65
65
|
$fn$ LANGUAGE plpgsql IMMUTABLE;
|
|
66
|
-
`.execute(_);let{from:u,to:N}=dm(Mx.label,x);await
|
|
66
|
+
`.execute(_);let{from:u,to:N}=dm(Mx.label,x);await B`
|
|
67
67
|
WITH agents AS (
|
|
68
68
|
SELECT id, deco_score_try_jsonb(metadata) AS m
|
|
69
69
|
FROM connections
|
|
@@ -79,7 +79,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
79
79
|
SELECT jsonb_agg(
|
|
80
80
|
CASE
|
|
81
81
|
WHEN v ->> 'toolName' = ${Mx.toolName}
|
|
82
|
-
AND v ->> 'label' = ANY(${
|
|
82
|
+
AND v ->> 'label' = ANY(${B.val(u)}::text[])
|
|
83
83
|
THEN v || jsonb_build_object('label', ${N}::text)
|
|
84
84
|
ELSE v
|
|
85
85
|
END
|
|
@@ -95,14 +95,14 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
95
95
|
SELECT 1
|
|
96
96
|
FROM jsonb_array_elements(a.m -> 'ui' -> 'pinnedViews') AS e(v)
|
|
97
97
|
WHERE v ->> 'toolName' = ${Mx.toolName}
|
|
98
|
-
AND v ->> 'label' = ANY(${
|
|
98
|
+
AND v ->> 'label' = ANY(${B.val(u)}::text[])
|
|
99
99
|
)
|
|
100
100
|
)
|
|
101
101
|
UPDATE connections c
|
|
102
102
|
SET metadata = r.m::text
|
|
103
103
|
FROM relabeled r
|
|
104
104
|
WHERE c.id = r.id
|
|
105
|
-
`.execute(_),await
|
|
105
|
+
`.execute(_),await B`DROP FUNCTION IF EXISTS deco_score_try_jsonb(text)`.execute(_)}async function $E(_){await bm(_,"up")}async function PE(_){await bm(_,"down")}var Gx={};C(Gx,{up:()=>JE,down:()=>XE,ACTIONS:()=>Bx});import{sql as T_}from"kysely";var Bx=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed","duplicate_reported","finding_resolved"],UE=Bx.filter((_)=>_!=="finding_resolved");async function JE(_){await sm(_,Bx)}async function XE(_){await T_`DELETE FROM task_board_activity WHERE action = 'finding_resolved'`.execute(_),await sm(_,UE)}async function sm(_,x){await T_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await T_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${T_.join(x.map((u)=>T_.lit(u)))}))`.execute(_)}var Ox={};C(Ox,{up:()=>QE,down:()=>ZE});import{sql as O_}from"kysely";async function QE(_){await O_`
|
|
106
106
|
ALTER TABLE org_jira_column_automations
|
|
107
107
|
ADD COLUMN IF NOT EXISTS from_kind text NOT NULL DEFAULT 'any'
|
|
108
108
|
CONSTRAINT chk_org_jira_column_automations_from_kind
|
|
@@ -122,10 +122,10 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
122
122
|
DROP COLUMN from_key,
|
|
123
123
|
DROP COLUMN from_statuses,
|
|
124
124
|
DROP COLUMN from_kind
|
|
125
|
-
`.execute(_)}var Sx={};C(Sx,{up:()=>WE,down:()=>jE});import{sql as _T}from"kysely";async function WE(_){await _.schema.createTable("org_project_folders").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("folders","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(_T`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("user_sidebar_preferences").addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("preferences","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(_T`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_sidebar_preferences_pkey",["user_id","organization_id"]).execute(),await _.schema.createIndex("user_sidebar_preferences_organization_id_idx").on("user_sidebar_preferences").column("organization_id").execute()}async function jE(_){await _.schema.dropTable("user_sidebar_preferences").execute(),await _.schema.dropTable("org_project_folders").execute()}var
|
|
125
|
+
`.execute(_)}var Sx={};C(Sx,{up:()=>WE,down:()=>jE});import{sql as _T}from"kysely";async function WE(_){await _.schema.createTable("org_project_folders").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("folders","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(_T`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("user_sidebar_preferences").addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("preferences","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(_T`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_sidebar_preferences_pkey",["user_id","organization_id"]).execute(),await _.schema.createIndex("user_sidebar_preferences_organization_id_idx").on("user_sidebar_preferences").column("organization_id").execute()}async function jE(_){await _.schema.dropTable("user_sidebar_preferences").execute(),await _.schema.dropTable("org_project_folders").execute()}var fx={};C(fx,{up:()=>LE,down:()=>FE});async function LE(){}async function FE(){}var Ix={};C(Ix,{up:()=>YE,down:()=>DE});import{sql as Ax}from"kysely";async function YE(_){await Ax`
|
|
126
126
|
ALTER TABLE task_board_prompts
|
|
127
127
|
ADD COLUMN IF NOT EXISTS skills text[] NOT NULL DEFAULT '{}'
|
|
128
|
-
`.execute(_)}async function DE(_){await
|
|
128
|
+
`.execute(_)}async function DE(_){await Ax`DELETE FROM task_board_prompts WHERE prompt = ''`.execute(_),await Ax`ALTER TABLE task_board_prompts DROP COLUMN skills`.execute(_)}var Vx={};C(Vx,{up:()=>HE,down:()=>ME});import{sql as yx}from"kysely";async function HE(_){await yx`
|
|
129
129
|
DELETE FROM threads WHERE virtual_mcp_id LIKE 'studio-jira\\_%'
|
|
130
130
|
`.execute(_),await yx`
|
|
131
131
|
DELETE FROM connection_aggregations
|
|
@@ -152,7 +152,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
152
152
|
AND c.parent = d.path
|
|
153
153
|
AND c.deleted_at IS NULL
|
|
154
154
|
)
|
|
155
|
-
`.execute(_)}async function SE(){}var vx={};C(vx,{up:()=>
|
|
155
|
+
`.execute(_)}async function SE(){}var vx={};C(vx,{up:()=>AE,down:()=>IE,ACTIONS:()=>nx});import{sql as F}from"kysely";var nx=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed","duplicate_reported","finding_resolved","sprint_changed"],fE=nx.filter((_)=>_!=="sprint_changed");async function AE(_){await F`
|
|
156
156
|
CREATE TABLE task_board_sprints (
|
|
157
157
|
id text PRIMARY KEY,
|
|
158
158
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -178,7 +178,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
178
178
|
CREATE INDEX idx_task_board_items_sprint
|
|
179
179
|
ON task_board_items (organization_id, sprint_id)
|
|
180
180
|
WHERE sprint_id IS NOT NULL
|
|
181
|
-
`.execute(_),await uT(_,nx)}async function IE(_){await F`DELETE FROM task_board_activity WHERE action = 'sprint_changed'`.execute(_),await uT(_,
|
|
181
|
+
`.execute(_),await uT(_,nx)}async function IE(_){await F`DELETE FROM task_board_activity WHERE action = 'sprint_changed'`.execute(_),await uT(_,fE),await F`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await F`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await F`DROP TABLE IF EXISTS task_board_sprints`.execute(_)}async function uT(_,x){await F`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await F`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${F.join(x.map((u)=>F.lit(u)))}))`.execute(_)}var px={};C(px,{up:()=>VE,planOrgSiteProjectLinks:()=>NT,down:()=>wE,applyOrgSiteProjectLinks:()=>mT});import{sql as J}from"kysely";var yE="migration-237",CT=1000;async function KT(_){return(await J`
|
|
182
182
|
SELECT conname FROM pg_constraint
|
|
183
183
|
WHERE conrelid = 'org_sites'::regclass
|
|
184
184
|
AND confrelid = 'organization'::regclass
|
|
@@ -366,7 +366,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
366
366
|
SELECT id, organization_id, title, connection_type, url_slug
|
|
367
367
|
FROM connections
|
|
368
368
|
ORDER BY organization_id, created_at, id
|
|
369
|
-
`.execute(_),{rows:u}=await D`SELECT organization_id, slug FROM connection_slug_aliases`.execute(_),N=new Map,K=(T)=>{let z=N.get(T);if(!z)N.set(T,z=new Set);return z};for(let T of x)if(T.url_slug)K(T.organization_id).add(T.url_slug);for(let T of u)K(T.organization_id).add(T.slug);let m=[];for(let T of x){if(T.url_slug)continue;let z=K(T.organization_id),E=rE(T.title,T.connection_type==="VIRTUAL"?"project":"app"),$=1;while(z.has(TT(E,$)))$++;let
|
|
369
|
+
`.execute(_),{rows:u}=await D`SELECT organization_id, slug FROM connection_slug_aliases`.execute(_),N=new Map,K=(T)=>{let z=N.get(T);if(!z)N.set(T,z=new Set);return z};for(let T of x)if(T.url_slug)K(T.organization_id).add(T.url_slug);for(let T of u)K(T.organization_id).add(T.slug);let m=[];for(let T of x){if(T.url_slug)continue;let z=K(T.organization_id),E=rE(T.title,T.connection_type==="VIRTUAL"?"project":"app"),$=1;while(z.has(TT(E,$)))$++;let U=TT(E,$);z.add(U),m.push({id:T.id,slug:U})}for(let T=0;T<m.length;T+=1000){let z=m.slice(T,T+1000);await D`
|
|
370
370
|
UPDATE connections c
|
|
371
371
|
SET url_slug = v.slug
|
|
372
372
|
FROM unnest(
|
|
@@ -388,11 +388,11 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
388
388
|
`.execute(_),await S_(_),await D`
|
|
389
389
|
CREATE UNIQUE INDEX idx_connections_org_url_slug
|
|
390
390
|
ON connections (organization_id, url_slug)
|
|
391
|
-
`.execute(_)}async function eE(_){await D`DROP TABLE connection_slug_aliases`.execute(_),await D`DROP INDEX idx_connections_org_url_slug`.execute(_),await D`ALTER TABLE connections DROP COLUMN url_slug`.execute(_)}var tx={};C(tx,{up:()=>dE,down:()=>bE});async function dE(_){await _.schema.alterTable("experiments").addColumn("task_board_item_id","text").execute()}async function bE(_){await _.schema.alterTable("experiments").dropColumn("task_board_item_id").execute()}var ox={};C(ox,{up:()=>sE,down:()=>_0});async function sE(_){await S_(_)}async function _0(){}var ax={};C(ax,{up:()=>x0,down:()=>u0});import{sql as
|
|
391
|
+
`.execute(_)}async function eE(_){await D`DROP TABLE connection_slug_aliases`.execute(_),await D`DROP INDEX idx_connections_org_url_slug`.execute(_),await D`ALTER TABLE connections DROP COLUMN url_slug`.execute(_)}var tx={};C(tx,{up:()=>dE,down:()=>bE});async function dE(_){await _.schema.alterTable("experiments").addColumn("task_board_item_id","text").execute()}async function bE(_){await _.schema.alterTable("experiments").dropColumn("task_board_item_id").execute()}var ox={};C(ox,{up:()=>sE,down:()=>_0});async function sE(_){await S_(_)}async function _0(){}var ax={};C(ax,{up:()=>x0,down:()=>u0});import{sql as f_}from"kysely";async function x0(_){await f_`ALTER TABLE automations ADD COLUMN system_key text`.execute(_),await f_`
|
|
392
392
|
CREATE UNIQUE INDEX idx_automations_org_system_key
|
|
393
393
|
ON automations (organization_id, system_key)
|
|
394
394
|
WHERE system_key IS NOT NULL
|
|
395
|
-
`.execute(_)}async function u0(_){await
|
|
395
|
+
`.execute(_)}async function u0(_){await f_`DROP INDEX IF EXISTS idx_automations_org_system_key`.execute(_),await f_`ALTER TABLE automations DROP COLUMN IF EXISTS system_key`.execute(_)}var rx={};C(rx,{up:()=>C0,down:()=>K0});import{sql as z_}from"kysely";async function C0(_){await z_`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await z_`
|
|
396
396
|
ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type
|
|
397
397
|
CHECK (type IN ('cron', 'event', 'webhook', 'board_column_transition',
|
|
398
398
|
'board_pr_ready'))
|
|
@@ -467,30 +467,30 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
467
467
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
468
468
|
PRIMARY KEY (organization_id, jira_status, from_key)
|
|
469
469
|
)
|
|
470
|
-
`.execute(_)}var dx={};C(dx,{up:()=>
|
|
470
|
+
`.execute(_)}var dx={};C(dx,{up:()=>P0,down:()=>U0});import{sql as A_}from"kysely";async function P0(_){await A_`
|
|
471
471
|
ALTER TABLE task_board_items
|
|
472
472
|
ADD COLUMN IF NOT EXISTS virtual_mcp_id text NULL
|
|
473
473
|
REFERENCES connections(id) ON DELETE SET NULL
|
|
474
|
-
`.execute(_),await
|
|
474
|
+
`.execute(_),await A_`
|
|
475
475
|
CREATE INDEX IF NOT EXISTS idx_task_board_items_virtual_mcp_id
|
|
476
476
|
ON task_board_items (virtual_mcp_id)
|
|
477
477
|
WHERE virtual_mcp_id IS NOT NULL
|
|
478
|
-
`.execute(_)}async function
|
|
478
|
+
`.execute(_)}async function U0(_){await A_`DROP INDEX IF EXISTS idx_task_board_items_virtual_mcp_id`.execute(_),await A_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS virtual_mcp_id`.execute(_)}var bx={};C(bx,{up:()=>J0,down:()=>X0});async function J0(_){await _.schema.createTable("github_copilot_subscriptions").addColumn("user_id","text",(x)=>x.primaryKey()).addColumn("encrypted_access_token","text",(x)=>x.notNull()).addColumn("expires_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull()).execute()}async function X0(_){await _.schema.dropTable("github_copilot_subscriptions").ifExists().execute()}var sx={};C(sx,{up:()=>Q0,down:()=>Z0});async function Q0(_){await _.schema.createTable("org_shared_plans").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("provider_id","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("created_at","timestamptz",(x)=>x.notNull()).addPrimaryKeyConstraint("org_shared_plans_pkey",["organization_id","provider_id","user_id"]).execute()}async function Z0(_){await _.schema.dropTable("org_shared_plans").ifExists().execute()}var _u={};C(_u,{up:()=>W0,down:()=>j0});import{sql as r}from"kysely";var I_=["linked_chat_run"];async function ET(_){let{rows:x}=await r`
|
|
479
479
|
SELECT pg_get_constraintdef(oid) AS def FROM pg_constraint
|
|
480
480
|
WHERE conname = 'chk_trigger_type'
|
|
481
481
|
AND conrelid = 'automation_triggers'::regclass
|
|
482
482
|
`.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function $T(_,x){let u=r.join([...x].map((N)=>r.lit(N)));await r`
|
|
483
483
|
ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type,
|
|
484
484
|
ADD CONSTRAINT chk_trigger_type CHECK (type IN (${u}))
|
|
485
|
-
`.execute(_)}async function W0(_){let x=await ET(_);if(I_.every((u)=>x.has(u)))return;for(let u of I_)x.add(u);await $T(_,x)}async function j0(_){await r`DELETE FROM automation_triggers WHERE type IN (${r.join(I_)})`.execute(_);let x=await ET(_);for(let u of I_)x.delete(u);await $T(_,x)}var xu={};C(xu,{up:()=>L0,down:()=>F0});import{sql as l}from"kysely";var y_=["board_pr_merged","chat_pr_opened"];async function
|
|
485
|
+
`.execute(_)}async function W0(_){let x=await ET(_);if(I_.every((u)=>x.has(u)))return;for(let u of I_)x.add(u);await $T(_,x)}async function j0(_){await r`DELETE FROM automation_triggers WHERE type IN (${r.join(I_)})`.execute(_);let x=await ET(_);for(let u of I_)x.delete(u);await $T(_,x)}var xu={};C(xu,{up:()=>L0,down:()=>F0});import{sql as l}from"kysely";var y_=["board_pr_merged","chat_pr_opened"];async function PT(_){let{rows:x}=await l`
|
|
486
486
|
SELECT pg_get_constraintdef(oid) AS def FROM pg_constraint
|
|
487
487
|
WHERE conname = 'chk_trigger_type'
|
|
488
488
|
AND conrelid = 'automation_triggers'::regclass
|
|
489
|
-
`.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function
|
|
489
|
+
`.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function UT(_,x){let u=l.join([...x].map((N)=>l.lit(N)));await l`
|
|
490
490
|
ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type,
|
|
491
491
|
ADD CONSTRAINT chk_trigger_type CHECK (type IN (${u}))
|
|
492
|
-
`.execute(_)}async function L0(_){let x=await
|
|
493
|
-
DROP COLUMN IF EXISTS main_agent_id`.execute(_)}async function H0(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}var Cu={};C(Cu,{up:()=>M0,down:()=>R0});import{sql as JT}from"kysely";async function M0(_){await JT`CREATE INDEX idx_connections_sanitized_id ON connections (replace(id, '-', '_'))`.execute(_)}async function R0(_){await JT`DROP INDEX IF EXISTS idx_connections_sanitized_id`.execute(_)}var Ku={};C(Ku,{up:()=>B0,down:()=>G0});import{sql as
|
|
492
|
+
`.execute(_)}async function L0(_){let x=await PT(_);if(y_.every((u)=>x.has(u)))return;for(let u of y_)x.add(u);await UT(_,x)}async function F0(_){await l`DELETE FROM automation_triggers WHERE type IN (${l.join(y_)})`.execute(_);let x=await PT(_);for(let u of y_)x.delete(u);await UT(_,x)}var uu={};C(uu,{up:()=>D0,down:()=>H0});import{sql as Y0}from"kysely";async function D0(_){await Y0`ALTER TABLE organization_settings
|
|
493
|
+
DROP COLUMN IF EXISTS main_agent_id`.execute(_)}async function H0(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}var Cu={};C(Cu,{up:()=>M0,down:()=>R0});import{sql as JT}from"kysely";async function M0(_){await JT`CREATE INDEX idx_connections_sanitized_id ON connections (replace(id, '-', '_'))`.execute(_)}async function R0(_){await JT`DROP INDEX IF EXISTS idx_connections_sanitized_id`.execute(_)}var Ku={};C(Ku,{up:()=>B0,down:()=>G0});import{sql as G}from"kysely";async function B0(_){await G`
|
|
494
494
|
CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
|
|
495
495
|
RETURNS jsonb AS $fn$
|
|
496
496
|
BEGIN
|
|
@@ -499,7 +499,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
499
499
|
RETURN NULL;
|
|
500
500
|
END;
|
|
501
501
|
$fn$ LANGUAGE plpgsql IMMUTABLE;
|
|
502
|
-
`.execute(_),await
|
|
502
|
+
`.execute(_),await G`
|
|
503
503
|
CREATE OR REPLACE VIEW cd_repo_picks AS
|
|
504
504
|
SELECT
|
|
505
505
|
c.id AS connection_id,
|
|
@@ -509,7 +509,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
509
509
|
WHERE c.id = c.organization_id || '_commerce-discovery'
|
|
510
510
|
AND cd_repo_try_jsonb(c.configuration_state) ->> 'github_repo'
|
|
511
511
|
~ '^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$'
|
|
512
|
-
`.execute(_),await
|
|
512
|
+
`.execute(_),await G`
|
|
513
513
|
INSERT INTO repositories (
|
|
514
514
|
organization_id, account_id, provider, host, path, web_url
|
|
515
515
|
)
|
|
@@ -519,7 +519,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
519
519
|
FROM cd_repo_picks p
|
|
520
520
|
ORDER BY p.organization_id, lower(p.path)
|
|
521
521
|
ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
|
|
522
|
-
`.execute(_),await
|
|
522
|
+
`.execute(_),await G`
|
|
523
523
|
UPDATE connections c
|
|
524
524
|
SET configuration_state = (
|
|
525
525
|
cd_repo_try_jsonb(c.configuration_state) || jsonb_build_object(
|
|
@@ -540,7 +540,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
540
540
|
AND lower(r.path) = lower(p.path)
|
|
541
541
|
WHERE c.id = p.connection_id
|
|
542
542
|
AND cd_repo_try_jsonb(c.configuration_state) -> 'repository' IS NULL
|
|
543
|
-
`.execute(_),await
|
|
543
|
+
`.execute(_),await G`
|
|
544
544
|
UPDATE connections a
|
|
545
545
|
SET
|
|
546
546
|
repository_id = r.id,
|
|
@@ -564,7 +564,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
564
564
|
|| '/' ||
|
|
565
565
|
coalesce(cd_repo_try_jsonb(a.metadata) #>> '{githubRepo,name}', '')
|
|
566
566
|
) = lower(p.path)
|
|
567
|
-
`.execute(_),await
|
|
567
|
+
`.execute(_),await G`DROP VIEW IF EXISTS cd_repo_picks`.execute(_),await G`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}async function G0(_){await G`
|
|
568
568
|
CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
|
|
569
569
|
RETURNS jsonb AS $fn$
|
|
570
570
|
BEGIN
|
|
@@ -573,13 +573,13 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
573
573
|
RETURN NULL;
|
|
574
574
|
END;
|
|
575
575
|
$fn$ LANGUAGE plpgsql IMMUTABLE;
|
|
576
|
-
`.execute(_),await
|
|
576
|
+
`.execute(_),await G`
|
|
577
577
|
UPDATE connections c
|
|
578
578
|
SET configuration_state =
|
|
579
579
|
(cd_repo_try_jsonb(c.configuration_state) - 'repository')::text
|
|
580
580
|
WHERE c.id = c.organization_id || '_commerce-discovery'
|
|
581
581
|
AND cd_repo_try_jsonb(c.configuration_state) -> 'repository' IS NOT NULL
|
|
582
|
-
`.execute(_),await
|
|
582
|
+
`.execute(_),await G`
|
|
583
583
|
UPDATE connections a
|
|
584
584
|
SET
|
|
585
585
|
repository_id = NULL,
|
|
@@ -591,7 +591,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
591
591
|
)::text
|
|
592
592
|
WHERE a.id = 'commerce-discovery_' || a.organization_id
|
|
593
593
|
AND cd_repo_try_jsonb(a.metadata) #> '{githubRepo,repositoryId}' IS NOT NULL
|
|
594
|
-
`.execute(_),await
|
|
594
|
+
`.execute(_),await G`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}var mu={};C(mu,{up:()=>O0,down:()=>S0});import{sql as Nu}from"kysely";async function O0(_){await Nu`ALTER TABLE git_provider_accounts
|
|
595
595
|
DROP CONSTRAINT git_provider_accounts_auth_kind_check,
|
|
596
596
|
ADD CONSTRAINT git_provider_accounts_auth_kind_check
|
|
597
597
|
CHECK (auth_kind IN ('github_app', 'oauth', 'token', 'github_cli')),
|
|
@@ -601,7 +601,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
601
601
|
DROP CONSTRAINT git_provider_accounts_cli_check,
|
|
602
602
|
DROP CONSTRAINT git_provider_accounts_auth_kind_check,
|
|
603
603
|
ADD CONSTRAINT git_provider_accounts_auth_kind_check
|
|
604
|
-
CHECK (auth_kind IN ('github_app', 'oauth', 'token'))`.execute(_)}var Tu={};C(Tu,{up:()=>
|
|
604
|
+
CHECK (auth_kind IN ('github_app', 'oauth', 'token'))`.execute(_)}var Tu={};C(Tu,{up:()=>f0,down:()=>A0});import{sql as XT}from"kysely";async function f0(_){await XT`
|
|
605
605
|
INSERT INTO "organization" (id, name, slug, "createdAt")
|
|
606
606
|
SELECT
|
|
607
607
|
'org_user_fs',
|
|
@@ -615,9 +615,9 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
615
615
|
END,
|
|
616
616
|
now()
|
|
617
617
|
ON CONFLICT (id) DO NOTHING
|
|
618
|
-
`.execute(_)}async function
|
|
618
|
+
`.execute(_)}async function A0(_){await XT`
|
|
619
619
|
DELETE FROM "organization" WHERE id = 'org_user_fs'
|
|
620
|
-
`.execute(_)}var zu={};C(zu,{up:()=>I0,down:()=>y0});async function I0(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_repository_ids","jsonb").execute()}async function y0(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_repository_ids").execute()}var Eu={};C(Eu,{up:()=>V0,down:()=>w0});async function V0(_){await _.schema.alterTable("organization_settings").addColumn("coding_agent_mcp_excluded","text").execute()}async function w0(_){await _.schema.alterTable("organization_settings").dropColumn("coding_agent_mcp_excluded").execute()}var $u={};C($u,{up:()=>n0,down:()=>v0});import{sql as $_}from"kysely";var k0=[{table:"git_provider_accounts",column:"type"},{table:"git_provider_oauth_states",column:"provider"},{table:"repositories",column:"provider"}];async function QT(_,x){for(let{table:u,column:N}of k0){let K=`${u}_${N}_check`,m=x.map((T)=>`'${T}'`).join(", ");await $_.raw(`ALTER TABLE ${u} DROP CONSTRAINT IF EXISTS ${K}`).execute(_),await $_.raw(`ALTER TABLE ${u} ADD CONSTRAINT ${K} CHECK (${N} IN (${m}))`).execute(_)}}async function n0(_){await QT(_,["github","gitlab","bitbucket"])}async function v0(_){await $_`DELETE FROM repositories WHERE provider = 'bitbucket'`.execute(_),await $_`DELETE FROM git_provider_oauth_states WHERE provider = 'bitbucket'`.execute(_),await $_`DELETE FROM git_provider_accounts WHERE type = 'bitbucket'`.execute(_),await QT(_,["github","gitlab"])}var
|
|
620
|
+
`.execute(_)}var zu={};C(zu,{up:()=>I0,down:()=>y0});async function I0(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_repository_ids","jsonb").execute()}async function y0(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_repository_ids").execute()}var Eu={};C(Eu,{up:()=>V0,down:()=>w0});async function V0(_){await _.schema.alterTable("organization_settings").addColumn("coding_agent_mcp_excluded","text").execute()}async function w0(_){await _.schema.alterTable("organization_settings").dropColumn("coding_agent_mcp_excluded").execute()}var $u={};C($u,{up:()=>n0,down:()=>v0});import{sql as $_}from"kysely";var k0=[{table:"git_provider_accounts",column:"type"},{table:"git_provider_oauth_states",column:"provider"},{table:"repositories",column:"provider"}];async function QT(_,x){for(let{table:u,column:N}of k0){let K=`${u}_${N}_check`,m=x.map((T)=>`'${T}'`).join(", ");await $_.raw(`ALTER TABLE ${u} DROP CONSTRAINT IF EXISTS ${K}`).execute(_),await $_.raw(`ALTER TABLE ${u} ADD CONSTRAINT ${K} CHECK (${N} IN (${m}))`).execute(_)}}async function n0(_){await QT(_,["github","gitlab","bitbucket"])}async function v0(_){await $_`DELETE FROM repositories WHERE provider = 'bitbucket'`.execute(_),await $_`DELETE FROM git_provider_oauth_states WHERE provider = 'bitbucket'`.execute(_),await $_`DELETE FROM git_provider_accounts WHERE type = 'bitbucket'`.execute(_),await QT(_,["github","gitlab"])}var Pu={};C(Pu,{up:()=>p0,down:()=>g0});import{sql as V_}from"kysely";async function p0(_){await _.schema.createTable("experiments").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("site","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull().defaultTo("draft")).addColumn("goals","jsonb",(x)=>x.notNull().defaultTo(V_`'[]'::jsonb`)).addColumn("variants","jsonb",(x)=>x.notNull().defaultTo(V_`'[]'::jsonb`)).addColumn("started_at","timestamptz").addColumn("ended_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(V_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(V_`now()`)).addUniqueConstraint("experiments_org_site_key_unique",["organization_id","site","key"]).execute(),await _.schema.createIndex("idx_experiments_org_site").on("experiments").columns(["organization_id","site"]).execute()}async function g0(_){await _.schema.dropTable("experiments").execute()}var Uu={};C(Uu,{up:()=>i0,down:()=>c0});import{sql as q0}from"kysely";async function i0(_){await q0`CREATE INDEX idx_tmp_error_persisted_at ON thread_message_parts (persisted_at DESC) WHERE kind = 'error'`.execute(_)}async function c0(_){await _.schema.dropIndex("idx_tmp_error_persisted_at").execute()}var Xu={};C(Xu,{up:()=>t0,down:()=>o0,ACTIONS:()=>Ju});import{sql as P_}from"kysely";var Ju=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed","duplicate_reported"],h0=Ju.filter((_)=>_!=="duplicate_reported");async function t0(_){await ZT(_,Ju)}async function o0(_){await P_`DELETE FROM task_board_activity WHERE action = 'duplicate_reported'`.execute(_),await ZT(_,h0)}async function ZT(_,x){await P_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await P_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${P_.join(x.map((u)=>P_.lit(u)))}))`.execute(_)}var Qu={};C(Qu,{up:()=>a0,down:()=>r0});async function a0(_){await _.schema.alterTable("org_jira_column_automations").addColumn("continue_pr","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function r0(_){await _.schema.alterTable("org_jira_column_automations").dropColumn("continue_pr").execute()}var Zu={};C(Zu,{up:()=>l0,down:()=>e0});async function l0(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_authorized_by","text").execute()}async function e0(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_authorized_by").execute()}var Wu={};C(Wu,{up:()=>b0,down:()=>s0});import{sql as d0}from"kysely";async function b0(_){await d0`
|
|
621
621
|
CREATE TABLE github_connect_flows (
|
|
622
622
|
id text PRIMARY KEY,
|
|
623
623
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -683,7 +683,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
683
683
|
FROM repositories r WHERE s.repository_id IS NULL
|
|
684
684
|
AND r.organization_id = s.organization_id AND r.host = 'github.com'
|
|
685
685
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name);
|
|
686
|
-
`.execute(_)}async function C$(_){await w_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await w_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var Fu={};C(Fu,{up:()=>K$,down:()=>N$});import{sql as V}from"kysely";async function K$(_){await _.schema.createTable("connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(x)=>x.notNull()).addColumn("connectionUrl","text",(x)=>x.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("api_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("hashedKey","text",(x)=>x.notNull().unique()).addColumn("permissions","text",(x)=>x.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("audit_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createTable("oauth_clients").addColumn("id","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(x)=>x.notNull()).addColumn("redirectUris","text",(x)=>x.notNull()).addColumn("grantTypes","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_authorization_codes").addColumn("code","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(x)=>x.notNull()).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("downstream_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("connectionId","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(x)=>x.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function N$(_){await _.schema.dropTable("downstream_tokens").execute(),await _.schema.dropTable("oauth_refresh_tokens").execute(),await _.schema.dropTable("oauth_authorization_codes").execute(),await _.schema.dropTable("oauth_clients").execute(),await _.schema.dropTable("audit_logs").execute(),await _.schema.dropTable("api_keys").execute(),await _.schema.dropTable("connections").execute()}var Yu={};C(Yu,{up:()=>m$,down:()=>T$});import{sql as WT}from"kysely";async function m$(_){await _.schema.createTable("organization_settings").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(WT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(WT`CURRENT_TIMESTAMP`)).execute()}async function T$(_){await _.schema.dropTable("organization_settings").execute()}var Du={};C(Du,{up:()=>z$,down:()=>E$});async function z$(_){await _.schema.alterTable("connections").renameColumn("name","title").execute(),await _.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await _.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await _.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await _.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await _.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await _.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await _.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await _.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await _.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await _.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await _.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function E$(_){await _.schema.alterTable("connections").renameColumn("title","name").execute(),await _.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await _.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await _.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await _.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await _.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await _.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await _.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await _.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await _.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await _.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await _.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Hu={};C(Hu,{up:()=>$$,down:()=>U$});async function $$(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function U$(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId",x.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Mu={};C(Mu,{up:()=>P$,down:()=>J$});async function P$(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function J$(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Ru={};C(Ru,{up:()=>Q$,down:()=>Z$});import{sql as X$}from"kysely";async function Q$(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",X$`text`).execute()}async function Z$(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Bu={};C(Bu,{up:()=>W$,down:()=>j$});async function W$(_){await _.schema.createTable("monitoring_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(x)=>x.notNull()).addColumn("tool_name","text",(x)=>x.notNull()).addColumn("input","text",(x)=>x.notNull()).addColumn("output","text",(x)=>x.notNull()).addColumn("is_error","integer",(x)=>x.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(x)=>x.notNull()).addColumn("timestamp","text",(x)=>x.notNull()).addColumn("user_id","text").addColumn("request_id","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function j$(_){await _.schema.dropIndex("monitoring_logs_is_error").execute(),await _.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await _.schema.dropTable("monitoring_logs").execute()}var Gu={};C(Gu,{up:()=>L$,down:()=>F$});import{sql as P_}from"kysely";async function L$(_){await _.schema.createTable("events").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("source","text",(x)=>x.notNull()).addColumn("specversion","text",(x)=>x.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(x)=>x.notNull()).addColumn("datacontenttype","text",(x)=>x.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(P_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(P_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(x)=>x.notNull()).addColumn("filter","text").addColumn("enabled","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(P_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(P_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_deliveries").addColumn("id","text",(x)=>x.primaryKey()).addColumn("event_id","text",(x)=>x.notNull()).addColumn("subscription_id","text",(x)=>x.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(P_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await _.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await _.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await _.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await _.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await _.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await _.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await _.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await _.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function F$(_){await _.schema.dropIndex("idx_deliveries_retry").execute(),await _.schema.dropIndex("idx_deliveries_subscription_status").execute(),await _.schema.dropIndex("idx_deliveries_event").execute(),await _.schema.dropIndex("idx_subscriptions_unique").execute(),await _.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await _.schema.dropIndex("idx_subscriptions_type").execute(),await _.schema.dropIndex("idx_subscriptions_connection").execute(),await _.schema.dropIndex("idx_events_retry").execute(),await _.schema.dropIndex("idx_events_type").execute(),await _.schema.dropIndex("idx_events_source").execute(),await _.schema.dropIndex("idx_events_org_status").execute(),await _.schema.dropTable("event_deliveries").execute(),await _.schema.dropTable("event_subscriptions").execute(),await _.schema.dropTable("events").execute()}var Ou={};C(Ou,{up:()=>D$,down:()=>H$});import{sql as Y$}from"kysely";async function D$(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function H$(_){await _.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(Y$`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Su={};C(Su,{up:()=>M$,down:()=>R$});import{sql as k_}from"kysely";async function M$(_){await _.schema.createTable("gateways").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(k_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(k_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("gateway_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("gateway_id","text",(x)=>x.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(k_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await k_`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function R$(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_default_per_org").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropTable("gateway_connections").execute(),await _.schema.dropTable("gateways").execute()}var Au={};C(Au,{up:()=>B$,down:()=>G$});async function B$(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function G$(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var fu={};C(fu,{up:()=>O$,down:()=>S$});import{sql as n_}from"kysely";async function O$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await n_`
|
|
686
|
+
`.execute(_)}async function C$(_){await w_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await w_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var Fu={};C(Fu,{up:()=>K$,down:()=>N$});import{sql as y}from"kysely";async function K$(_){await _.schema.createTable("connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(x)=>x.notNull()).addColumn("connectionUrl","text",(x)=>x.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("api_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("hashedKey","text",(x)=>x.notNull().unique()).addColumn("permissions","text",(x)=>x.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("audit_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createTable("oauth_clients").addColumn("id","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(x)=>x.notNull()).addColumn("redirectUris","text",(x)=>x.notNull()).addColumn("grantTypes","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_authorization_codes").addColumn("code","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(x)=>x.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(x)=>x.notNull()).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(x)=>x.primaryKey()).addColumn("clientId","text",(x)=>x.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("downstream_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("connectionId","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(x)=>x.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(y`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function N$(_){await _.schema.dropTable("downstream_tokens").execute(),await _.schema.dropTable("oauth_refresh_tokens").execute(),await _.schema.dropTable("oauth_authorization_codes").execute(),await _.schema.dropTable("oauth_clients").execute(),await _.schema.dropTable("audit_logs").execute(),await _.schema.dropTable("api_keys").execute(),await _.schema.dropTable("connections").execute()}var Yu={};C(Yu,{up:()=>m$,down:()=>T$});import{sql as WT}from"kysely";async function m$(_){await _.schema.createTable("organization_settings").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull().defaultTo(WT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(WT`CURRENT_TIMESTAMP`)).execute()}async function T$(_){await _.schema.dropTable("organization_settings").execute()}var Du={};C(Du,{up:()=>z$,down:()=>E$});async function z$(_){await _.schema.alterTable("connections").renameColumn("name","title").execute(),await _.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await _.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await _.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await _.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await _.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await _.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await _.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await _.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await _.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await _.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await _.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function E$(_){await _.schema.alterTable("connections").renameColumn("title","name").execute(),await _.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await _.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await _.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await _.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await _.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await _.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await _.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await _.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await _.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await _.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await _.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Hu={};C(Hu,{up:()=>$$,down:()=>P$});async function $$(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function P$(_){await _.schema.createTable("organization_settings_new").addColumn("organizationId","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(x)=>x.notNull()).addColumn("updatedAt","text",(x)=>x.notNull()).execute(),await _.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((x)=>x.selectFrom("organization_settings").select(["organizationId",x.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await _.schema.dropTable("organization_settings").execute(),await _.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Mu={};C(Mu,{up:()=>U$,down:()=>J$});async function U$(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function J$(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Ru={};C(Ru,{up:()=>Q$,down:()=>Z$});import{sql as X$}from"kysely";async function Q$(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",X$`text`).execute()}async function Z$(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Bu={};C(Bu,{up:()=>W$,down:()=>j$});async function W$(_){await _.schema.createTable("monitoring_logs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(x)=>x.notNull()).addColumn("tool_name","text",(x)=>x.notNull()).addColumn("input","text",(x)=>x.notNull()).addColumn("output","text",(x)=>x.notNull()).addColumn("is_error","integer",(x)=>x.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(x)=>x.notNull()).addColumn("timestamp","text",(x)=>x.notNull()).addColumn("user_id","text").addColumn("request_id","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await _.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function j$(_){await _.schema.dropIndex("monitoring_logs_is_error").execute(),await _.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await _.schema.dropTable("monitoring_logs").execute()}var Gu={};C(Gu,{up:()=>L$,down:()=>F$});import{sql as U_}from"kysely";async function L$(_){await _.schema.createTable("events").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("source","text",(x)=>x.notNull()).addColumn("specversion","text",(x)=>x.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(x)=>x.notNull()).addColumn("datacontenttype","text",(x)=>x.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(x)=>x.notNull()).addColumn("filter","text").addColumn("enabled","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("event_deliveries").addColumn("id","text",(x)=>x.primaryKey()).addColumn("event_id","text",(x)=>x.notNull()).addColumn("subscription_id","text",(x)=>x.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await _.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await _.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await _.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await _.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await _.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await _.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await _.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await _.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function F$(_){await _.schema.dropIndex("idx_deliveries_retry").execute(),await _.schema.dropIndex("idx_deliveries_subscription_status").execute(),await _.schema.dropIndex("idx_deliveries_event").execute(),await _.schema.dropIndex("idx_subscriptions_unique").execute(),await _.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await _.schema.dropIndex("idx_subscriptions_type").execute(),await _.schema.dropIndex("idx_subscriptions_connection").execute(),await _.schema.dropIndex("idx_events_retry").execute(),await _.schema.dropIndex("idx_events_type").execute(),await _.schema.dropIndex("idx_events_source").execute(),await _.schema.dropIndex("idx_events_org_status").execute(),await _.schema.dropTable("event_deliveries").execute(),await _.schema.dropTable("event_subscriptions").execute(),await _.schema.dropTable("events").execute()}var Ou={};C(Ou,{up:()=>D$,down:()=>H$});import{sql as Y$}from"kysely";async function D$(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function H$(_){await _.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("connectionId","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("toolName","text",(x)=>x.notNull()).addColumn("allowed","integer",(x)=>x.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(x)=>x.notNull().defaultTo(Y$`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await _.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await _.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await _.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Su={};C(Su,{up:()=>M$,down:()=>R$});import{sql as k_}from"kysely";async function M$(_){await _.schema.createTable("gateways").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(k_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(k_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("gateway_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("gateway_id","text",(x)=>x.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(k_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await k_`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function R$(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_default_per_org").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropTable("gateway_connections").execute(),await _.schema.dropTable("gateways").execute()}var fu={};C(fu,{up:()=>B$,down:()=>G$});async function B$(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function G$(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var Au={};C(Au,{up:()=>O$,down:()=>S$});import{sql as n_}from"kysely";async function O$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await n_`
|
|
687
687
|
UPDATE gateways
|
|
688
688
|
SET tool_selection_mode = CASE
|
|
689
689
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
@@ -695,7 +695,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
695
695
|
WHEN tool_selection_mode = 'exclusion' THEN 'exclusion'
|
|
696
696
|
ELSE NULL
|
|
697
697
|
END
|
|
698
|
-
`.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var Iu={};C(Iu,{up:()=>
|
|
698
|
+
`.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var Iu={};C(Iu,{up:()=>f$,down:()=>A$});async function f$(_){await _.schema.alterTable("monitoring_logs").addColumn("user_agent","text").execute(),await _.schema.alterTable("monitoring_logs").addColumn("gateway_id","text").execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}async function A$(_){await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("gateway_id").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("user_agent").execute()}var yu={};C(yu,{up:()=>I$,down:()=>y$});async function I$(_){await _.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await _.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function y$(_){await _.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await _.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var Vu={};C(Vu,{up:()=>V$,down:()=>w$});async function V$(_){await _.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function w$(_){await _.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var wu={};C(wu,{up:()=>k$,down:()=>n$});async function k$(_){await _.schema.alterTable("downstream_tokens").addColumn("clientId","text").execute(),await _.schema.alterTable("downstream_tokens").addColumn("clientSecret","text").execute(),await _.schema.alterTable("downstream_tokens").addColumn("tokenEndpoint","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}async function n$(_){await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("tokenEndpoint").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("clientSecret").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("clientId").execute()}var ku={};C(ku,{up:()=>p$,down:()=>g$});import{sql as v$}from"kysely";async function p$(_){await v$`
|
|
699
699
|
DELETE FROM downstream_tokens
|
|
700
700
|
WHERE id NOT IN (
|
|
701
701
|
SELECT id FROM (
|
|
@@ -705,7 +705,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
705
705
|
) ranked
|
|
706
706
|
WHERE rn = 1
|
|
707
707
|
)
|
|
708
|
-
`.execute(_),await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await _.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function g$(_){await _.schema.dropIndex("idx_downstream_tokens_connection").execute(),await _.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var nu={};C(nu,{up:()=>q$,down:()=>i$});async function q$(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function i$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var vu={};C(vu,{up:()=>c$,down:()=>h$});import{sql as jT}from"kysely";async function c$(_){await jT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function h$(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await jT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var pu={};C(pu,{up:()=>t$,down:()=>o$});async function t$(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function o$(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var gu={};C(gu,{up:()=>a$,down:()=>r$});import{sql as v_}from"kysely";async function a$(_){await _.schema.createTable("threads").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("hidden","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(v_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(v_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("thread_messages").addColumn("id","text",(x)=>x.primaryKey()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(v_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(v_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function r$(_){await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropTable("thread_messages").execute(),await _.schema.dropTable("threads").execute()}var qu={};C(qu,{up:()=>l$,down:()=>e$});async function l$(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await _.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function e$(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await _.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var iu={};C(iu,{up:()=>d$,down:()=>b$});async function d$(_){await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await _.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function b$(_){await _.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await _.schema.dropIndex("idx_threads_created_by_updated").execute(),await _.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var cu={};C(cu,{up:()=>s$,down:()=>
|
|
708
|
+
`.execute(_),await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await _.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function g$(_){await _.schema.dropIndex("idx_downstream_tokens_connection").execute(),await _.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var nu={};C(nu,{up:()=>q$,down:()=>i$});async function q$(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function i$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var vu={};C(vu,{up:()=>c$,down:()=>h$});import{sql as jT}from"kysely";async function c$(_){await jT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function h$(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await jT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var pu={};C(pu,{up:()=>t$,down:()=>o$});async function t$(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function o$(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var gu={};C(gu,{up:()=>a$,down:()=>r$});import{sql as v_}from"kysely";async function a$(_){await _.schema.createTable("threads").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("hidden","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(v_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(v_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("thread_messages").addColumn("id","text",(x)=>x.primaryKey()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(v_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(v_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function r$(_){await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropTable("thread_messages").execute(),await _.schema.dropTable("threads").execute()}var qu={};C(qu,{up:()=>l$,down:()=>e$});async function l$(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await _.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function e$(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await _.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var iu={};C(iu,{up:()=>d$,down:()=>b$});async function d$(_){await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await _.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function b$(_){await _.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await _.schema.dropIndex("idx_threads_created_by_updated").execute(),await _.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var cu={};C(cu,{up:()=>s$,down:()=>_P});import{sql as M}from"kysely";async function s$(_){await M`
|
|
709
709
|
INSERT INTO connections (
|
|
710
710
|
id,
|
|
711
711
|
organization_id,
|
|
@@ -752,7 +752,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
752
752
|
created_at,
|
|
753
753
|
updated_at
|
|
754
754
|
FROM virtual_mcps
|
|
755
|
-
`.execute(_),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let x=await M`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(_);if(await _.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),x)await M`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await M`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_);await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.dropTable("virtual_mcps").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function
|
|
755
|
+
`.execute(_),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let x=await M`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await M`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(_);if(await _.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),x)await M`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await M`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_);await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.dropTable("virtual_mcps").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function _P(_){await _.schema.createTable("virtual_mcps").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).addColumn("icon","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(M`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(M`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await M`
|
|
756
756
|
INSERT INTO virtual_mcps (
|
|
757
757
|
id, organization_id, title, description, icon, status,
|
|
758
758
|
created_at, updated_at, created_by, updated_by, tool_selection_mode
|
|
@@ -762,7 +762,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
762
762
|
created_at, updated_at, created_by, NULL, 'inclusion'
|
|
763
763
|
FROM connections
|
|
764
764
|
WHERE connection_type = 'VIRTUAL'
|
|
765
|
-
`.execute(_),await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await _.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await M`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(_),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var hu={};C(hu,{up:()=>
|
|
765
|
+
`.execute(_),await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await _.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await M`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(_),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var hu={};C(hu,{up:()=>xP,down:()=>uP});async function xP(_){await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_id").on("monitoring_logs").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function uP(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute()}var tu={};C(tu,{up:()=>CP,down:()=>KP});import{sql as V}from"kysely";async function CP(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).execute(),await V`
|
|
766
766
|
INSERT INTO connection_aggregations_new (
|
|
767
767
|
id, parent_connection_id, child_connection_id,
|
|
768
768
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -771,7 +771,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
771
771
|
id, parent_connection_id, child_connection_id,
|
|
772
772
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
773
773
|
FROM connection_aggregations
|
|
774
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await
|
|
774
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await V`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await V`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await V`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function KP(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(V`CURRENT_TIMESTAMP`)).execute(),await V`
|
|
775
775
|
INSERT INTO connection_aggregations_new (
|
|
776
776
|
id, parent_connection_id, child_connection_id,
|
|
777
777
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -780,7 +780,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
780
780
|
id, parent_connection_id, child_connection_id,
|
|
781
781
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
782
782
|
FROM connection_aggregations
|
|
783
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await
|
|
783
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await V`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await V`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await V`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var au={};C(au,{up:()=>NP,down:()=>mP});import{sql as ou}from"kysely";async function NP(_){await ou`
|
|
784
784
|
UPDATE connections
|
|
785
785
|
SET connection_url = connection_url || '/management',
|
|
786
786
|
tools = NULL,
|
|
@@ -794,13 +794,13 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
794
794
|
updated_at = CURRENT_TIMESTAMP
|
|
795
795
|
WHERE app_name = '@deco/management-mcp'
|
|
796
796
|
AND tools IS NOT NULL
|
|
797
|
-
`.execute(_)}async function
|
|
797
|
+
`.execute(_)}async function mP(_){await ou`
|
|
798
798
|
UPDATE connections
|
|
799
799
|
SET connection_url = SUBSTR(connection_url, 1, LENGTH(connection_url) - LENGTH('/management')),
|
|
800
800
|
updated_at = CURRENT_TIMESTAMP
|
|
801
801
|
WHERE connection_url LIKE '%/mcp/management'
|
|
802
802
|
AND app_name = '@deco/management-mcp'
|
|
803
|
-
`.execute(_)}var lu={};C(lu,{up:()=>
|
|
803
|
+
`.execute(_)}var lu={};C(lu,{up:()=>TP,down:()=>zP});import{sql as ru}from"kysely";async function TP(_){await ru`
|
|
804
804
|
UPDATE connections
|
|
805
805
|
SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
|
|
806
806
|
tools = NULL,
|
|
@@ -814,16 +814,16 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
814
814
|
WHERE connection_url LIKE '%/mcp/self'
|
|
815
815
|
AND app_name = '@deco/management-mcp'
|
|
816
816
|
AND tools IS NOT NULL
|
|
817
|
-
`.execute(_)}async function
|
|
817
|
+
`.execute(_)}async function zP(_){await ru`
|
|
818
818
|
UPDATE connections
|
|
819
819
|
SET connection_url = REPLACE(connection_url, '/mcp/self', '/mcp/management'),
|
|
820
820
|
updated_at = CURRENT_TIMESTAMP
|
|
821
821
|
WHERE connection_url LIKE '%/mcp/self'
|
|
822
822
|
AND app_name = '@deco/management-mcp'
|
|
823
|
-
`.execute(_)}var eu={};C(eu,{up:()=>
|
|
823
|
+
`.execute(_)}var eu={};C(eu,{up:()=>EP,down:()=>$P});async function EP(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function $P(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var du={};C(du,{up:()=>PP,down:()=>UP});import{sql as LT}from"kysely";async function PP(_){await _.schema.createTable("organization_tags").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(LT`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("member_tags").addColumn("id","text",(x)=>x.primaryKey()).addColumn("member_id","text",(x)=>x.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(LT`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await _.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await _.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await _.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function UP(_){await _.schema.dropIndex("idx_member_tags_unique").execute(),await _.schema.dropIndex("idx_member_tags_tag").execute(),await _.schema.dropIndex("idx_member_tags_member").execute(),await _.schema.dropIndex("idx_organization_tags_unique_name").execute(),await _.schema.dropIndex("idx_organization_tags_org").execute(),await _.schema.dropTable("member_tags").execute(),await _.schema.dropTable("organization_tags").execute()}var bu={};C(bu,{up:()=>JP,down:()=>XP});import{sql as J_}from"kysely";async function JP(_){await J_`
|
|
824
824
|
ALTER TABLE connection_aggregations
|
|
825
825
|
ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
|
|
826
|
-
`.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function
|
|
826
|
+
`.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function XP(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await J_`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await J_`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(_);else await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(J_`CURRENT_TIMESTAMP`)).execute(),await J_`
|
|
827
827
|
INSERT INTO connection_aggregations_new (
|
|
828
828
|
id, parent_connection_id, child_connection_id,
|
|
829
829
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -832,42 +832,42 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
832
832
|
id, parent_connection_id, child_connection_id,
|
|
833
833
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
834
834
|
FROM connection_aggregations
|
|
835
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var su={};C(su,{up:()=>
|
|
835
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var su={};C(su,{up:()=>LP,down:()=>FP});import{webcrypto as YT}from"crypto";var FT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var QP=128,h,e;function ZP(_){if(!h||h.length<_)h=Buffer.allocUnsafe(_*QP),YT.getRandomValues(h),e=0;else if(e+_>h.length)YT.getRandomValues(h),e=0;e+=_}function d(_=21){ZP(_|=0);let x="";for(let u=e-_;u<e;u++)x+=FT[h[u]&63];return x}var WP="org-admin",jP="Organization Admin";async function LP(_){await _.schema.createTable("projects").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(u)=>u.notNull()).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await _.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await _.schema.createTable("project_plugin_configs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("project_id","text",(u)=>u.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(u)=>u.notNull()).addColumn("connection_id","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(u)=>u.notNull()).addColumn("updated_at","text",(u)=>u.notNull()).execute(),await _.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let x=await _.selectFrom("organization").select(["id"]).execute();for(let u of x){let N=new Date().toISOString(),K=`proj_${d()}`,m=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:K,organization_id:u.id,slug:WP,name:jP,description:null,enabled_plugins:m?.enabled_plugins??null,ui:null,created_at:N,updated_at:N}).execute()}}async function FP(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var _C={};C(_C,{up:()=>YP,down:()=>DP});async function YP(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function DP(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var xC={};C(xC,{up:()=>HP,down:()=>MP});async function HP(_){}async function MP(_){}var uC={};C(uC,{up:()=>RP,down:()=>BP});async function RP(_){await _.schema.createTable("project_connections").addColumn("id","text",(x)=>x.primaryKey()).addColumn("project_id","text",(x)=>x.notNull().references("projects.id").onDelete("cascade")).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("created_at","text",(x)=>x.notNull()).execute(),await _.schema.createIndex("project_connections_project_conn_unique").on("project_connections").columns(["project_id","connection_id"]).unique().execute(),await _.schema.createIndex("project_connections_project_id_idx").on("project_connections").columns(["project_id"]).execute()}async function BP(_){await _.schema.dropIndex("project_connections_project_id_idx").execute(),await _.schema.dropIndex("project_connections_project_conn_unique").execute(),await _.schema.dropTable("project_connections").execute()}var CC={};C(CC,{up:()=>GP,down:()=>OP});import{sql as DT}from"kysely";async function GP(_){await DT`
|
|
836
836
|
UPDATE connections
|
|
837
837
|
SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
|
|
838
838
|
tools = NULL,
|
|
839
839
|
updated_at = CURRENT_TIMESTAMP
|
|
840
840
|
WHERE connection_url = 'https://api.decocms.com/mcp/registry'
|
|
841
841
|
AND app_name = 'deco-registry'
|
|
842
|
-
`.execute(_)}async function
|
|
842
|
+
`.execute(_)}async function OP(_){await DT`
|
|
843
843
|
UPDATE connections
|
|
844
844
|
SET connection_url = 'https://api.decocms.com/mcp/registry',
|
|
845
845
|
updated_at = CURRENT_TIMESTAMP
|
|
846
846
|
WHERE connection_url = 'https://studio.decocms.com/org/deco/registry/mcp'
|
|
847
847
|
AND app_name = 'deco-registry'
|
|
848
|
-
`.execute(_)}var KC={};C(KC,{up:()=>
|
|
848
|
+
`.execute(_)}var KC={};C(KC,{up:()=>fP,down:()=>AP});import{sql as SP}from"kysely";async function fP(_){await _.schema.createTable("ai_provider_keys").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("provider_id","text",(x)=>x.notNull()).addColumn("label","text",(x)=>x.notNull()).addColumn("encrypted_api_key","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(SP`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_ai_provider_keys_org").on("ai_provider_keys").column("organization_id").execute(),await _.schema.createIndex("idx_ai_provider_keys_org_provider").on("ai_provider_keys").columns(["organization_id","provider_id"]).execute()}async function AP(_){await _.schema.dropTable("ai_provider_keys").execute()}var NC={};C(NC,{up:()=>yP,down:()=>VP});import{sql as IP}from"kysely";async function yP(_){await _.schema.createTable("oauth_pkce_states").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.notNull()).addColumn("code_verifier","text",(x)=>x.notNull()).addColumn("expires_at","timestamptz",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(IP`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function VP(_){await _.schema.dropTable("oauth_pkce_states").execute()}var mC={};C(mC,{up:()=>wP,down:()=>kP});import{sql as p}from"kysely";async function wP(_){await _.schema.createTable("automations").addColumn("id","text",(x)=>x.primaryKey().defaultTo(p`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull()).addColumn("active","boolean",(x)=>x.notNull().defaultTo(!0)).addColumn("created_by","text",(x)=>x.notNull()).addColumn("agent","text",(x)=>x.notNull()).addColumn("messages","text",(x)=>x.notNull()).addColumn("models","text",(x)=>x.notNull()).addColumn("temperature","real",(x)=>x.notNull().defaultTo(0.5)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(p`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(p`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_automations_org").on("automations").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_automations_active").on("automations").columns(["organization_id","active"]).execute(),await _.schema.createTable("automation_triggers").addColumn("id","text",(x)=>x.primaryKey().defaultTo(p`gen_random_uuid()`)).addColumn("automation_id","text",(x)=>x.notNull().references("automations.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("cron_expression","text").addColumn("connection_id","text").addColumn("event_type","text").addColumn("params","text").addColumn("next_run_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(p`CURRENT_TIMESTAMP`)).execute(),await p`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_),await p`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(_),await p`ALTER TABLE automation_triggers ADD CONSTRAINT chk_event_trigger CHECK (type != 'event' OR (connection_id IS NOT NULL AND event_type IS NOT NULL))`.execute(_),await _.schema.createIndex("idx_automation_triggers_automation").on("automation_triggers").columns(["automation_id"]).execute(),await _.schema.createIndex("idx_automation_triggers_event").on("automation_triggers").columns(["connection_id","event_type"]).execute(),await _.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute(),await _.schema.alterTable("threads").addColumn("trigger_id","text",(x)=>x.references("automation_triggers.id").onDelete("set null")).execute(),await _.schema.createIndex("idx_threads_trigger_status").on("threads").columns(["trigger_id","status"]).execute()}async function kP(_){await _.schema.dropIndex("idx_threads_trigger_status").execute(),await _.schema.alterTable("threads").dropColumn("trigger_id").execute(),await _.schema.dropIndex("idx_automation_triggers_cron").execute(),await _.schema.dropIndex("idx_automation_triggers_event").execute(),await _.schema.dropIndex("idx_automation_triggers_automation").execute(),await _.schema.dropTable("automation_triggers").execute(),await _.schema.dropIndex("idx_automations_active").execute(),await _.schema.dropIndex("idx_automations_org").execute(),await _.schema.dropTable("automations").execute()}var TC={};C(TC,{up:()=>nP,down:()=>vP});async function nP(_){await _.schema.dropIndex("idx_automation_triggers_cron").execute(),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute(),await _.schema.alterTable("automation_triggers").addColumn("last_run_at","text").execute()}async function vP(_){await _.schema.alterTable("automation_triggers").dropColumn("last_run_at").execute(),await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await _.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute()}var zC={};C(zC,{up:()=>pP,down:()=>gP});async function pP(_){await _.schema.alterTable("ai_provider_keys").addColumn("key_hash","text").execute(),await _.schema.createIndex("idx_ai_provider_keys_unique_hash").unique().on("ai_provider_keys").columns(["organization_id","provider_id","key_hash"]).execute()}async function gP(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var EC={};C(EC,{up:()=>qP,down:()=>iP});import{sql as HT}from"kysely";async function qP(_){await HT`
|
|
849
849
|
UPDATE connections
|
|
850
850
|
SET title = 'CMS MCP',
|
|
851
851
|
tools = NULL,
|
|
852
852
|
updated_at = CURRENT_TIMESTAMP
|
|
853
853
|
WHERE app_name = '@deco/management-mcp'
|
|
854
|
-
`.execute(_)}async function
|
|
854
|
+
`.execute(_)}async function iP(_){await HT`
|
|
855
855
|
UPDATE connections
|
|
856
856
|
SET title = 'Mesh MCP',
|
|
857
857
|
updated_at = CURRENT_TIMESTAMP
|
|
858
858
|
WHERE app_name = '@deco/management-mcp'
|
|
859
|
-
`.execute(_)}var $C={};C($C,{up:()=>
|
|
859
|
+
`.execute(_)}var $C={};C($C,{up:()=>cP,down:()=>hP});import{sql as MT}from"kysely";async function cP(_){await MT`
|
|
860
860
|
UPDATE connections
|
|
861
861
|
SET title = 'Deco CMS',
|
|
862
862
|
tools = NULL,
|
|
863
863
|
updated_at = CURRENT_TIMESTAMP
|
|
864
864
|
WHERE app_name = '@deco/management-mcp'
|
|
865
|
-
`.execute(_)}async function
|
|
865
|
+
`.execute(_)}async function hP(_){await MT`
|
|
866
866
|
UPDATE connections
|
|
867
867
|
SET title = 'CMS MCP',
|
|
868
868
|
updated_at = CURRENT_TIMESTAMP
|
|
869
869
|
WHERE app_name = '@deco/management-mcp'
|
|
870
|
-
`.execute(_)}var
|
|
870
|
+
`.execute(_)}var PC={};C(PC,{up:()=>tP,down:()=>oP});async function tP(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function oP(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var UC={};C(UC,{up:()=>aP,down:()=>rP});async function aP(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function rP(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var XC={};C(XC,{up:()=>lP,down:()=>eP});import{sql as JC}from"kysely";async function lP(_){await JC`
|
|
871
871
|
UPDATE organization_settings
|
|
872
872
|
SET enabled_plugins = (
|
|
873
873
|
SELECT COALESCE(json_agg(elem), '[]'::json)::text
|
|
@@ -888,7 +888,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
888
888
|
`.execute(_),await JC`
|
|
889
889
|
DELETE FROM project_plugin_configs
|
|
890
890
|
WHERE plugin_id = 'object-storage'
|
|
891
|
-
`.execute(_)}async function
|
|
891
|
+
`.execute(_)}async function eP(_){}var QC={};C(QC,{up:()=>dP,down:()=>bP});import{sql as RT}from"kysely";async function dP(_){await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await RT`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(_)}async function bP(_){await RT`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(_),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var WC={};C(WC,{up:()=>sP,down:()=>_U});import{sql as ZC}from"kysely";async function sP(_){await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await ZC`
|
|
892
892
|
ALTER TABLE connections
|
|
893
893
|
ADD CONSTRAINT chk_connections_subtype
|
|
894
894
|
CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
|
|
@@ -896,17 +896,17 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
896
896
|
UPDATE connections
|
|
897
897
|
SET subtype = 'agent'
|
|
898
898
|
WHERE connection_type = 'VIRTUAL'
|
|
899
|
-
`.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(z)=>z.primaryKey()).addColumn("virtual_mcp_id","text",(z)=>z.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(z)=>z.notNull()).addColumn("connection_id","text",(z)=>z.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(z)=>z.notNull()).addColumn("updated_at","text",(z)=>z.notNull()).execute(),await _.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await _.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let x=await _.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await _.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),N=new Map;for(let z of u)N.set(z.organizationId,z.userId);let K=new Map;for(let z of x){let E=`vir_${d()}`;K.set(z.id,E);let $=z.ui?JSON.parse(z.ui):null,
|
|
899
|
+
`.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(z)=>z.primaryKey()).addColumn("virtual_mcp_id","text",(z)=>z.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(z)=>z.notNull()).addColumn("connection_id","text",(z)=>z.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(z)=>z.notNull()).addColumn("updated_at","text",(z)=>z.notNull()).execute(),await _.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await _.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let x=await _.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await _.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),N=new Map;for(let z of u)N.set(z.organizationId,z.userId);let K=new Map;for(let z of x){let E=`vir_${d()}`;K.set(z.id,E);let $=z.ui?JSON.parse(z.ui):null,U=JSON.stringify({enabled_plugins:z.enabled_plugins?JSON.parse(z.enabled_plugins):null,ui:$,migrated_from_project:z.id,migrated_project_slug:z.slug}),j=N.get(z.organization_id);if(!j)continue;await _.insertInto("connections").values({id:E,organization_id:z.organization_id,created_by:j,updated_by:null,title:z.name,description:z.description,icon:$?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${E}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:U,bindings:null,status:"active",subtype:"project",created_at:z.created_at,updated_at:z.updated_at}).execute()}let m=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let z of m){let E=K.get(z.project_id);if(!E)continue;await _.insertInto("connection_aggregations").values({id:`agg_${d()}`,parent_connection_id:E,child_connection_id:z.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:z.created_at}).onConflict(($)=>$.doNothing()).execute()}let T=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let z of T){let E=K.get(z.project_id);if(!E)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${d()}`,virtual_mcp_id:E,plugin_id:z.plugin_id,connection_id:z.connection_id,settings:z.settings,created_at:z.created_at,updated_at:z.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function _U(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await ZC`
|
|
900
900
|
ALTER TABLE connections
|
|
901
901
|
DROP CONSTRAINT IF EXISTS chk_connections_subtype
|
|
902
|
-
`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var jC={};C(jC,{up:()=>
|
|
902
|
+
`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var jC={};C(jC,{up:()=>uU,down:()=>CU});import{sql as xU}from"kysely";async function uU(_){await xU`
|
|
903
903
|
DELETE FROM connections
|
|
904
904
|
WHERE connection_type = 'VIRTUAL'
|
|
905
905
|
AND subtype = 'project'
|
|
906
906
|
AND metadata::json->>'migrated_project_slug' = 'org-admin'
|
|
907
|
-
`.execute(_)}async function
|
|
907
|
+
`.execute(_)}async function CU(_){}var LC={};C(LC,{up:()=>NU,down:()=>mU});import{sql as KU}from"kysely";async function NU(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await KU`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function mU(_){await _.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await _.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var YC={};C(YC,{up:()=>TU,down:()=>zU});import{sql as FC}from"kysely";async function TU(_){await _.schema.createTable("org_sso_config").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(x)=>x.notNull()).addColumn("client_id","text",(x)=>x.notNull()).addColumn("client_secret","text",(x)=>x.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(x)=>x.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(x)=>x.notNull()).addColumn("enforced","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(FC`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(FC`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await _.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await _.schema.createTable("org_sso_sessions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(x)=>x.notNull()).addColumn("expires_at","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(FC`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function zU(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var DC={};C(DC,{up:()=>EU,down:()=>$U});async function EU(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function $U(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var HC={};C(HC,{up:()=>PU,down:()=>UU});async function PU(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function UU(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var RC={};C(RC,{up:()=>XU,down:()=>QU});import{sql as BT}from"kysely";function MC(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function JU(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),N=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return MC(N)}catch{return MC(_.connection_url)}if(_.title)return MC(_.title);return _.id}async function XU(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await BT`
|
|
908
908
|
SELECT id, app_name, connection_url, title FROM connections
|
|
909
|
-
`.execute(_);for(let u of x.rows){let N=
|
|
909
|
+
`.execute(_);for(let u of x.rows){let N=JU(u);await BT`UPDATE connections SET slug = ${N} WHERE id = ${u.id}`.execute(_)}await _.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function QU(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var BC={};C(BC,{up:()=>ZU,down:()=>WU});import{sql as X_}from"kysely";async function ZU(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await X_`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await X_`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute(),await _.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function WU(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await X_`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await X_`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await X_`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await _.schema.alterTable("connections").dropColumn("pinned").execute()}var GC={};C(GC,{up:()=>jU,down:()=>LU});async function jU(_){await _.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await _.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function LU(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var OC={};C(OC,{up:()=>FU,down:()=>YU});import{sql as p_}from"kysely";async function FU(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await p_`
|
|
910
910
|
UPDATE threads
|
|
911
911
|
SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
|
|
912
912
|
WHERE agent_ids IS NOT NULL
|
|
@@ -916,14 +916,14 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
916
916
|
`.execute(_),await p_`
|
|
917
917
|
CREATE INDEX idx_threads_virtual_mcp_id
|
|
918
918
|
ON threads (organization_id, virtual_mcp_id, hidden, updated_at DESC)
|
|
919
|
-
`.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function
|
|
919
|
+
`.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function YU(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute(),await p_`
|
|
920
920
|
UPDATE threads
|
|
921
921
|
SET agent_ids = CASE
|
|
922
922
|
WHEN virtual_mcp_id IS NOT NULL AND virtual_mcp_id != ''
|
|
923
923
|
THEN jsonb_build_array(virtual_mcp_id)::text
|
|
924
924
|
ELSE '[]'
|
|
925
925
|
END
|
|
926
|
-
`.execute(_),await p_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var SC={};C(SC,{up:()=>
|
|
926
|
+
`.execute(_),await p_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var SC={};C(SC,{up:()=>DU,down:()=>HU});async function DU(_){await _.schema.createTable("trigger_callback_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(x)=>x.notNull().unique()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).execute(),await _.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function HU(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var fC={};C(fC,{up:()=>MU,down:()=>RU});async function MU(_){await _.schema.createTable("kv").addColumn("organization_id","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("value","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function RU(_){await _.schema.dropTable("kv").execute()}var AC={};C(AC,{up:()=>BU,down:()=>GU});async function BU(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function GU(_){await _.schema.dropIndex("idx_member_user_org").execute()}var IC={};C(IC,{up:()=>OU,down:()=>SU});async function OU(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function SU(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var yC={};C(yC,{up:()=>fU,down:()=>AU});import{sql as O}from"kysely";async function fU(_){await _.schema.createTable("private_registry_item").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("server_json","text",(x)=>x.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(x)=>x.notNull().defaultTo(0)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.references("user.id").onDelete("set null")).execute(),await _.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await _.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await O`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(_),await _.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("server_json","text",(x)=>x.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await O`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(_),await _.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("key_hash","text",(x)=>x.notNull()).addColumn("prefix","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await _.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tested_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("passed_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("failed_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("skipped_items","integer",(x)=>x.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await _.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("run_id","text",(x)=>x.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(x)=>x.notNull()).addColumn("item_title","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tools_listed","integer",(x)=>x.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(x)=>x.notNull().defaultTo(0)).addColumn("action_taken","text",(x)=>x.notNull().defaultTo("none")).addColumn("tested_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await _.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await _.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(x)=>x.notNull().defaultTo("none")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(O`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function AU(_){await _.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await _.schema.dropTable("private_registry_monitor_run").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await _.schema.dropTable("private_registry_publish_api_key").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await _.schema.dropTable("private_registry_publish_request").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await _.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await _.schema.dropTable("private_registry_item").ifExists().execute()}var VC={};C(VC,{up:()=>IU,down:()=>yU});import{sql as b}from"kysely";async function IU(_){await b`
|
|
927
927
|
ALTER TABLE event_subscriptions
|
|
928
928
|
ALTER COLUMN enabled DROP DEFAULT
|
|
929
929
|
`.execute(_),await b`
|
|
@@ -933,7 +933,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
933
933
|
`.execute(_),await b`
|
|
934
934
|
ALTER TABLE event_subscriptions
|
|
935
935
|
ALTER COLUMN enabled SET DEFAULT true
|
|
936
|
-
`.execute(_)}async function
|
|
936
|
+
`.execute(_)}async function yU(_){await b`
|
|
937
937
|
ALTER TABLE event_subscriptions
|
|
938
938
|
ALTER COLUMN enabled DROP DEFAULT
|
|
939
939
|
`.execute(_),await b`
|
|
@@ -943,7 +943,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
943
943
|
`.execute(_),await b`
|
|
944
944
|
ALTER TABLE event_subscriptions
|
|
945
945
|
ALTER COLUMN enabled SET DEFAULT 1
|
|
946
|
-
`.execute(_)}var wC={};C(wC,{up:()=>
|
|
946
|
+
`.execute(_)}var wC={};C(wC,{up:()=>VU,down:()=>wU});import{sql as GT}from"kysely";async function VU(_){await _.schema.createTable("brand_context").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("domain","text",(x)=>x.notNull()).addColumn("overview","text",(x)=>x.notNull()).addColumn("logo","text").addColumn("favicon","text").addColumn("og_image","text").addColumn("fonts","text").addColumn("colors","text").addColumn("images","text").addColumn("metadata","text").addColumn("archived_at","timestamptz").addColumn("is_default","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(GT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(GT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function wU(_){await _.schema.dropTable("brand_context").execute()}var kC={};C(kC,{up:()=>kU,down:()=>nU});import{sql as OT}from"kysely";async function kU(_){await _.schema.createTable("organization_domains").addColumn("organization_id","text",(x)=>x.primaryKey().notNull().references("organization.id").onDelete("cascade")).addColumn("domain","text",(x)=>x.notNull().unique()).addColumn("auto_join_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(OT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(OT`now()`)).execute()}async function nU(_){await _.schema.dropTable("organization_domains").execute()}var nC={};C(nC,{up:()=>qU,down:()=>iU});import{sql as ST}from"kysely";var g_=new Set(["primary","secondary","accent","background","foreground"]),vU={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function pU(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((K)=>g_.has(K))){let K={};for(let[m,T]of Object.entries(u)){if(typeof T!=="string")continue;if(g_.has(m))K[m]=T;else x[m]=T}return{structured:Object.keys(K).length>0?JSON.stringify(K):null,extra:x}}let N={};for(let[K,m]of Object.entries(u)){if(typeof m!=="string")continue;if(g_.has(K.toLowerCase()))N[K.toLowerCase()]=m;else x[K]=m}return{structured:Object.keys(N).length>0?JSON.stringify(N):null,extra:x}}if(Array.isArray(_)){let u={};for(let N of _){let K=N,m=K.label?.toLowerCase?.(),T=K.value;if(!m||!T)continue;if(g_.has(m))u[m]=T;else x[m]=T}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:x}}return{structured:null,extra:x}}function gU(_){if(!_)return null;if(!Array.isArray(_)&&typeof _==="object"){let x=_;if(typeof x.heading==="string"||typeof x.body==="string"||typeof x.code==="string")return JSON.stringify(x);return null}if(Array.isArray(_)){let x={},u=[];for(let N of _){let K=N,m=K.name??K.family??void 0,T=K.role?.toLowerCase?.()??"";if(!m)continue;let z=vU[T];if(z&&!x[z])x[z]=m;else u.push(m)}if(!x.body&&u[0])x.body=u[0];return Object.keys(x).length>0?JSON.stringify(x):null}return null}async function qU(_){let x=await ST`SELECT id, colors, fonts, metadata FROM brand_context`.execute(_);for(let u of x.rows){let N=!1,K=!1,m=!1,T=u.colors,z=u.fonts,E={};try{E=u.metadata?JSON.parse(u.metadata):{}}catch{}if(u.colors)try{let $=JSON.parse(u.colors);if(Array.isArray($)){let U=pU($);if(T=U.structured,N=!0,Object.keys(U.extra).length>0)E.extraColors=U.extra,m=!0}}catch{}if(u.fonts)try{let $=JSON.parse(u.fonts);if(Array.isArray($))z=gU($),K=!0}catch{}if(N||K||m){let $=m?JSON.stringify(E):u.metadata;await ST`
|
|
947
947
|
UPDATE brand_context
|
|
948
948
|
SET
|
|
949
949
|
colors = ${T},
|
|
@@ -951,9 +951,9 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
951
951
|
metadata = ${$},
|
|
952
952
|
updated_at = NOW()
|
|
953
953
|
WHERE id = ${u.id}
|
|
954
|
-
`.execute(_)}}}async function
|
|
954
|
+
`.execute(_)}}}async function iU(_){}var vC={};C(vC,{up:()=>hU,down:()=>tU});import{sql as cU}from"kysely";async function hU(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(cU`'{}'::jsonb`)).execute()}async function tU(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var pC={};C(pC,{up:()=>oU,down:()=>aU});async function oU(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function aU(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var gC={};C(gC,{up:()=>rU,down:()=>lU});async function rU(_){await _.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(x)=>x.notNull()).addColumn("project_ref","text",(x)=>x.notNull()).addColumn("runner_kind","text",(x)=>x.notNull()).addColumn("handle","text",(x)=>x.notNull()).addColumn("state","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function lU(_){await _.schema.dropTable("sandbox_runner_state").execute()}var qC={};C(qC,{up:()=>eU,down:()=>dU});async function eU(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function dU(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var iC={};C(iC,{up:()=>bU,down:()=>sU});async function bU(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function sU(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var cC={};C(cC,{up:()=>_J,down:()=>xJ});async function _J(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function xJ(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var hC={};C(hC,{up:()=>CJ,down:()=>KJ});import{sql as fT}from"kysely";var uJ=["COLLECTION_CONNECTIONS_LIST","COLLECTION_CONNECTIONS_GET","CONNECTION_TEST","COLLECTION_VIRTUAL_MCP_LIST","COLLECTION_VIRTUAL_MCP_GET","VIRTUAL_MCP_PLUGIN_CONFIG_GET","AUTOMATION_GET","AUTOMATION_LIST","AI_PROVIDERS_LIST","AI_PROVIDERS_LIST_MODELS","AI_PROVIDERS_ACTIVE","LIST_OBJECTS","GET_OBJECT_METADATA","GET_PRESIGNED_URL","PUT_PRESIGNED_URL","VM_START","VM_DELETE"];async function CJ(_){let x=await fT`
|
|
955
955
|
SELECT id, permission FROM "organizationRole"
|
|
956
|
-
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let N;try{N=JSON.parse(u.permission)}catch{continue}let K=N.self;if(!Array.isArray(K))continue;if(K.length===1&&K[0]==="*")continue;let m=K,T=Array.from(new Set([...m,...uJ]));if(T.length===m.length)continue;N.self=T;let z=JSON.stringify(N);await
|
|
956
|
+
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let N;try{N=JSON.parse(u.permission)}catch{continue}let K=N.self;if(!Array.isArray(K))continue;if(K.length===1&&K[0]==="*")continue;let m=K,T=Array.from(new Set([...m,...uJ]));if(T.length===m.length)continue;N.self=T;let z=JSON.stringify(N);await fT`
|
|
957
957
|
UPDATE "organizationRole"
|
|
958
958
|
SET permission = ${z}
|
|
959
959
|
WHERE id = ${u.id}
|
|
@@ -973,18 +973,18 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
973
973
|
`.execute(_),await Q_`
|
|
974
974
|
ALTER TABLE automations
|
|
975
975
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
976
|
-
`.execute(_)}var lC={};C(lC,{up:()=>XJ,reshapeSimpleMode:()=>
|
|
976
|
+
`.execute(_)}var lC={};C(lC,{up:()=>XJ,reshapeSimpleMode:()=>AT,inferAutomationTier:()=>IT,down:()=>QJ,__testing:()=>JJ});var PJ={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},UJ=["fast","smart","thinking","image","web_research"];function rC(_){if(!_||typeof _!=="object")return!1;let x=_;if(!("tiers"in x))return!1;let u=x.tiers;if(!u||typeof u!=="object")return!1;return UJ.some((N)=>(N in u))}function AT(_){if(rC(_))return _;let x=_,u=x?.enabled===!0,N=(K)=>K&&K.keyId&&K.modelId?{keyId:K.keyId,modelId:K.modelId,title:K.title}:null;if(!u)return PJ;return{tiers:{fast:N(x?.chat?.fast),smart:N(x?.chat?.smart),thinking:N(x?.chat?.thinking),image:N(x?.image),web_research:N(x?.webResearch)}}}function IT(_){if(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking")return _.tier;if(_.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function yT(_){if(!(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((N)=>_[N]===void 0)}var JJ={isAlreadyReshapedSimpleMode:rC,isAlreadyReshapedAutomationModels:yT};async function XJ(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let N of x){let K=N.simple_mode?typeof N.simple_mode==="string"?JSON.parse(N.simple_mode):N.simple_mode:null;if(rC(K))continue;let m=AT(K);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(m)}).where("organizationId","=",N.organizationId).execute()}let u=await _.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let N of u){let K;try{K=typeof N.models==="string"?JSON.parse(N.models):N.models}catch{K={}}if(yT(K))continue;let m=IT(K);if(await _.updateTable("automations").set({models:JSON.stringify({tier:m})}).where("id","=",N.id).execute(),K.thinking?.capabilities?.image)console.log(`[migration 077] automation ${N.id} previously used an image-only model; mapped to "${m}"`)}}async function QJ(_){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var eC={};C(eC,{up:()=>ZJ,down:()=>WJ});import{sql as k}from"kysely";async function ZJ(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await k`
|
|
977
977
|
ALTER TABLE automations
|
|
978
978
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
979
|
-
`.execute(_),await
|
|
979
|
+
`.execute(_),await k`
|
|
980
980
|
ALTER TABLE automations
|
|
981
981
|
ADD CONSTRAINT chk_automation_kind
|
|
982
982
|
CHECK (kind IN ('agent', 'tool_call'))
|
|
983
|
-
`.execute(_),await
|
|
983
|
+
`.execute(_),await k`
|
|
984
984
|
ALTER TABLE automations
|
|
985
985
|
ADD CONSTRAINT chk_automation_agent_fields
|
|
986
986
|
CHECK (kind != 'agent' OR virtual_mcp_id IS NOT NULL)
|
|
987
|
-
`.execute(_),await
|
|
987
|
+
`.execute(_),await k`
|
|
988
988
|
ALTER TABLE automations
|
|
989
989
|
ADD CONSTRAINT chk_automation_tool_call_fields
|
|
990
990
|
CHECK (
|
|
@@ -995,7 +995,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
995
995
|
AND tool_input IS NOT NULL
|
|
996
996
|
)
|
|
997
997
|
)
|
|
998
|
-
`.execute(_)}async function WJ(_){await
|
|
998
|
+
`.execute(_)}async function WJ(_){await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await k`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await k`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await k`
|
|
999
999
|
ALTER TABLE automations
|
|
1000
1000
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
1001
1001
|
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var dC={};C(dC,{up:()=>LJ,down:()=>FJ});import{sql as VT}from"kysely";var jJ=new Set(["host","docker","agent-sandbox"]);async function LJ(_){let x=await VT`
|
|
@@ -1003,7 +1003,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1003
1003
|
WHERE connection_type = 'VIRTUAL'
|
|
1004
1004
|
AND metadata IS NOT NULL
|
|
1005
1005
|
AND metadata LIKE '%vmMap%'
|
|
1006
|
-
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let N;try{N=JSON.parse(u.metadata)}catch{continue}let K=N.vmMap;if(!K||typeof K!=="object")continue;let m=!1,T={};for(let[E,$]of Object.entries(K)){if(!$||typeof $!=="object"){m=!0;continue}let
|
|
1006
|
+
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let N;try{N=JSON.parse(u.metadata)}catch{continue}let K=N.vmMap;if(!K||typeof K!=="object")continue;let m=!1,T={};for(let[E,$]of Object.entries(K)){if(!$||typeof $!=="object"){m=!0;continue}let U={};for(let[j,Q]of Object.entries($)){if(!Q||typeof Q!=="object"){m=!0;continue}let I=Q.runnerKind;if(I!==void 0&&!jJ.has(I)){m=!0;continue}U[j]=Q}if(Object.keys(U).length>0)T[E]=U;else m=!0}if(!m)continue;N.vmMap=T;let z=JSON.stringify(N);await VT`
|
|
1007
1007
|
UPDATE "connections"
|
|
1008
1008
|
SET metadata = ${z}
|
|
1009
1009
|
WHERE id = ${u.id}
|
|
@@ -1032,7 +1032,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1032
1032
|
CREATE UNIQUE INDEX idx_secrets_org_name
|
|
1033
1033
|
ON secrets (organization_id, lower(name))
|
|
1034
1034
|
WHERE scope = 'organization'
|
|
1035
|
-
`.execute(_)}async function BJ(_){await _.schema.dropTable("secrets").execute()}var xK={};C(xK,{up:()=>GJ,down:()=>OJ});async function GJ(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function OJ(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var uK={};C(uK,{up:()=>
|
|
1035
|
+
`.execute(_)}async function BJ(_){await _.schema.dropTable("secrets").execute()}var xK={};C(xK,{up:()=>GJ,down:()=>OJ});async function GJ(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function OJ(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var uK={};C(uK,{up:()=>fJ,down:()=>AJ});import{sql as SJ}from"kysely";async function fJ(_){await SJ`delete from sandbox_runner_state where runner_kind = 'host'`.execute(_)}async function AJ(_){}var CK={};C(CK,{up:()=>IJ,down:()=>yJ});import{sql as q_}from"kysely";async function IJ(_){await q_`
|
|
1036
1036
|
ALTER TABLE sandbox_runner_state
|
|
1037
1037
|
RENAME COLUMN runner_kind TO sandbox_provider_kind
|
|
1038
1038
|
`.execute(_),await q_`
|
|
@@ -1474,30 +1474,30 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1474
1474
|
WHERE c.connection_type = 'VIRTUAL'
|
|
1475
1475
|
AND c.metadata IS NOT NULL
|
|
1476
1476
|
AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
|
|
1477
|
-
`.execute(_)}async function rJ(_){}var
|
|
1477
|
+
`.execute(_)}async function rJ(_){}var PK={};C(PK,{up:()=>eJ,down:()=>dJ});import{sql as vT}from"kysely";var lJ=["GLOBAL_SEARCH"];async function eJ(_){let x=await vT`
|
|
1478
1478
|
SELECT id, permission FROM "organizationRole"
|
|
1479
1479
|
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let N;try{N=JSON.parse(u.permission)}catch{continue}let K=N.self;if(!Array.isArray(K))continue;if(K.length===1&&K[0]==="*")continue;let m=K,T=Array.from(new Set([...m,...lJ]));if(T.length===m.length)continue;N.self=T;let z=JSON.stringify(N);await vT`
|
|
1480
1480
|
UPDATE "organizationRole"
|
|
1481
1481
|
SET permission = ${z}
|
|
1482
1482
|
WHERE id = ${u.id}
|
|
1483
|
-
`.execute(_)}}async function dJ(_){}var JK={};C(JK,{up:()=>bJ,down:()=>sJ});import{sql as
|
|
1483
|
+
`.execute(_)}}async function dJ(_){}var JK={};C(JK,{up:()=>bJ,down:()=>sJ});import{sql as UK}from"kysely";async function bJ(_){await _.schema.createTable("org_file_configs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("bucket","text",(x)=>x.notNull()).addColumn("region","text",(x)=>x.notNull()).addColumn("endpoint","text").addColumn("force_path_style","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("prefix","text").addColumn("encrypted_credentials","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(UK`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(UK`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await UK`
|
|
1484
1484
|
CREATE UNIQUE INDEX idx_org_file_configs_org_name
|
|
1485
1485
|
ON org_file_configs (organization_id, lower(name))
|
|
1486
|
-
`.execute(_)}async function sJ(_){await _.schema.dropTable("org_file_configs").execute()}var XK={};C(XK,{up:()=>_X,down:()=>xX});import{sql as
|
|
1486
|
+
`.execute(_)}async function sJ(_){await _.schema.dropTable("org_file_configs").execute()}var XK={};C(XK,{up:()=>_X,down:()=>xX});import{sql as n}from"kysely";async function _X(_){await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await n`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await n`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await n`
|
|
1487
1487
|
ALTER TABLE automations
|
|
1488
1488
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
1489
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function xX(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await
|
|
1489
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function xX(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await n`
|
|
1490
1490
|
ALTER TABLE automations
|
|
1491
1491
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
1492
|
-
`.execute(_),await
|
|
1492
|
+
`.execute(_),await n`
|
|
1493
1493
|
ALTER TABLE automations
|
|
1494
1494
|
ADD CONSTRAINT chk_automation_kind
|
|
1495
1495
|
CHECK (kind IN ('agent', 'tool_call'))
|
|
1496
|
-
`.execute(_),await
|
|
1496
|
+
`.execute(_),await n`
|
|
1497
1497
|
ALTER TABLE automations
|
|
1498
1498
|
ADD CONSTRAINT chk_automation_agent_fields
|
|
1499
1499
|
CHECK (kind != 'agent' OR virtual_mcp_id IS NOT NULL)
|
|
1500
|
-
`.execute(_),await
|
|
1500
|
+
`.execute(_),await n`
|
|
1501
1501
|
ALTER TABLE automations
|
|
1502
1502
|
ADD CONSTRAINT chk_automation_tool_call_fields
|
|
1503
1503
|
CHECK (
|
|
@@ -1513,37 +1513,37 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1513
1513
|
WHERE connection_type = 'VIRTUAL'
|
|
1514
1514
|
AND metadata IS NOT NULL
|
|
1515
1515
|
AND metadata LIKE ${"%"+h_+"%"}
|
|
1516
|
-
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let N;try{N=JSON.parse(u.metadata)}catch{continue}let K=N.sandboxMap;if(!K||typeof K!=="object")continue;let m=!1,T={};for(let[E,$]of Object.entries(K)){if(!$||typeof $!=="object"){m=!0;continue}let
|
|
1516
|
+
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let N;try{N=JSON.parse(u.metadata)}catch{continue}let K=N.sandboxMap;if(!K||typeof K!=="object")continue;let m=!1,T={};for(let[E,$]of Object.entries(K)){if(!$||typeof $!=="object"){m=!0;continue}let U={};for(let[j,Q]of Object.entries($)){if(!Q||typeof Q!=="object"){m=!0;continue}if(h_ in Q){m=!0;let I={...Q};if(delete I[h_],Object.keys(I).length>0)U[j]=I}else U[j]=Q}if(Object.keys(U).length>0)T[E]=U;else m=!0}if(!m)continue;N.sandboxMap=T;let z=JSON.stringify(N);await ZK`
|
|
1517
1517
|
UPDATE "connections"
|
|
1518
1518
|
SET metadata = ${z}
|
|
1519
1519
|
WHERE id = ${u.id}
|
|
1520
|
-
`.execute(_)}}async function NX(_){}var jK={};C(jK,{up:()=>mX,down:()=>TX});import{sql as t_}from"kysely";async function mX(_){await _.schema.createTable("thread_message_parts").addColumn("id","text",(x)=>x.primaryKey()).addColumn("seq","integer",(x)=>x.notNull()).addColumn("org_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(x)=>x.notNull()).addColumn("message_id","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull()).addColumn("payload","jsonb",(x)=>x.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(x)=>x.notNull()).execute(),await t_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await t_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await t_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await t_`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(_),await _.schema.alterTable("threads").addColumn("message_storage_version","integer",(x)=>x.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function TX(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var LK={};C(LK,{up:()=>zX,down:()=>EX});async function zX(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function EX(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var FK={};C(FK,{up:()=>$X,down:()=>
|
|
1520
|
+
`.execute(_)}}async function NX(_){}var jK={};C(jK,{up:()=>mX,down:()=>TX});import{sql as t_}from"kysely";async function mX(_){await _.schema.createTable("thread_message_parts").addColumn("id","text",(x)=>x.primaryKey()).addColumn("seq","integer",(x)=>x.notNull()).addColumn("org_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(x)=>x.notNull()).addColumn("message_id","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull()).addColumn("payload","jsonb",(x)=>x.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(x)=>x.notNull()).execute(),await t_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await t_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await t_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await t_`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(_),await _.schema.alterTable("threads").addColumn("message_storage_version","integer",(x)=>x.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function TX(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var LK={};C(LK,{up:()=>zX,down:()=>EX});async function zX(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function EX(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var FK={};C(FK,{up:()=>$X,down:()=>PX});async function $X(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function PX(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var YK={};C(YK,{up:()=>UX,down:()=>JX});async function UX(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function JX(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var DK={};C(DK,{up:()=>XX,down:()=>QX});async function XX(_){await _.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await _.schema.alterTable("threads").addColumn("is_observation","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.createTable("thread_observations").addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(x)=>x.notNull()).addColumn("last_observed_at","text",(x)=>x.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function QX(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var HK={};C(HK,{up:()=>ZX,down:()=>WX});async function ZX(_){await _.schema.dropTable("thread_observations").ifExists().execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function WX(_){await _.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await _.schema.alterTable("threads").addColumn("is_observation","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.createTable("thread_observations").addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(x)=>x.notNull()).addColumn("last_observed_at","text",(x)=>x.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var RK={};C(RK,{up:()=>LX,down:()=>FX});import{sql as w}from"kysely";var S="cluster",f="agent-sandbox";function __(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function MK(_,x,u){if(!__(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function o_(_){if(!__(_))return!1;if(typeof _.sandboxHandle!=="string")return!1;if(_.previewUrl!==null&&typeof _.previewUrl!=="string")return!1;if(_.sandboxApiUrl!==void 0&&_.sandboxApiUrl!==null&&typeof _.sandboxApiUrl!=="string")return!1;if(_.sandboxProviderKind!==void 0&&_.sandboxProviderKind!==S&&_.sandboxProviderKind!==f&&_.sandboxProviderKind!=="user-desktop")return!1;if(_.createdAt!==void 0&&typeof _.createdAt!=="number")return!1;if(_.startedWith!==void 0){if(!__(_.startedWith))return!1;for(let x of["packageManager","port","path"]){let u=_.startedWith[x];if(u!==void 0&&u!==null&&typeof u!=="string")return!1}}return!0}function jX(_,x,u){if(!__(_))return null;let N=!1,K={};for(let[m,T]of Object.entries(_)){if(!__(T)){K[m]=T;continue}let z={};for(let[E,$]of Object.entries(T)){if(!__($)){z[E]=$;continue}let U={};for(let[j,Q]of Object.entries($)){if(j===x){if(N=!0,!(u in $))U[u]=MK(Q,x,u);else if(!o_($[u])&&o_(Q))U[u]=MK(Q,x,u);continue}let I=MK(Q,x,u);if(I!==Q)N=!0;if(j===u&&j in U&&o_(U[j])&&!o_(I))continue;U[j]=I}z[E]=U}K[m]=z}return{sandboxMap:K,changed:N}}async function pT(_,x,u){let N=await w`
|
|
1521
1521
|
SELECT id, metadata FROM connections
|
|
1522
1522
|
WHERE connection_type = 'VIRTUAL'
|
|
1523
1523
|
AND metadata IS NOT NULL
|
|
1524
1524
|
AND metadata LIKE ${"%"+x+"%"}
|
|
1525
|
-
`.execute(_);for(let K of N.rows){if(!K.metadata)continue;let m;try{m=JSON.parse(K.metadata)}catch{continue}let T=jX(m.sandboxMap,x,u);if(!T?.changed)continue;m.sandboxMap=T.sandboxMap,await
|
|
1525
|
+
`.execute(_);for(let K of N.rows){if(!K.metadata)continue;let m;try{m=JSON.parse(K.metadata)}catch{continue}let T=jX(m.sandboxMap,x,u);if(!T?.changed)continue;m.sandboxMap=T.sandboxMap,await w`
|
|
1526
1526
|
UPDATE connections
|
|
1527
1527
|
SET metadata = ${JSON.stringify(m)}
|
|
1528
1528
|
WHERE id = ${K.id}
|
|
1529
|
-
`.execute(_)}}async function LX(_){await
|
|
1529
|
+
`.execute(_)}}async function LX(_){await w`
|
|
1530
1530
|
UPDATE threads
|
|
1531
1531
|
SET sandbox_provider_kind = ${f}
|
|
1532
|
-
WHERE sandbox_provider_kind = ${
|
|
1533
|
-
`.execute(_),await
|
|
1532
|
+
WHERE sandbox_provider_kind = ${S}
|
|
1533
|
+
`.execute(_),await w`
|
|
1534
1534
|
UPDATE sandbox_runner_state canonical
|
|
1535
1535
|
SET handle = legacy.handle,
|
|
1536
1536
|
state = legacy.state,
|
|
1537
1537
|
updated_at = legacy.updated_at
|
|
1538
1538
|
FROM sandbox_runner_state legacy
|
|
1539
1539
|
WHERE canonical.sandbox_provider_kind = ${f}
|
|
1540
|
-
AND legacy.sandbox_provider_kind = ${
|
|
1540
|
+
AND legacy.sandbox_provider_kind = ${S}
|
|
1541
1541
|
AND canonical.user_id = legacy.user_id
|
|
1542
1542
|
AND canonical.project_ref = legacy.project_ref
|
|
1543
1543
|
AND legacy.updated_at > canonical.updated_at
|
|
1544
|
-
`.execute(_),await
|
|
1544
|
+
`.execute(_),await w`
|
|
1545
1545
|
DELETE FROM sandbox_runner_state legacy
|
|
1546
|
-
WHERE legacy.sandbox_provider_kind = ${
|
|
1546
|
+
WHERE legacy.sandbox_provider_kind = ${S}
|
|
1547
1547
|
AND EXISTS (
|
|
1548
1548
|
SELECT 1
|
|
1549
1549
|
FROM sandbox_runner_state canonical
|
|
@@ -1551,26 +1551,26 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1551
1551
|
AND canonical.project_ref = legacy.project_ref
|
|
1552
1552
|
AND canonical.sandbox_provider_kind = ${f}
|
|
1553
1553
|
)
|
|
1554
|
-
`.execute(_),await
|
|
1554
|
+
`.execute(_),await w`
|
|
1555
1555
|
UPDATE sandbox_runner_state
|
|
1556
1556
|
SET sandbox_provider_kind = ${f}
|
|
1557
|
-
WHERE sandbox_provider_kind = ${
|
|
1558
|
-
`.execute(_),await pT(_,
|
|
1557
|
+
WHERE sandbox_provider_kind = ${S}
|
|
1558
|
+
`.execute(_),await pT(_,S,f)}async function FX(_){await w`
|
|
1559
1559
|
UPDATE threads
|
|
1560
|
-
SET sandbox_provider_kind = ${
|
|
1560
|
+
SET sandbox_provider_kind = ${S}
|
|
1561
1561
|
WHERE sandbox_provider_kind = ${f}
|
|
1562
|
-
`.execute(_),await
|
|
1562
|
+
`.execute(_),await w`
|
|
1563
1563
|
UPDATE sandbox_runner_state legacy
|
|
1564
1564
|
SET handle = canonical.handle,
|
|
1565
1565
|
state = canonical.state,
|
|
1566
1566
|
updated_at = canonical.updated_at
|
|
1567
1567
|
FROM sandbox_runner_state canonical
|
|
1568
|
-
WHERE legacy.sandbox_provider_kind = ${
|
|
1568
|
+
WHERE legacy.sandbox_provider_kind = ${S}
|
|
1569
1569
|
AND canonical.sandbox_provider_kind = ${f}
|
|
1570
1570
|
AND legacy.user_id = canonical.user_id
|
|
1571
1571
|
AND legacy.project_ref = canonical.project_ref
|
|
1572
1572
|
AND canonical.updated_at > legacy.updated_at
|
|
1573
|
-
`.execute(_),await
|
|
1573
|
+
`.execute(_),await w`
|
|
1574
1574
|
DELETE FROM sandbox_runner_state canonical
|
|
1575
1575
|
WHERE canonical.sandbox_provider_kind = ${f}
|
|
1576
1576
|
AND EXISTS (
|
|
@@ -1578,13 +1578,13 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1578
1578
|
FROM sandbox_runner_state legacy
|
|
1579
1579
|
WHERE legacy.user_id = canonical.user_id
|
|
1580
1580
|
AND legacy.project_ref = canonical.project_ref
|
|
1581
|
-
AND legacy.sandbox_provider_kind = ${
|
|
1581
|
+
AND legacy.sandbox_provider_kind = ${S}
|
|
1582
1582
|
)
|
|
1583
|
-
`.execute(_),await
|
|
1583
|
+
`.execute(_),await w`
|
|
1584
1584
|
UPDATE sandbox_runner_state
|
|
1585
|
-
SET sandbox_provider_kind = ${
|
|
1585
|
+
SET sandbox_provider_kind = ${S}
|
|
1586
1586
|
WHERE sandbox_provider_kind = ${f}
|
|
1587
|
-
`.execute(_),await pT(_,f,
|
|
1587
|
+
`.execute(_),await pT(_,f,S)}var BK={};C(BK,{up:()=>YX,down:()=>DX});import{sql as g}from"kysely";async function YX(_){await g`CREATE SEQUENCE IF NOT EXISTS org_fs_entry_seq`.execute(_),await _.schema.createTable("org_fs_entry").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("volume","text",(x)=>x.notNull()).addColumn("path","text",(x)=>x.notNull()).addColumn("parent","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull().check(g`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(g`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(g`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(g`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("org_fs_entry_pk",["organization_id","volume","path"]).execute(),await _.schema.createIndex("idx_org_fs_entry_changes").on("org_fs_entry").columns(["organization_id","volume","seq"]).execute(),await g`
|
|
1588
1588
|
CREATE INDEX idx_org_fs_entry_parent
|
|
1589
1589
|
ON org_fs_entry (organization_id, volume, parent)
|
|
1590
1590
|
WHERE deleted_at IS NULL
|
|
@@ -1608,7 +1608,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1608
1608
|
ON CONFLICT (id) DO NOTHING
|
|
1609
1609
|
`.execute(_)}async function BX(_){await gT`
|
|
1610
1610
|
DELETE FROM "organization" WHERE id = 'org_orgfs_public_skills'
|
|
1611
|
-
`.execute(_)}var SK={};C(SK,{up:()=>GX,down:()=>OX});async function GX(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function OX(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var
|
|
1611
|
+
`.execute(_)}var SK={};C(SK,{up:()=>GX,down:()=>OX});async function GX(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function OX(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var fK={};C(fK,{up:()=>SX,down:()=>fX});import{sql as qT}from"kysely";async function SX(_){await qT`DROP INDEX IF EXISTS idx_tmp_run_seq`.execute(_)}async function fX(_){await qT`CREATE UNIQUE INDEX IF NOT EXISTS idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_)}var AK={};C(AK,{up:()=>IX,down:()=>yX});import{sql as AX}from"kysely";async function IX(_){await AX`
|
|
1612
1612
|
UPDATE downstream_tokens
|
|
1613
1613
|
SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
|
|
1614
1614
|
WHERE "expiresAt" IS NULL
|
|
@@ -1632,7 +1632,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1632
1632
|
CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
|
|
1633
1633
|
ON connection_workload_tokens (organization_id, subject_connection_id, name)
|
|
1634
1634
|
WHERE revoked_at IS NULL
|
|
1635
|
-
`.execute(_),await _.schema.createTable("connection_credential_grants").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(j_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(j_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await _.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 TQ(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var aK={};C(aK,{up:()=>zQ,down:()=>EQ});async function zQ(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function EQ(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var rK={};C(rK,{up:()=>$Q,down:()=>
|
|
1635
|
+
`.execute(_),await _.schema.createTable("connection_credential_grants").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(j_`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(j_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await _.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 TQ(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var aK={};C(aK,{up:()=>zQ,down:()=>EQ});async function zQ(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function EQ(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var rK={};C(rK,{up:()=>$Q,down:()=>PQ});import{sql as t}from"kysely";async function $Q(_){await t`
|
|
1636
1636
|
CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
|
|
1637
1637
|
RETURNS jsonb AS $fn$
|
|
1638
1638
|
BEGIN
|
|
@@ -1691,7 +1691,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1691
1691
|
BEFORE INSERT ON connection_aggregations
|
|
1692
1692
|
FOR EACH ROW
|
|
1693
1693
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1694
|
-
`.execute(_)}async function
|
|
1694
|
+
`.execute(_)}async function PQ(_){await t`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await t`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_),await t`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(_)}var eK={};C(eK,{up:()=>UQ,down:()=>JQ});import{sql as lK}from"kysely";async function UQ(_){await _.schema.createTable("task_board_items").addColumn("id","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("status","text",(x)=>x.notNull().defaultTo("triage")).addColumn("priority","text",(x)=>x.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(lK`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(lK`now()`)).execute(),await _.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(lK`false`)).execute()}async function JQ(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var dK={};C(dK,{up:()=>XQ,down:()=>QQ});async function XQ(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function QQ(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var bK={};C(bK,{up:()=>ZQ,down:()=>WQ});async function ZQ(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function WQ(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var sK={};C(sK,{up:()=>jQ,down:()=>LQ});async function jQ(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function LQ(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var _N={};C(_N,{up:()=>YQ,down:()=>DQ});import{sql as FQ}from"kysely";async function YQ(_){await _.schema.createTable("task_board_item_threads").addColumn("task_board_item_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(FQ`now()`)).addPrimaryKeyConstraint("task_board_item_threads_pkey",["task_board_item_id","thread_id"]).execute(),await _.schema.createIndex("task_board_item_threads_item_idx").on("task_board_item_threads").columns(["organization_id","task_board_item_id"]).execute(),await _.schema.createIndex("task_board_item_threads_thread_idx").on("task_board_item_threads").column("thread_id").execute()}async function DQ(_){await _.schema.dropTable("task_board_item_threads").execute()}var xN={};C(xN,{up:()=>HQ,down:()=>MQ});async function HQ(_){await _.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_thread_id_fkey",["thread_id"],"threads",["id"],(x)=>x.onDelete("cascade")).execute()}async function MQ(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var uN={};C(uN,{up:()=>BQ,down:()=>GQ});import{sql as RQ}from"kysely";async function BQ(_){await _.schema.createTable("task_board_item_prs").addColumn("task_board_item_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("url","text",(x)=>x.notNull()).addColumn("pr_number","integer",(x)=>x.notNull()).addColumn("repo_owner","text",(x)=>x.notNull()).addColumn("repo_name","text",(x)=>x.notNull()).addColumn("connection_id","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(RQ`now()`)).addPrimaryKeyConstraint("task_board_item_prs_pkey",["task_board_item_id","url"]).execute(),await _.schema.createIndex("task_board_item_prs_item_idx").on("task_board_item_prs").columns(["organization_id","task_board_item_id"]).execute()}async function GQ(_){await _.schema.dropTable("task_board_item_prs").execute()}var CN={};C(CN,{up:()=>SQ,down:()=>fQ});import{sql as OQ}from"kysely";async function SQ(_){await OQ`
|
|
1695
1695
|
DELETE FROM member
|
|
1696
1696
|
WHERE id IN (
|
|
1697
1697
|
SELECT id FROM (
|
|
@@ -1710,11 +1710,11 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1710
1710
|
) ranked
|
|
1711
1711
|
WHERE ranked.rn > 1
|
|
1712
1712
|
)
|
|
1713
|
-
`.execute(_)}async function
|
|
1713
|
+
`.execute(_)}async function fQ(_){}var KN={};C(KN,{up:()=>AQ,down:()=>IQ});async function AQ(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function IQ(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var NN={};C(NN,{up:()=>yQ,down:()=>VQ});async function yQ(_){await _.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(x)=>x.onDelete("cascade")).execute(),await _.schema.alterTable("task_board_item_prs").addForeignKeyConstraint("task_board_item_prs_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(x)=>x.onDelete("cascade")).execute()}async function VQ(_){await _.schema.alterTable("task_board_item_prs").dropConstraint("task_board_item_prs_task_board_item_id_fkey").execute(),await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_task_board_item_id_fkey").execute()}var mN={};C(mN,{up:()=>kQ,down:()=>nQ});import{sql as wQ}from"kysely";async function kQ(_){await _.schema.createTable("task_board_import_runs").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("run_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(wQ`now()`)).addPrimaryKeyConstraint("task_board_import_runs_pkey",["organization_id","run_id"]).execute(),await _.schema.alterTable("task_board_items").addColumn("external_key","text").execute(),await _.schema.createIndex("idx_task_board_items_org_external_key").on("task_board_items").columns(["organization_id","external_key"]).execute()}async function nQ(_){await _.schema.dropIndex("idx_task_board_items_org_external_key").execute(),await _.schema.alterTable("task_board_items").dropColumn("external_key").execute(),await _.schema.dropTable("task_board_import_runs").execute()}var TN={};C(TN,{up:()=>pQ,down:()=>gQ});import{sql as vQ}from"kysely";async function pQ(_){await _.schema.createTable("agent_sandbox_runner_state").addColumn("project_ref","text",(x)=>x.notNull()).addColumn("sandbox_provider_kind","text",(x)=>x.notNull()).addColumn("handle","text",(x)=>x.notNull()).addColumn("state","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(vQ`now()`)).addPrimaryKeyConstraint("agent_sandbox_runner_state_pkey",["project_ref","sandbox_provider_kind"]).execute(),await _.schema.createIndex("agent_sandbox_runner_state_handle_idx").on("agent_sandbox_runner_state").column("handle").execute()}async function gQ(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var zN={};C(zN,{up:()=>qQ,down:()=>iQ});import{sql as r_}from"kysely";async function qQ(_){await _.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(x)=>x.notNull()).addColumn("branch","text",(x)=>x.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(x)=>x.notNull().defaultTo("running")).addColumn("status","text",(x)=>x.notNull().defaultTo("provisioning")).addColumn("generation","integer",(x)=>x.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("last_started_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(r_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(r_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",r_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",r_`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await _.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await _.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function iQ(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var EN={};C(EN,{up:()=>cQ,down:()=>hQ});import{sql as l_}from"kysely";async function cQ(_){await _.schema.createTable("organization_billing").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("legacy","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("billing_mode","text",(x)=>x.notNull().defaultTo("self_serve")).addColumn("status","text",(x)=>x.notNull().defaultTo("none")).addColumn("stripe_customer_id","text").addColumn("stripe_subscription_id","text").addColumn("current_period_end","timestamptz").addColumn("included_report_url","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(l_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(l_`now()`)).execute(),await _.schema.createTable("organization_paid_seat").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(l_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await l_`
|
|
1714
1714
|
insert into organization_billing (organization_id, legacy)
|
|
1715
1715
|
select id, true from organization
|
|
1716
1716
|
on conflict (organization_id) do nothing
|
|
1717
|
-
`.execute(_)}async function hQ(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var $N={};C($N,{up:()=>tQ,down:()=>oQ});import{sql as cT}from"kysely";async function tQ(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(cT`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(cT`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function oQ(_){await _.schema.dropTable("seat_change_log").execute()}var
|
|
1717
|
+
`.execute(_)}async function hQ(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var $N={};C($N,{up:()=>tQ,down:()=>oQ});import{sql as cT}from"kysely";async function tQ(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(cT`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(cT`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function oQ(_){await _.schema.dropTable("seat_change_log").execute()}var PN={};C(PN,{up:()=>aQ,down:()=>rQ});async function aQ(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function rQ(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var UN={};C(UN,{up:()=>lQ,down:()=>eQ});import{sql as hT}from"kysely";async function lQ(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await hT`
|
|
1718
1718
|
create unique index organization_billing_stripe_subscription_id_uq
|
|
1719
1719
|
on organization_billing (stripe_subscription_id)
|
|
1720
1720
|
where stripe_subscription_id is not null
|
|
@@ -1730,14 +1730,14 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1730
1730
|
UPDATE organization_settings
|
|
1731
1731
|
SET reports_only = (flags ->> 'reports_only')::boolean
|
|
1732
1732
|
WHERE flags ? 'reports_only'
|
|
1733
|
-
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var LN={};C(LN,{up:()=>$Z,down:()=>
|
|
1733
|
+
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var LN={};C(LN,{up:()=>$Z,down:()=>PZ});import{sql as EZ}from"kysely";async function $Z(_){await _.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(x)=>x.notNull().defaultTo(0)).execute(),await EZ`
|
|
1734
1734
|
update task_board_items
|
|
1735
1735
|
set sort_order = -extract(epoch from created_at)
|
|
1736
|
-
`.execute(_)}async function
|
|
1736
|
+
`.execute(_)}async function PZ(_){await _.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var FN={};C(FN,{up:()=>UZ,down:()=>JZ,ACTIONS:()=>rT});import{sql as e_}from"kysely";var rT=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function UZ(_){await _.schema.createTable("task_board_activity").addColumn("id","text",(x)=>x.primaryKey()).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("action","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb").addColumn("occurred_at","timestamptz",(x)=>x.notNull().defaultTo(e_`now()`)).addCheckConstraint("chk_task_board_activity_action",e_`action IN (${e_.join(rT.map((x)=>e_.lit(x)))})`).execute(),await _.schema.createIndex("idx_task_board_activity_item").on("task_board_activity").columns(["task_board_item_id","occurred_at"]).execute()}async function JZ(_){await _.schema.dropIndex("idx_task_board_activity_item").execute(),await _.schema.dropTable("task_board_activity").execute()}var DN={};C(DN,{up:()=>XZ,down:()=>QZ,ACTIONS:()=>YN});import{sql as L_}from"kysely";var YN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function XZ(_){await _.schema.alterTable("organization_tags").addColumn("color","text").execute(),await _.schema.createTable("task_board_item_tags").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(L_`now()`)).addPrimaryKeyConstraint("task_board_item_tags_pkey",["task_board_item_id","id"]).execute(),await _.schema.createIndex("idx_task_board_item_tags_tag").on("task_board_item_tags").columns(["id"]).execute(),await lT(_,YN)}async function QZ(_){await lT(_,YN.filter((x)=>x!=="tags_changed")),await _.schema.dropIndex("idx_task_board_item_tags_tag").execute(),await _.schema.dropTable("task_board_item_tags").execute(),await _.schema.alterTable("organization_tags").dropColumn("color").execute()}async function lT(_,x){await L_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await L_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${L_.join(x.map((u)=>L_.lit(u)))}))`.execute(_)}var MN={};C(MN,{up:()=>WZ,down:()=>jZ});import{sql as eT}from"kysely";function HN(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function ZZ(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),N=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return HN(N)}catch{return HN(_.connection_url)}if(_.title)return HN(_.title);return _.id}async function WZ(_){let x=await eT`
|
|
1737
1737
|
SELECT id, app_name, connection_url, title, slug
|
|
1738
1738
|
FROM connections
|
|
1739
1739
|
WHERE connection_type != 'VIRTUAL'
|
|
1740
|
-
`.execute(_),u=0;for(let N of x.rows){let K=ZZ(N);if(K===N.slug)continue;await eT`UPDATE connections SET slug = ${K} WHERE id = ${N.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function jZ(){}var RN={};C(RN,{up:()=>FZ,down:()=>YZ});import{sql as LZ}from"kysely";async function FZ(_){await LZ`CREATE INDEX idx_tmp_latest_assistant_text ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE role = 'assistant' AND kind = 'text'`.execute(_)}async function YZ(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var GN={};C(GN,{up:()=>HZ,down:()=>MZ,ACTIONS:()=>BN});import{sql as d_}from"kysely";var BN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],DZ=new Set(["review_requested","review_approved","review_changes_requested"]);async function HZ(_){await dT(_,BN)}async function MZ(_){await dT(_,BN.filter((x)=>!DZ.has(x)))}async function dT(_,x){await d_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await d_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${d_.join(x.map((u)=>d_.lit(u)))}))`.execute(_)}var ON={};C(ON,{up:()=>BZ,down:()=>GZ});import{sql as RZ}from"kysely";async function BZ(_){await _.schema.createTable("task_board_review_claims").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("reviewer","text",(x)=>x.notNull()).addColumn("cycle_at","timestamptz",(x)=>x.notNull()).addColumn("token","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(RZ`now()`)).addPrimaryKeyConstraint("task_board_review_claims_pkey",["task_board_item_id","reviewer","cycle_at"]).execute(),await _.schema.createIndex("idx_task_board_review_claims_token").on("task_board_review_claims").columns(["task_board_item_id","token"]).execute()}async function GZ(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var
|
|
1740
|
+
`.execute(_),u=0;for(let N of x.rows){let K=ZZ(N);if(K===N.slug)continue;await eT`UPDATE connections SET slug = ${K} WHERE id = ${N.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function jZ(){}var RN={};C(RN,{up:()=>FZ,down:()=>YZ});import{sql as LZ}from"kysely";async function FZ(_){await LZ`CREATE INDEX idx_tmp_latest_assistant_text ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE role = 'assistant' AND kind = 'text'`.execute(_)}async function YZ(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var GN={};C(GN,{up:()=>HZ,down:()=>MZ,ACTIONS:()=>BN});import{sql as d_}from"kysely";var BN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],DZ=new Set(["review_requested","review_approved","review_changes_requested"]);async function HZ(_){await dT(_,BN)}async function MZ(_){await dT(_,BN.filter((x)=>!DZ.has(x)))}async function dT(_,x){await d_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await d_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${d_.join(x.map((u)=>d_.lit(u)))}))`.execute(_)}var ON={};C(ON,{up:()=>BZ,down:()=>GZ});import{sql as RZ}from"kysely";async function BZ(_){await _.schema.createTable("task_board_review_claims").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("reviewer","text",(x)=>x.notNull()).addColumn("cycle_at","timestamptz",(x)=>x.notNull()).addColumn("token","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(RZ`now()`)).addPrimaryKeyConstraint("task_board_review_claims_pkey",["task_board_item_id","reviewer","cycle_at"]).execute(),await _.schema.createIndex("idx_task_board_review_claims_token").on("task_board_review_claims").columns(["task_board_item_id","token"]).execute()}async function GZ(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var fN={};C(fN,{up:()=>SZ,down:()=>fZ,ACTIONS:()=>SN});import{sql as b_}from"kysely";var SN=["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"],OZ=new Set(["merge_conflict_resolution"]);async function SZ(_){await bT(_,SN)}async function fZ(_){await bT(_,SN.filter((x)=>!OZ.has(x)))}async function bT(_,x){await b_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await b_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${b_.join(x.map((u)=>b_.lit(u)))}))`.execute(_)}var AN={};C(AN,{up:()=>AZ,down:()=>IZ});import{sql as F_}from"kysely";async function AZ(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await F_`drop index if exists idx_org_billing_benefits_pending`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("billing_mode").execute(),await _.schema.alterTable("organization_billing").dropColumn("legacy").execute(),await _.schema.alterTable("organization_billing").dropColumn("included_report_url").execute(),await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute(),await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}async function IZ(_){await _.schema.alterTable("organization_billing").addColumn("legacy","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await _.schema.alterTable("organization_billing").addColumn("billing_mode","text",(x)=>x.notNull().defaultTo("self_serve")).execute(),await _.schema.alterTable("organization_billing").addColumn("included_report_url","text").execute(),await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute(),await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute(),await F_`
|
|
1741
1741
|
create index idx_org_billing_benefits_pending
|
|
1742
1742
|
on organization_billing (updated_at)
|
|
1743
1743
|
where benefits_reference_id is not null
|
|
@@ -1856,7 +1856,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1856
1856
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1857
1857
|
UNIQUE (organization_id, jira_comment_id)
|
|
1858
1858
|
)
|
|
1859
|
-
`.execute(_)}async function z6(_){await x_`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await x_`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await x_`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var lN={};C(lN,{up:()=>$6,down:()=>
|
|
1859
|
+
`.execute(_)}async function z6(_){await x_`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await x_`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await x_`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var lN={};C(lN,{up:()=>$6,down:()=>P6});import{sql as E6}from"kysely";async function $6(_){await _.schema.alterTable("task_board_items").addColumn("key_seq","integer").execute(),await E6`
|
|
1860
1860
|
update task_board_items as t
|
|
1861
1861
|
set key_seq = numbered.seq
|
|
1862
1862
|
from (
|
|
@@ -1869,7 +1869,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1869
1869
|
from task_board_items
|
|
1870
1870
|
) as numbered
|
|
1871
1871
|
where t.id = numbered.id
|
|
1872
|
-
`.execute(_),await _.schema.alterTable("task_board_items").alterColumn("key_seq",(x)=>x.setNotNull()).execute(),await _.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function
|
|
1872
|
+
`.execute(_),await _.schema.alterTable("task_board_items").alterColumn("key_seq",(x)=>x.setNotNull()).execute(),await _.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function P6(_){await _.schema.dropIndex("task_board_items_org_key_seq_unique").on("task_board_items").execute(),await _.schema.alterTable("task_board_items").dropColumn("key_seq").execute()}var eN={};C(eN,{up:()=>U6,down:()=>J6});import{sql as Kz}from"kysely";async function U6(_){await Kz`
|
|
1873
1873
|
CREATE INDEX IF NOT EXISTS idx_threads_github_repo_connection_id
|
|
1874
1874
|
ON threads ((metadata -> 'githubRepo' ->> 'connectionId'))
|
|
1875
1875
|
WHERE metadata -> 'githubRepo' ->> 'connectionId' IS NOT NULL
|
|
@@ -1917,7 +1917,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1917
1917
|
SELECT 1 FROM jsonb_each(status_mapping)
|
|
1918
1918
|
WHERE jsonb_typeof(value) = 'array'
|
|
1919
1919
|
)
|
|
1920
|
-
`.execute(_)}var Km={};C(Km,{up:()=>B6,down:()=>G6,TYPES:()=>Cm});import{sql as ux}from"kysely";var Cm=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],R6=new Set(["mentioned"]);async function B6(_){await Tz(_,Cm)}async function G6(_){await Tz(_,Cm.filter((x)=>!R6.has(x)))}async function Tz(_,x){await ux`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await ux`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${ux.join(x.map((u)=>ux.lit(u)))}))`.execute(_)}var mm={};C(mm,{up:()=>
|
|
1920
|
+
`.execute(_)}var Km={};C(Km,{up:()=>B6,down:()=>G6,TYPES:()=>Cm});import{sql as ux}from"kysely";var Cm=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],R6=new Set(["mentioned"]);async function B6(_){await Tz(_,Cm)}async function G6(_){await Tz(_,Cm.filter((x)=>!R6.has(x)))}async function Tz(_,x){await ux`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await ux`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${ux.join(x.map((u)=>ux.lit(u)))}))`.execute(_)}var mm={};C(mm,{up:()=>f6,down:()=>A6,ACTIONS:()=>Nm});import{sql as i}from"kysely";var O6=["bug","feature","chore","spike","security"],Nm=["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","type_changed"],S6=new Set(["type_changed"]);async function f6(_){await _.schema.alterTable("task_board_items").addColumn("type","text").execute(),await i`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${i.join(O6.map((x)=>i.lit(x)))}))`.execute(_),await zz(_,Nm)}async function A6(_){await zz(_,Nm.filter((x)=>!S6.has(x))),await i`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("type").execute()}async function zz(_,x){await i`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await i`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${i.join(x.map((u)=>i.lit(u)))}))`.execute(_)}var Tm={};C(Tm,{up:()=>I6,down:()=>y6});import{sql as Z}from"kysely";var $z=["bug","feature","chore","spike","security"],Ez="chore";async function I6(_){await Z`UPDATE task_board_items SET type = ${Z.lit(Ez)} WHERE type IS NULL`.execute(_),await Z`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${Z.lit(Ez)}`.execute(_),await Z`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await Z`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Z`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${Z.join($z.map((x)=>Z.lit(x)))}))`.execute(_)}async function y6(_){await Z`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await Z`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${Z.join($z.map((x)=>Z.lit(x)))}))`.execute(_),await Z`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await Z`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var zm={};C(zm,{up:()=>V6,down:()=>w6});import{sql as u_}from"kysely";async function V6(_){await u_`
|
|
1921
1921
|
CREATE TABLE task_board_sprints (
|
|
1922
1922
|
id text PRIMARY KEY,
|
|
1923
1923
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1947,22 +1947,22 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1947
1947
|
SET last_synced_at = NULL,
|
|
1948
1948
|
last_sync_error = NULL
|
|
1949
1949
|
WHERE last_synced_at IS NOT NULL
|
|
1950
|
-
`.execute(_)}async function q6(){}var
|
|
1950
|
+
`.execute(_)}async function q6(){}var Pm={};C(Pm,{up:()=>c6,down:()=>h6});import{sql as i6}from"kysely";async function c6(_){await i6`
|
|
1951
1951
|
UPDATE org_jira_integrations
|
|
1952
1952
|
SET last_synced_at = NULL,
|
|
1953
1953
|
last_sync_error = NULL
|
|
1954
1954
|
WHERE last_synced_at IS NOT NULL
|
|
1955
|
-
`.execute(_)}async function h6(){}var Jm={};C(Jm,{up:()=>t6,down:()=>o6});import{sql as
|
|
1955
|
+
`.execute(_)}async function h6(){}var Jm={};C(Jm,{up:()=>t6,down:()=>o6});import{sql as Um}from"kysely";async function t6(_){await Um`
|
|
1956
1956
|
ALTER TABLE org_jira_integrations
|
|
1957
1957
|
ADD COLUMN rescan_pending boolean NOT NULL DEFAULT false
|
|
1958
|
-
`.execute(_),await
|
|
1958
|
+
`.execute(_),await Um`
|
|
1959
1959
|
UPDATE org_jira_integrations
|
|
1960
1960
|
SET rescan_pending = true
|
|
1961
1961
|
WHERE last_synced_at IS NULL
|
|
1962
|
-
`.execute(_)}async function o6(_){await
|
|
1962
|
+
`.execute(_)}async function o6(_){await Um`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var Xm={};C(Xm,{up:()=>a6,down:()=>r6});async function a6(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function r6(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var Qm={};C(Qm,{up:()=>l6,down:()=>e6});import{sql as Pz}from"kysely";async function l6(_){await Pz`
|
|
1963
1963
|
ALTER TABLE invitation
|
|
1964
1964
|
ADD COLUMN "autoAccept" boolean NOT NULL DEFAULT false
|
|
1965
|
-
`.execute(_)}async function e6(_){await
|
|
1965
|
+
`.execute(_)}async function e6(_){await Pz`ALTER TABLE invitation DROP COLUMN "autoAccept"`.execute(_)}var Wm={};C(Wm,{up:()=>d6,down:()=>b6});import{sql as Zm}from"kysely";async function d6(_){await _.schema.createTable("task_board_column_automations").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("column_key","text",(x)=>x.notNull()).addColumn("prompt","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(Zm`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Zm`now()`)).execute(),await _.schema.createIndex("task_board_column_automations_org_column_uniq").ifNotExists().on("task_board_column_automations").columns(["organization_id","column_key"]).unique().execute(),await Zm`
|
|
1966
1966
|
INSERT INTO task_board_column_automations
|
|
1967
1967
|
(id, organization_id, column_key, prompt)
|
|
1968
1968
|
SELECT 'tbca_' || organization_id || '_todo', organization_id, 'todo', NULL
|
|
@@ -1991,7 +1991,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
1991
1991
|
WHERE status = 'in_review'
|
|
1992
1992
|
AND assignee_id = 'super-agent'
|
|
1993
1993
|
AND dismissed_at IS NULL
|
|
1994
|
-
`.execute(_),await Y_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var Lm={};C(Lm,{up:()=>xW,down:()=>uW});import{sql as
|
|
1994
|
+
`.execute(_),await Y_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var Lm={};C(Lm,{up:()=>xW,down:()=>uW});import{sql as Uz}from"kysely";async function xW(_){await _.schema.createTable("task_board_columns").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("title","text",(x)=>x.notNull()).addColumn("position","integer",(x)=>x.notNull()).addColumn("role","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(Uz`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Uz`now()`)).execute(),await _.schema.createIndex("task_board_columns_org_key_uniq").ifNotExists().on("task_board_columns").columns(["organization_id","key"]).unique().execute(),await _.schema.createIndex("task_board_columns_org_position_idx").ifNotExists().on("task_board_columns").columns(["organization_id","position"]).execute()}async function uW(_){await _.schema.dropTable("task_board_columns").ifExists().execute()}var Ym={};C(Ym,{up:()=>KW,down:()=>NW,ACTIONS:()=>Fm});import{sql as Cx}from"kysely";var Fm=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed"],CW=new Set(["review_verdict_requested"]);async function KW(_){await Jz(_,Fm)}async function NW(_){await Jz(_,Fm.filter((x)=>!CW.has(x)))}async function Jz(_,x){await Cx`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await Cx`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Cx.join(x.map((u)=>Cx.lit(u)))}))`.execute(_)}var Dm={};C(Dm,{up:()=>mW,down:()=>TW});import{sql as Kx}from"kysely";async function mW(_){await _.schema.alterTable("task_board_items").addColumn("board_column_org","text").execute(),await Kx`
|
|
1995
1995
|
ALTER TABLE task_board_items
|
|
1996
1996
|
ADD CONSTRAINT chk_task_board_items_column_org
|
|
1997
1997
|
CHECK (board_column_org IS NULL OR board_column_org = organization_id)
|
|
@@ -2007,7 +2007,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2007
2007
|
`.execute(_),await Kx`
|
|
2008
2008
|
ALTER TABLE task_board_items
|
|
2009
2009
|
DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org
|
|
2010
|
-
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var Hm={};C(Hm,{up:()=>zW,down:()=>EW});async function zW(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function EW(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var Rm={};C(Rm,{up:()=>
|
|
2010
|
+
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var Hm={};C(Hm,{up:()=>zW,down:()=>EW});async function zW(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function EW(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var Rm={};C(Rm,{up:()=>PW,down:()=>UW,ACTIONS:()=>Mm});import{sql as Nx}from"kysely";var Mm=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested","review_verdict_requested","merge_conflict_resolution","merge_failed","type_changed","sprint_changed"],$W=new Set(["sprint_changed"]);async function PW(_){await Xz(_,Mm)}async function UW(_){await Xz(_,Mm.filter((x)=>!$W.has(x)))}async function Xz(_,x){await Nx`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await Nx`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${Nx.join(x.map((u)=>Nx.lit(u)))}))`.execute(_)}var Bm={};C(Bm,{up:()=>XW,down:()=>QW});import{sql as JW}from"kysely";async function XW(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(JW`'[]'::jsonb`)).execute()}async function QW(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var Gm={};C(Gm,{up:()=>ZW,down:()=>WW});import{sql as Qz}from"kysely";async function ZW(_){await _.schema.createTable("task_board_prompts").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("column_key","text").addColumn("prompt","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(Qz`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Qz`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function WW(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var Om={};C(Om,{up:()=>LW,down:()=>FW});import{sql as jW}from"kysely";async function LW(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await jW`
|
|
2011
2011
|
UPDATE task_board_items i
|
|
2012
2012
|
SET external_url = t.url,
|
|
2013
2013
|
description = CASE
|
|
@@ -2042,7 +2042,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2042
2042
|
DROP COLUMN IF EXISTS last_synced_at,
|
|
2043
2043
|
DROP COLUMN IF EXISTS last_sync_error,
|
|
2044
2044
|
DROP COLUMN IF EXISTS rescan_pending
|
|
2045
|
-
`.execute(_)}async function HW(){}async function MW(_,x){await X`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await X`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${X.join(x.map((u)=>X.lit(u)))}))`.execute(_)}var
|
|
2045
|
+
`.execute(_)}async function HW(){}async function MW(_,x){await X`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await X`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${X.join(x.map((u)=>X.lit(u)))}))`.execute(_)}var fm={};C(fm,{up:()=>RW,down:()=>BW});import{sql as C_}from"kysely";async function RW(_){await C_`
|
|
2046
2046
|
ALTER TABLE task_board_items
|
|
2047
2047
|
ADD COLUMN IF NOT EXISTS source text
|
|
2048
2048
|
CONSTRAINT chk_task_board_items_source CHECK (source IN ('jira'))
|
|
@@ -2063,14 +2063,14 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2063
2063
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
2064
2064
|
PRIMARY KEY (organization_id, jira_issue_id, changelog_id)
|
|
2065
2065
|
)
|
|
2066
|
-
`.execute(_)}async function BW(_){await C_`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await C_`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await C_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var
|
|
2066
|
+
`.execute(_)}async function BW(_){await C_`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await C_`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await C_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var Am={};C(Am,{up:()=>GW,down:()=>OW});import{sql as D_}from"kysely";async function GW(_){await _.schema.createTable("organization_notices").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("severity","text",(x)=>x.notNull().check(D_`severity IN ('warn', 'block')`)).addColumn("title","text",(x)=>x.notNull()).addColumn("message","text",(x)=>x.notNull()).addColumn("cta_label","text").addColumn("cta_url","text").addColumn("source","text",(x)=>x.notNull().defaultTo("manual")).addColumn("resolved_at","timestamptz").addColumn("resolved_by","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(D_`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(D_`now()`)).execute(),await D_`
|
|
2067
2067
|
CREATE UNIQUE INDEX IF NOT EXISTS organization_notices_active_uniq
|
|
2068
2068
|
ON organization_notices (organization_id)
|
|
2069
2069
|
WHERE resolved_at IS NULL
|
|
2070
2070
|
`.execute(_),await D_`
|
|
2071
2071
|
CREATE INDEX IF NOT EXISTS organization_notices_org_created_idx
|
|
2072
2072
|
ON organization_notices (organization_id, created_at DESC)
|
|
2073
|
-
`.execute(_)}async function OW(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var ym={};C(ym,{up:()=>vW,down:()=>pW});import{sql as Im}from"kysely";import{sql as Y5}from"kysely";var Wz=50000000,SW=1e5;function
|
|
2073
|
+
`.execute(_)}async function OW(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var ym={};C(ym,{up:()=>vW,down:()=>pW});import{sql as Im}from"kysely";import{sql as Y5}from"kysely";var Wz=50000000,SW=1e5;function fW(_,x){let u=0,N=0,K=[_];while(K.length>0){if(u>x||++N>SW)return 1/0;let m=K.pop();if(typeof m==="string")u+=m.length;else if(Array.isArray(m))for(let T of m)K.push(T);else if(m!==null&&typeof m==="object")for(let T of Object.values(m))K.push(T)}return u}var AW=/\u0000/g,IW=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,yW=/([a-z][a-z0-9+.-]{0,30}:\/\/)[^\s/@]{1,512}@/gi,VW=/\b(gh[pousr]_|github_pat_)[A-Za-z0-9_]{20,}/g,wW=/data:[a-z0-9.+-]{0,60}\/[a-z0-9.+-]{0,60};base64,[A-Za-z0-9+/=]{100,}/gi;function kW(_){return _.replace(AW,"").replace(IW,"\uFFFD").replace(yW,"$1***@").replace(VW,"$1***").replace(wW,"[base64 data omitted]")}function nW(_){if(typeof _!=="object"||_===null)return!1;let x=_;if(x.type!=="image")return!1;if(typeof x.data==="string")return!0;let u=x.source;return typeof u==="object"&&u!==null&&typeof u.data==="string"}function jz(_){if(fW(_,Wz)>Wz)return JSON.stringify({truncated:!0,reason:"payload exceeds max stored size"});return JSON.stringify(_,(x,u)=>{if(typeof u==="string")return kW(u);if(nW(u))return{type:"text",text:"[image omitted]"};return u})}var Lz=20;async function vW(_){let x=await Im`
|
|
2074
2074
|
SELECT id FROM thread_message_parts
|
|
2075
2075
|
WHERE pg_column_size(payload) > 8192
|
|
2076
2076
|
AND (payload::text LIKE '%"type": "image"%' OR payload::text LIKE '%;base64,%')
|
|
@@ -2080,7 +2080,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2080
2080
|
UPDATE thread_message_parts
|
|
2081
2081
|
SET payload = ${T}::jsonb
|
|
2082
2082
|
WHERE id = ${m.id}
|
|
2083
|
-
`.execute(_)}}}async function pW(){}var Vm={};C(Vm,{up:()=>gW,down:()=>qW});async function gW(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function qW(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var wm={};C(wm,{up:()=>iW,down:()=>cW});import{sql as
|
|
2083
|
+
`.execute(_)}}}async function pW(){}var Vm={};C(Vm,{up:()=>gW,down:()=>qW});async function gW(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function qW(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var wm={};C(wm,{up:()=>iW,down:()=>cW});import{sql as P}from"kysely";async function iW(_){await P`
|
|
2084
2084
|
CREATE TABLE git_provider_accounts (
|
|
2085
2085
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
2086
2086
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -2098,7 +2098,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2098
2098
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
2099
2099
|
UNIQUE (organization_id, host, external_account_id)
|
|
2100
2100
|
)
|
|
2101
|
-
`.execute(_),await
|
|
2101
|
+
`.execute(_),await P`
|
|
2102
2102
|
CREATE TABLE git_provider_account_credentials (
|
|
2103
2103
|
account_id text PRIMARY KEY REFERENCES git_provider_accounts(id) ON DELETE CASCADE,
|
|
2104
2104
|
access_token text NOT NULL,
|
|
@@ -2111,7 +2111,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2111
2111
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
2112
2112
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
2113
2113
|
)
|
|
2114
|
-
`.execute(_),await
|
|
2114
|
+
`.execute(_),await P`
|
|
2115
2115
|
CREATE TABLE git_provider_oauth_states (
|
|
2116
2116
|
id text PRIMARY KEY,
|
|
2117
2117
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -2122,10 +2122,10 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2122
2122
|
expires_at timestamptz NOT NULL,
|
|
2123
2123
|
created_at timestamptz NOT NULL DEFAULT now()
|
|
2124
2124
|
)
|
|
2125
|
-
`.execute(_),await
|
|
2125
|
+
`.execute(_),await P`
|
|
2126
2126
|
CREATE INDEX idx_git_provider_oauth_states_expires_at
|
|
2127
2127
|
ON git_provider_oauth_states (expires_at)
|
|
2128
|
-
`.execute(_),await
|
|
2128
|
+
`.execute(_),await P`
|
|
2129
2129
|
CREATE TABLE repositories (
|
|
2130
2130
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
2131
2131
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -2142,27 +2142,27 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2142
2142
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
2143
2143
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
2144
2144
|
)
|
|
2145
|
-
`.execute(_),await
|
|
2145
|
+
`.execute(_),await P`
|
|
2146
2146
|
CREATE UNIQUE INDEX uq_repositories_org_host_path
|
|
2147
2147
|
ON repositories (organization_id, host, lower(path))
|
|
2148
|
-
`.execute(_),await
|
|
2148
|
+
`.execute(_),await P`
|
|
2149
2149
|
CREATE INDEX idx_repositories_account ON repositories (account_id)
|
|
2150
|
-
`.execute(_),await
|
|
2150
|
+
`.execute(_),await P`
|
|
2151
2151
|
ALTER TABLE task_board_items
|
|
2152
2152
|
ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
|
|
2153
|
-
`.execute(_),await
|
|
2153
|
+
`.execute(_),await P`
|
|
2154
2154
|
ALTER TABLE task_board_item_prs
|
|
2155
2155
|
ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
|
|
2156
|
-
`.execute(_),await
|
|
2156
|
+
`.execute(_),await P`
|
|
2157
2157
|
ALTER TABLE org_repo_sync
|
|
2158
2158
|
ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
|
|
2159
|
-
`.execute(_),await
|
|
2159
|
+
`.execute(_),await P`
|
|
2160
2160
|
ALTER TABLE org_repo_sync ALTER COLUMN connection_id DROP NOT NULL
|
|
2161
|
-
`.execute(_),await
|
|
2161
|
+
`.execute(_),await P`
|
|
2162
2162
|
ALTER TABLE org_repo_sync
|
|
2163
2163
|
ADD CONSTRAINT org_repo_sync_source_present
|
|
2164
2164
|
CHECK (connection_id IS NOT NULL OR repository_id IS NOT NULL)
|
|
2165
|
-
`.execute(_),await
|
|
2165
|
+
`.execute(_),await P`
|
|
2166
2166
|
CREATE OR REPLACE FUNCTION git_provider_try_jsonb(t text)
|
|
2167
2167
|
RETURNS jsonb AS $fn$
|
|
2168
2168
|
BEGIN
|
|
@@ -2171,7 +2171,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2171
2171
|
RETURN NULL;
|
|
2172
2172
|
END;
|
|
2173
2173
|
$fn$ LANGUAGE plpgsql IMMUTABLE;
|
|
2174
|
-
`.execute(_),await
|
|
2174
|
+
`.execute(_),await P`
|
|
2175
2175
|
INSERT INTO git_provider_accounts (
|
|
2176
2176
|
organization_id, type, host, auth_kind, external_account_id, login,
|
|
2177
2177
|
installation_id, credential_connection_id, created_by
|
|
@@ -2205,7 +2205,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2205
2205
|
AND coalesce(s.owner, '') <> ''
|
|
2206
2206
|
ORDER BY c.organization_id, s.installation_id, c.created_at ASC
|
|
2207
2207
|
ON CONFLICT (organization_id, host, external_account_id) DO NOTHING
|
|
2208
|
-
`.execute(_),await
|
|
2208
|
+
`.execute(_),await P`
|
|
2209
2209
|
INSERT INTO repositories (
|
|
2210
2210
|
organization_id, account_id, provider, host, path, external_id, web_url,
|
|
2211
2211
|
legacy_connection_id, created_by
|
|
@@ -2242,7 +2242,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2242
2242
|
ORDER BY c.organization_id, lower(s.owner || '/' || s.repo),
|
|
2243
2243
|
coalesce(s.org_shared = 'true', false) DESC, c.created_at ASC
|
|
2244
2244
|
ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
|
|
2245
|
-
`.execute(_),await
|
|
2245
|
+
`.execute(_),await P`
|
|
2246
2246
|
UPDATE repositories r
|
|
2247
2247
|
SET external_id = s.repository_id
|
|
2248
2248
|
FROM connections c
|
|
@@ -2257,7 +2257,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2257
2257
|
AND c.organization_id = r.organization_id
|
|
2258
2258
|
AND coalesce(s.repository_id, '') <> ''
|
|
2259
2259
|
AND lower(s.owner || '/' || s.repo) = lower(r.path)
|
|
2260
|
-
`.execute(_),await
|
|
2260
|
+
`.execute(_),await P`
|
|
2261
2261
|
INSERT INTO repositories (
|
|
2262
2262
|
organization_id, account_id, provider, host, path, web_url, created_by
|
|
2263
2263
|
)
|
|
@@ -2281,7 +2281,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2281
2281
|
AND g.name NOT LIKE '%/%'
|
|
2282
2282
|
ORDER BY c.organization_id, lower(g.owner || '/' || g.name), c.created_at ASC
|
|
2283
2283
|
ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
|
|
2284
|
-
`.execute(_),await
|
|
2284
|
+
`.execute(_),await P`
|
|
2285
2285
|
INSERT INTO repositories (
|
|
2286
2286
|
organization_id, account_id, provider, host, path, web_url
|
|
2287
2287
|
)
|
|
@@ -2299,7 +2299,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2299
2299
|
WHERE EXISTS (SELECT 1 FROM organization o WHERE o.id = x.organization_id)
|
|
2300
2300
|
ORDER BY x.organization_id, lower(x.path)
|
|
2301
2301
|
ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
|
|
2302
|
-
`.execute(_),await
|
|
2302
|
+
`.execute(_),await P`
|
|
2303
2303
|
UPDATE task_board_items t
|
|
2304
2304
|
SET repository_id = r.id
|
|
2305
2305
|
FROM repositories r
|
|
@@ -2308,7 +2308,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2308
2308
|
AND r.organization_id = t.organization_id
|
|
2309
2309
|
AND r.host = 'github.com'
|
|
2310
2310
|
AND lower(r.path) = lower(t.repo)
|
|
2311
|
-
`.execute(_),await
|
|
2311
|
+
`.execute(_),await P`
|
|
2312
2312
|
UPDATE task_board_item_prs p
|
|
2313
2313
|
SET repository_id = r.id
|
|
2314
2314
|
FROM repositories r
|
|
@@ -2316,7 +2316,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2316
2316
|
AND r.organization_id = p.organization_id
|
|
2317
2317
|
AND r.host = 'github.com'
|
|
2318
2318
|
AND lower(r.path) = lower(p.repo_owner || '/' || p.repo_name)
|
|
2319
|
-
`.execute(_),await
|
|
2319
|
+
`.execute(_),await P`
|
|
2320
2320
|
UPDATE org_repo_sync s
|
|
2321
2321
|
SET repository_id = r.id
|
|
2322
2322
|
FROM repositories r
|
|
@@ -2324,11 +2324,11 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2324
2324
|
AND r.organization_id = s.organization_id
|
|
2325
2325
|
AND r.host = 'github.com'
|
|
2326
2326
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name)
|
|
2327
|
-
`.execute(_),await
|
|
2327
|
+
`.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function cW(_){await P`
|
|
2328
2328
|
ALTER TABLE org_repo_sync DROP CONSTRAINT IF EXISTS org_repo_sync_source_present
|
|
2329
|
-
`.execute(_),await
|
|
2329
|
+
`.execute(_),await P`DELETE FROM org_repo_sync WHERE connection_id IS NULL`.execute(_),await P`
|
|
2330
2330
|
ALTER TABLE org_repo_sync ALTER COLUMN connection_id SET NOT NULL
|
|
2331
|
-
`.execute(_),await
|
|
2331
|
+
`.execute(_),await P`ALTER TABLE org_repo_sync DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_item_prs DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_items DROP COLUMN IF EXISTS repository_id`.execute(_),await P`DROP TABLE IF EXISTS repositories`.execute(_),await P`DROP TABLE IF EXISTS git_provider_oauth_states`.execute(_),await P`DROP TABLE IF EXISTS git_provider_account_credentials`.execute(_),await P`DROP TABLE IF EXISTS git_provider_accounts`.execute(_)}var km={};C(km,{up:()=>tW,down:()=>oW});import{sql as A}from"kysely";var hW=A`
|
|
2332
2332
|
CREATE OR REPLACE FUNCTION repo_ref_try_jsonb(value text)
|
|
2333
2333
|
RETURNS jsonb LANGUAGE plpgsql IMMUTABLE AS $$
|
|
2334
2334
|
BEGIN
|
|
@@ -2337,13 +2337,13 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2337
2337
|
RETURN NULL;
|
|
2338
2338
|
END;
|
|
2339
2339
|
$$
|
|
2340
|
-
`;async function tW(_){await hW.execute(_),await
|
|
2340
|
+
`;async function tW(_){await hW.execute(_),await A`
|
|
2341
2341
|
ALTER TABLE connections
|
|
2342
2342
|
ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
|
|
2343
|
-
`.execute(_),await
|
|
2343
|
+
`.execute(_),await A`
|
|
2344
2344
|
CREATE INDEX idx_connections_repository
|
|
2345
2345
|
ON connections (repository_id) WHERE repository_id IS NOT NULL
|
|
2346
|
-
`.execute(_),await
|
|
2346
|
+
`.execute(_),await A`
|
|
2347
2347
|
CREATE TABLE thread_repositories (
|
|
2348
2348
|
thread_id text NOT NULL REFERENCES threads(id) ON DELETE CASCADE,
|
|
2349
2349
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -2351,10 +2351,10 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2351
2351
|
added_at timestamptz NOT NULL DEFAULT now(),
|
|
2352
2352
|
PRIMARY KEY (thread_id, repository_id)
|
|
2353
2353
|
)
|
|
2354
|
-
`.execute(_),await
|
|
2354
|
+
`.execute(_),await A`
|
|
2355
2355
|
CREATE INDEX idx_thread_repositories_repo
|
|
2356
2356
|
ON thread_repositories (repository_id)
|
|
2357
|
-
`.execute(_),await
|
|
2357
|
+
`.execute(_),await A`
|
|
2358
2358
|
UPDATE connections c
|
|
2359
2359
|
SET repository_id = r.id
|
|
2360
2360
|
FROM repositories r
|
|
@@ -2366,7 +2366,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2366
2366
|
|| '/' ||
|
|
2367
2367
|
(repo_ref_try_jsonb(c.metadata) #>> '{githubRepo,name}')
|
|
2368
2368
|
)
|
|
2369
|
-
`.execute(_),await
|
|
2369
|
+
`.execute(_),await A`
|
|
2370
2370
|
INSERT INTO repositories (
|
|
2371
2371
|
organization_id, account_id, provider, host, path, web_url
|
|
2372
2372
|
)
|
|
@@ -2387,7 +2387,7 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2387
2387
|
AND e.name NOT LIKE '%/%'
|
|
2388
2388
|
ORDER BY t.organization_id, lower(e.owner || '/' || e.name)
|
|
2389
2389
|
ON CONFLICT (organization_id, host, lower(path)) DO NOTHING
|
|
2390
|
-
`.execute(_),await
|
|
2390
|
+
`.execute(_),await A`
|
|
2391
2391
|
INSERT INTO thread_repositories (thread_id, organization_id, repository_id)
|
|
2392
2392
|
SELECT DISTINCT t.id, t.organization_id, r.id
|
|
2393
2393
|
FROM threads t
|
|
@@ -2399,11 +2399,11 @@ var nz=Object.defineProperty;var vz=(_)=>_;function pz(_,x){this[_]=vz.bind(null
|
|
|
2399
2399
|
AND r.host = 'github.com'
|
|
2400
2400
|
AND lower(r.path) = lower((entry ->> 'owner') || '/' || (entry ->> 'name'))
|
|
2401
2401
|
ON CONFLICT (thread_id, repository_id) DO NOTHING
|
|
2402
|
-
`.execute(_),await
|
|
2402
|
+
`.execute(_),await A`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function oW(_){await A`DROP TABLE IF EXISTS thread_repositories`.execute(_),await A`
|
|
2403
2403
|
ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
|
|
2404
|
-
`.execute(_)}var aW={"001-initial-schema":Fu,"002-organization-settings":Yu,"003-connection-schema-align":Du,"004-remove-models-binding":Hu,"005-connection-configuration":Mu,"006-add-views-to-settings":Ru,"007-monitoring-logs":Bu,"008-event-bus":Gu,"009-drop-audit-logs":Ou,"010-gateways":Su,"011-gateway-icon":Au,"012-gateway-tool-selection-mode":fu,"013-monitoring-user-agent-gateway":Iu,"014-gateway-resources-prompts":yu,"015-monitoring-properties":Vu,"016-downstream-token-client-info":wu,"017-downstream-token-remove-userid":ku,"018-drop-gateway-tool-selection-strategy":nu,"019-remove-gateway-is-default":vu,"020-enabled-plugins":pu,"021-threads":gu,"022-rename-gateway-to-virtual-mcp":qu,"023-optimize-thread-indexes":iu,"024-consolidate-virtual-mcp":cu,"025-add-monitoring-virtual-mcp-id":hu,"026-restrict-child-connection-delete":tu,"027-update-management-mcp-url":au,"028-update-management-mcp-to-self":lu,"029-add-updated-by-to-connections":eu,"030-member-tags":du,"031-add-dependency-mode":bu,"032-projects":su,"033-thread-status":_C,"034-monitoring-dashboards":xC,"035-project-connections":uC,"036-update-registry-url":CC,"037-ai-provider-keys":KC,"038-oauth-pkce-states":NC,"039-automations":mC,"040-replace-next-run-at-with-last-run-at":TC,"041-ai-provider-keys-unique-constraint":zC,"042-rename-mesh-mcp-to-cms-mcp":EC,"043-rename-cms-mcp-to-deco-cms":$C,"044-drop-connections-tools-column":UC,"045-thread-context-start-message":PC,"046-remove-object-storage-plugin":XC,"047-add-next-run-at":QC,"048-merge-projects-agents":WC,"049-remove-org-admin-projects":jC,"050-durable-agent-runs":LC,"051-org-sso":YC,"052-thread-agent-ids":DC,"053-registry-config":HC,"054-connection-slug":RC,"055-spaces":BC,"056-automation-project-scope":GC,"057-thread-virtual-mcp-id":OC,"058-trigger-callback-tokens":SC,"059-kv":AC,"060-member-index":fC,"061-downstream-token-connection-index":IC,"062-private-registry":yC,"063-event-subscriptions-enabled-boolean":VC,"064-brand-context":wC,"065-organization-domains":kC,"066-brand-context-structured":nC,"067-threads-metadata":vC,"068-threads-branch":pC,"069-sandbox-runner-state":gC,"070-model-categories":qC,"071-default-home-agents":iC,"072-ai-provider-key-preset-id":cC,"073-backfill-basic-usage-roles":hC,"074-sandbox-runner-state-handle-nonunique":tC,"075-thread-inflight-async-jobs":oC,"076-automations-drop-agent-json":aC,"077-tier-only-model-selection":lC,"078-automation-tool-call-kind":eC,"079-strip-legacy-freestyle-vm-map-entries":dC,"080-async-research-jobs":bC,"081-async-research-jobs-result-content":sC,"082-secrets":_K,"083-thread-run-locally":xK,"084-drop-host-sandbox-rows":uK,"085-rename-runner-kind":CK,"086-thread-pins-and-vm-map-rekey":KK,"087-fix-vm-map-rekey":NK,"088-purge-cli-activate-keys":mK,"089-rename-remote-user-to-desktop":TK,"090-automation-webhook-triggers":zK,"091-organization-domains-allow-multi":EK,"092-sandbox-naming-uniformization":$K,"093-backfill-global-search-basic-usage":UK,"094-org-file-configs":JK,"095-remove-automation-tool-call-kind":XK,"096-org-file-configs-public-url-base":QK,"097-drop-local-docker-sandbox-state":WK,"098-thread-message-parts":jK,"099-run-fence":LK,"100-link-transport":FK,"101-cancel-requested-at":YK,"102-observational-agent":DK,"103-revert-observational-agent":HK,"104-agent-sandbox-provider-kind":RK,"105-org-fs":BK,"106-automation-tools":GK,"107-org-fs-public-org":OK,"108-automation-max-agent-steps":SK,"109-thread-message-parts-per-message-seq":AK,"110-backfill-ghs-token-expiry":fK,"111-org-fs-thread-id":IK,"112-org-file-configs-credential-type":yK,"113-thread-failure-reason":VK,"114-run-acked-seq":wK,"115-thread-projected-seq":kK,"116-org-sites":nK,"117-org-file-configs-site-slug":vK,"118-organization-domains-multi-verify":pK,"119-organization-join-requests":gK,"120-org-fs-read-public":qK,"121-org-fs-share-password":iK,"122-split-web-research-tier":tK,"123-connection-credential-vault":oK,"124-drop-thread-projected-seq":aK,"125-github-child-single-parent":rK,"126-task-board":eK,"127-task-board-due-date":dK,"128-reports-only":bK,"129-task-board-assigned-by":sK,"130-task-board-thread-id":_N,"131-task-board-thread-link-cascade":xN,"132-task-board-item-prs":uN,"133-dedupe-duplicate-members":CN,"134-drop-task-board-enabled":KN,"135-task-board-item-fk-cascade":NN,"136-task-board-import-idempotency":mN,"137-agent-sandbox-runner-state":TN,"138-agent-sandbox-sessions":zN,"139-organization-billing":EN,"140-seat-change-log":$N,"141-benefits-sync-pending":UN,"142-stripe-event-watermark":PN,"143-armed-report-url":JN,"144-benefits-pending-index":XN,"145-user-model-preferences":QN,"146-organization-main-agent":ZN,"147-drop-agent-sandbox-tables":WN,"148-org-flags":jN,"149-task-board-item-sort-order":LN,"150-task-board-activity":FN,"151-task-board-tags":DN,"152-repair-connection-slug":MN,"153-task-board-latest-assistant-part-index":RN,"154-task-board-qa-activity":GN,"155-task-board-review-claims":ON,"156-task-board-conflict-activity":AN,"157-drop-seat-billing":fN,"158-drop-github-child-single-parent":IN,"159-task-board-comments":yN,"160-task-quota-billing":VN,"161-task-quota-claim-state":kN,"162-claude-subscriptions":nN,"163-task-board-item-dismissed":vN,"164-per-org-task-quota":pN,"165-task-board-pending-review-index":gN,"166-task-board-last-swept-at":qN,"167-task-board-run-retry":iN,"168-org-repo-sync":hN,"169-task-board-merge-failed-activity":oN,"170-task-board-item-repo":aN,"171-jira-integration":rN,"172-task-board-item-key-seq":lN,"173-thread-github-repo-connection-index":eN,"174-thread-message-parts-persisted-at":bN,"175-task-board-sprints":sN,"176-task-board-done-sweep-index":_m,"177-notifications":xm,"178-jira-status-mapping-array":um,"179-notification-mentioned":Km,"180-task-board-item-type":mm,"181-task-board-item-type-required":Tm,"182-task-board-sprints-entities":zm,"183-drop-jira-jql-filter":Em,"184-jira-rescan-after-scope-change":$m,"185-jira-rescan-existing-cards":Um,"186-jira-rescan-pending-flag":Jm,"187-task-board-comment-thread":Xm,"188-invitation-auto-accept":Qm,"189-task-board-column-automations":Wm,"190-task-board-review-cycle-started-at":jm,"191-task-board-columns":Lm,"192-task-board-verdict-nudge-activity":Ym,"193-task-board-status-column-fk":Dm,"194-jira-link-sprint":Hm,"195-task-board-sprint-activity":Rm,"196-task-board-column-tracker-statuses":Bm,"197-task-board-prompts":Gm,"198-task-board-external-url":Om,"199-drop-jira-mirror-and-org-columns":Sm,"200-jira-run-trigger":Am,"201-organization-notices":fm,"202-redact-base64-thread-parts":ym,"203-task-board-preview-routes":Vm,"204-git-provider-accounts-and-repositories":wm,"205-repository-references":km,"206-repository-consumers":Lu,"207-task-board-prs-repo-idx":ju,"208-github-connect-flows":Wu,"209-github-installation-authorization":Zu,"210-github-repository-authorization":zu,"211-user-fs-org":Tu,"212-coding-agent-mcp-excluded":Eu,"213-bitbucket-git-provider":$u,"214-connections-sanitized-id-idx":Cu,"215-commerce-discovery-repository":Ku,"216-github-cli-auth":mu,"217-experiments":Uu,"218-thread-message-parts-error-idx":Pu,"219-task-board-duplicate-reported-activity":Xu,"220-jira-automation-continue-pr":Qu,"221-remove-private-registry":Lx,"222-org-git-credentials":Fx,"223-drop-org-main-agent-id":uu,"224-repository-sandbox-image":Yx,"225-thread-analytics-indexes":Hx,"226-deco-score-names":Rx,"227-task-board-finding-resolved-activity":Gx,"228-org-voice-config":jx,"229-jira-automation-from":Ox,"230-project-sidebar":Sx,"231-jira-chat-agent":Ax,"232-task-board-prompt-skills":Ix,"233-remove-jira-chat-agent":Vx,"234-task-board-comment-audience":wx,"235-prune-empty-thread-dirs":kx,"236-task-board-sprints":vx,"237-org-sites-project-link":px,"238-task-board-default-lanes":gx,"239-task-board-retire-old-lanes":qx,"240-task-board-restore-todo":ix,"241-automation-board-column-transition":cx,"242-connection-url-slug":hx,"243-experiment-task-board-item":tx,"244-connection-url-slug-rollout-backfill":ox,"245-automation-system-key":ax,"246-automation-pr-ready-trigger":rx,"247-automation-jira-transition":lx,"248-drop-retired-rule-tables":ex,"249-task-board-item-project":dx,"250-github-copilot-subscriptions":bx,"251-org-shared-plans":sx,"252-automation-linked-chat-trigger":_u,"253-automation-pr-builtin-triggers":xu,"254-codex-subscriptions":Qx,"255-order-monitor":Wx,"256-task-board-harness":Ux,"257-task-board-item-hierarchy":Px,"259-repository-monitor-deploys":Jx,"260-demo-board-snapshots":Xx},mx=aW;import{getMigrations as B9}from"better-auth/db";import{sso as G9}from"@better-auth/sso";import{organization as O9}from"@decocms/better-auth/plugins";import{admin as S9,apiKey as A9,jwt as f9,magicLink as I9,mcp as y9,openAPI as V9}from"better-auth/plugins";import{emailOTP as w9}from"better-auth/plugins/email-otp";import{Kysely as j9,PostgresDialect as Sz}from"kysely";import{Pool as Az}from"pg";import{homedir as rW}from"os";var lW=new Set(["all","worker","api"]);function eW(_){let x=(_??"").trim();return lW.has(x)?x:"all"}var dW=new Set(["production","development","test"]);function bW(_){let x=(_??"").trim();return dW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function vm(_,x,u){if(x===void 0||x==="")return;let N=Number(x);if(!Number.isSafeInteger(N)||N<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&N>u)throw Error(`${_} must be at most ${u}`);return N}function B(_,x,u,N){return vm(_,x,N)??u}function sW(_){let x={};for(let u of(_??"").split(",")){let N=u.trim();if(!N)continue;let K=N.indexOf("="),m=K>0?N.slice(0,K).trim():"",T=K>0?N.slice(K+1).trim():"";if(!m||!T){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${N}" \u2014 expected price_xxx=planId`);continue}x[m]=T}return x}function _9(_,x,u,N){if(x===void 0||x==="")return u;let K=Number(x);if(!Number.isSafeInteger(K)||K<0)throw Error(`${_} must be a non-negative integer`);if(N!==void 0&&K>N)throw Error(`${_} must be at most ${N}`);return K}function nm(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function x9(_){return _===void 0||_===""||_==="true"||_==="1"}function H_(_,x){return _||x}function Fz(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${rW()}/deco`,u=bW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:H_(_.STUDIO_PUBLIC_URL,_.MESH_PUBLIC_URL),dataDir:x,voiceConversationProvider:N==="elevenlabs"||N==="openai"?N:null,openaiLiveApiKey:_.OPENAI_LIVE_API_KEY,openaiLiveModel:_.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:_.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:_.ELEVENLABS_API_KEY,elevenlabsVoiceId:_.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:_.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:_.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:Z(_.DATABASE_PG_SSL),databasePoolMax:B("DATABASE_POOL_MAX",_.DATABASE_POOL_MAX,5),dbosPoolSize:B("DBOS_POOL_SIZE",_.DBOS_POOL_SIZE,5),betterAuthSecret:_.BETTER_AUTH_SECRET||"",encryptionKey:_.ENCRYPTION_KEY||"",studioJwtSecret:H_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),codexUsageUrl:_.CODEX_USAGE_URL||"https://chatgpt.com/backend-api/wham/usage",claudeUsageUrl:_.CLAUDE_USAGE_URL||"https://api.anthropic.com/api/oauth/usage",jiraSettleSeconds:B("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:vm("CLICKHOUSE_MAX_MEMORY_USAGE",_.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:_.MONITORING_OTLP_ENDPOINT,otelServiceName:_.OTEL_SERVICE_NAME||"studio",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((m)=>m.trim()).filter(Boolean),natsCredsPath:_.NATS_CREDS,natsUser:_.NATS_USER||void 0,natsPassword:_.NATS_PASSWORD||void 0,configPath:_.CONFIG_PATH||"./config.json",aiGatewayEnabled:Z(_.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:_.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:_.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:_.STRIPE_WEBHOOK_SECRET,stripeSecretKey:_.STRIPE_SECRET_KEY,stripeOrgPriceId:_.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:sW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:_9("STUDIO_TOPUP_FEE_PERCENT",_.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:Z(_.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:B("STUDIO_FREE_TASKS",_.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:B("STUDIO_MONTHLY_TASKS",_.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:B("STUDIO_MAX_RUNS_PER_TASK",_.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:Z(_.ENABLE_DECO_IMPORT),hostingControlPlaneGa:Z(_.HOSTING_CONTROL_PLANE_GA),monitorGa:Z(_.MONITOR_GA),plansEnabled:Z(_.STUDIO_PLANS_ENABLED),mcpCacheEnabled:nm(_.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:_.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:Z(_.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:B("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",_.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:B("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",_.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:nm(_.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:B("BOARD_TRANSITION_SETTLE_SECONDS",_.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:B("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",_.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:_.S3_ENDPOINT,s3Bucket:_.S3_BUCKET,s3Region:_.S3_REGION||"auto",s3AccessKeyId:_.S3_ACCESS_KEY_ID,s3SecretAccessKey:_.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:x9(_.S3_FORCE_PATH_STYLE),monitoringS3Bucket:_.MONITORING_S3_BUCKET,monitoringS3Endpoint:_.MONITORING_S3_ENDPOINT,monitoringS3Region:_.MONITORING_S3_REGION,monitoringS3AccessKeyId:_.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:_.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:_.MONITORING_S3_PREFIX,duckdbExtensionDirectory:_.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:_.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:vm("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:eW(H_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:nm(_.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:Z(_.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:Z(_.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:Z(_.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:B("SANDBOX_RELEASE_GRACE_MS",_.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:_.DECO_SUPABASE_URL,decoSupabaseServiceKey:_.DECO_SUPABASE_SERVICE_KEY,controlplaneRestUrl:_.CONTROLPLANE_REST_URL,controlplaneServiceToken:_.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:_.ANALYTICS_URL,analyticsMasterToken:_.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:_.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:_.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:_.CLICKHOUSE_ANALYTICS_PASSWORD,customerLakeUrl:_.CUSTOMER_LAKE_URL,customerLakeAdminUsername:_.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:_.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:_.CUSTOMER_LAKE_TENANT_SECRET,orderMonitorIngestUrl:_.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:H_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:H_(_.REPORTS_INTERNAL_API_KEY,_.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:_.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:_.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:_.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:_.S3_TENANT_PUBLIC_URL_BASE||"https://assets.decocms.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY,deliveryR2AccountId:_.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:_.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:_.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:_.DELIVERY_R2_BUCKET,deliveryR2Endpoint:_.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:_.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:_.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:_.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:_.CF_PURGE_API_TOKEN};if(Boolean(K.natsUser)!==Boolean(K.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(K.natsCredsPath&&K.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(K.plansEnabled&&!K.studioJwtSecret)throw Error("STUDIO_PLANS_ENABLED requires an explicit gateway JWT secret. Set STUDIO_JWT_SECRET (or its legacy alias MESH_JWT_SECRET) to the same value as the gateway's MESH_JWT_SECRET. Refusing to fall back to BETTER_AUTH_SECRET: that mismatch 401s every entitlements call, which every feature gate reads as 'no answer' and fails OPEN.");if(K.plansEnabled&&!K.studioProvisionSecretKey)throw Error("STUDIO_PLANS_ENABLED requires STUDIO_PROVISION_SECRET_KEY, set to the same value as the gateway's STUDIO_PROVISION_KEY. Without it the gateway cannot identify this server, falls back to a per-user membership callback that 401s for any user who never completed the gateway OAuth flow, and every feature gate then fails OPEN.");if(K.plansEnabled&&!K.aiGatewayEnabled)throw Error("STUDIO_PLANS_ENABLED requires DECO_AI_GATEWAY_ENABLED=true. Plans are read from the gateway; with it disabled there is no adapter to ask, so every feature gate fails OPEN on both server and client and the paid product is free fleet-wide.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>0&&!K.aiGatewayAdminToken)throw Error("STRIPE_PLAN_PRICE_IDS is set but DECO_AI_GATEWAY_ADMIN_TOKEN is not. The Stripe webhook places the paid tier through the gateway's admin API, so without the token a customer is charged and the entitlement "+"is never granted \u2014 and AI_PLAN_SET cannot repair it, it accepts only "+"'free'.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>1&&!K.stripePortalConfigurationId)console.warn("STRIPE_PLAN_PRICE_IDS maps more than one plan but STRIPE_PORTAL_CONFIGURATION_ID is unset. An org that already has a subscription cannot change tier: the account's default portal configuration lists only the legacy plans, not the tiers, so Stripe refuses the update flow. First-time checkout is unaffected.");return K}var u9=null;function K_(){return u9??=Object.freeze(Fz(process.env))}import{createContextKey as z9,metrics as E9,propagation as g8,ROOT_CONTEXT as q8,SpanStatusCode as i8,trace as $9}from"@opentelemetry/api";import{logs as U9,SeverityNumber as pm}from"@opentelemetry/api-logs";import{OTLPLogExporter as t8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as P9}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as r8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as e8}from"@opentelemetry/instrumentation-runtime-node";import{context as V5,propagation as w5,SpanKind as k5,SpanStatusCode as n5}from"@opentelemetry/api";var p5=globalThis.fetch;import{ExportResultCode as d5}from"@opentelemetry/core";import{ExportResultCode as Tx}from"@opentelemetry/core";import{mkdir as C9,rename as K9,writeFile as N9}from"fs/promises";import{join as zx}from"path";class Ex{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:Tx.FAILED});for(let x of _){let u=JSON.stringify(x),N=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:N,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Tx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:Tx.FAILED}});return Promise.resolve({code:Tx.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let K of _){let m=x.get(K.partition);if(!m)m=[],x.set(K.partition,m);m.push(K.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([K,m])=>this.writeNDJSON(m,K).then(()=>K))),N=u.find((K)=>K.status==="rejected");if(N){let K=new Set;for(let T of u)if(T.status==="fulfilled")K.add(T.value);let m=_.filter((T)=>!K.has(T.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let T of this.bufferItems)this.bufferBytes+=Buffer.byteLength(T.json,"utf8")+1;throw N.reason}}async writeNDJSON(_,x){let u=new Date,N=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],K=x?zx(this.basePath,x,...N):zx(this.basePath,...N);if(!this.knownDirs.has(K))await C9(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=zx(K,`.${m}.tmp`),z=zx(K,m),E=_.join(`
|
|
2404
|
+
`.execute(_)}var aW={"001-initial-schema":Fu,"002-organization-settings":Yu,"003-connection-schema-align":Du,"004-remove-models-binding":Hu,"005-connection-configuration":Mu,"006-add-views-to-settings":Ru,"007-monitoring-logs":Bu,"008-event-bus":Gu,"009-drop-audit-logs":Ou,"010-gateways":Su,"011-gateway-icon":fu,"012-gateway-tool-selection-mode":Au,"013-monitoring-user-agent-gateway":Iu,"014-gateway-resources-prompts":yu,"015-monitoring-properties":Vu,"016-downstream-token-client-info":wu,"017-downstream-token-remove-userid":ku,"018-drop-gateway-tool-selection-strategy":nu,"019-remove-gateway-is-default":vu,"020-enabled-plugins":pu,"021-threads":gu,"022-rename-gateway-to-virtual-mcp":qu,"023-optimize-thread-indexes":iu,"024-consolidate-virtual-mcp":cu,"025-add-monitoring-virtual-mcp-id":hu,"026-restrict-child-connection-delete":tu,"027-update-management-mcp-url":au,"028-update-management-mcp-to-self":lu,"029-add-updated-by-to-connections":eu,"030-member-tags":du,"031-add-dependency-mode":bu,"032-projects":su,"033-thread-status":_C,"034-monitoring-dashboards":xC,"035-project-connections":uC,"036-update-registry-url":CC,"037-ai-provider-keys":KC,"038-oauth-pkce-states":NC,"039-automations":mC,"040-replace-next-run-at-with-last-run-at":TC,"041-ai-provider-keys-unique-constraint":zC,"042-rename-mesh-mcp-to-cms-mcp":EC,"043-rename-cms-mcp-to-deco-cms":$C,"044-drop-connections-tools-column":PC,"045-thread-context-start-message":UC,"046-remove-object-storage-plugin":XC,"047-add-next-run-at":QC,"048-merge-projects-agents":WC,"049-remove-org-admin-projects":jC,"050-durable-agent-runs":LC,"051-org-sso":YC,"052-thread-agent-ids":DC,"053-registry-config":HC,"054-connection-slug":RC,"055-spaces":BC,"056-automation-project-scope":GC,"057-thread-virtual-mcp-id":OC,"058-trigger-callback-tokens":SC,"059-kv":fC,"060-member-index":AC,"061-downstream-token-connection-index":IC,"062-private-registry":yC,"063-event-subscriptions-enabled-boolean":VC,"064-brand-context":wC,"065-organization-domains":kC,"066-brand-context-structured":nC,"067-threads-metadata":vC,"068-threads-branch":pC,"069-sandbox-runner-state":gC,"070-model-categories":qC,"071-default-home-agents":iC,"072-ai-provider-key-preset-id":cC,"073-backfill-basic-usage-roles":hC,"074-sandbox-runner-state-handle-nonunique":tC,"075-thread-inflight-async-jobs":oC,"076-automations-drop-agent-json":aC,"077-tier-only-model-selection":lC,"078-automation-tool-call-kind":eC,"079-strip-legacy-freestyle-vm-map-entries":dC,"080-async-research-jobs":bC,"081-async-research-jobs-result-content":sC,"082-secrets":_K,"083-thread-run-locally":xK,"084-drop-host-sandbox-rows":uK,"085-rename-runner-kind":CK,"086-thread-pins-and-vm-map-rekey":KK,"087-fix-vm-map-rekey":NK,"088-purge-cli-activate-keys":mK,"089-rename-remote-user-to-desktop":TK,"090-automation-webhook-triggers":zK,"091-organization-domains-allow-multi":EK,"092-sandbox-naming-uniformization":$K,"093-backfill-global-search-basic-usage":PK,"094-org-file-configs":JK,"095-remove-automation-tool-call-kind":XK,"096-org-file-configs-public-url-base":QK,"097-drop-local-docker-sandbox-state":WK,"098-thread-message-parts":jK,"099-run-fence":LK,"100-link-transport":FK,"101-cancel-requested-at":YK,"102-observational-agent":DK,"103-revert-observational-agent":HK,"104-agent-sandbox-provider-kind":RK,"105-org-fs":BK,"106-automation-tools":GK,"107-org-fs-public-org":OK,"108-automation-max-agent-steps":SK,"109-thread-message-parts-per-message-seq":fK,"110-backfill-ghs-token-expiry":AK,"111-org-fs-thread-id":IK,"112-org-file-configs-credential-type":yK,"113-thread-failure-reason":VK,"114-run-acked-seq":wK,"115-thread-projected-seq":kK,"116-org-sites":nK,"117-org-file-configs-site-slug":vK,"118-organization-domains-multi-verify":pK,"119-organization-join-requests":gK,"120-org-fs-read-public":qK,"121-org-fs-share-password":iK,"122-split-web-research-tier":tK,"123-connection-credential-vault":oK,"124-drop-thread-projected-seq":aK,"125-github-child-single-parent":rK,"126-task-board":eK,"127-task-board-due-date":dK,"128-reports-only":bK,"129-task-board-assigned-by":sK,"130-task-board-thread-id":_N,"131-task-board-thread-link-cascade":xN,"132-task-board-item-prs":uN,"133-dedupe-duplicate-members":CN,"134-drop-task-board-enabled":KN,"135-task-board-item-fk-cascade":NN,"136-task-board-import-idempotency":mN,"137-agent-sandbox-runner-state":TN,"138-agent-sandbox-sessions":zN,"139-organization-billing":EN,"140-seat-change-log":$N,"141-benefits-sync-pending":PN,"142-stripe-event-watermark":UN,"143-armed-report-url":JN,"144-benefits-pending-index":XN,"145-user-model-preferences":QN,"146-organization-main-agent":ZN,"147-drop-agent-sandbox-tables":WN,"148-org-flags":jN,"149-task-board-item-sort-order":LN,"150-task-board-activity":FN,"151-task-board-tags":DN,"152-repair-connection-slug":MN,"153-task-board-latest-assistant-part-index":RN,"154-task-board-qa-activity":GN,"155-task-board-review-claims":ON,"156-task-board-conflict-activity":fN,"157-drop-seat-billing":AN,"158-drop-github-child-single-parent":IN,"159-task-board-comments":yN,"160-task-quota-billing":VN,"161-task-quota-claim-state":kN,"162-claude-subscriptions":nN,"163-task-board-item-dismissed":vN,"164-per-org-task-quota":pN,"165-task-board-pending-review-index":gN,"166-task-board-last-swept-at":qN,"167-task-board-run-retry":iN,"168-org-repo-sync":hN,"169-task-board-merge-failed-activity":oN,"170-task-board-item-repo":aN,"171-jira-integration":rN,"172-task-board-item-key-seq":lN,"173-thread-github-repo-connection-index":eN,"174-thread-message-parts-persisted-at":bN,"175-task-board-sprints":sN,"176-task-board-done-sweep-index":_m,"177-notifications":xm,"178-jira-status-mapping-array":um,"179-notification-mentioned":Km,"180-task-board-item-type":mm,"181-task-board-item-type-required":Tm,"182-task-board-sprints-entities":zm,"183-drop-jira-jql-filter":Em,"184-jira-rescan-after-scope-change":$m,"185-jira-rescan-existing-cards":Pm,"186-jira-rescan-pending-flag":Jm,"187-task-board-comment-thread":Xm,"188-invitation-auto-accept":Qm,"189-task-board-column-automations":Wm,"190-task-board-review-cycle-started-at":jm,"191-task-board-columns":Lm,"192-task-board-verdict-nudge-activity":Ym,"193-task-board-status-column-fk":Dm,"194-jira-link-sprint":Hm,"195-task-board-sprint-activity":Rm,"196-task-board-column-tracker-statuses":Bm,"197-task-board-prompts":Gm,"198-task-board-external-url":Om,"199-drop-jira-mirror-and-org-columns":Sm,"200-jira-run-trigger":fm,"201-organization-notices":Am,"202-redact-base64-thread-parts":ym,"203-task-board-preview-routes":Vm,"204-git-provider-accounts-and-repositories":wm,"205-repository-references":km,"206-repository-consumers":Lu,"207-task-board-prs-repo-idx":ju,"208-github-connect-flows":Wu,"209-github-installation-authorization":Zu,"210-github-repository-authorization":zu,"211-user-fs-org":Tu,"212-coding-agent-mcp-excluded":Eu,"213-bitbucket-git-provider":$u,"214-connections-sanitized-id-idx":Cu,"215-commerce-discovery-repository":Ku,"216-github-cli-auth":mu,"217-experiments":Pu,"218-thread-message-parts-error-idx":Uu,"219-task-board-duplicate-reported-activity":Xu,"220-jira-automation-continue-pr":Qu,"221-remove-private-registry":Lx,"222-org-git-credentials":Fx,"223-drop-org-main-agent-id":uu,"224-repository-sandbox-image":Yx,"225-thread-analytics-indexes":Hx,"226-deco-score-names":Rx,"227-task-board-finding-resolved-activity":Gx,"228-org-voice-config":jx,"229-jira-automation-from":Ox,"230-project-sidebar":Sx,"231-jira-chat-agent":fx,"232-task-board-prompt-skills":Ix,"233-remove-jira-chat-agent":Vx,"234-task-board-comment-audience":wx,"235-prune-empty-thread-dirs":kx,"236-task-board-sprints":vx,"237-org-sites-project-link":px,"238-task-board-default-lanes":gx,"239-task-board-retire-old-lanes":qx,"240-task-board-restore-todo":ix,"241-automation-board-column-transition":cx,"242-connection-url-slug":hx,"243-experiment-task-board-item":tx,"244-connection-url-slug-rollout-backfill":ox,"245-automation-system-key":ax,"246-automation-pr-ready-trigger":rx,"247-automation-jira-transition":lx,"248-drop-retired-rule-tables":ex,"249-task-board-item-project":dx,"250-github-copilot-subscriptions":bx,"251-org-shared-plans":sx,"252-automation-linked-chat-trigger":_u,"253-automation-pr-builtin-triggers":xu,"254-codex-subscriptions":Qx,"255-order-monitor":Wx,"256-task-board-harness":Px,"257-task-board-item-hierarchy":Ux,"259-repository-monitor-deploys":Jx,"260-demo-board-snapshots":Xx},mx=aW;import{getMigrations as B9}from"better-auth/db";import{sso as G9}from"@better-auth/sso";import{organization as O9}from"@decocms/better-auth/plugins";import{admin as S9,apiKey as f9,jwt as A9,magicLink as I9,mcp as y9,openAPI as V9}from"better-auth/plugins";import{emailOTP as w9}from"better-auth/plugins/email-otp";import{Kysely as j9,PostgresDialect as Sz}from"kysely";import{Pool as fz}from"pg";import{homedir as rW}from"os";var lW=new Set(["all","worker","api"]);function eW(_){let x=(_??"").trim();return lW.has(x)?x:"all"}var dW=new Set(["production","development","test"]);function bW(_){let x=(_??"").trim();return dW.has(x)?x:"development"}function W(_){return _==="true"||_==="1"}function vm(_,x,u){if(x===void 0||x==="")return;let N=Number(x);if(!Number.isSafeInteger(N)||N<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&N>u)throw Error(`${_} must be at most ${u}`);return N}function v(_,x,u,N){return vm(_,x,N)??u}function sW(_){let x={};for(let u of(_??"").split(",")){let N=u.trim();if(!N)continue;let K=N.indexOf("="),m=K>0?N.slice(0,K).trim():"",T=K>0?N.slice(K+1).trim():"";if(!m||!T){console.warn(`STRIPE_PLAN_PRICE_IDS: ignoring unparseable entry "${N}" \u2014 expected price_xxx=planId`);continue}x[m]=T}return x}function _9(_,x,u,N){if(x===void 0||x==="")return u;let K=Number(x);if(!Number.isSafeInteger(K)||K<0)throw Error(`${_} must be a non-negative integer`);if(N!==void 0&&K>N)throw Error(`${_} must be at most ${N}`);return K}function nm(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function x9(_){return _===void 0||_===""||_==="true"||_==="1"}function H_(_,x){return _||x}function Fz(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${rW()}/deco`,u=bW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:v("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:H_(_.STUDIO_PUBLIC_URL,_.MESH_PUBLIC_URL),dataDir:x,voiceConversationProvider:N==="elevenlabs"||N==="openai"?N:null,openaiLiveApiKey:_.OPENAI_LIVE_API_KEY,openaiLiveModel:_.OPENAI_LIVE_MODEL?.trim()||"gpt-live-1",openaiLiveVoice:_.OPENAI_LIVE_VOICE?.trim()||"marin",elevenlabsApiKey:_.ELEVENLABS_API_KEY,elevenlabsVoiceId:_.ELEVENLABS_VOICE_ID||"JBFqnCBsd6RMkjVDRZzb",elevenlabsVoiceModel:_.ELEVENLABS_VOICE_MODEL||"eleven_v4_turbo",elevenlabsConversationModel:_.ELEVENLABS_CONVERSATION_MODEL?.trim()||"gemini-2.5-flash",databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",databasePgSsl:W(_.DATABASE_PG_SSL),databasePoolMax:v("DATABASE_POOL_MAX",_.DATABASE_POOL_MAX,5),dbosPoolSize:v("DBOS_POOL_SIZE",_.DBOS_POOL_SIZE,5),betterAuthSecret:_.BETTER_AUTH_SECRET||"",encryptionKey:_.ENCRYPTION_KEY||"",studioJwtSecret:H_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:W(_.DECOCMS_LOCAL_MODE),disableRateLimit:W(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:W(_.JIRA_ALLOW_LOCAL_SITE_URL),codexUsageUrl:_.CODEX_USAGE_URL||"https://chatgpt.com/backend-api/wham/usage",claudeUsageUrl:_.CLAUDE_USAGE_URL||"https://api.anthropic.com/api/oauth/usage",jiraSettleSeconds:v("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:vm("CLICKHOUSE_MAX_MEMORY_USAGE",_.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:_.MONITORING_OTLP_ENDPOINT,otelServiceName:_.OTEL_SERVICE_NAME||"studio",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((m)=>m.trim()).filter(Boolean),natsCredsPath:_.NATS_CREDS,natsUser:_.NATS_USER||void 0,natsPassword:_.NATS_PASSWORD||void 0,configPath:_.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(_.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:_.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:_.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:_.STRIPE_WEBHOOK_SECRET,stripeSecretKey:_.STRIPE_SECRET_KEY,stripeOrgPriceId:_.STRIPE_ORG_PRICE_ID,stripePlanPriceIds:sW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:_9("STUDIO_TOPUP_FEE_PERCENT",_.STUDIO_TOPUP_FEE_PERCENT,15,100),enableDecoImport:W(_.ENABLE_DECO_IMPORT),hostingControlPlaneGa:W(_.HOSTING_CONTROL_PLANE_GA),monitorGa:W(_.MONITOR_GA),plansEnabled:W(_.STUDIO_PLANS_ENABLED),mcpCacheEnabled:nm(_.MCP_CACHE_ENABLED,u!=="development"),orgFsPublicSetsJson:_.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(_.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:v("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",_.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:v("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",_.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:nm(_.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),boardTransitionSettleSeconds:v("BOARD_TRANSITION_SETTLE_SECONDS",_.BOARD_TRANSITION_SETTLE_SECONDS,20,3600),sandboxMaxConcurrentHostedRuns:v("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",_.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:_.S3_ENDPOINT,s3Bucket:_.S3_BUCKET,s3Region:_.S3_REGION||"auto",s3AccessKeyId:_.S3_ACCESS_KEY_ID,s3SecretAccessKey:_.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:x9(_.S3_FORCE_PATH_STYLE),monitoringS3Bucket:_.MONITORING_S3_BUCKET,monitoringS3Endpoint:_.MONITORING_S3_ENDPOINT,monitoringS3Region:_.MONITORING_S3_REGION,monitoringS3AccessKeyId:_.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:_.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:_.MONITORING_S3_PREFIX,duckdbExtensionDirectory:_.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:_.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:vm("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:eW(H_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:W(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:W(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:nm(_.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:W(_.SANDBOX_RELEASE_ON_RUN_END),sandboxPrewarmOnThreadCreateEnabled:W(_.SANDBOX_PREWARM_ON_THREAD_CREATE),sandboxPersistentHarnessEnabled:W(_.SANDBOX_PERSISTENT_HARNESS),sandboxReleaseGraceMs:v("SANDBOX_RELEASE_GRACE_MS",_.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:_.DECO_SUPABASE_URL,decoSupabaseServiceKey:_.DECO_SUPABASE_SERVICE_KEY,controlplaneRestUrl:_.CONTROLPLANE_REST_URL,controlplaneServiceToken:_.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:_.ANALYTICS_URL,analyticsMasterToken:_.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:_.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:_.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:_.CLICKHOUSE_ANALYTICS_PASSWORD,customerLakeUrl:_.CUSTOMER_LAKE_URL,customerLakeAdminUsername:_.CUSTOMER_LAKE_ADMIN_USERNAME||"customer_lake_user_admin",customerLakeAdminPassword:_.CUSTOMER_LAKE_ADMIN_PASSWORD,customerLakeTenantSecret:_.CUSTOMER_LAKE_TENANT_SECRET,orderMonitorIngestUrl:_.ORDER_MONITOR_INGEST_URL,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:H_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:H_(_.REPORTS_INTERNAL_API_KEY,_.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:_.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:_.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:_.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:_.S3_TENANT_PUBLIC_URL_BASE||"https://assets.decocms.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY,deliveryR2AccountId:_.DELIVERY_R2_ACCOUNT_ID,deliveryR2AccessKeyId:_.DELIVERY_R2_ACCESS_KEY_ID,deliveryR2SecretAccessKey:_.DELIVERY_R2_SECRET_ACCESS_KEY,deliveryR2Bucket:_.DELIVERY_R2_BUCKET,deliveryR2Endpoint:_.DELIVERY_R2_ENDPOINT,deliveryPublicOrigin:_.DELIVERY_PUBLIC_ORIGIN,siteTokenSigningKey:_.DECO_SITE_TOKEN_SIGNING_KEY,cfDeliveryZoneId:_.CF_DELIVERY_ZONE_ID,cfPurgeApiToken:_.CF_PURGE_API_TOKEN};if(Boolean(K.natsUser)!==Boolean(K.natsPassword))throw Error("NATS_USER and NATS_PASSWORD must be set together");if(K.natsCredsPath&&K.natsUser)throw Error("Use either NATS_CREDS or NATS_USER/NATS_PASSWORD");if(K.plansEnabled&&!K.studioJwtSecret)throw Error("STUDIO_PLANS_ENABLED requires an explicit gateway JWT secret. Set STUDIO_JWT_SECRET (or its legacy alias MESH_JWT_SECRET) to the same value as the gateway's MESH_JWT_SECRET. Refusing to fall back to BETTER_AUTH_SECRET: that mismatch 401s every entitlements call, which every feature gate reads as 'no answer' and fails OPEN.");if(K.plansEnabled&&!K.studioProvisionSecretKey)throw Error("STUDIO_PLANS_ENABLED requires STUDIO_PROVISION_SECRET_KEY, set to the same value as the gateway's STUDIO_PROVISION_KEY. Without it the gateway cannot identify this server, falls back to a per-user membership callback that 401s for any user who never completed the gateway OAuth flow, and every feature gate then fails OPEN.");if(K.plansEnabled&&!K.aiGatewayEnabled)throw Error("STUDIO_PLANS_ENABLED requires DECO_AI_GATEWAY_ENABLED=true. Plans are read from the gateway; with it disabled there is no adapter to ask, so every feature gate fails OPEN on both server and client and the paid product is free fleet-wide.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>0&&!K.aiGatewayAdminToken)throw Error("STRIPE_PLAN_PRICE_IDS is set but DECO_AI_GATEWAY_ADMIN_TOKEN is not. The Stripe webhook places the paid tier through the gateway's admin API, so without the token a customer is charged and the entitlement "+"is never granted \u2014 and AI_PLAN_SET cannot repair it, it accepts only "+"'free'.");if(K.plansEnabled&&Object.keys(K.stripePlanPriceIds).length>1&&!K.stripePortalConfigurationId)console.warn("STRIPE_PLAN_PRICE_IDS maps more than one plan but STRIPE_PORTAL_CONFIGURATION_ID is unset. An org that already has a subscription cannot change tier: the account's default portal configuration lists only the legacy plans, not the tiers, so Stripe refuses the update flow. First-time checkout is unaffected.");return K}var u9=null;function K_(){return u9??=Object.freeze(Fz(process.env))}import{createContextKey as z9,metrics as E9,propagation as g8,ROOT_CONTEXT as q8,SpanStatusCode as i8,trace as $9}from"@opentelemetry/api";import{logs as P9,SeverityNumber as pm}from"@opentelemetry/api-logs";import{OTLPLogExporter as t8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as U9}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as r8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as e8}from"@opentelemetry/instrumentation-runtime-node";import{context as V5,propagation as w5,SpanKind as k5,SpanStatusCode as n5}from"@opentelemetry/api";var p5=globalThis.fetch;import{ExportResultCode as d5}from"@opentelemetry/core";import{ExportResultCode as Tx}from"@opentelemetry/core";import{mkdir as C9,rename as K9,writeFile as N9}from"fs/promises";import{join as zx}from"path";class Ex{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(_){this.basePath=_.basePath,this.flushThreshold=_.flushThreshold??1000,this.maxBufferBytes=_.maxBufferBytes??10485760,this.partitionKey=_.partitionKey;let x=_.flushIntervalMs??60000;if(x>0&&x<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},x),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(_){if(this.isShutdown)return Promise.resolve({code:Tx.FAILED});for(let x of _){let u=JSON.stringify(x),N=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:N,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Tx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:Tx.FAILED}});return Promise.resolve({code:Tx.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let x=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=x,x}async doFlush(){if(this.bufferItems.length===0)return;let _=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let x=new Map;for(let K of _){let m=x.get(K.partition);if(!m)m=[],x.set(K.partition,m);m.push(K.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([K,m])=>this.writeNDJSON(m,K).then(()=>K))),N=u.find((K)=>K.status==="rejected");if(N){let K=new Set;for(let T of u)if(T.status==="fulfilled")K.add(T.value);let m=_.filter((T)=>!K.has(T.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let T of this.bufferItems)this.bufferBytes+=Buffer.byteLength(T.json,"utf8")+1;throw N.reason}}async writeNDJSON(_,x){let u=new Date,N=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],K=x?zx(this.basePath,x,...N):zx(this.basePath,...N);if(!this.knownDirs.has(K))await C9(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=zx(K,`.${m}.tmp`),z=zx(K,m),E=_.join(`
|
|
2405
2405
|
`)+`
|
|
2406
|
-
`;await N9(T,E,{mode:384}),await K9(T,z)}}import{ExportResultCode as u8}from"@opentelemetry/core";import{AggregationTemporality as K8,DataPointType as N8}from"@opentelemetry/sdk-metrics";import{ExportResultCode as
|
|
2406
|
+
`;await N9(T,E,{mode:384}),await K9(T,z)}}import{ExportResultCode as u8}from"@opentelemetry/core";import{AggregationTemporality as K8,DataPointType as N8}from"@opentelemetry/sdk-metrics";import{ExportResultCode as P8}from"@opentelemetry/core";var Q8=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as N3,LoggerProvider as m3}from"@opentelemetry/sdk-logs";import{detectResources as z3,envDetector as E3,hostDetector as $3,osDetector as P3,processDetector as U3,resourceFromAttributes as J3}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Q3}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as j8}from"@opentelemetry/api-logs";import{NodeSDK as j3}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as F3,SamplingDecision as N_}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as H8}from"@opentelemetry/api";var J9="__d",X9=z9("Current request"),Q9=1;var Dz=(_)=>{let u=new URL(_.url).searchParams.get(J9);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class Hz{inner;constructor(_){this.inner=_}shouldSample(_,x,u,N,K,m){let T=_.getValue(X9);if(!T){if(this.inner)return this.inner.shouldSample(_,x,u,N,K,m);return{decision:N_.RECORD_AND_SAMPLED}}let z=Dz(T);if(z)return{decision:N_.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":z}};if(this.inner){let E=this.inner.shouldSample(_,x,u,N,K,m);if(E.decision===N_.RECORD_AND_SAMPLED){let $=crypto.randomUUID();E.attributes={...E.attributes??{},"trace.debug.id":$}}return E}return{decision:N_.NOT_RECORD}}toString(){return"DebugSampler"}}class Mz{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:N_.RECORD_AND_SAMPLED};return{decision:N_.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var D3=new U9({preventServerStart:!0}),H3=new Hz(new Mz(Q9));var Yz=$9.getTracer("studio","1.0.0"),M_=E9.getMeter("studio","1.0.0"),Z9=P9.getLogger("studio","1.0.0"),gm=(_,x,u)=>{let N={},K=u,m=u[u.length-1];if(m!==null&&typeof m==="object"&&!Array.isArray(m)&&!(m instanceof Error)&&Object.getPrototypeOf(m)===Object.prototype)N=m,K=u.slice(0,-1);let T=K.map((z)=>{if(z instanceof Error)return`${z.name}: ${z.message}`;if(typeof z==="object")try{return JSON.stringify(z)}catch{return"[Object]"}return String(z)}).join(" ");Z9.emit({severityNumber:_,severityText:x,body:T,attributes:{"log.source":"console",...N}})},qm={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{gm(pm.ERROR,"ERROR",_),qm.error(..._)};console.warn=(..._)=>{gm(pm.WARN,"WARN",_),qm.warn(..._)};console.debug=(..._)=>{gm(pm.DEBUG,"DEBUG",_),qm.debug(..._)};var im,Rz=0,cm=500;function W9(){if(im)return;let _=performance.now()+cm;im=setInterval(()=>{let x=performance.now();Rz=Math.max(0,x-_),_=x+cm},cm),im.unref?.()}function Bz(){return W9(),Rz}var L9=()=>M_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Gz=()=>M_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Oz=400,F9=100,Y9=(_)=>({"db.status":_.level==="error"?"error":"success"}),D9=(_)=>(x)=>{let u=Y9(x);if(x.queryDurationMillis>Oz){let N=Bz(),K=N>Oz/2;console.error(K?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(N),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:$x()}})}if(L9().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function H9(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let N=performance.now(),K=$x(),m=_.idleCount===0&&_.totalCount>=K,T=_.idleCount;return x().then((z)=>{let E=performance.now()-N;if(Gz().record(E,{"db.pool.outcome":m?"contended":"available"}),E>F9)if(m)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:E,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:K});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:E,idleAtStart:T,total:_.totalCount,max:K});return z},(z)=>{throw Gz().record(performance.now()-N,{"db.pool.outcome":"error"}),z})},_}var Az={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Iz(){try{return K_().databasePgSsl}catch{return!1}}function $x(){try{return K_().databasePoolMax}catch{return 10}}function M9(_){let x=H9(new fz({connectionString:_,max:$x(),ssl:Iz(),...Az})),u=new Sz({pool:x});return{type:"postgres",db:new j9({dialect:u,log:D9(x)}),pool:x}}function B_(){return K_().databaseUrl}function yz(_){let x=_||B_();return new Sz({pool:new fz({connectionString:x,max:$x(),ssl:Iz(),...Az})})}function R9(_){let x=_||B_();return M9(x)}async function Vz(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===R_)R_=null}var R_=null;function hm(){if(!R_)R_=R9(B_());return R_}async function wz(_){let u={database:yz(_||B_()),plugins:[O9({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),S9(),f9(),A9(),V9(),y9({loginPage:"/login"}),G9(),I9({sendMagicLink:async()=>{}}),w9({sendVerificationOTP:async()=>{}})]},{toBeAdded:N,toBeCreated:K,runMigrations:m}=await B9(u);if(!N.length&&!K.length)return"up to date";return await m(),`${K.length+N.length} table(s) migrated`}async function tm(_,x){return(await o`
|
|
2407
2407
|
SELECT table_name FROM information_schema.tables
|
|
2408
2408
|
WHERE table_schema='public' AND table_name=${x}
|
|
2409
2409
|
`.execute(_)).rows.length>0}async function k9(_){if(await tm(_,"plugin_migrations"))return;await o`
|