decocms 4.500.7 → 4.501.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{ActiveShapeUtils-DHLjYBHG.js → ActiveShapeUtils-D-fL_h7g.js} +1 -1
- package/dist/client/assets/{AlertCircle-BILwGqjV.js → AlertCircle-D3bAofoi.js} +1 -1
- package/dist/client/assets/{AreaChart-MBaQ2sXA.js → AreaChart-BkD3ldvt.js} +1 -1
- package/dist/client/assets/{ArrowLeft-DlRqrbst.js → ArrowLeft-Cdobx1UV.js} +1 -1
- package/dist/client/assets/{ArrowUp-CFc2wNu3.js → ArrowUp-D_3dn5Sd.js} +1 -1
- package/dist/client/assets/{BarChart-ip63zVKP.js → BarChart-DdPh9tNP.js} +1 -1
- package/dist/client/assets/{Building02-QB_UI3sB.js → Building02-Bh6iwr2R.js} +1 -1
- package/dist/client/assets/{CategoricalChart-CD4E_XC5.js → CategoricalChart-tLM_K2Lc.js} +1 -1
- package/dist/client/assets/{CheckCircle-CG1RvCMD.js → CheckCircle-BQiYUYV1.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-23OZgHQl.js → ChevronSelectorVertical-CpMmf6o-.js} +1 -1
- package/dist/client/assets/{ChevronUp-BrMcnDd0.js → ChevronUp-CfnfCq3M.js} +1 -1
- package/dist/client/assets/{Copy01-QpufVNbj.js → Copy01-CKF8jrEa.js} +1 -1
- package/dist/client/assets/{CreditCard01-W1zS1W7o.js → CreditCard01-B4jz404y.js} +1 -1
- package/dist/client/assets/{DotsVertical-E-CAHxZx.js → DotsVertical-BVuRRGqu.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-DoXCMhKl.js → ErrorBarContext-D3QRg5_X.js} +1 -1
- package/dist/client/assets/{Globe04-C2IFbCwJ.js → Globe04-CfnS-Tur.js} +1 -1
- package/dist/client/assets/{Image01-D8Dg78Ju.js → Image01-C6EZAhw4.js} +1 -1
- package/dist/client/assets/{Key01-CCpcNn9J.js → Key01-C3bTgL7y.js} +1 -1
- package/dist/client/assets/{Link01-Dw-VkUVV.js → Link01-Bb9ZHTO8.js} +1 -1
- package/dist/client/assets/{LinkBroken01-BBYM52IU.js → LinkBroken01-BbLhCJ9C.js} +1 -1
- package/dist/client/assets/{Monitor01-596xyLh3.js → Monitor01-BT48-O3V.js} +1 -1
- package/dist/client/assets/{Play-CIe1tupB.js → Play-DlM8u9Zn.js} +1 -1
- package/dist/client/assets/{Plus-DTyq8wfJ.js → Plus-h-7fG8-i.js} +1 -1
- package/dist/client/assets/{SearchMd-DnZ_sK_U.js → SearchMd-DdAgg3kt.js} +1 -1
- package/dist/client/assets/{Sector-iSjEHRg-.js → Sector-udGfVqY9.js} +1 -1
- package/dist/client/assets/{ShoppingBag01-Brrt7Bh6.js → ShoppingBag01-gtt6oc_g.js} +1 -1
- package/dist/client/assets/{Sun-BmhcFIJl.js → Sun-D0bMmBqD.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-B5sfCWHV.js → SwitchHorizontal01-mzV8h1Yb.js} +1 -1
- package/dist/client/assets/{Tool01-BSpg9N8Q.js → Tool01-BOGFE1PW.js} +1 -1
- package/dist/client/assets/{Trash01-uPItCfKQ.js → Trash01-BKZKll81.js} +1 -1
- package/dist/client/assets/{Upload01-ClSeM0gf.js → Upload01-ClJbirSb.js} +1 -1
- package/dist/client/assets/{User01-DabbLHAZ.js → User01-jcmfLZ4a.js} +1 -1
- package/dist/client/assets/{UserSquare-BXjBRbTF.js → UserSquare-Dnl3alN_.js} +1 -1
- package/dist/client/assets/{Users01-Dt36FENA.js → Users01-DBt3BOu-.js} +1 -1
- package/dist/client/assets/{XAxis-BQtU7n4v.js → XAxis-DWTEKRSO.js} +1 -1
- package/dist/client/assets/{XClose-BMDlg-34.js → XClose-DtCD4hEo.js} +1 -1
- package/dist/client/assets/{ZoomOut-Bnst3wtU.js → ZoomOut-C-oiWFtM.js} +1 -1
- package/dist/client/assets/{access-gate-BnarIuC9.js → access-gate-Bs83GnN9.js} +1 -1
- package/dist/client/assets/add-connection-dialog-CkfM8RAE.js +1 -0
- package/dist/client/assets/agent-analytics-PkbYclRB.js +2 -0
- package/dist/client/assets/agent-app-Dq_KNzND.js +1 -0
- package/dist/client/assets/agent-assets-BSNQs1Q4.js +1 -0
- package/dist/client/assets/agent-automation-CYLhaLQV.js +20 -0
- package/dist/client/assets/agent-automations-CylXZmQz.js +1 -0
- package/dist/client/assets/agent-connect-sources-gehkSGol.js +1 -0
- package/dist/client/assets/agent-deck-CB0RXEGe.js +1 -0
- package/dist/client/assets/agent-e2e-gcrRg7hM.js +1 -0
- package/dist/client/assets/agent-experiments-CMJUnUoe.js +1 -0
- package/dist/client/assets/agent-file-JLVKcoj6.js +1 -0
- package/dist/client/assets/agent-hosting-AV1ldWsd.js +1 -0
- package/dist/client/assets/{agent-icon-BdZdLCky.js → agent-icon-D1bIPwJ9.js} +1 -1
- package/dist/client/assets/agent-library-ChYqVk94.js +1 -0
- package/dist/client/assets/agent-library-file-5NiMKcJU.js +1 -0
- package/dist/client/assets/agent-monitor-DCEK-_YE.js +1 -0
- package/dist/client/assets/agent-overview-Bq6iylVc.js +1 -0
- package/dist/client/assets/agent-releases-0JQ-pNIw.js +2 -0
- package/dist/client/assets/agent-settings-DutqpeLT.js +1 -0
- package/dist/client/assets/agent-site-editor-DUVPLgUJ.js +27 -0
- package/dist/client/assets/agent-site-editor-code-Bs5iWgah.js +2 -0
- package/dist/client/assets/agent-site-editor-content-DG0PHKu_.js +1 -0
- package/dist/client/assets/agent-site-editor-preview-IbSFpbgz.js +1 -0
- package/dist/client/assets/agent-view-BMSjk6sE.js +1 -0
- package/dist/client/assets/agent-view-guard-B0ssprgS.js +1 -0
- package/dist/client/assets/{agents-list-qSpN3sGU.js → agents-list-CL_HbBRx.js} +1 -1
- package/dist/client/assets/{ai-providers-DwrXOrzh.js → ai-providers-mazNpep3.js} +1 -1
- package/dist/client/assets/{alert-Tk2m0Iz_.js → alert-Bo4bO9Yj.js} +1 -1
- package/dist/client/assets/{alert-dialog-By0HRTrM.js → alert-dialog-BEUBWKqO.js} +2 -2
- package/dist/client/assets/{analytics-sections-BjYHHt7V.js → analytics-sections-DM3YuBYq.js} +1 -1
- package/dist/client/assets/api-keys-BfQZh5eV.js +1 -0
- package/dist/client/assets/{api-keys-DaMqNdv1.js → api-keys-DVwB6mPs.js} +1 -1
- package/dist/client/assets/app-editor-6HFiMwKn.js +1 -0
- package/dist/client/assets/{asset-utils-Cne_zeGQ.js → asset-utils-f7af-ti1.js} +1 -1
- package/dist/client/assets/{auth-CTn9OsYL.js → auth-CpMllKKy.js} +1 -1
- package/dist/client/assets/{auth-catchall-CMbAfThb.js → auth-catchall-s5AR8jnh.js} +1 -1
- package/dist/client/assets/auth-entry-DhhGCuwo.js +1 -0
- package/dist/client/assets/{auth-split-layout--aU7QLNo.js → auth-split-layout-CVNIUCsf.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-bcqFV5Ih.js → authenticate-and-persist-oauth-B45I3cgI.js} +1 -1
- package/dist/client/assets/{automation-list-row-3u6JAmgN.js → automation-list-row-sOJZ4uwa.js} +1 -1
- package/dist/client/assets/{automation-runs-Cy2qWf8T.js → automation-runs-CR9XH4Bt.js} +1 -1
- package/dist/client/assets/{automations-B06cv6_Q.js → automations-KO9N3LUU.js} +1 -1
- package/dist/client/assets/{autosend-Cr5TlS-x.js → autosend-BPCdEy8S.js} +1 -1
- package/dist/client/assets/{avatar-DNs314ny.js → avatar-BwGV1yBo.js} +1 -1
- package/dist/client/assets/{badge-BDMYkxf_.js → badge-DZi2puxG.js} +1 -1
- package/dist/client/assets/{block-document-BkfPgGlg.js → block-document-DKS5cj35.js} +3 -3
- package/dist/client/assets/{blocks-preview-workspace-context-D5JWaTS4.js → blocks-preview-workspace-context-CDjfxqPx.js} +1 -1
- package/dist/client/assets/blocks-tab-states-CdRfYXjG.js +20 -0
- package/dist/client/assets/blog-schema-DQu9FHji.js +1 -0
- package/dist/client/assets/{board-analytics-B8AHF8AB.js → board-analytics-Br92I9NK.js} +1 -1
- package/dist/client/assets/{buckets-CUa7QjX3.js → buckets-BJOMOAgi.js} +1 -1
- package/dist/client/assets/{build-improve-prompt-doc-l6jHAadC.js → build-improve-prompt-doc-DrFz7LF_.js} +1 -1
- package/dist/client/assets/{calendar-9HE_r4Hw.js → calendar-evfJy3uJ.js} +1 -1
- package/dist/client/assets/{capability-load-error-DVDKy7cm.js → capability-load-error-vW3f0aqj.js} +1 -1
- package/dist/client/assets/category-editor-QytvoXKo.js +1 -0
- package/dist/client/assets/{chart-n7qVLeZu.js → chart-yXoVtu1q.js} +1 -1
- package/dist/client/assets/chat-context-lAP9vX1C.js +39 -0
- package/dist/client/assets/{chat-draft-Bi-CpEK_.js → chat-draft-DVJc17WV.js} +1 -1
- package/dist/client/assets/{checkbox-jukyyas4.js → checkbox-DcDvQwKW.js} +1 -1
- package/dist/client/assets/{choose-editor-BpukaXWx.js → choose-editor-B0ViIXN7.js} +1 -1
- package/dist/client/assets/{cli-auth-success-ZwkiiHM_.js → cli-auth-success-CKu92ul9.js} +1 -1
- package/dist/client/assets/{client-icons-CI6qGlDq.js → client-icons-DV_DZLb3.js} +1 -1
- package/dist/client/assets/cms-settings-editor-Cz5yTS8J.js +1 -0
- package/dist/client/assets/{collapsible-CSMgVqT4.js → collapsible-BvvJbkUN.js} +1 -1
- package/dist/client/assets/collection-detail-gDWElNf6.js +1 -0
- package/dist/client/assets/{collection-display-button-DfzaspAg.js → collection-display-button-CX9hkCzp.js} +1 -1
- package/dist/client/assets/{collection-search-q0ogFMFh.js → collection-search-ChJFrp7I.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Dnaf2KFs.js → collection-table-wrapper-S14li0ck.js} +1 -1
- package/dist/client/assets/{collection-tabs-CYgVG041.js → collection-tabs-CSxs3D41.js} +1 -1
- package/dist/client/assets/{column-rules-BDs9HTxP.js → column-rules-GXfmm3XY.js} +2 -2
- package/dist/client/assets/{combobox-BTfHieW4.js → combobox-C7I8ANxO.js} +1 -1
- package/dist/client/assets/{command-DFd1c5Z5.js → command-3UFu4XzT.js} +1 -1
- package/dist/client/assets/{companion-mcps-section-4lkaw_O0.js → companion-mcps-section-B4r6rXjT.js} +1 -1
- package/dist/client/assets/{config-CtmGoERx.js → config-CXc91so8.js} +1 -1
- package/dist/client/assets/{connect-CmDZNw9R.js → connect-CyItQRMN.js} +3 -3
- package/dist/client/assets/{connect-layout-CC9olkOl.js → connect-layout-C_C_fSz7.js} +1 -1
- package/dist/client/assets/{connection-DSkv8Cg1.js → connection-C37KtOpn.js} +1 -1
- package/dist/client/assets/{connection-card-C7Yq5GHs.js → connection-card-BZTmMkIC.js} +1 -1
- package/dist/client/assets/connection-detail-D0FXWtUX.js +1 -0
- package/dist/client/assets/{connection-form-helpers-BsU6F-s_.js → connection-form-helpers-DxBwDmAB.js} +1 -1
- package/dist/client/assets/connections-D-s5sSvb.js +1 -0
- package/dist/client/assets/content-tab-zP6Y355z.js +8 -0
- package/dist/client/assets/context-CXih-hDd.js +1 -0
- package/dist/client/assets/{context-menu-CYa4PKRJ.js → context-menu-BVwispbr.js} +1 -1
- package/dist/client/assets/{core.esm-lZvNzlYc.js → core.esm-CmRvLUZs.js} +2 -2
- package/dist/client/assets/{create-organization-dialog-D-9YlOhY.js → create-organization-dialog-MkYGLytC.js} +1 -1
- package/dist/client/assets/daily-pulse-C5ZpC1Ja.js +1 -0
- package/dist/client/assets/device-hint-SeLRi17j.js +1 -0
- package/dist/client/assets/discover-CnNtsI6p.js +1 -0
- package/dist/client/assets/{domain-settings-BDouaDKh.js → domain-settings-C-ul_GpW.js} +1 -1
- package/dist/client/assets/{drawer-UzGeZrmC.js → drawer-BnxsVk9h.js} +1 -1
- package/dist/client/assets/{editor-KeKsFC14.js → editor-BcMzCvWI.js} +1 -1
- package/dist/client/assets/editor-classes-qOc25VDM.js +1 -0
- package/dist/client/assets/{empty-state-CvDYWxOG.js → empty-state-CLULH17h.js} +1 -1
- package/dist/client/assets/{empty-state-DdJZ_leg.js → empty-state-Csd3ZQCl.js} +1 -1
- package/dist/client/assets/{extract-connection-data-CJhjAx3s.js → extract-connection-data-QezQYJtA.js} +1 -1
- package/dist/client/assets/{feature-gate-D5KGpIQ3.js → feature-gate-X9j31WTs.js} +1 -1
- package/dist/client/assets/{feature-paywall-nTUHasXJ.js → feature-paywall-CVHEJqfB.js} +1 -1
- package/dist/client/assets/{file-explorer-CcZkMQK3.js → file-explorer-CzlgH02W.js} +2 -2
- package/dist/client/assets/{file-preview-Ct2165jc.js → file-preview-Ddg0WJAM.js} +1 -1
- package/dist/client/assets/{file-share-button-DnzCcmZ2.js → file-share-button-D2qOTxL8.js} +2 -2
- package/dist/client/assets/{file-type-icon-C-_1hLql.js → file-type-icon-Bqf9C4DT.js} +1 -1
- package/dist/client/assets/flat-project-EkkB9kye.js +1 -0
- package/dist/client/assets/{folder-icon-CksigScx.js → folder-icon-CktDjbyx.js} +2 -2
- package/dist/client/assets/{form-D6DHFxsw.js → form-BLRuutWX.js} +1 -1
- package/dist/client/assets/format-time-CAj8AQXM.js +1 -0
- package/dist/client/assets/general-DAKv-uYe.js +1 -0
- package/dist/client/assets/home-BtntFMXr.js +1 -0
- package/dist/client/assets/hosted-publish-feedback-DnbP_2C-.js +1 -0
- package/dist/client/assets/{icon-button-d9uOvdxM.js → icon-button-08xWmNqW.js} +1 -1
- package/dist/client/assets/{index-BGz-w6Gg.js → index-3um-0YWE.js} +1 -1
- package/dist/client/assets/index-3yvbELIe.js +1 -0
- package/dist/client/assets/{index-COV2t6Wc.js → index-9WXzzgOS.js} +2 -2
- package/dist/client/assets/{index-MZuRM-ap.js → index-BOjNGNvg.js} +1 -1
- package/dist/client/assets/index-BgxfZN5I.js +243 -0
- package/dist/client/assets/index-BiU97Vx4.js +1 -0
- package/dist/client/assets/index-BvCsVc8L.js +2 -0
- package/dist/client/assets/{index-B0rouRMk.js → index-Ct9bVcsr.js} +1 -1
- package/dist/client/assets/{index-DCmQGiOV.js → index-DIK8YZFn.js} +2 -2
- package/dist/client/assets/{index-Dhdyv2s0.js → index-DJTmuPQQ.js} +1 -1
- package/dist/client/assets/{index-Cw6J2Hl5.js → index-DT37BMIF.js} +5 -5
- package/dist/client/assets/{index-JuyO8Sz3.js → index-Dhveikge.js} +1 -1
- package/dist/client/assets/index-Dss8yn2Y.js +1 -0
- package/dist/client/assets/{index-DyaBZBxm.js → index-DyeE93ho.js} +14 -14
- package/dist/client/assets/{index-B5IA1qMq.js → index-lUChgCue.js} +1 -1
- package/dist/client/assets/index-m9hX09uY.css +1 -0
- package/dist/client/assets/{index-redirect-CdLcLUA4.js → index-redirect-CHE6u4Cv.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-rUCOtzeA.js → infiniteQueryObserver-ClCiPTXN.js} +1 -1
- package/dist/client/assets/{infra-billing-CNFpdYUt.js → infra-billing-ChfVikin.js} +1 -1
- package/dist/client/assets/input-BSxNJ_GL.js +17 -0
- package/dist/client/assets/input-BwymrIPS.js +1 -0
- package/dist/client/assets/{integration-icon-DogZfPWq.js → integration-icon-DmnIXoLv.js} +1 -1
- package/dist/client/assets/{jira-icon-Bkx-ixmo.js → jira-icon-BLL3j9jm.js} +1 -1
- package/dist/client/assets/{label-Bqj_xjz9.js → label-CXUY_vfR.js} +1 -1
- package/dist/client/assets/{layout-z7Pz7phr.js → layout-DIeTUTU5.js} +1 -1
- package/dist/client/assets/legacy-agents-deep-BKyQMU33.js +1 -0
- package/dist/client/assets/legacy-main-redirect-BsoX6iN0.js +1 -0
- package/dist/client/assets/library-j3CGQ36X.js +1 -0
- package/dist/client/assets/{library-tab-0FXiesZx.js → library-tab-D2qgQui6.js} +4 -4
- package/dist/client/assets/{login-B4wTb5ls.js → login-E4QHNGwe.js} +1 -1
- package/dist/client/assets/{markdown-5DzLzA6E.js → markdown-b3WNjA4d.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-DuGbCe-D.js → mcp-app-renderer-Cn4aCsu6.js} +2 -2
- package/dist/client/assets/{mcp-oauth-D_oaXY6E.js → mcp-oauth-C3NWluK_.js} +1 -1
- package/dist/client/assets/{mcp-oauth-tCidCN-u.js → mcp-oauth-RicpD0nY.js} +1 -1
- package/dist/client/assets/{members-CDM-83p9.js → members-BxD5PzHF.js} +1 -1
- package/dist/client/assets/{memory-0faJ-8hP.js → memory-C9XODnnD.js} +2 -2
- package/dist/client/assets/{mini-report-page-CrKZ4okq.js → mini-report-page-BIc8DpQB.js} +1 -1
- package/dist/client/assets/{mock-board-N392Vku2.js → mock-board-ohQUjnsi.js} +1 -1
- package/dist/client/assets/{monaco-editor-2Ci5R71u.js → monaco-editor-sh4I5RUd.js} +2 -2
- package/dist/client/assets/{monitoring-stats-row-BbxkYAB2.js → monitoring-stats-row-DV6G65vc.js} +1 -1
- package/dist/client/assets/{multi-select-CNHwKIXn.js → multi-select-B-4k-Bqg.js} +1 -1
- package/dist/client/assets/mustache-Ds0VW1db.js +4 -0
- package/dist/client/assets/{new-project-dialog-C5lJfUJ3.js → new-project-dialog-B1YWyUQY.js} +1 -1
- package/dist/client/assets/{oauth-callback-DGtqmz9D.js → oauth-callback-Dk0amXzl.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Bhuh08e8.js → oauth-callback-ai-provider-yxTXgHsL.js} +1 -1
- package/dist/client/assets/{onboarding-D55kfuiq.js → onboarding-WAcQlT34.js} +1 -1
- package/dist/client/assets/openai-conversation-DdRGYa72.js +3 -0
- package/dist/client/assets/optimistic-project-sidebar-views-CX9xIBGl.js +1 -0
- package/dist/client/assets/{organization-choice-CUxHZSL3.js → organization-choice-ByF9jLiX.js} +1 -1
- package/dist/client/assets/{orgs-CPCdS87I.js → orgs-BQHW_eGH.js} +1 -1
- package/dist/client/assets/page-seo-form-CHn8Xad5.js +1 -0
- package/dist/client/assets/{pair-DjM6V7aG.js → pair-CUEfObr7.js} +8 -8
- package/dist/client/assets/{plan-ladder-gwROOTzi.js → plan-ladder-DCjrzFrn.js} +1 -1
- package/dist/client/assets/{popover-MLSOZysn.js → popover-C7Cokk1g.js} +1 -1
- package/dist/client/assets/post-calendar-8u0J9Dxw.js +1 -0
- package/dist/client/assets/post-editor-BzyUnSeO.js +2 -0
- package/dist/client/assets/{preview-content-Cuq13S1x.js → preview-content-DvIKkdby.js} +1 -1
- package/dist/client/assets/{preview-dialog-CP7wwQxY.js → preview-dialog-l7y7EMMl.js} +1 -1
- package/dist/client/assets/{preview-panel-DFRYD57I.js → preview-panel-BVF8JvLU.js} +1 -1
- package/dist/client/assets/preview-source-BsRLGWUP.js +1 -0
- package/dist/client/assets/preview-tab-DSXQiNWB.js +551 -0
- package/dist/client/assets/product-picker-dialog-D1HSCZY-.js +1 -0
- package/dist/client/assets/{profile-E9E7lNqo.js → profile-DLHHp5WU.js} +1 -1
- package/dist/client/assets/{project-app-view-CqnnpjCc.js → project-app-view-BwoWS8NM.js} +1 -1
- package/dist/client/assets/{project-feed-DI26nV5j.js → project-feed-Bb_IIsXz.js} +1 -1
- package/dist/client/assets/{project-icon-DsUbDdQC.js → project-icon-Dgrl5qpw.js} +1 -1
- package/dist/client/assets/project-reports-C-bRcSvJ.js +1 -0
- package/dist/client/assets/project-tasks-DDJFKuGl.js +1 -0
- package/dist/client/assets/{projects-CdLu99l3.js → projects-DRVKv_2I.js} +1 -1
- package/dist/client/assets/{projects-empty-state-CO-mNXLv.js → projects-empty-state-CtZ_2AQk.js} +1 -1
- package/dist/client/assets/{prompts-CGIibyOn.js → prompts-BeeaQU8h.js} +1 -1
- package/dist/client/assets/record-editor-5RvQSHc4.js +1 -0
- package/dist/client/assets/redirect-editor-B1Nkj9GS.js +1 -0
- package/dist/client/assets/reports-BGfmbbJs.js +1 -0
- package/dist/client/assets/{reports-CKJQ8Zdg.js → reports-C5l1V9UL.js} +1 -1
- package/dist/client/assets/{reports-onboarding-UAs51Fs-.js → reports-onboarding-DP7Vd0T2.js} +1 -1
- package/dist/client/assets/{reports-tab-D-UL6Cu0.js → reports-tab-CtVbVcib.js} +2 -2
- package/dist/client/assets/{repositories-8LjwXVAZ.js → repositories-CbAg-Btm.js} +1 -1
- package/dist/client/assets/repository-binding-BFm9AVly.js +1 -0
- package/dist/client/assets/{repository-import-picker-D5xDiyD_.js → repository-import-picker-EyjACjb3.js} +1 -1
- package/dist/client/assets/{repository-picker-DExxlkis.js → repository-picker-CIkU8AaT.js} +1 -1
- package/dist/client/assets/{require-capability-DJr1iBd_.js → require-capability-BHXvQx1F.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Dzef4Ao1.js → required-auth-layout-BWy4wi63.js} +1 -1
- package/dist/client/assets/{reset-password-CWozFngH.js → reset-password-BmnWobO1.js} +1 -1
- package/dist/client/assets/{resizable-UTJFKDGm.js → resizable-ojZdlQ3J.js} +1 -1
- package/dist/client/assets/resolve-tab-icon-CQA14gzS.js +1 -0
- package/dist/client/assets/review-settings-HBrPojjW.js +1 -0
- package/dist/client/assets/{roles-D_wIHL0X.js → roles-Dtyn_BZq.js} +1 -1
- package/dist/client/assets/route-BnPcnvQE.js +1 -0
- package/dist/client/assets/route-FIzJ_P0a.js +1 -0
- package/dist/client/assets/route-tGmKNjFY.js +1 -0
- package/dist/client/assets/sandbox-git-api-CRxdlhrN.js +1 -0
- package/dist/client/assets/sandbox-lifecycle-context-BiADnqP0.js +1 -0
- package/dist/client/assets/{schema-kVE-1hbs.js → schema-C2wKusx1.js} +1 -1
- package/dist/client/assets/{schema-BKM3gR2B.js → schema-CP7YDlC2.js} +1 -1
- package/dist/client/assets/{scroll-area-1S72VGW0.js → scroll-area-eDDZTCNn.js} +1 -1
- package/dist/client/assets/{search-input-pTAwOtCG.js → search-input-Uw0JKwfe.js} +1 -1
- package/dist/client/assets/{search-toggle-DAU6nVmU.js → search-toggle-sm1qzFKh.js} +1 -1
- package/dist/client/assets/secret-ciphertext-CONJpmu9.js +1 -0
- package/dist/client/assets/{secret-picker-CDYFp1fc.js → secret-picker-60Shu074.js} +1 -1
- package/dist/client/assets/{secrets-B0srIKJq.js → secrets-BoqLiEya.js} +1 -1
- package/dist/client/assets/sections-editor-vaJsT4Ye.js +4 -0
- package/dist/client/assets/{select-WviNHwZD.js → select-BFEZcGSl.js} +1 -1
- package/dist/client/assets/{select-model-cTObTD6V.js → select-model-DqlWeDem.js} +1 -1
- package/dist/client/assets/seo-editor-CH8U1dHr.js +1 -0
- package/dist/client/assets/{separator-DHqK6uc1.js → separator-B8-QmvpR.js} +1 -1
- package/dist/client/assets/settings-tab-CKwbS1hi.js +4 -0
- package/dist/client/assets/{sheet-CZiDNUQZ.js → sheet-Nq7jp8TZ.js} +1 -1
- package/dist/client/assets/shell-layout-D6cRROrP.js +1 -0
- package/dist/client/assets/site-editor-BZvWDg3I.js +1 -0
- package/dist/client/assets/site-editor-toast-DKv6_ydN.js +1 -0
- package/dist/client/assets/{skills-Bhf5PJUl.js → skills-D12rIMUM.js} +1 -1
- package/dist/client/assets/{slider-gvEbcdOp.js → slider-DDXbeLEV.js} +1 -1
- package/dist/client/assets/{sortable.esm-h3AYG-u7.js → sortable.esm-B6I_GSlr.js} +1 -1
- package/dist/client/assets/{sso-B6q4MTEL.js → sso-BlG3mIxu.js} +1 -1
- package/dist/client/assets/{suggestion-C591DFAx.js → suggestion-BDdps7f5.js} +2 -2
- package/dist/client/assets/{switch-CUK4V52q.js → switch-fTPKFxtt.js} +1 -1
- package/dist/client/assets/{symbol-BQaHJ_MF.js → symbol-DzslO63t.js} +1 -1
- package/dist/client/assets/{synced-repos-BbxE1rvi.js → synced-repos-BoksOfkS.js} +1 -1
- package/dist/client/assets/{tab-icon-glyph-D8Um0oDf.js → tab-icon-glyph-B_Nx9b90.js} +1 -1
- package/dist/client/assets/{table-Dsl6wBVe.js → table-DM6c5ztx.js} +1 -1
- package/dist/client/assets/{tabs-BXhvcQgN.js → tabs-_ffnq5EI.js} +1 -1
- package/dist/client/assets/{task-board-kbcRVMI1.js → task-board-3mxTKXc4.js} +1 -1
- package/dist/client/assets/{task-route-BPrIj9mX.js → task-route-Bd7_oRze.js} +1 -1
- package/dist/client/assets/{task-status-codqNsI7.js → task-status-DobFUFUP.js} +1 -1
- package/dist/client/assets/taskboard-analytics-BqoskKtI.js +1 -0
- package/dist/client/assets/{tasks-J75byAMf.js → tasks-8erS0IrD.js} +3 -3
- package/dist/client/assets/tasks-SfkUPw6i.js +1 -0
- package/dist/client/assets/{textarea-DvoMwt1e.js → textarea-DuXoEX68.js} +1 -1
- package/dist/client/assets/thread-analytics-DRN0lWXv.js +1 -0
- package/dist/client/assets/{thread-intent-CG-CCDLs.js → thread-intent-CNERxhpd.js} +6 -6
- package/dist/client/assets/{thread-route-DvTW6luy.js → thread-route-B1yKR26I.js} +1 -1
- package/dist/client/assets/{thread-route-CR0TIP8s.js → thread-route-Ctf783T8.js} +1 -1
- package/dist/client/assets/{thread-sheet-body-BAmHmw0m.js → thread-sheet-body-BOzE-wDr.js} +1 -1
- package/dist/client/assets/{time-range-picker-CPMdzMas.js → time-range-picker-CTRRThMq.js} +1 -1
- package/dist/client/assets/{toggle-group-Q9SREgL7.js → toggle-group-Cfs_-SSG.js} +1 -1
- package/dist/client/assets/{tool-namespace-uRsPbj-p.js → tool-namespace-D2ik4cAJ.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-Djr5zvaV.js → toolbar-icon-button-CPspdKt4.js} +1 -1
- package/dist/client/assets/{tooltip-COqLwkid.js → tooltip-IZurjemL.js} +1 -1
- package/dist/client/assets/{tooltipContext-DDD6cP5q.js → tooltipContext-D100ISAz.js} +1 -1
- package/dist/client/assets/{track-DG4JP_WA.js → track-Dgx71QRR.js} +1 -1
- package/dist/client/assets/{types-C5SQt0XZ.js → types-BE1SardL.js} +10 -10
- package/dist/client/assets/{url-slug-CUhgOgGc.js → url-slug-CwNPw3b4.js} +1 -1
- package/dist/client/assets/{usage-stats-CAukzrpg.js → usage-stats-CG9oV0kb.js} +34 -34
- package/dist/client/assets/{use-ai-providers-IjG3zzka.js → use-ai-providers-CPzOGdQy.js} +1 -1
- package/dist/client/assets/use-app-takeover-l9YncUZ0.js +1 -0
- package/dist/client/assets/{use-automations-Dt8Ypk0g.js → use-automations-B6o4Nbzc.js} +1 -1
- package/dist/client/assets/{use-autosave-CiBl7wSO.js → use-autosave-DPNBZc_p.js} +1 -1
- package/dist/client/assets/use-chat-navigation-Do_KkN8I.js +1 -0
- package/dist/client/assets/{use-clock-tick-zaL95TTy.js → use-clock-tick-BnfclhFE.js} +1 -1
- package/dist/client/assets/{use-connect-companion-CRI0nNcp.js → use-connect-companion-BPMXolOl.js} +1 -1
- package/dist/client/assets/{use-connection-gMb_8zEe.js → use-connection-DS1VAR5N.js} +1 -1
- package/dist/client/assets/{use-copy-2j0k06rN.js → use-copy-C8TWXH-H.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Bz6TE2Qz.js → use-create-virtual-mcp-CeEuYNMP.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-BPq8VLDt.js → use-date-fns-locale-D3qFWxxv.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-CMA_1eXM.js → use-debounced-autosave-DsoI68di.js} +1 -1
- package/dist/client/assets/{use-debounced-value-Dju-tMu1.js → use-debounced-value-KpwtUdsd.js} +1 -1
- package/dist/client/assets/{use-deco-credits-BtvhFk4m.js → use-deco-credits-DscUzXq9.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-D8zpT0sX.js → use-decopilot-events-D8UIooCs.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BXDiC_mk.js → use-delete-connection-Dnzv3Wbz.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-CXT7CFHy.js → use-deployment-admin-P_SogPj1.js} +1 -1
- package/dist/client/assets/use-ensure-project-folder-Dom2nmkC.js +1 -0
- package/dist/client/assets/use-fast-preview-draft-url-DnHFw81T.js +1 -0
- package/dist/client/assets/use-file-configs-Cv2mXUdp.js +1 -0
- package/dist/client/assets/{use-infinite-scroll-CtScOz_h.js → use-infinite-scroll-CuKgvt7b.js} +1 -1
- package/dist/client/assets/{use-join-requests-CccLwL3-.js → use-join-requests-cLAvpRra.js} +1 -1
- package/dist/client/assets/use-main-panel-tabs-B0dFgvCE.js +1 -0
- package/dist/client/assets/{use-mcp-auth-status-Is2pR00q.js → use-mcp-auth-status-DaPeILTX.js} +1 -1
- package/dist/client/assets/{use-mcp-client-DuTNn1dc.js → use-mcp-client-CU2kDBXP.js} +2 -2
- package/dist/client/assets/{use-mcp-prompts-3vLSpQqZ.js → use-mcp-prompts-CdDXQMlf.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CA6Ri5UK.js → use-mcp-tools-CyHq-JFp.js} +1 -1
- package/dist/client/assets/{use-members-BqWTpMNp.js → use-members-CkpNHwM6.js} +1 -1
- package/dist/client/assets/{use-mobile-Di3PCVWm.js → use-mobile-DNDEd3kt.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-Cu9cZhs8.js → use-navigate-to-agent-JTDphVE0.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-sjDwQSEM.js → use-open-billing-url-2Iqpie3T.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-DIUzAE5u.js → use-org-auth-client-Bwzj9WuC.js} +1 -1
- package/dist/client/assets/{use-org-fs-DOu4nQSr.js → use-org-fs-Cg7EJCYS.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-BhJEcVcm.js → use-org-repo-syncs-D4j72pCa.js} +1 -1
- package/dist/client/assets/{use-org-sso-B57pfGVG.js → use-org-sso-CMfwXvs9.js} +1 -1
- package/dist/client/assets/{use-organization-roles-DDnFx_jd.js → use-organization-roles-DPDTJ01F.js} +1 -1
- package/dist/client/assets/use-organization-settings-BMIqQlbM.js +1 -0
- package/dist/client/assets/{use-panel-navigate-c5H4a21L.js → use-panel-navigate-CL5hztR3.js} +1 -1
- package/dist/client/assets/use-project-native-view-presence-CBbSdoTE.js +1 -0
- package/dist/client/assets/{use-project-scope-A4YCdR4N.js → use-project-scope-DqbIN7fa.js} +1 -1
- package/dist/client/assets/use-recent-apps-Beu6vFHw.js +1 -0
- package/dist/client/assets/use-releases-Bfs5MNEe.js +1 -0
- package/dist/client/assets/{use-reports-diagnostic-Dw_QzpEb.js → use-reports-diagnostic-QSfTgm94.js} +1 -1
- package/dist/client/assets/{use-secrets-BwPjhWC0.js → use-secrets-BaG_Hkwz.js} +1 -1
- package/dist/client/assets/use-section-preview-base-DUXeQAGw.js +1 -0
- package/dist/client/assets/{use-tags-Ce3D-sM7.js → use-tags-BWRD1El7.js} +1 -1
- package/dist/client/assets/{use-task-board-analytics-BR7NSR26.js → use-task-board-analytics-Bkf73btp.js} +1 -1
- package/dist/client/assets/{use-task-board-events-BBlz-cBe.js → use-task-board-events-CLNIzDoN.js} +1 -1
- package/dist/client/assets/{use-task-board-item-prs-BzAFAQp8.js → use-task-board-item-prs-Bh5krZjb.js} +1 -1
- package/dist/client/assets/{use-task-board-items-DTbT7rEp.js → use-task-board-items-zobNU9xE.js} +1 -1
- package/dist/client/assets/use-task-metadata-Bsl_Cezz.js +1 -0
- package/dist/client/assets/{use-thread-analytics-CeuE3odS.js → use-thread-analytics-CdWNwDDd.js} +1 -1
- package/dist/client/assets/use-thread-outputs-BkgKa2EX.js +1 -0
- package/dist/client/assets/useInfiniteQuery-pEq0vd9s.js +1 -0
- package/dist/client/assets/{useQueries-BliyNTtT.js → useQueries-E-2AGLRt.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BQsEFgzv.js +1 -0
- package/dist/client/assets/{users-CsvLtEUJ.js → users-L9Rh2Jo7.js} +1 -1
- package/dist/client/assets/{utils-DHYRJNUn.js → utils-Dx9iFvKJ.js} +1 -1
- package/dist/client/assets/variant-calendar-CkKYqTGY.js +1 -0
- package/dist/client/assets/variant-draft-pointer-CSAndyah.js +1 -0
- package/dist/client/assets/{view-mode-toggle-B55pxnK_.js → view-mode-toggle-DxuIXC_C.js} +1 -1
- package/dist/client/assets/virtual-mcp-D7evpUlE.js +1 -0
- package/dist/client/assets/{watch-sse-pool-B66Eygyb.js → watch-sse-pool-Bs34dRKl.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +1 -1
- package/dist/server/migrate-dbos.js +1 -1
- package/dist/server/migrate.js +42 -42
- package/dist/server/server.js +777 -737
- package/package.json +2 -1
- package/dist/client/assets/add-connection-dialog-BB_zBu7s.js +0 -1
- package/dist/client/assets/agent-analytics-DJ6OqUua.js +0 -2
- package/dist/client/assets/agent-app-6ZZFFR6d.js +0 -1
- package/dist/client/assets/agent-assets-BHKSbhmH.js +0 -1
- package/dist/client/assets/agent-automation-BEmy5bSr.js +0 -20
- package/dist/client/assets/agent-automations-p8P_f3PC.js +0 -1
- package/dist/client/assets/agent-connect-sources-DHxXXvzx.js +0 -1
- package/dist/client/assets/agent-deck-kxbwQZGK.js +0 -1
- package/dist/client/assets/agent-e2e-BPE2bY36.js +0 -1
- package/dist/client/assets/agent-experiments-ChC-SJXX.js +0 -1
- package/dist/client/assets/agent-file-BFxmR6QX.js +0 -1
- package/dist/client/assets/agent-hosting-BV7C2pVl.js +0 -1
- package/dist/client/assets/agent-library-dgFnuWrg.js +0 -1
- package/dist/client/assets/agent-library-file-LGRVpT_Z.js +0 -1
- package/dist/client/assets/agent-monitor-CbF33zT0.js +0 -1
- package/dist/client/assets/agent-overview-CiiRxzYe.js +0 -1
- package/dist/client/assets/agent-settings-CFC23BeV.js +0 -1
- package/dist/client/assets/agent-site-editor-Dq16bHz8.js +0 -25
- package/dist/client/assets/agent-site-editor-code-B3URMZgm.js +0 -2
- package/dist/client/assets/agent-site-editor-content-CbMNndHb.js +0 -8
- package/dist/client/assets/agent-site-editor-preview-Dy_HN_0a.js +0 -551
- package/dist/client/assets/agent-view-AaYNRrLl.js +0 -1
- package/dist/client/assets/agent-view-guard-CShYlKBB.js +0 -1
- package/dist/client/assets/api-keys-CvurWoww.js +0 -1
- package/dist/client/assets/app-editor-Dtvslmpt.js +0 -1
- package/dist/client/assets/auth-entry-CcnG-745.js +0 -1
- package/dist/client/assets/blog-schema-Qz918NIm.js +0 -1
- package/dist/client/assets/category-editor-w7_HM15g.js +0 -1
- package/dist/client/assets/chat-context-DszOftwV.js +0 -39
- package/dist/client/assets/claim-phase-copy-gKkPnPW4.js +0 -1
- package/dist/client/assets/collection-detail-D7Eq0q0A.js +0 -1
- package/dist/client/assets/connection-detail-DVH9ilyh.js +0 -1
- package/dist/client/assets/connections-BMBv6B3A.js +0 -1
- package/dist/client/assets/context-B_2GuX3F.js +0 -1
- package/dist/client/assets/daily-pulse-CSM9zceR.js +0 -1
- package/dist/client/assets/device-hint-DPN31B5L.js +0 -1
- package/dist/client/assets/discover-DvrfCZMt.js +0 -1
- package/dist/client/assets/flat-project-Dhd407Mb.js +0 -1
- package/dist/client/assets/format-time-CjIPQhCN.js +0 -1
- package/dist/client/assets/general-CeTNWbSz.js +0 -1
- package/dist/client/assets/home-B3luwcfX.js +0 -1
- package/dist/client/assets/index-DHd9v6HB.js +0 -1
- package/dist/client/assets/index-DQO0lnZr.css +0 -1
- package/dist/client/assets/index-bl_DQ3mH.js +0 -243
- package/dist/client/assets/index-zYf8hP69.js +0 -1
- package/dist/client/assets/input-B6YAOx07.js +0 -17
- package/dist/client/assets/input-C1msyAUz.js +0 -1
- package/dist/client/assets/legacy-agents-deep-fygb-JNd.js +0 -1
- package/dist/client/assets/legacy-main-redirect-BKIEGtd4.js +0 -1
- package/dist/client/assets/library-BgLLAz_1.js +0 -1
- package/dist/client/assets/mustache-B7TZyK91.js +0 -4
- package/dist/client/assets/openai-conversation-C4Qt6S-l.js +0 -3
- package/dist/client/assets/optimistic-project-sidebar-views-CoZosNmn.js +0 -1
- package/dist/client/assets/page-seo-form-DdXyS1MG.js +0 -1
- package/dist/client/assets/post-calendar-Dr7XWigd.js +0 -1
- package/dist/client/assets/post-editor-CKCVg_my.js +0 -2
- package/dist/client/assets/product-picker-dialog-DuFOtAE-.js +0 -1
- package/dist/client/assets/project-reports-UVwSbHHJ.js +0 -1
- package/dist/client/assets/project-tasks-DuMsfpY5.js +0 -1
- package/dist/client/assets/record-editor-ceYt0p4C.js +0 -1
- package/dist/client/assets/redirect-editor-Ca575ToY.js +0 -1
- package/dist/client/assets/reports-y_yDpDn4.js +0 -1
- package/dist/client/assets/repository-binding-BTsmo_dA.js +0 -1
- package/dist/client/assets/resolve-tab-icon-DqCiaIA7.js +0 -1
- package/dist/client/assets/review-settings-THwrc5M3.js +0 -1
- package/dist/client/assets/rich-text-link-control-CNQ92nZ4.js +0 -1
- package/dist/client/assets/route-CfEJDbbT.js +0 -1
- package/dist/client/assets/route-DD4978oF.js +0 -1
- package/dist/client/assets/route-e2YuR4Xl.js +0 -1
- package/dist/client/assets/runnable-block-editor-fWbFWGvz.js +0 -17
- package/dist/client/assets/sandbox-git-api-C7JbVL7R.js +0 -1
- package/dist/client/assets/sandbox-lifecycle-context-C25F7mSK.js +0 -1
- package/dist/client/assets/sections-editor-B5MFR1yl.js +0 -4
- package/dist/client/assets/seo-editor-DCKDCOQr.js +0 -1
- package/dist/client/assets/settings-tab-fdKZYnq9.js +0 -4
- package/dist/client/assets/shell-layout-Bk6uPKMe.js +0 -1
- package/dist/client/assets/taskboard-analytics-xeHAgwnO.js +0 -1
- package/dist/client/assets/tasks-Ba-oyyIK.js +0 -1
- package/dist/client/assets/thread-analytics-C0BM4p9K.js +0 -1
- package/dist/client/assets/thread-button-DKjUerzt.js +0 -1
- package/dist/client/assets/use-chat-layout-state-CVkPEEUs.js +0 -1
- package/dist/client/assets/use-chat-navigation-DLnmXNT9.js +0 -1
- package/dist/client/assets/use-ensure-project-folder-CqaPdVz-.js +0 -1
- package/dist/client/assets/use-fast-preview-draft-url-DlLnA8PJ.js +0 -1
- package/dist/client/assets/use-file-configs-BSnoYr1R.js +0 -1
- package/dist/client/assets/use-main-panel-tabs-O3Jy3Qh8.js +0 -1
- package/dist/client/assets/use-new-blocks-editor-D9sV9o2T.js +0 -1
- package/dist/client/assets/use-organization-settings-BOGRgJjV.js +0 -1
- package/dist/client/assets/use-releases-BmeSCMgM.js +0 -1
- package/dist/client/assets/use-sandbox-events-hhwp2IWJ.js +0 -2
- package/dist/client/assets/use-section-preview-base-B7bjCuOw.js +0 -1
- package/dist/client/assets/use-task-metadata-CBQ5Muu5.js +0 -1
- package/dist/client/assets/use-thread-outputs-c6b1HaAz.js +0 -1
- package/dist/client/assets/useInfiniteQuery-DeMEFTdd.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CUkGf5w6.js +0 -1
- package/dist/client/assets/variant-calendar-CKqGYdH4.js +0 -1
- package/dist/client/assets/variant-matcher-override-uklREcGs.js +0 -1
- package/dist/client/assets/virtual-mcp-DFjD0qBz.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -100,7 +100,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
100
100
|
DROP COLUMN from_key,
|
|
101
101
|
DROP COLUMN from_statuses,
|
|
102
102
|
DROP COLUMN from_kind
|
|
103
|
-
`.execute(_)}var Yx={};C(Yx,{up:()=>ez,down:()=>dz});import{sql as cm}from"kysely";async function ez(_){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(cm`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(cm`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 dz(_){await _.schema.dropTable("user_sidebar_preferences").execute(),await _.schema.dropTable("org_project_folders").execute()}var Dx={};C(Dx,{up:()=>
|
|
103
|
+
`.execute(_)}var Yx={};C(Yx,{up:()=>ez,down:()=>dz});import{sql as cm}from"kysely";async function ez(_){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(cm`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(cm`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 dz(_){await _.schema.dropTable("user_sidebar_preferences").execute(),await _.schema.dropTable("org_project_folders").execute()}var Dx={};C(Dx,{up:()=>bz,down:()=>sz});async function bz(){}async function sz(){}var Mx={};C(Mx,{up:()=>_E,down:()=>xE});import{sql as Hx}from"kysely";async function _E(_){await Hx`
|
|
104
104
|
ALTER TABLE task_board_prompts
|
|
105
105
|
ADD COLUMN IF NOT EXISTS skills text[] NOT NULL DEFAULT '{}'
|
|
106
106
|
`.execute(_)}async function xE(_){await Hx`DELETE FROM task_board_prompts WHERE prompt = ''`.execute(_),await Hx`ALTER TABLE task_board_prompts DROP COLUMN skills`.execute(_)}var Bx={};C(Bx,{up:()=>uE,down:()=>CE});import{sql as Rx}from"kysely";async function uE(_){await Rx`
|
|
@@ -453,21 +453,21 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
453
453
|
CREATE INDEX IF NOT EXISTS idx_task_board_items_virtual_mcp_id
|
|
454
454
|
ON task_board_items (virtual_mcp_id)
|
|
455
455
|
WHERE virtual_mcp_id IS NOT NULL
|
|
456
|
-
`.execute(_)}async function tE(_){await S_`DROP INDEX IF EXISTS idx_task_board_items_virtual_mcp_id`.execute(_),await S_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS virtual_mcp_id`.execute(_)}var hx={};C(hx,{up:()=>oE,down:()=>aE});async function oE(_){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 aE(_){await _.schema.dropTable("github_copilot_subscriptions").ifExists().execute()}var tx={};C(tx,{up:()=>rE,down:()=>lE});async function rE(_){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 lE(_){await _.schema.dropTable("org_shared_plans").ifExists().execute()}var ox={};C(ox,{up:()=>eE,down:()=>dE});import{sql as r}from"kysely";var f_=["linked_chat_run"];async function
|
|
456
|
+
`.execute(_)}async function tE(_){await S_`DROP INDEX IF EXISTS idx_task_board_items_virtual_mcp_id`.execute(_),await S_`ALTER TABLE task_board_items DROP COLUMN IF EXISTS virtual_mcp_id`.execute(_)}var hx={};C(hx,{up:()=>oE,down:()=>aE});async function oE(_){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 aE(_){await _.schema.dropTable("github_copilot_subscriptions").ifExists().execute()}var tx={};C(tx,{up:()=>rE,down:()=>lE});async function rE(_){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 lE(_){await _.schema.dropTable("org_shared_plans").ifExists().execute()}var ox={};C(ox,{up:()=>eE,down:()=>dE});import{sql as r}from"kysely";var f_=["linked_chat_run"];async function bm(_){let{rows:x}=await r`
|
|
457
457
|
SELECT pg_get_constraintdef(oid) AS def FROM pg_constraint
|
|
458
458
|
WHERE conname = 'chk_trigger_type'
|
|
459
459
|
AND conrelid = 'automation_triggers'::regclass
|
|
460
|
-
`.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function
|
|
460
|
+
`.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function sm(_,x){let u=r.join([...x].map((N)=>r.lit(N)));await r`
|
|
461
461
|
ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type,
|
|
462
462
|
ADD CONSTRAINT chk_trigger_type CHECK (type IN (${u}))
|
|
463
|
-
`.execute(_)}async function eE(_){let x=await
|
|
463
|
+
`.execute(_)}async function eE(_){let x=await bm(_);if(f_.every((u)=>x.has(u)))return;for(let u of f_)x.add(u);await sm(_,x)}async function dE(_){await r`DELETE FROM automation_triggers WHERE type IN (${r.join(f_)})`.execute(_);let x=await bm(_);for(let u of f_)x.delete(u);await sm(_,x)}var ax={};C(ax,{up:()=>bE,down:()=>sE});import{sql as l}from"kysely";var A_=["board_pr_merged","chat_pr_opened"];async function _T(_){let{rows:x}=await l`
|
|
464
464
|
SELECT pg_get_constraintdef(oid) AS def FROM pg_constraint
|
|
465
465
|
WHERE conname = 'chk_trigger_type'
|
|
466
466
|
AND conrelid = 'automation_triggers'::regclass
|
|
467
467
|
`.execute(_);return new Set([...(x[0]?.def??"").matchAll(/'([a-z_]+)'/g)].map((u)=>u[1]))}async function xT(_,x){let u=l.join([...x].map((N)=>l.lit(N)));await l`
|
|
468
468
|
ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type,
|
|
469
469
|
ADD CONSTRAINT chk_trigger_type CHECK (type IN (${u}))
|
|
470
|
-
`.execute(_)}async function
|
|
470
|
+
`.execute(_)}async function bE(_){let x=await _T(_);if(A_.every((u)=>x.has(u)))return;for(let u of A_)x.add(u);await xT(_,x)}async function sE(_){await l`DELETE FROM automation_triggers WHERE type IN (${l.join(A_)})`.execute(_);let x=await _T(_);for(let u of A_)x.delete(u);await xT(_,x)}var rx={};C(rx,{up:()=>x0,down:()=>u0});import{sql as _0}from"kysely";async function x0(_){await _0`ALTER TABLE organization_settings
|
|
471
471
|
DROP COLUMN IF EXISTS main_agent_id`.execute(_)}async function u0(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}var lx={};C(lx,{up:()=>C0,down:()=>K0});import{sql as uT}from"kysely";async function C0(_){await uT`CREATE INDEX idx_connections_sanitized_id ON connections (replace(id, '-', '_'))`.execute(_)}async function K0(_){await uT`DROP INDEX IF EXISTS idx_connections_sanitized_id`.execute(_)}var ex={};C(ex,{up:()=>N0,down:()=>m0});import{sql as O}from"kysely";async function N0(_){await O`
|
|
472
472
|
CREATE OR REPLACE FUNCTION cd_repo_try_jsonb(t text)
|
|
473
473
|
RETURNS jsonb AS $fn$
|
|
@@ -569,7 +569,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
569
569
|
)::text
|
|
570
570
|
WHERE a.id = 'commerce-discovery_' || a.organization_id
|
|
571
571
|
AND cd_repo_try_jsonb(a.metadata) #> '{githubRepo,repositoryId}' IS NOT NULL
|
|
572
|
-
`.execute(_),await O`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}var
|
|
572
|
+
`.execute(_),await O`DROP FUNCTION IF EXISTS cd_repo_try_jsonb(text)`.execute(_)}var bx={};C(bx,{up:()=>T0,down:()=>z0});import{sql as dx}from"kysely";async function T0(_){await dx`ALTER TABLE git_provider_accounts
|
|
573
573
|
DROP CONSTRAINT git_provider_accounts_auth_kind_check,
|
|
574
574
|
ADD CONSTRAINT git_provider_accounts_auth_kind_check
|
|
575
575
|
CHECK (auth_kind IN ('github_app', 'oauth', 'token', 'github_cli')),
|
|
@@ -579,7 +579,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
579
579
|
DROP CONSTRAINT git_provider_accounts_cli_check,
|
|
580
580
|
DROP CONSTRAINT git_provider_accounts_auth_kind_check,
|
|
581
581
|
ADD CONSTRAINT git_provider_accounts_auth_kind_check
|
|
582
|
-
CHECK (auth_kind IN ('github_app', 'oauth', 'token'))`.execute(_)}var
|
|
582
|
+
CHECK (auth_kind IN ('github_app', 'oauth', 'token'))`.execute(_)}var sx={};C(sx,{up:()=>E0,down:()=>$0});import{sql as CT}from"kysely";async function E0(_){await CT`
|
|
583
583
|
INSERT INTO "organization" (id, name, slug, "createdAt")
|
|
584
584
|
SELECT
|
|
585
585
|
'org_user_fs',
|
|
@@ -661,7 +661,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
661
661
|
FROM repositories r WHERE s.repository_id IS NULL
|
|
662
662
|
AND r.organization_id = s.organization_id AND r.host = 'github.com'
|
|
663
663
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name);
|
|
664
|
-
`.execute(_)}async function k0(_){await y_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await y_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var Uu={};C(Uu,{up:()=>n0,down:()=>v0});import{sql as V}from"kysely";async function n0(_){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 v0(_){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 Ju={};C(Ju,{up:()=>p0,down:()=>g0});import{sql as mT}from"kysely";async function p0(_){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(mT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(mT`CURRENT_TIMESTAMP`)).execute()}async function g0(_){await _.schema.dropTable("organization_settings").execute()}var Qu={};C(Qu,{up:()=>q0,down:()=>i0});async function q0(_){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 i0(_){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 Xu={};C(Xu,{up:()=>c0,down:()=>h0});async function c0(_){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 h0(_){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 Zu={};C(Zu,{up:()=>t0,down:()=>o0});async function t0(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function o0(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Wu={};C(Wu,{up:()=>r0,down:()=>l0});import{sql as a0}from"kysely";async function r0(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",a0`text`).execute()}async function l0(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var ju={};C(ju,{up:()=>e0,down:()=>d0});async function e0(_){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 d0(_){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 Lu={};C(Lu,{up:()=>s0,down:()=>b0});import{sql as P_}from"kysely";async function s0(_){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 b0(_){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 Fu={};C(Fu,{up:()=>x$,down:()=>u$});import{sql as _$}from"kysely";async function x$(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function u$(_){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(_$`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 Yu={};C(Yu,{up:()=>C$,down:()=>K$});import{sql as V_}from"kysely";async function C$(_){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(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("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(V_`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 V_`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 K$(_){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 Du={};C(Du,{up:()=>N$,down:()=>m$});async function N$(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function m$(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var Hu={};C(Hu,{up:()=>T$,down:()=>z$});import{sql as w_}from"kysely";async function T$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await w_`
|
|
664
|
+
`.execute(_)}async function k0(_){await y_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await y_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var Uu={};C(Uu,{up:()=>n0,down:()=>v0});import{sql as V}from"kysely";async function n0(_){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 v0(_){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 Ju={};C(Ju,{up:()=>p0,down:()=>g0});import{sql as mT}from"kysely";async function p0(_){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(mT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(mT`CURRENT_TIMESTAMP`)).execute()}async function g0(_){await _.schema.dropTable("organization_settings").execute()}var Qu={};C(Qu,{up:()=>q0,down:()=>i0});async function q0(_){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 i0(_){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 Xu={};C(Xu,{up:()=>c0,down:()=>h0});async function c0(_){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 h0(_){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 Zu={};C(Zu,{up:()=>t0,down:()=>o0});async function t0(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function o0(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Wu={};C(Wu,{up:()=>r0,down:()=>l0});import{sql as a0}from"kysely";async function r0(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",a0`text`).execute()}async function l0(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var ju={};C(ju,{up:()=>e0,down:()=>d0});async function e0(_){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 d0(_){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 Lu={};C(Lu,{up:()=>b0,down:()=>s0});import{sql as P_}from"kysely";async function b0(_){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 s0(_){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 Fu={};C(Fu,{up:()=>x$,down:()=>u$});import{sql as _$}from"kysely";async function x$(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function u$(_){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(_$`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 Yu={};C(Yu,{up:()=>C$,down:()=>K$});import{sql as V_}from"kysely";async function C$(_){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(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("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(V_`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 V_`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 K$(_){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 Du={};C(Du,{up:()=>N$,down:()=>m$});async function N$(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function m$(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var Hu={};C(Hu,{up:()=>T$,down:()=>z$});import{sql as w_}from"kysely";async function T$(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await w_`
|
|
665
665
|
UPDATE gateways
|
|
666
666
|
SET tool_selection_mode = CASE
|
|
667
667
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
@@ -810,7 +810,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
810
810
|
id, parent_connection_id, child_connection_id,
|
|
811
811
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
812
812
|
FROM connection_aggregations
|
|
813
|
-
`.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 tu={};C(tu,{up:()=>
|
|
813
|
+
`.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 tu={};C(tu,{up:()=>b$,down:()=>s$});import{webcrypto as $T}from"crypto";var ET="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var r$=128,h,e;function l$(_){if(!h||h.length<_)h=Buffer.allocUnsafe(_*r$),$T.getRandomValues(h),e=0;else if(e+_>h.length)$T.getRandomValues(h),e=0;e+=_}function d(_=21){l$(_|=0);let x="";for(let u=e-_;u<e;u++)x+=ET[h[u]&63];return x}var e$="org-admin",d$="Organization Admin";async function b$(_){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:e$,name:d$,description:null,enabled_plugins:m?.enabled_plugins??null,ui:null,created_at:N,updated_at:N}).execute()}}async function s$(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var ou={};C(ou,{up:()=>_P,down:()=>xP});async function _P(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function xP(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var au={};C(au,{up:()=>uP,down:()=>CP});async function uP(_){}async function CP(_){}var ru={};C(ru,{up:()=>KP,down:()=>NP});async function KP(_){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 NP(_){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 lu={};C(lu,{up:()=>mP,down:()=>TP});import{sql as PT}from"kysely";async function mP(_){await PT`
|
|
814
814
|
UPDATE connections
|
|
815
815
|
SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
|
|
816
816
|
tools = NULL,
|
|
@@ -823,7 +823,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
823
823
|
updated_at = CURRENT_TIMESTAMP
|
|
824
824
|
WHERE connection_url = 'https://studio.decocms.com/org/deco/registry/mcp'
|
|
825
825
|
AND app_name = 'deco-registry'
|
|
826
|
-
`.execute(_)}var eu={};C(eu,{up:()=>EP,down:()=>$P});import{sql as zP}from"kysely";async function EP(_){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(zP`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 $P(_){await _.schema.dropTable("ai_provider_keys").execute()}var du={};C(du,{up:()=>UP,down:()=>JP});import{sql as PP}from"kysely";async function UP(_){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(PP`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function JP(_){await _.schema.dropTable("oauth_pkce_states").execute()}var
|
|
826
|
+
`.execute(_)}var eu={};C(eu,{up:()=>EP,down:()=>$P});import{sql as zP}from"kysely";async function EP(_){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(zP`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 $P(_){await _.schema.dropTable("ai_provider_keys").execute()}var du={};C(du,{up:()=>UP,down:()=>JP});import{sql as PP}from"kysely";async function UP(_){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(PP`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function JP(_){await _.schema.dropTable("oauth_pkce_states").execute()}var bu={};C(bu,{up:()=>QP,down:()=>XP});import{sql as p}from"kysely";async function QP(_){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 XP(_){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 su={};C(su,{up:()=>ZP,down:()=>WP});async function ZP(_){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 WP(_){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 _C={};C(_C,{up:()=>jP,down:()=>LP});async function jP(_){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 LP(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var xC={};C(xC,{up:()=>FP,down:()=>YP});import{sql as UT}from"kysely";async function FP(_){await UT`
|
|
827
827
|
UPDATE connections
|
|
828
828
|
SET title = 'CMS MCP',
|
|
829
829
|
tools = NULL,
|
|
@@ -884,7 +884,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
884
884
|
AND metadata::json->>'migrated_project_slug' = 'org-admin'
|
|
885
885
|
`.execute(_)}async function kP(_){}var PC={};C(PC,{up:()=>vP,down:()=>pP});import{sql as nP}from"kysely";async function vP(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await nP`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function pP(_){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 JC={};C(JC,{up:()=>gP,down:()=>qP});import{sql as UC}from"kysely";async function gP(_){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(UC`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(UC`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(UC`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 qP(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var QC={};C(QC,{up:()=>iP,down:()=>cP});async function iP(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function cP(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var XC={};C(XC,{up:()=>hP,down:()=>tP});async function hP(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function tP(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var WC={};C(WC,{up:()=>aP,down:()=>rP});import{sql as XT}from"kysely";function ZC(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function oP(_){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 ZC(N)}catch{return ZC(_.connection_url)}if(_.title)return ZC(_.title);return _.id}async function aP(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await XT`
|
|
886
886
|
SELECT id, app_name, connection_url, title FROM connections
|
|
887
|
-
`.execute(_);for(let u of x.rows){let N=oP(u);await XT`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 rP(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var jC={};C(jC,{up:()=>lP,down:()=>eP});import{sql as J_}from"kysely";async function lP(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await J_`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await J_`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 eP(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await J_`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await J_`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await J_`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 LC={};C(LC,{up:()=>dP,down:()=>
|
|
887
|
+
`.execute(_);for(let u of x.rows){let N=oP(u);await XT`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 rP(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var jC={};C(jC,{up:()=>lP,down:()=>eP});import{sql as J_}from"kysely";async function lP(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await J_`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await J_`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 eP(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await J_`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await J_`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await J_`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 LC={};C(LC,{up:()=>dP,down:()=>bP});async function dP(_){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 bP(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var FC={};C(FC,{up:()=>sP,down:()=>_U});import{sql as n_}from"kysely";async function sP(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await n_`
|
|
888
888
|
UPDATE threads
|
|
889
889
|
SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
|
|
890
890
|
WHERE agent_ids IS NOT NULL
|
|
@@ -901,24 +901,24 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
901
901
|
THEN jsonb_build_array(virtual_mcp_id)::text
|
|
902
902
|
ELSE '[]'
|
|
903
903
|
END
|
|
904
|
-
`.execute(_),await n_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var YC={};C(YC,{up:()=>xU,down:()=>uU});async function xU(_){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 uU(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var DC={};C(DC,{up:()=>CU,down:()=>KU});async function CU(_){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 KU(_){await _.schema.dropTable("kv").execute()}var HC={};C(HC,{up:()=>NU,down:()=>mU});async function NU(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function mU(_){await _.schema.dropIndex("idx_member_user_org").execute()}var MC={};C(MC,{up:()=>TU,down:()=>zU});async function TU(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function zU(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var RC={};C(RC,{up:()=>EU,down:()=>$U});import{sql as S}from"kysely";async function EU(_){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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 S`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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 S`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(S`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(S`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(S`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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 $U(_){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 BC={};C(BC,{up:()=>PU,down:()=>UU});import{sql as
|
|
904
|
+
`.execute(_),await n_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var YC={};C(YC,{up:()=>xU,down:()=>uU});async function xU(_){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 uU(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var DC={};C(DC,{up:()=>CU,down:()=>KU});async function CU(_){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 KU(_){await _.schema.dropTable("kv").execute()}var HC={};C(HC,{up:()=>NU,down:()=>mU});async function NU(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function mU(_){await _.schema.dropIndex("idx_member_user_org").execute()}var MC={};C(MC,{up:()=>TU,down:()=>zU});async function TU(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function zU(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var RC={};C(RC,{up:()=>EU,down:()=>$U});import{sql as S}from"kysely";async function EU(_){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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 S`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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 S`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(S`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(S`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(S`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(S`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(S`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 $U(_){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 BC={};C(BC,{up:()=>PU,down:()=>UU});import{sql as b}from"kysely";async function PU(_){await b`
|
|
905
905
|
ALTER TABLE event_subscriptions
|
|
906
906
|
ALTER COLUMN enabled DROP DEFAULT
|
|
907
|
-
`.execute(_),await
|
|
907
|
+
`.execute(_),await b`
|
|
908
908
|
ALTER TABLE event_subscriptions
|
|
909
909
|
ALTER COLUMN enabled TYPE boolean
|
|
910
910
|
USING enabled::boolean
|
|
911
|
-
`.execute(_),await
|
|
911
|
+
`.execute(_),await b`
|
|
912
912
|
ALTER TABLE event_subscriptions
|
|
913
913
|
ALTER COLUMN enabled SET DEFAULT true
|
|
914
|
-
`.execute(_)}async function UU(_){await
|
|
914
|
+
`.execute(_)}async function UU(_){await b`
|
|
915
915
|
ALTER TABLE event_subscriptions
|
|
916
916
|
ALTER COLUMN enabled DROP DEFAULT
|
|
917
|
-
`.execute(_),await
|
|
917
|
+
`.execute(_),await b`
|
|
918
918
|
ALTER TABLE event_subscriptions
|
|
919
919
|
ALTER COLUMN enabled TYPE integer
|
|
920
920
|
USING enabled::integer
|
|
921
|
-
`.execute(_),await
|
|
921
|
+
`.execute(_),await b`
|
|
922
922
|
ALTER TABLE event_subscriptions
|
|
923
923
|
ALTER COLUMN enabled SET DEFAULT 1
|
|
924
924
|
`.execute(_)}var GC={};C(GC,{up:()=>JU,down:()=>QU});import{sql as ZT}from"kysely";async function JU(_){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(ZT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(ZT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function QU(_){await _.schema.dropTable("brand_context").execute()}var OC={};C(OC,{up:()=>XU,down:()=>ZU});import{sql as WT}from"kysely";async function XU(_){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(WT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(WT`now()`)).execute()}async function ZU(_){await _.schema.dropTable("organization_domains").execute()}var SC={};C(SC,{up:()=>FU,down:()=>YU});import{sql as jT}from"kysely";var v_=new Set(["primary","secondary","accent","background","foreground"]),WU={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function jU(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((K)=>v_.has(K))){let K={};for(let[m,T]of Object.entries(u)){if(typeof T!=="string")continue;if(v_.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(v_.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(v_.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 LU(_){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=WU[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 FU(_){let x=await jT`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=jU($);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=LU($),K=!0}catch{}if(N||K||m){let $=m?JSON.stringify(E):u.metadata;await jT`
|
|
@@ -976,7 +976,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
976
976
|
`.execute(_)}async function eU(_){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`
|
|
977
977
|
ALTER TABLE automations
|
|
978
978
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
979
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var cC={};C(cC,{up:()=>
|
|
979
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var cC={};C(cC,{up:()=>bU,down:()=>sU});import{sql as HT}from"kysely";var dU=new Set(["host","docker","agent-sandbox"]);async function bU(_){let x=await HT`
|
|
980
980
|
SELECT id, metadata FROM "connections"
|
|
981
981
|
WHERE connection_type = 'VIRTUAL'
|
|
982
982
|
AND metadata IS NOT NULL
|
|
@@ -985,7 +985,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
985
985
|
UPDATE "connections"
|
|
986
986
|
SET metadata = ${z}
|
|
987
987
|
WHERE id = ${u.id}
|
|
988
|
-
`.execute(_)}}async function
|
|
988
|
+
`.execute(_)}}async function sU(_){}var hC={};C(hC,{up:()=>_J,down:()=>xJ});import{sql as X_}from"kysely";async function _J(_){await _.schema.createTable("async_research_jobs").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(X_`gen_random_uuid()`)).addColumn("interaction_id","text").addColumn("tool_call_id","text",(x)=>x.notNull()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("thread_id","text",(x)=>x.notNull()).addColumn("message_id","text").addColumn("provider","text",(x)=>x.notNull()).addColumn("model_id","text",(x)=>x.notNull()).addColumn("query","text",(x)=>x.notNull()).addColumn("status","text",(x)=>x.notNull()).addColumn("attempts","integer",(x)=>x.notNull().defaultTo(0)).addColumn("last_polled_at","timestamptz").addColumn("last_error","text").addColumn("input_tokens","integer").addColumn("output_tokens","integer").addColumn("citations","jsonb").addColumn("result_uri","text").addColumn("result_preview","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(X_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(X_`now()`)).addColumn("completed_at","timestamptz").execute(),await _.schema.createIndex("async_research_jobs_org_tool_call_unique").on("async_research_jobs").columns(["organization_id","tool_call_id"]).unique().execute(),await _.schema.createIndex("async_research_jobs_thread_created_idx").on("async_research_jobs").columns(["thread_id","created_at desc"]).execute(),await X_`
|
|
989
989
|
CREATE INDEX async_research_jobs_active_idx
|
|
990
990
|
ON async_research_jobs (status, last_polled_at)
|
|
991
991
|
WHERE status IN ('pending', 'polling')
|
|
@@ -993,20 +993,20 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
993
993
|
ALTER TABLE async_research_jobs
|
|
994
994
|
ADD CONSTRAINT chk_async_research_jobs_status
|
|
995
995
|
CHECK (status IN ('pending','polling','completed','failed','cancelled','abandoned'))
|
|
996
|
-
`.execute(_)}async function xJ(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var tC={};C(tC,{up:()=>uJ,down:()=>CJ});async function uJ(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function CJ(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var oC={};C(oC,{up:()=>KJ,down:()=>NJ});import{sql as
|
|
996
|
+
`.execute(_)}async function xJ(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var tC={};C(tC,{up:()=>uJ,down:()=>CJ});async function uJ(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function CJ(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var oC={};C(oC,{up:()=>KJ,down:()=>NJ});import{sql as s}from"kysely";async function KJ(_){await _.schema.createTable("secrets").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("user_id","text",(x)=>x.references("user.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("encrypted_value","text",(x)=>x.notNull()).addColumn("description","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(s`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(s`CURRENT_TIMESTAMP`)).execute(),await s`
|
|
997
997
|
ALTER TABLE secrets
|
|
998
998
|
ADD CONSTRAINT chk_secrets_scope CHECK (scope IN ('user', 'organization'))
|
|
999
|
-
`.execute(_),await
|
|
999
|
+
`.execute(_),await s`
|
|
1000
1000
|
ALTER TABLE secrets
|
|
1001
1001
|
ADD CONSTRAINT chk_secrets_scope_user_id CHECK (
|
|
1002
1002
|
(scope = 'user' AND user_id IS NOT NULL)
|
|
1003
1003
|
OR (scope = 'organization' AND user_id IS NULL)
|
|
1004
1004
|
)
|
|
1005
|
-
`.execute(_),await _.schema.createIndex("idx_secrets_org").on("secrets").column("organization_id").execute(),await
|
|
1005
|
+
`.execute(_),await _.schema.createIndex("idx_secrets_org").on("secrets").column("organization_id").execute(),await s`
|
|
1006
1006
|
CREATE UNIQUE INDEX idx_secrets_user_name
|
|
1007
1007
|
ON secrets (organization_id, user_id, lower(name))
|
|
1008
1008
|
WHERE scope = 'user'
|
|
1009
|
-
`.execute(_),await
|
|
1009
|
+
`.execute(_),await s`
|
|
1010
1010
|
CREATE UNIQUE INDEX idx_secrets_org_name
|
|
1011
1011
|
ON secrets (organization_id, lower(name))
|
|
1012
1012
|
WHERE scope = 'organization'
|
|
@@ -1256,10 +1256,10 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1256
1256
|
JOIN jsonb_each(branch_entry) AS kinds(kind_key, inner_entry) ON true
|
|
1257
1257
|
WHERE inner_entry ? 'runnerKind'
|
|
1258
1258
|
);
|
|
1259
|
-
`.execute(_)}async function ZJ(_){}var
|
|
1259
|
+
`.execute(_)}async function ZJ(_){}var bC={};C(bC,{up:()=>jJ,down:()=>LJ});import{sql as WJ}from"kysely";async function jJ(_){await WJ`
|
|
1260
1260
|
DELETE FROM ai_provider_keys
|
|
1261
1261
|
WHERE provider_id IN ('claude-code', 'codex')
|
|
1262
|
-
`.execute(_)}async function LJ(_){}var
|
|
1262
|
+
`.execute(_)}async function LJ(_){}var sC={};C(sC,{up:()=>FJ,down:()=>YJ});import{sql as g_}from"kysely";async function FJ(_){await g_`
|
|
1263
1263
|
UPDATE sandbox_runner_state
|
|
1264
1264
|
SET sandbox_provider_kind = 'desktop'
|
|
1265
1265
|
WHERE sandbox_provider_kind = 'remote-user'
|
|
@@ -1495,7 +1495,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1495
1495
|
UPDATE "connections"
|
|
1496
1496
|
SET metadata = ${z}
|
|
1497
1497
|
WHERE id = ${u.id}
|
|
1498
|
-
`.execute(_)}}async function vJ(_){}var $K={};C($K,{up:()=>pJ,down:()=>gJ});import{sql as c_}from"kysely";async function pJ(_){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 c_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await c_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await c_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await c_`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 gJ(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var PK={};C(PK,{up:()=>qJ,down:()=>iJ});async function qJ(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function iJ(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var UK={};C(UK,{up:()=>cJ,down:()=>hJ});async function cJ(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function hJ(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var JK={};C(JK,{up:()=>tJ,down:()=>oJ});async function tJ(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function oJ(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var QK={};C(QK,{up:()=>aJ,down:()=>rJ});async function aJ(_){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 rJ(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var XK={};C(XK,{up:()=>lJ,down:()=>eJ});async function lJ(_){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 eJ(_){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 WK={};C(WK,{up:()=>
|
|
1498
|
+
`.execute(_)}}async function vJ(_){}var $K={};C($K,{up:()=>pJ,down:()=>gJ});import{sql as c_}from"kysely";async function pJ(_){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 c_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await c_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await c_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await c_`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 gJ(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var PK={};C(PK,{up:()=>qJ,down:()=>iJ});async function qJ(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function iJ(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var UK={};C(UK,{up:()=>cJ,down:()=>hJ});async function cJ(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function hJ(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var JK={};C(JK,{up:()=>tJ,down:()=>oJ});async function tJ(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function oJ(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var QK={};C(QK,{up:()=>aJ,down:()=>rJ});async function aJ(_){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 rJ(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var XK={};C(XK,{up:()=>lJ,down:()=>eJ});async function lJ(_){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 eJ(_){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 WK={};C(WK,{up:()=>bJ,down:()=>sJ});import{sql as k}from"kysely";var f="cluster",A="agent-sandbox";function __(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function ZK(_,x,u){if(!__(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function h_(_){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!==f&&_.sandboxProviderKind!==A&&_.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 dJ(_,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,X]of Object.entries($)){if(j===x){if(N=!0,!(u in $))U[u]=ZK(X,x,u);else if(!h_($[u])&&h_(X))U[u]=ZK(X,x,u);continue}let y=ZK(X,x,u);if(y!==X)N=!0;if(j===u&&j in U&&h_(U[j])&&!h_(y))continue;U[j]=y}z[E]=U}K[m]=z}return{sandboxMap:K,changed:N}}async function OT(_,x,u){let N=await k`
|
|
1499
1499
|
SELECT id, metadata FROM connections
|
|
1500
1500
|
WHERE connection_type = 'VIRTUAL'
|
|
1501
1501
|
AND metadata IS NOT NULL
|
|
@@ -1504,7 +1504,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1504
1504
|
UPDATE connections
|
|
1505
1505
|
SET metadata = ${JSON.stringify(m)}
|
|
1506
1506
|
WHERE id = ${K.id}
|
|
1507
|
-
`.execute(_)}}async function
|
|
1507
|
+
`.execute(_)}}async function bJ(_){await k`
|
|
1508
1508
|
UPDATE threads
|
|
1509
1509
|
SET sandbox_provider_kind = ${A}
|
|
1510
1510
|
WHERE sandbox_provider_kind = ${f}
|
|
@@ -1533,7 +1533,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1533
1533
|
UPDATE sandbox_runner_state
|
|
1534
1534
|
SET sandbox_provider_kind = ${A}
|
|
1535
1535
|
WHERE sandbox_provider_kind = ${f}
|
|
1536
|
-
`.execute(_),await OT(_,f,A)}async function
|
|
1536
|
+
`.execute(_),await OT(_,f,A)}async function sJ(_){await k`
|
|
1537
1537
|
UPDATE threads
|
|
1538
1538
|
SET sandbox_provider_kind = ${f}
|
|
1539
1539
|
WHERE sandbox_provider_kind = ${A}
|
|
@@ -1669,7 +1669,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1669
1669
|
BEFORE INSERT ON connection_aggregations
|
|
1670
1670
|
FOR EACH ROW
|
|
1671
1671
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1672
|
-
`.execute(_)}async function hQ(_){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 iK={};C(iK,{up:()=>tQ,down:()=>oQ});import{sql as qK}from"kysely";async function tQ(_){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(qK`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(qK`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(qK`false`)).execute()}async function oQ(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var cK={};C(cK,{up:()=>aQ,down:()=>rQ});async function aQ(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function rQ(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var hK={};C(hK,{up:()=>lQ,down:()=>eQ});async function lQ(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function eQ(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var tK={};C(tK,{up:()=>dQ,down:()=>
|
|
1672
|
+
`.execute(_)}async function hQ(_){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 iK={};C(iK,{up:()=>tQ,down:()=>oQ});import{sql as qK}from"kysely";async function tQ(_){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(qK`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(qK`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(qK`false`)).execute()}async function oQ(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var cK={};C(cK,{up:()=>aQ,down:()=>rQ});async function aQ(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function rQ(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var hK={};C(hK,{up:()=>lQ,down:()=>eQ});async function lQ(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function eQ(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var tK={};C(tK,{up:()=>dQ,down:()=>bQ});async function dQ(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function bQ(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var oK={};C(oK,{up:()=>_X,down:()=>xX});import{sql as sQ}from"kysely";async function _X(_){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(sQ`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 xX(_){await _.schema.dropTable("task_board_item_threads").execute()}var aK={};C(aK,{up:()=>uX,down:()=>CX});async function uX(_){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 CX(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var rK={};C(rK,{up:()=>NX,down:()=>mX});import{sql as KX}from"kysely";async function NX(_){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(KX`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 mX(_){await _.schema.dropTable("task_board_item_prs").execute()}var lK={};C(lK,{up:()=>zX,down:()=>EX});import{sql as TX}from"kysely";async function zX(_){await TX`
|
|
1673
1673
|
DELETE FROM member
|
|
1674
1674
|
WHERE id IN (
|
|
1675
1675
|
SELECT id FROM (
|
|
@@ -1688,7 +1688,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1688
1688
|
) ranked
|
|
1689
1689
|
WHERE ranked.rn > 1
|
|
1690
1690
|
)
|
|
1691
|
-
`.execute(_)}async function EX(_){}var eK={};C(eK,{up:()=>$X,down:()=>PX});async function $X(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function PX(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var dK={};C(dK,{up:()=>UX,down:()=>JX});async function UX(_){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 JX(_){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
|
|
1691
|
+
`.execute(_)}async function EX(_){}var eK={};C(eK,{up:()=>$X,down:()=>PX});async function $X(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function PX(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var dK={};C(dK,{up:()=>UX,down:()=>JX});async function UX(_){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 JX(_){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 bK={};C(bK,{up:()=>XX,down:()=>ZX});import{sql as QX}from"kysely";async function XX(_){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(QX`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 ZX(_){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 sK={};C(sK,{up:()=>jX,down:()=>LX});import{sql as WX}from"kysely";async function jX(_){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(WX`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 LX(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var _N={};C(_N,{up:()=>FX,down:()=>YX});import{sql as o_}from"kysely";async function FX(_){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(o_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(o_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",o_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",o_`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 YX(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var xN={};C(xN,{up:()=>DX,down:()=>HX});import{sql as a_}from"kysely";async function DX(_){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(a_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(a_`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(a_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await a_`
|
|
1692
1692
|
insert into organization_billing (organization_id, legacy)
|
|
1693
1693
|
select id, true from organization
|
|
1694
1694
|
on conflict (organization_id) do nothing
|
|
@@ -1715,7 +1715,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1715
1715
|
SELECT id, app_name, connection_url, title, slug
|
|
1716
1716
|
FROM connections
|
|
1717
1717
|
WHERE connection_type != 'VIRTUAL'
|
|
1718
|
-
`.execute(_),u=0;for(let N of x.rows){let K=lX(N);if(K===N.slug)continue;await pT`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 dX(){}var WN={};C(WN,{up:()=>
|
|
1718
|
+
`.execute(_),u=0;for(let N of x.rows){let K=lX(N);if(K===N.slug)continue;await pT`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 dX(){}var WN={};C(WN,{up:()=>sX,down:()=>_Z});import{sql as bX}from"kysely";async function sX(_){await bX`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 _Z(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var LN={};C(LN,{up:()=>uZ,down:()=>CZ,ACTIONS:()=>jN});import{sql as l_}from"kysely";var jN=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],xZ=new Set(["review_requested","review_approved","review_changes_requested"]);async function uZ(_){await gT(_,jN)}async function CZ(_){await gT(_,jN.filter((x)=>!xZ.has(x)))}async function gT(_,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 FN={};C(FN,{up:()=>NZ,down:()=>mZ});import{sql as KZ}from"kysely";async function NZ(_){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(KZ`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 mZ(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var DN={};C(DN,{up:()=>zZ,down:()=>EZ,ACTIONS:()=>YN});import{sql as e_}from"kysely";var YN=["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"],TZ=new Set(["merge_conflict_resolution"]);async function zZ(_){await qT(_,YN)}async function EZ(_){await qT(_,YN.filter((x)=>!TZ.has(x)))}async function qT(_,x){await e_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await e_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${e_.join(x.map((u)=>e_.lit(u)))}))`.execute(_)}var HN={};C(HN,{up:()=>$Z,down:()=>PZ});import{sql as L_}from"kysely";async function $Z(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await L_`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 PZ(_){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 L_`
|
|
1719
1719
|
create index idx_org_billing_benefits_pending
|
|
1720
1720
|
on organization_billing (updated_at)
|
|
1721
1721
|
where benefits_reference_id is not null
|
|
@@ -1761,15 +1761,15 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1761
1761
|
`.execute(_)}async function fZ(_){await tT`
|
|
1762
1762
|
ALTER TABLE task_board_items
|
|
1763
1763
|
DROP COLUMN last_swept_at
|
|
1764
|
-
`.execute(_)}var VN={};C(VN,{up:()=>AZ,down:()=>IZ});import{sql as
|
|
1764
|
+
`.execute(_)}var VN={};C(VN,{up:()=>AZ,down:()=>IZ});import{sql as b_}from"kysely";async function AZ(_){await b_`
|
|
1765
1765
|
ALTER TABLE task_board_items
|
|
1766
1766
|
ADD COLUMN retry_at timestamptz,
|
|
1767
1767
|
ADD COLUMN retry_attempts integer NOT NULL DEFAULT 0
|
|
1768
|
-
`.execute(_),await
|
|
1768
|
+
`.execute(_),await b_`
|
|
1769
1769
|
CREATE INDEX idx_task_board_items_retry_due
|
|
1770
1770
|
ON task_board_items (retry_at)
|
|
1771
1771
|
WHERE retry_at IS NOT NULL
|
|
1772
|
-
`.execute(_)}async function IZ(_){await
|
|
1772
|
+
`.execute(_)}async function IZ(_){await b_`DROP INDEX IF EXISTS idx_task_board_items_retry_due`.execute(_),await b_`
|
|
1773
1773
|
ALTER TABLE task_board_items
|
|
1774
1774
|
DROP COLUMN retry_at,
|
|
1775
1775
|
DROP COLUMN retry_attempts
|
|
@@ -1795,7 +1795,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1795
1795
|
CREATE INDEX idx_org_repo_sync_enabled
|
|
1796
1796
|
ON org_repo_sync (organization_id)
|
|
1797
1797
|
WHERE enabled
|
|
1798
|
-
`.execute(_)}async function VZ(_){await wN`DROP TABLE IF EXISTS org_repo_sync`.execute(_)}var vN={};C(vN,{up:()=>kZ,down:()=>nZ,ACTIONS:()=>nN});import{sql as
|
|
1798
|
+
`.execute(_)}async function VZ(_){await wN`DROP TABLE IF EXISTS org_repo_sync`.execute(_)}var vN={};C(vN,{up:()=>kZ,down:()=>nZ,ACTIONS:()=>nN});import{sql as s_}from"kysely";var nN=["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"],wZ=new Set(["merge_failed"]);async function kZ(_){await oT(_,nN)}async function nZ(_){await oT(_,nN.filter((x)=>!wZ.has(x)))}async function oT(_,x){await s_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await s_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${s_.join(x.map((u)=>s_.lit(u)))}))`.execute(_)}var pN={};C(pN,{up:()=>vZ,down:()=>pZ});async function vZ(_){await _.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function pZ(_){await _.schema.alterTable("task_board_items").dropColumn("repo").execute()}var gN={};C(gN,{up:()=>gZ,down:()=>qZ});import{sql as x_}from"kysely";async function gZ(_){await x_`
|
|
1799
1799
|
CREATE TABLE org_jira_integrations (
|
|
1800
1800
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1801
1801
|
organization_id text NOT NULL UNIQUE REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1859,11 +1859,11 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1859
1859
|
ALTER COLUMN persisted_at SET DEFAULT now()
|
|
1860
1860
|
`.execute(_)}async function rZ(_){await cN`
|
|
1861
1861
|
ALTER TABLE thread_message_parts DROP COLUMN IF EXISTS persisted_at
|
|
1862
|
-
`.execute(_)}var tN={};C(tN,{up:()=>lZ,down:()=>eZ});async function lZ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute()}async function eZ(_){await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}var oN={};C(oN,{up:()=>
|
|
1862
|
+
`.execute(_)}var tN={};C(tN,{up:()=>lZ,down:()=>eZ});async function lZ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute()}async function eZ(_){await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}var oN={};C(oN,{up:()=>bZ,down:()=>sZ});import{sql as dZ}from"kysely";async function bZ(_){await dZ`
|
|
1863
1863
|
CREATE INDEX idx_task_board_items_done_sweep
|
|
1864
1864
|
ON task_board_items (updated_at)
|
|
1865
1865
|
WHERE status = 'done' AND dismissed_at IS NULL
|
|
1866
|
-
`.execute(_)}async function
|
|
1866
|
+
`.execute(_)}async function sZ(_){await _.schema.dropIndex("idx_task_board_items_done_sweep").execute()}var aN={};C(aN,{up:()=>_6,down:()=>x6,TYPES:()=>rT});import{sql as q}from"kysely";var rT=["created","commented","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"];async function _6(_){await _.schema.createTable("notification_subscriptions").addColumn("id","text",(x)=>x.primaryKey()).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("subscribed","boolean",(x)=>x.notNull().defaultTo(!0)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(q`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(q`now()`)).addUniqueConstraint("notification_subscriptions_user_item",["user_id","task_board_item_id"]).execute(),await _.schema.createTable("notifications").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("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("type","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb",(x)=>x.notNull()).addColumn("read_at","timestamptz").addColumn("emailed_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(q`now()`)).addCheckConstraint("notifications_type_check",q`type IN (${q.join(rT.map((x)=>q.lit(x)))})`).execute(),await q`CREATE INDEX notifications_user_unread ON notifications
|
|
1867
1867
|
(user_id, organization_id, created_at DESC) WHERE read_at IS NULL`.execute(_),await q`CREATE INDEX notifications_digest ON notifications
|
|
1868
1868
|
(created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function x6(_){await _.schema.dropTable("notifications").execute(),await _.schema.dropTable("notification_subscriptions").execute()}var rN={};C(rN,{up:()=>u6,down:()=>C6});import{sql as lT}from"kysely";async function u6(_){await lT`
|
|
1869
1869
|
UPDATE org_jira_integrations
|
|
@@ -1895,7 +1895,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1895
1895
|
SELECT 1 FROM jsonb_each(status_mapping)
|
|
1896
1896
|
WHERE jsonb_typeof(value) = 'array'
|
|
1897
1897
|
)
|
|
1898
|
-
`.execute(_)}var eN={};C(eN,{up:()=>N6,down:()=>m6,TYPES:()=>lN});import{sql as _x}from"kysely";var lN=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],K6=new Set(["mentioned"]);async function N6(_){await eT(_,lN)}async function m6(_){await eT(_,lN.filter((x)=>!K6.has(x)))}async function eT(_,x){await _x`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await _x`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${_x.join(x.map((u)=>_x.lit(u)))}))`.execute(_)}var
|
|
1898
|
+
`.execute(_)}var eN={};C(eN,{up:()=>N6,down:()=>m6,TYPES:()=>lN});import{sql as _x}from"kysely";var lN=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],K6=new Set(["mentioned"]);async function N6(_){await eT(_,lN)}async function m6(_){await eT(_,lN.filter((x)=>!K6.has(x)))}async function eT(_,x){await _x`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await _x`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${_x.join(x.map((u)=>_x.lit(u)))}))`.execute(_)}var bN={};C(bN,{up:()=>E6,down:()=>$6,ACTIONS:()=>dN});import{sql as i}from"kysely";var T6=["bug","feature","chore","spike","security"],dN=["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"],z6=new Set(["type_changed"]);async function E6(_){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(T6.map((x)=>i.lit(x)))}))`.execute(_),await dT(_,dN)}async function $6(_){await dT(_,dN.filter((x)=>!z6.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 dT(_,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 sN={};C(sN,{up:()=>P6,down:()=>U6});import{sql as W}from"kysely";var sT=["bug","feature","chore","spike","security"],bT="chore";async function P6(_){await W`UPDATE task_board_items SET type = ${W.lit(bT)} WHERE type IS NULL`.execute(_),await W`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${W.lit(bT)}`.execute(_),await W`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await W`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await W`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${W.join(sT.map((x)=>W.lit(x)))}))`.execute(_)}async function U6(_){await W`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await W`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${W.join(sT.map((x)=>W.lit(x)))}))`.execute(_),await W`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await W`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var _m={};C(_m,{up:()=>J6,down:()=>Q6});import{sql as u_}from"kysely";async function J6(_){await u_`
|
|
1899
1899
|
CREATE TABLE task_board_sprints (
|
|
1900
1900
|
id text PRIMARY KEY,
|
|
1901
1901
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1985,7 +1985,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
1985
1985
|
`.execute(_),await ux`
|
|
1986
1986
|
ALTER TABLE task_board_items
|
|
1987
1987
|
DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org
|
|
1988
|
-
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var Xm={};C(Xm,{up:()=>q6,down:()=>i6});async function q6(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function i6(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var Wm={};C(Wm,{up:()=>h6,down:()=>t6,ACTIONS:()=>Zm});import{sql as Cx}from"kysely";var Zm=["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"],c6=new Set(["sprint_changed"]);async function h6(_){await Cz(_,Zm)}async function t6(_){await Cz(_,Zm.filter((x)=>!c6.has(x)))}async function Cz(_,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 jm={};C(jm,{up:()=>a6,down:()=>r6});import{sql as o6}from"kysely";async function a6(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(o6`'[]'::jsonb`)).execute()}async function r6(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var Lm={};C(Lm,{up:()=>l6,down:()=>e6});import{sql as Kz}from"kysely";async function l6(_){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(Kz`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Kz`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function e6(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var Fm={};C(Fm,{up:()=>
|
|
1988
|
+
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var Xm={};C(Xm,{up:()=>q6,down:()=>i6});async function q6(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function i6(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var Wm={};C(Wm,{up:()=>h6,down:()=>t6,ACTIONS:()=>Zm});import{sql as Cx}from"kysely";var Zm=["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"],c6=new Set(["sprint_changed"]);async function h6(_){await Cz(_,Zm)}async function t6(_){await Cz(_,Zm.filter((x)=>!c6.has(x)))}async function Cz(_,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 jm={};C(jm,{up:()=>a6,down:()=>r6});import{sql as o6}from"kysely";async function a6(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(o6`'[]'::jsonb`)).execute()}async function r6(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var Lm={};C(Lm,{up:()=>l6,down:()=>e6});import{sql as Kz}from"kysely";async function l6(_){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(Kz`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Kz`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function e6(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var Fm={};C(Fm,{up:()=>b6,down:()=>s6});import{sql as d6}from"kysely";async function b6(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await d6`
|
|
1989
1989
|
UPDATE task_board_items i
|
|
1990
1990
|
SET external_url = t.url,
|
|
1991
1991
|
description = CASE
|
|
@@ -2004,7 +2004,7 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
2004
2004
|
ON g.organization_id = l.organization_id
|
|
2005
2005
|
) t
|
|
2006
2006
|
WHERE t.item_id = i.id
|
|
2007
|
-
`.execute(_)}async function
|
|
2007
|
+
`.execute(_)}async function s6(_){await _.schema.alterTable("task_board_items").dropColumn("external_url").execute()}var Ym={};C(Ym,{up:()=>xW,down:()=>uW,ACTIONS:()=>Nz});import{sql as Q}from"kysely";var _W=["triage","todo","in_progress","in_review","approved","merged","post_deploy_validation","done","archived"],Nz=["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"];async function xW(_){await Q`ALTER TABLE task_board_items DROP CONSTRAINT IF EXISTS task_board_items_board_column_fkey`.execute(_),await Q`ALTER TABLE task_board_items DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org`.execute(_),await Q`ALTER TABLE task_board_items DROP COLUMN IF EXISTS board_column_org`.execute(_),await Q`DROP TABLE IF EXISTS task_board_columns`.execute(_),await Q`
|
|
2008
2008
|
UPDATE task_board_items
|
|
2009
2009
|
SET status = 'triage'
|
|
2010
2010
|
WHERE status NOT IN (${Q.join(_W.map((x)=>Q.lit(x)))})
|
|
@@ -2379,9 +2379,9 @@ var Bz=Object.defineProperty;var Gz=(_)=>_;function Oz(_,x){this[_]=Gz.bind(null
|
|
|
2379
2379
|
ON CONFLICT (thread_id, repository_id) DO NOTHING
|
|
2380
2380
|
`.execute(_),await I`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function RW(_){await I`DROP TABLE IF EXISTS thread_repositories`.execute(_),await I`
|
|
2381
2381
|
ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
|
|
2382
|
-
`.execute(_)}var BW={"001-initial-schema":Uu,"002-organization-settings":Ju,"003-connection-schema-align":Qu,"004-remove-models-binding":Xu,"005-connection-configuration":Zu,"006-add-views-to-settings":Wu,"007-monitoring-logs":ju,"008-event-bus":Lu,"009-drop-audit-logs":Fu,"010-gateways":Yu,"011-gateway-icon":Du,"012-gateway-tool-selection-mode":Hu,"013-monitoring-user-agent-gateway":Mu,"014-gateway-resources-prompts":Ru,"015-monitoring-properties":Bu,"016-downstream-token-client-info":Gu,"017-downstream-token-remove-userid":Ou,"018-drop-gateway-tool-selection-strategy":Su,"019-remove-gateway-is-default":fu,"020-enabled-plugins":Au,"021-threads":Iu,"022-rename-gateway-to-virtual-mcp":yu,"023-optimize-thread-indexes":Vu,"024-consolidate-virtual-mcp":wu,"025-add-monitoring-virtual-mcp-id":ku,"026-restrict-child-connection-delete":nu,"027-update-management-mcp-url":pu,"028-update-management-mcp-to-self":qu,"029-add-updated-by-to-connections":iu,"030-member-tags":cu,"031-add-dependency-mode":hu,"032-projects":tu,"033-thread-status":ou,"034-monitoring-dashboards":au,"035-project-connections":ru,"036-update-registry-url":lu,"037-ai-provider-keys":eu,"038-oauth-pkce-states":du,"039-automations":su,"040-replace-next-run-at-with-last-run-at":bu,"041-ai-provider-keys-unique-constraint":_C,"042-rename-mesh-mcp-to-cms-mcp":xC,"043-rename-cms-mcp-to-deco-cms":uC,"044-drop-connections-tools-column":CC,"045-thread-context-start-message":KC,"046-remove-object-storage-plugin":mC,"047-add-next-run-at":TC,"048-merge-projects-agents":EC,"049-remove-org-admin-projects":$C,"050-durable-agent-runs":PC,"051-org-sso":JC,"052-thread-agent-ids":QC,"053-registry-config":XC,"054-connection-slug":WC,"055-spaces":jC,"056-automation-project-scope":LC,"057-thread-virtual-mcp-id":FC,"058-trigger-callback-tokens":YC,"059-kv":DC,"060-member-index":HC,"061-downstream-token-connection-index":MC,"062-private-registry":RC,"063-event-subscriptions-enabled-boolean":BC,"064-brand-context":GC,"065-organization-domains":OC,"066-brand-context-structured":SC,"067-threads-metadata":fC,"068-threads-branch":AC,"069-sandbox-runner-state":IC,"070-model-categories":yC,"071-default-home-agents":VC,"072-ai-provider-key-preset-id":wC,"073-backfill-basic-usage-roles":kC,"074-sandbox-runner-state-handle-nonunique":nC,"075-thread-inflight-async-jobs":vC,"076-automations-drop-agent-json":pC,"077-tier-only-model-selection":qC,"078-automation-tool-call-kind":iC,"079-strip-legacy-freestyle-vm-map-entries":cC,"080-async-research-jobs":hC,"081-async-research-jobs-result-content":tC,"082-secrets":oC,"083-thread-run-locally":aC,"084-drop-host-sandbox-rows":rC,"085-rename-runner-kind":lC,"086-thread-pins-and-vm-map-rekey":eC,"087-fix-vm-map-rekey":dC,"088-purge-cli-activate-keys":sC,"089-rename-remote-user-to-desktop":bC,"090-automation-webhook-triggers":_K,"091-organization-domains-allow-multi":xK,"092-sandbox-naming-uniformization":uK,"093-backfill-global-search-basic-usage":CK,"094-org-file-configs":NK,"095-remove-automation-tool-call-kind":mK,"096-org-file-configs-public-url-base":TK,"097-drop-local-docker-sandbox-state":EK,"098-thread-message-parts":$K,"099-run-fence":PK,"100-link-transport":UK,"101-cancel-requested-at":JK,"102-observational-agent":QK,"103-revert-observational-agent":XK,"104-agent-sandbox-provider-kind":WK,"105-org-fs":jK,"106-automation-tools":LK,"107-org-fs-public-org":FK,"108-automation-max-agent-steps":YK,"109-thread-message-parts-per-message-seq":DK,"110-backfill-ghs-token-expiry":HK,"111-org-fs-thread-id":MK,"112-org-file-configs-credential-type":RK,"113-thread-failure-reason":BK,"114-run-acked-seq":GK,"115-thread-projected-seq":OK,"116-org-sites":SK,"117-org-file-configs-site-slug":fK,"118-organization-domains-multi-verify":AK,"119-organization-join-requests":IK,"120-org-fs-read-public":yK,"121-org-fs-share-password":VK,"122-split-web-research-tier":nK,"123-connection-credential-vault":vK,"124-drop-thread-projected-seq":pK,"125-github-child-single-parent":gK,"126-task-board":iK,"127-task-board-due-date":cK,"128-reports-only":hK,"129-task-board-assigned-by":tK,"130-task-board-thread-id":oK,"131-task-board-thread-link-cascade":aK,"132-task-board-item-prs":rK,"133-dedupe-duplicate-members":lK,"134-drop-task-board-enabled":eK,"135-task-board-item-fk-cascade":dK,"136-task-board-import-idempotency":sK,"137-agent-sandbox-runner-state":bK,"138-agent-sandbox-sessions":_N,"139-organization-billing":xN,"140-seat-change-log":uN,"141-benefits-sync-pending":CN,"142-stripe-event-watermark":KN,"143-armed-report-url":NN,"144-benefits-pending-index":mN,"145-user-model-preferences":TN,"146-organization-main-agent":zN,"147-drop-agent-sandbox-tables":EN,"148-org-flags":$N,"149-task-board-item-sort-order":PN,"150-task-board-activity":UN,"151-task-board-tags":QN,"152-repair-connection-slug":ZN,"153-task-board-latest-assistant-part-index":WN,"154-task-board-qa-activity":LN,"155-task-board-review-claims":FN,"156-task-board-conflict-activity":DN,"157-drop-seat-billing":HN,"158-drop-github-child-single-parent":MN,"159-task-board-comments":RN,"160-task-quota-billing":BN,"161-task-quota-claim-state":ON,"162-claude-subscriptions":SN,"163-task-board-item-dismissed":fN,"164-per-org-task-quota":AN,"165-task-board-pending-review-index":IN,"166-task-board-last-swept-at":yN,"167-task-board-run-retry":VN,"168-org-repo-sync":kN,"169-task-board-merge-failed-activity":vN,"170-task-board-item-repo":pN,"171-jira-integration":gN,"172-task-board-item-key-seq":qN,"173-thread-github-repo-connection-index":iN,"174-thread-message-parts-persisted-at":hN,"175-task-board-sprints":tN,"176-task-board-done-sweep-index":oN,"177-notifications":aN,"178-jira-status-mapping-array":rN,"179-notification-mentioned":eN,"180-task-board-item-type":sN,"181-task-board-item-type-required":bN,"182-task-board-sprints-entities":_m,"183-drop-jira-jql-filter":xm,"184-jira-rescan-after-scope-change":um,"185-jira-rescan-existing-cards":Cm,"186-jira-rescan-pending-flag":Nm,"187-task-board-comment-thread":mm,"188-invitation-auto-accept":Tm,"189-task-board-column-automations":Em,"190-task-board-review-cycle-started-at":$m,"191-task-board-columns":Pm,"192-task-board-verdict-nudge-activity":Jm,"193-task-board-status-column-fk":Qm,"194-jira-link-sprint":Xm,"195-task-board-sprint-activity":Wm,"196-task-board-column-tracker-statuses":jm,"197-task-board-prompts":Lm,"198-task-board-external-url":Fm,"199-drop-jira-mirror-and-org-columns":Ym,"200-jira-run-trigger":Dm,"201-organization-notices":Hm,"202-redact-base64-thread-parts":Rm,"203-task-board-preview-routes":Bm,"204-git-provider-accounts-and-repositories":Gm,"205-repository-references":Om,"206-repository-consumers":Pu,"207-task-board-prs-repo-idx":$u,"208-github-connect-flows":Eu,"209-github-installation-authorization":zu,"210-github-repository-authorization":_u,"211-user-fs-org":bx,"212-coding-agent-mcp-excluded":xu,"213-bitbucket-git-provider":uu,"214-connections-sanitized-id-idx":lx,"215-commerce-discovery-repository":ex,"216-github-cli-auth":sx,"217-experiments":Cu,"218-thread-message-parts-error-idx":Ku,"219-task-board-duplicate-reported-activity":mu,"220-jira-automation-continue-pr":Tu,"221-remove-private-registry":Px,"222-org-git-credentials":Ux,"223-drop-org-main-agent-id":rx,"224-repository-sandbox-image":Jx,"225-thread-analytics-indexes":Xx,"226-deco-score-names":Wx,"227-task-board-finding-resolved-activity":Lx,"228-org-voice-config":$x,"229-jira-automation-from":Fx,"230-project-sidebar":Yx,"231-jira-chat-agent":Dx,"232-task-board-prompt-skills":Mx,"233-remove-jira-chat-agent":Bx,"234-task-board-comment-audience":Gx,"235-prune-empty-thread-dirs":Ox,"236-task-board-sprints":fx,"237-org-sites-project-link":Ax,"238-task-board-default-lanes":Ix,"239-task-board-retire-old-lanes":yx,"240-task-board-restore-todo":Vx,"241-automation-board-column-transition":wx,"242-connection-url-slug":kx,"243-experiment-task-board-item":nx,"244-connection-url-slug-rollout-backfill":vx,"245-automation-system-key":px,"246-automation-pr-ready-trigger":gx,"247-automation-jira-transition":qx,"248-drop-retired-rule-tables":ix,"249-task-board-item-project":cx,"250-github-copilot-subscriptions":hx,"251-org-shared-plans":tx,"252-automation-linked-chat-trigger":ox,"253-automation-pr-builtin-triggers":ax,"254-codex-subscriptions":Ex},Kx=BW;import{getMigrations as N9}from"better-auth/db";import{sso as m9}from"@better-auth/sso";import{organization as T9}from"@decocms/better-auth/plugins";import{admin as z9,apiKey as E9,jwt as $9,magicLink as P9,mcp as U9,openAPI as J9}from"better-auth/plugins";import{emailOTP as Q9}from"better-auth/plugins/email-otp";import{Kysely as dW,PostgresDialect as jz}from"kysely";import{Pool as Lz}from"pg";import{homedir as GW}from"os";var OW=new Set(["all","worker","api"]);function SW(_){let x=(_??"").trim();return OW.has(x)?x:"all"}var fW=new Set(["production","development","test"]);function AW(_){let x=(_??"").trim();return fW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function fm(_,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 fm(_,x,N)??u}function IW(_){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 yW(_,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 Sm(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function VW(_){return _===void 0||_===""||_==="true"||_==="1"}function D_(_,x){return _||x}function Ez(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${GW()}/deco`,u=AW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:D_(_.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:D_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),jiraSettleSeconds:B("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:fm("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:IW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:yW("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:Sm(_.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:Sm(_.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:VW(_.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:fm("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:SW(D_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Sm(_.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,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:D_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:D_(_.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://decoims.com",awsS3TenantRoleArn:_.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:_.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:_.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY};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 wW=null;function K_(){return wW??=Object.freeze(Ez(process.env))}import{createContextKey as qW,metrics as iW,propagation as X8,ROOT_CONTEXT as Z8,SpanStatusCode as W8,trace as cW}from"@opentelemetry/api";import{logs as hW,SeverityNumber as Am}from"@opentelemetry/api-logs";import{OTLPLogExporter as F8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as tW}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as H8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as R8}from"@opentelemetry/instrumentation-runtime-node";import{context as E5,propagation as $5,SpanKind as P5,SpanStatusCode as U5}from"@opentelemetry/api";var Q5=globalThis.fetch;import{ExportResultCode as B5}from"@opentelemetry/core";import{ExportResultCode as Nx}from"@opentelemetry/core";import{mkdir as kW,rename as nW,writeFile as vW}from"fs/promises";import{join as mx}from"path";class Tx{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:Nx.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:Nx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:Nx.FAILED}});return Promise.resolve({code:Nx.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?mx(this.basePath,x,...N):mx(this.basePath,...N);if(!this.knownDirs.has(K))await kW(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=mx(K,`.${m}.tmp`),z=mx(K,m),E=_.join(`
|
|
2382
|
+
`.execute(_)}var BW={"001-initial-schema":Uu,"002-organization-settings":Ju,"003-connection-schema-align":Qu,"004-remove-models-binding":Xu,"005-connection-configuration":Zu,"006-add-views-to-settings":Wu,"007-monitoring-logs":ju,"008-event-bus":Lu,"009-drop-audit-logs":Fu,"010-gateways":Yu,"011-gateway-icon":Du,"012-gateway-tool-selection-mode":Hu,"013-monitoring-user-agent-gateway":Mu,"014-gateway-resources-prompts":Ru,"015-monitoring-properties":Bu,"016-downstream-token-client-info":Gu,"017-downstream-token-remove-userid":Ou,"018-drop-gateway-tool-selection-strategy":Su,"019-remove-gateway-is-default":fu,"020-enabled-plugins":Au,"021-threads":Iu,"022-rename-gateway-to-virtual-mcp":yu,"023-optimize-thread-indexes":Vu,"024-consolidate-virtual-mcp":wu,"025-add-monitoring-virtual-mcp-id":ku,"026-restrict-child-connection-delete":nu,"027-update-management-mcp-url":pu,"028-update-management-mcp-to-self":qu,"029-add-updated-by-to-connections":iu,"030-member-tags":cu,"031-add-dependency-mode":hu,"032-projects":tu,"033-thread-status":ou,"034-monitoring-dashboards":au,"035-project-connections":ru,"036-update-registry-url":lu,"037-ai-provider-keys":eu,"038-oauth-pkce-states":du,"039-automations":bu,"040-replace-next-run-at-with-last-run-at":su,"041-ai-provider-keys-unique-constraint":_C,"042-rename-mesh-mcp-to-cms-mcp":xC,"043-rename-cms-mcp-to-deco-cms":uC,"044-drop-connections-tools-column":CC,"045-thread-context-start-message":KC,"046-remove-object-storage-plugin":mC,"047-add-next-run-at":TC,"048-merge-projects-agents":EC,"049-remove-org-admin-projects":$C,"050-durable-agent-runs":PC,"051-org-sso":JC,"052-thread-agent-ids":QC,"053-registry-config":XC,"054-connection-slug":WC,"055-spaces":jC,"056-automation-project-scope":LC,"057-thread-virtual-mcp-id":FC,"058-trigger-callback-tokens":YC,"059-kv":DC,"060-member-index":HC,"061-downstream-token-connection-index":MC,"062-private-registry":RC,"063-event-subscriptions-enabled-boolean":BC,"064-brand-context":GC,"065-organization-domains":OC,"066-brand-context-structured":SC,"067-threads-metadata":fC,"068-threads-branch":AC,"069-sandbox-runner-state":IC,"070-model-categories":yC,"071-default-home-agents":VC,"072-ai-provider-key-preset-id":wC,"073-backfill-basic-usage-roles":kC,"074-sandbox-runner-state-handle-nonunique":nC,"075-thread-inflight-async-jobs":vC,"076-automations-drop-agent-json":pC,"077-tier-only-model-selection":qC,"078-automation-tool-call-kind":iC,"079-strip-legacy-freestyle-vm-map-entries":cC,"080-async-research-jobs":hC,"081-async-research-jobs-result-content":tC,"082-secrets":oC,"083-thread-run-locally":aC,"084-drop-host-sandbox-rows":rC,"085-rename-runner-kind":lC,"086-thread-pins-and-vm-map-rekey":eC,"087-fix-vm-map-rekey":dC,"088-purge-cli-activate-keys":bC,"089-rename-remote-user-to-desktop":sC,"090-automation-webhook-triggers":_K,"091-organization-domains-allow-multi":xK,"092-sandbox-naming-uniformization":uK,"093-backfill-global-search-basic-usage":CK,"094-org-file-configs":NK,"095-remove-automation-tool-call-kind":mK,"096-org-file-configs-public-url-base":TK,"097-drop-local-docker-sandbox-state":EK,"098-thread-message-parts":$K,"099-run-fence":PK,"100-link-transport":UK,"101-cancel-requested-at":JK,"102-observational-agent":QK,"103-revert-observational-agent":XK,"104-agent-sandbox-provider-kind":WK,"105-org-fs":jK,"106-automation-tools":LK,"107-org-fs-public-org":FK,"108-automation-max-agent-steps":YK,"109-thread-message-parts-per-message-seq":DK,"110-backfill-ghs-token-expiry":HK,"111-org-fs-thread-id":MK,"112-org-file-configs-credential-type":RK,"113-thread-failure-reason":BK,"114-run-acked-seq":GK,"115-thread-projected-seq":OK,"116-org-sites":SK,"117-org-file-configs-site-slug":fK,"118-organization-domains-multi-verify":AK,"119-organization-join-requests":IK,"120-org-fs-read-public":yK,"121-org-fs-share-password":VK,"122-split-web-research-tier":nK,"123-connection-credential-vault":vK,"124-drop-thread-projected-seq":pK,"125-github-child-single-parent":gK,"126-task-board":iK,"127-task-board-due-date":cK,"128-reports-only":hK,"129-task-board-assigned-by":tK,"130-task-board-thread-id":oK,"131-task-board-thread-link-cascade":aK,"132-task-board-item-prs":rK,"133-dedupe-duplicate-members":lK,"134-drop-task-board-enabled":eK,"135-task-board-item-fk-cascade":dK,"136-task-board-import-idempotency":bK,"137-agent-sandbox-runner-state":sK,"138-agent-sandbox-sessions":_N,"139-organization-billing":xN,"140-seat-change-log":uN,"141-benefits-sync-pending":CN,"142-stripe-event-watermark":KN,"143-armed-report-url":NN,"144-benefits-pending-index":mN,"145-user-model-preferences":TN,"146-organization-main-agent":zN,"147-drop-agent-sandbox-tables":EN,"148-org-flags":$N,"149-task-board-item-sort-order":PN,"150-task-board-activity":UN,"151-task-board-tags":QN,"152-repair-connection-slug":ZN,"153-task-board-latest-assistant-part-index":WN,"154-task-board-qa-activity":LN,"155-task-board-review-claims":FN,"156-task-board-conflict-activity":DN,"157-drop-seat-billing":HN,"158-drop-github-child-single-parent":MN,"159-task-board-comments":RN,"160-task-quota-billing":BN,"161-task-quota-claim-state":ON,"162-claude-subscriptions":SN,"163-task-board-item-dismissed":fN,"164-per-org-task-quota":AN,"165-task-board-pending-review-index":IN,"166-task-board-last-swept-at":yN,"167-task-board-run-retry":VN,"168-org-repo-sync":kN,"169-task-board-merge-failed-activity":vN,"170-task-board-item-repo":pN,"171-jira-integration":gN,"172-task-board-item-key-seq":qN,"173-thread-github-repo-connection-index":iN,"174-thread-message-parts-persisted-at":hN,"175-task-board-sprints":tN,"176-task-board-done-sweep-index":oN,"177-notifications":aN,"178-jira-status-mapping-array":rN,"179-notification-mentioned":eN,"180-task-board-item-type":bN,"181-task-board-item-type-required":sN,"182-task-board-sprints-entities":_m,"183-drop-jira-jql-filter":xm,"184-jira-rescan-after-scope-change":um,"185-jira-rescan-existing-cards":Cm,"186-jira-rescan-pending-flag":Nm,"187-task-board-comment-thread":mm,"188-invitation-auto-accept":Tm,"189-task-board-column-automations":Em,"190-task-board-review-cycle-started-at":$m,"191-task-board-columns":Pm,"192-task-board-verdict-nudge-activity":Jm,"193-task-board-status-column-fk":Qm,"194-jira-link-sprint":Xm,"195-task-board-sprint-activity":Wm,"196-task-board-column-tracker-statuses":jm,"197-task-board-prompts":Lm,"198-task-board-external-url":Fm,"199-drop-jira-mirror-and-org-columns":Ym,"200-jira-run-trigger":Dm,"201-organization-notices":Hm,"202-redact-base64-thread-parts":Rm,"203-task-board-preview-routes":Bm,"204-git-provider-accounts-and-repositories":Gm,"205-repository-references":Om,"206-repository-consumers":Pu,"207-task-board-prs-repo-idx":$u,"208-github-connect-flows":Eu,"209-github-installation-authorization":zu,"210-github-repository-authorization":_u,"211-user-fs-org":sx,"212-coding-agent-mcp-excluded":xu,"213-bitbucket-git-provider":uu,"214-connections-sanitized-id-idx":lx,"215-commerce-discovery-repository":ex,"216-github-cli-auth":bx,"217-experiments":Cu,"218-thread-message-parts-error-idx":Ku,"219-task-board-duplicate-reported-activity":mu,"220-jira-automation-continue-pr":Tu,"221-remove-private-registry":Px,"222-org-git-credentials":Ux,"223-drop-org-main-agent-id":rx,"224-repository-sandbox-image":Jx,"225-thread-analytics-indexes":Xx,"226-deco-score-names":Wx,"227-task-board-finding-resolved-activity":Lx,"228-org-voice-config":$x,"229-jira-automation-from":Fx,"230-project-sidebar":Yx,"231-jira-chat-agent":Dx,"232-task-board-prompt-skills":Mx,"233-remove-jira-chat-agent":Bx,"234-task-board-comment-audience":Gx,"235-prune-empty-thread-dirs":Ox,"236-task-board-sprints":fx,"237-org-sites-project-link":Ax,"238-task-board-default-lanes":Ix,"239-task-board-retire-old-lanes":yx,"240-task-board-restore-todo":Vx,"241-automation-board-column-transition":wx,"242-connection-url-slug":kx,"243-experiment-task-board-item":nx,"244-connection-url-slug-rollout-backfill":vx,"245-automation-system-key":px,"246-automation-pr-ready-trigger":gx,"247-automation-jira-transition":qx,"248-drop-retired-rule-tables":ix,"249-task-board-item-project":cx,"250-github-copilot-subscriptions":hx,"251-org-shared-plans":tx,"252-automation-linked-chat-trigger":ox,"253-automation-pr-builtin-triggers":ax,"254-codex-subscriptions":Ex},Kx=BW;import{getMigrations as N9}from"better-auth/db";import{sso as m9}from"@better-auth/sso";import{organization as T9}from"@decocms/better-auth/plugins";import{admin as z9,apiKey as E9,jwt as $9,magicLink as P9,mcp as U9,openAPI as J9}from"better-auth/plugins";import{emailOTP as Q9}from"better-auth/plugins/email-otp";import{Kysely as dW,PostgresDialect as jz}from"kysely";import{Pool as Lz}from"pg";import{homedir as GW}from"os";var OW=new Set(["all","worker","api"]);function SW(_){let x=(_??"").trim();return OW.has(x)?x:"all"}var fW=new Set(["production","development","test"]);function AW(_){let x=(_??"").trim();return fW.has(x)?x:"development"}function Z(_){return _==="true"||_==="1"}function fm(_,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 fm(_,x,N)??u}function IW(_){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 yW(_,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 Sm(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function VW(_){return _===void 0||_===""||_==="true"||_==="1"}function D_(_,x){return _||x}function Ez(_){let x=_.DATA_DIR||_.DECOCMS_HOME||`${GW()}/deco`,u=AW(_.NODE_ENV),N=_.VOICE_CONVERSATION_PROVIDER?.trim()||"elevenlabs",K={nodeEnv:u,port:B("PORT",_.PORT,3000,65535),baseUrl:_.BASE_URL,publicUrl:D_(_.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:D_(_.STUDIO_JWT_SECRET,_.MESH_JWT_SECRET),localMode:Z(_.DECOCMS_LOCAL_MODE),disableRateLimit:Z(_.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:Z(_.JIRA_ALLOW_LOCAL_SITE_URL),jiraSettleSeconds:B("JIRA_SETTLE_SECONDS",_.JIRA_SETTLE_SECONDS,20,3600),studioProvisionSecretKey:_.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(_.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((m)=>m.trim().toLowerCase()).filter(Boolean),taskBoardAdminOrgIds:(_.STUDIO_ADMIN_ORG_IDS??"").split(",").map((m)=>m.trim()).filter(Boolean),deploymentAdminToken:_.DEPLOYMENT_ADMIN_TOKEN||void 0,clickhouseUrl:_.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:fm("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:IW(_.STRIPE_PLAN_PRICE_IDS),stripePortalConfigurationId:_.STRIPE_PORTAL_CONFIGURATION_ID,stripeTopupProductId:_.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:yW("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:Sm(_.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:Sm(_.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:VW(_.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:fm("DUCKDB_THREADS",_.DUCKDB_THREADS),podName:_.POD_NAME||crypto.randomUUID(),dispatchRole:SW(D_(_.STUDIO_DISPATCH_ROLE,_.MESH_DISPATCH_ROLE)),agentSandboxEnabled:Z(_.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:Z(_.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:Sm(_.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,oneDollarStatsApiKey:_.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:D_(_.REPORTS_INTERNAL_API_URL,_.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:D_(_.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 wW=null;function K_(){return wW??=Object.freeze(Ez(process.env))}import{createContextKey as qW,metrics as iW,propagation as X8,ROOT_CONTEXT as Z8,SpanStatusCode as W8,trace as cW}from"@opentelemetry/api";import{logs as hW,SeverityNumber as Am}from"@opentelemetry/api-logs";import{OTLPLogExporter as F8}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as tW}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as H8}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as R8}from"@opentelemetry/instrumentation-runtime-node";import{context as E5,propagation as $5,SpanKind as P5,SpanStatusCode as U5}from"@opentelemetry/api";var Q5=globalThis.fetch;import{ExportResultCode as B5}from"@opentelemetry/core";import{ExportResultCode as Nx}from"@opentelemetry/core";import{mkdir as kW,rename as nW,writeFile as vW}from"fs/promises";import{join as mx}from"path";class Tx{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:Nx.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:Nx.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:Nx.FAILED}});return Promise.resolve({code:Nx.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?mx(this.basePath,x,...N):mx(this.basePath,...N);if(!this.knownDirs.has(K))await kW(K,{recursive:!0,mode:448}),this.knownDirs.add(K);let m=`${crypto.randomUUID()}.ndjson`,T=mx(K,`.${m}.tmp`),z=mx(K,m),E=_.join(`
|
|
2383
2383
|
`)+`
|
|
2384
|
-
`;await vW(T,E,{mode:384}),await nW(T,z)}}import{ExportResultCode as A5}from"@opentelemetry/core";import{AggregationTemporality as y5,DataPointType as V5}from"@opentelemetry/sdk-metrics";import{ExportResultCode as g5}from"@opentelemetry/core";var h5=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as V8,LoggerProvider as w8}from"@opentelemetry/sdk-logs";import{detectResources as n8,envDetector as v8,hostDetector as p8,osDetector as g8,processDetector as q8,resourceFromAttributes as i8}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as h8}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as a5}from"@opentelemetry/api-logs";import{NodeSDK as a8}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as l8,SamplingDecision as N_}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as
|
|
2384
|
+
`;await vW(T,E,{mode:384}),await nW(T,z)}}import{ExportResultCode as A5}from"@opentelemetry/core";import{AggregationTemporality as y5,DataPointType as V5}from"@opentelemetry/sdk-metrics";import{ExportResultCode as g5}from"@opentelemetry/core";var h5=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as V8,LoggerProvider as w8}from"@opentelemetry/sdk-logs";import{detectResources as n8,envDetector as v8,hostDetector as p8,osDetector as g8,processDetector as q8,resourceFromAttributes as i8}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as h8}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as a5}from"@opentelemetry/api-logs";import{NodeSDK as a8}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as l8,SamplingDecision as N_}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as b5}from"@opentelemetry/api";var oW="__d",aW=qW("Current request"),rW=1;var Pz=(_)=>{let u=new URL(_.url).searchParams.get(oW);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class Uz{inner;constructor(_){this.inner=_}shouldSample(_,x,u,N,K,m){let T=_.getValue(aW);if(!T){if(this.inner)return this.inner.shouldSample(_,x,u,N,K,m);return{decision:N_.RECORD_AND_SAMPLED}}let z=Pz(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 Jz{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 d8=new tW({preventServerStart:!0}),b8=new Uz(new Jz(rW));var $z=cW.getTracer("studio","1.0.0"),H_=iW.getMeter("studio","1.0.0"),lW=hW.getLogger("studio","1.0.0"),Im=(_,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(" ");lW.emit({severityNumber:_,severityText:x,body:T,attributes:{"log.source":"console",...N}})},ym={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{Im(Am.ERROR,"ERROR",_),ym.error(..._)};console.warn=(..._)=>{Im(Am.WARN,"WARN",_),ym.warn(..._)};console.debug=(..._)=>{Im(Am.DEBUG,"DEBUG",_),ym.debug(..._)};var Vm,Qz=0,wm=500;function eW(){if(Vm)return;let _=performance.now()+wm;Vm=setInterval(()=>{let x=performance.now();Qz=Math.max(0,x-_),_=x+wm},wm),Vm.unref?.()}function Xz(){return eW(),Qz}var bW=()=>H_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Zz=()=>H_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Wz=400,sW=100,_9=(_)=>({"db.status":_.level==="error"?"error":"success"}),x9=(_)=>(x)=>{let u=_9(x);if(x.queryDurationMillis>Wz){let N=Xz(),K=N>Wz/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:zx()}})}if(bW().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function u9(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let N=performance.now(),K=zx(),m=_.idleCount===0&&_.totalCount>=K,T=_.idleCount;return x().then((z)=>{let E=performance.now()-N;if(Zz().record(E,{"db.pool.outcome":m?"contended":"available"}),E>sW)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 Zz().record(performance.now()-N,{"db.pool.outcome":"error"}),z})},_}var Fz={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Yz(){try{return K_().databasePgSsl}catch{return!1}}function zx(){try{return K_().databasePoolMax}catch{return 10}}function C9(_){let x=u9(new Lz({connectionString:_,max:zx(),ssl:Yz(),...Fz})),u=new jz({pool:x});return{type:"postgres",db:new dW({dialect:u,log:x9(x)}),pool:x}}function R_(){return K_().databaseUrl}function Dz(_){let x=_||R_();return new jz({pool:new Lz({connectionString:x,max:zx(),ssl:Yz(),...Fz})})}function K9(_){let x=_||R_();return C9(x)}async function Hz(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===M_)M_=null}var M_=null;function km(){if(!M_)M_=K9(R_());return M_}async function Mz(_){let u={database:Dz(_||R_()),plugins:[T9({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),z9(),E9(),$9(),J9(),U9({loginPage:"/login"}),m9(),P9({sendMagicLink:async()=>{}}),Q9({sendVerificationOTP:async()=>{}})]},{toBeAdded:N,toBeCreated:K,runMigrations:m}=await N9(u);if(!N.length&&!K.length)return"up to date";return await m(),`${K.length+N.length} table(s) migrated`}async function nm(_,x){return(await o`
|
|
2385
2385
|
SELECT table_name FROM information_schema.tables
|
|
2386
2386
|
WHERE table_schema='public' AND table_name=${x}
|
|
2387
2387
|
`.execute(_)).rows.length>0}async function X9(_){if(await nm(_,"plugin_migrations"))return;await o`
|