decocms 4.344.6 → 4.344.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-tmlf170X.js → AlertCircle-CUcQGJWg.js} +1 -1
- package/dist/client/assets/{AreaChart-CMltqinO.js → AreaChart-Bjc6phYY.js} +1 -1
- package/dist/client/assets/{ArrowLeft-UW8QSIYv.js → ArrowLeft-CSPpZjix.js} +1 -1
- package/dist/client/assets/{ArrowRight-oW2ppAKR.js → ArrowRight-CpVx9ViU.js} +1 -1
- package/dist/client/assets/{ArrowUp-C4N1jv5C.js → ArrowUp-DSGIlxLY.js} +1 -1
- package/dist/client/assets/{Check-D43QXlgi.js → Check-1zXE7wWA.js} +1 -1
- package/dist/client/assets/{CheckCircle-CzwwsIjX.js → CheckCircle-DgtK-Ftc.js} +1 -1
- package/dist/client/assets/{ChevronRight-BGzR3MPV.js → ChevronRight-DprZKKxq.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-D2JHLnW-.js → ChevronSelectorVertical-Bva6hXFn.js} +1 -1
- package/dist/client/assets/{ChevronUp-BMcx5g6h.js → ChevronUp-DwjhbMCo.js} +1 -1
- package/dist/client/assets/{Copy01-gQD663SC.js → Copy01-BVJCFNfp.js} +1 -1
- package/dist/client/assets/{CreditCard01-C7POY4ij.js → CreditCard01-DJQ89VL7.js} +1 -1
- package/dist/client/assets/{DotsVertical-T5KAvZex.js → DotsVertical-B1zgMGCf.js} +1 -1
- package/dist/client/assets/{Download01-C5xZFRgI.js → Download01-d7QlNeIi.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-MyCHVq51.js → ErrorBarContext-DjQRwN1B.js} +1 -1
- package/dist/client/assets/{Eye-Brx0T7sd.js → Eye-sLXfRAsu.js} +1 -1
- package/dist/client/assets/{GitBranch01-BXJjzFHM.js → GitBranch01-Cevd7IY5.js} +1 -1
- package/dist/client/assets/{Globe01-COOcKemB.js → Globe01-YMmGLMrH.js} +1 -1
- package/dist/client/assets/{HardDrive-WnPyGvYA.js → HardDrive-CBNkuV5p.js} +1 -1
- package/dist/client/assets/{Image01-Cetk23Gg.js → Image01-_jew13y9.js} +1 -1
- package/dist/client/assets/{Key01-CTPGBIuS.js → Key01-DxL7RaRt.js} +1 -1
- package/dist/client/assets/{Link01-CRhSvCpz.js → Link01-BsnNRJbd.js} +1 -1
- package/dist/client/assets/{LinkExternal01-B71u24kv.js → LinkExternal01-CHynaVJX.js} +1 -1
- package/dist/client/assets/{Monitor01-C4tpFrFH.js → Monitor01-D384tcCL.js} +1 -1
- package/dist/client/assets/{Package-BMpeE28g.js → Package-CICmKbed.js} +1 -1
- package/dist/client/assets/{Palette-DbLDcKQl.js → Palette-C3wV8GbF.js} +1 -1
- package/dist/client/assets/{Play-CX-1pcs-.js → Play-DyY4uqsk.js} +1 -1
- package/dist/client/assets/{Plus-q_spJwnV.js → Plus-BtzuFXpa.js} +1 -1
- package/dist/client/assets/{SearchMd-B_sSHt1j.js → SearchMd-RzdqOTz6.js} +1 -1
- package/dist/client/assets/{Sector-6YzDicdd.js → Sector-BbXsKxpS.js} +1 -1
- package/dist/client/assets/{Settings02-BQeN72sP.js → Settings02-Czze_bb5.js} +1 -1
- package/dist/client/assets/{Share07-n-3fSUdL.js → Share07-DDpIIfsq.js} +1 -1
- package/dist/client/assets/{Shield01-WuyF7MO2.js → Shield01-B4pGOGci.js} +1 -1
- package/dist/client/assets/{Stars01-B_a7_AvS.js → Stars01-CjHCSDX3.js} +1 -1
- package/dist/client/assets/{Sun-DcqY__ZL.js → Sun-Dq3o46U_.js} +1 -1
- package/dist/client/assets/{Tool01-BP77SoXO.js → Tool01-DVKwxNl0.js} +1 -1
- package/dist/client/assets/{Tool02-EHcFfjL7.js → Tool02-DDmfltgM.js} +1 -1
- package/dist/client/assets/{Trash01-uEgLHTb-.js → Trash01-LsgvHH60.js} +1 -1
- package/dist/client/assets/{TrendUp01-Cz7gaxLj.js → TrendUp01-DioIZ0XZ.js} +1 -1
- package/dist/client/assets/{Upload01-BIWfPTvJ.js → Upload01-9qmJgRWz.js} +1 -1
- package/dist/client/assets/{User01-CiJaeywX.js → User01-AzXDuWJx.js} +1 -1
- package/dist/client/assets/{UserSquare-BATVnS3x.js → UserSquare-BVL5WuNS.js} +1 -1
- package/dist/client/assets/{Users01-CWN5RUiZ.js → Users01-twdbMWRY.js} +1 -1
- package/dist/client/assets/{Users03-DFR7fqkO.js → Users03-B9ZuJ2UL.js} +1 -1
- package/dist/client/assets/{XCircle-ByMu8jAG.js → XCircle-BCL9MwCk.js} +1 -1
- package/dist/client/assets/{XClose-BUiWkR3f.js → XClose-CeiPTewB.js} +1 -1
- package/dist/client/assets/{Zap-Cul-MTXM.js → Zap-CKLZSOSt.js} +1 -1
- package/dist/client/assets/{ZoomOut-ENcKaGzb.js → ZoomOut-BIvjfxkI.js} +1 -1
- package/dist/client/assets/{access-gate-0ydYV0aM.js → access-gate-Co7Qfch9.js} +1 -1
- package/dist/client/assets/{agent-icon-B5YynjqW.js → agent-icon-BpEwOiGV.js} +1 -1
- package/dist/client/assets/{agents-list-BXNl_cxc.js → agents-list-Cwvzogc_.js} +1 -1
- package/dist/client/assets/{ai-providers-DTM0VaHo.js → ai-providers-DxCToBOI.js} +1 -1
- package/dist/client/assets/{alert-CEb4xO5-.js → alert-C2fyV676.js} +1 -1
- package/dist/client/assets/{alert-dialog-bPhnZuBF.js → alert-dialog-DNgGWz87.js} +1 -1
- package/dist/client/assets/{analytics-tab-FZwL75da.js → analytics-tab-PHu6l59L.js} +1 -1
- package/dist/client/assets/api-keys-Bc76I_rG.js +1 -0
- package/dist/client/assets/{api-keys-DcL2_qib.js → api-keys-BhwK48l0.js} +1 -1
- package/dist/client/assets/app-editor-U_AVP6OL.js +1 -0
- package/dist/client/assets/{auth-TNUQ-R7b.js → auth-Dgy_FfAZ.js} +1 -1
- package/dist/client/assets/{auth-catchall-yDb6dG_y.js → auth-catchall-ekkwg0sn.js} +1 -1
- package/dist/client/assets/{auth-entry-CWvWuaXU.js → auth-entry-CIwP8Rqn.js} +1 -1
- package/dist/client/assets/{auth-split-layout-DHAKSgor.js → auth-split-layout-inykjGhF.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-BEiz2fLb.js → authenticate-and-persist-oauth-CHh3ra8X.js} +1 -1
- package/dist/client/assets/{automation-list-row-BXs_Ogmi.js → automation-list-row-BZVMG0s5.js} +1 -1
- package/dist/client/assets/{automation-runs-D0qsHVPj.js → automation-runs-DuP-wdLK.js} +1 -1
- package/dist/client/assets/{automations-BlUIhpog.js → automations-Bi1i3HXW.js} +1 -1
- package/dist/client/assets/{autosend-BYSImvIy.js → autosend-DQFcN1uS.js} +1 -1
- package/dist/client/assets/{avatar-BAfh7dfM.js → avatar-p5OetRNi.js} +1 -1
- package/dist/client/assets/{badge-CF8t3kFT.js → badge-DpkiDIOC.js} +1 -1
- package/dist/client/assets/{block-document-CbJActTO.js → block-document-DobdtgLr.js} +1 -1
- package/dist/client/assets/{breadcrumb-Dt4POIrJ.js → breadcrumb-C8vZ3frM.js} +1 -1
- package/dist/client/assets/{buckets-cQPujbXt.js → buckets-Dr-obDzL.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-L3wZRASt.js → bulk-category-panel-BD6uCEcf.js} +1 -1
- package/dist/client/assets/{capability-load-error-fkYMRkNu.js → capability-load-error-DzIqZGl0.js} +1 -1
- package/dist/client/assets/{cards-Bew32vSA.js → cards-Bzy1Xtvb.js} +1 -1
- package/dist/client/assets/{category-editor-Bm5Mlq8U.js → category-editor-DERpB4vz.js} +1 -1
- package/dist/client/assets/{cdn-tab-GRD3AIjn.js → cdn-tab-C9cGMfIc.js} +1 -1
- package/dist/client/assets/{chart-VKcsR9La.js → chart-rcdPf4fQ.js} +1 -1
- package/dist/client/assets/{chat-context-DilDlwEk.js → chat-context-avJOfrtu.js} +1 -1
- package/dist/client/assets/{checkbox-DHBigI1P.js → checkbox-D9o3_hf-.js} +1 -1
- package/dist/client/assets/{choose-editor-BP8m7OAm.js → choose-editor-Cx_Q-V5I.js} +1 -1
- package/dist/client/assets/{cli-auth-success-CfTa5xBk.js → cli-auth-success-BD12raYd.js} +1 -1
- package/dist/client/assets/{client-icons-CpQxSG6O.js → client-icons-BgRgSWI4.js} +1 -1
- package/dist/client/assets/{collection-detail-BTxWiDBI.js → collection-detail-DHMLnwRz.js} +1 -1
- package/dist/client/assets/{collection-display-button-uSlq9nXL.js → collection-display-button-D7uyuLOA.js} +1 -1
- package/dist/client/assets/{collection-search-4OWVO2by.js → collection-search-Dn7QEyUJ.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-DniL_pIl.js → collection-table-wrapper-apDDwogq.js} +1 -1
- package/dist/client/assets/{collection-tabs-C7YylUDr.js → collection-tabs-5dU7fGdE.js} +1 -1
- package/dist/client/assets/{command-qoguNyQb.js → command-CENaHYOX.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-DKZfIC95.js → commerce-onboarding-CyPVgfTY.js} +1 -1
- package/dist/client/assets/{connect-wv5sge3U.js → connect-2lJ0CWwS.js} +1 -1
- package/dist/client/assets/{connect-layout-BZH3VWOf.js → connect-layout-DHtZKhj-.js} +1 -1
- package/dist/client/assets/{connection-DDLYJx4M.js → connection-BXj1lf6L.js} +1 -1
- package/dist/client/assets/{connection-card-CT-PAzWh.js → connection-card-xtbTrH0z.js} +1 -1
- package/dist/client/assets/{connection-detail-CfkbPeoN.js → connection-detail-_tAXd69l.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-D0QJiE6z.js → connection-form-helpers-DbWPqpmc.js} +1 -1
- package/dist/client/assets/{connections-DAkHJJnc.js → connections-LDx4JE2z.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-DADjHn9s.js → create-organization-dialog-CkEoogzg.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-Bc0jSHS4.js → decopilot-sse-pool-DIjPP0nf.js} +1 -1
- package/dist/client/assets/{dialog-BZhwZpkj.js → dialog-BGZ5Hg3Q.js} +1 -1
- package/dist/client/assets/{domain-settings-DGBy5i1e.js → domain-settings-Co45KpqJ.js} +1 -1
- package/dist/client/assets/{drawer-D2KyUzEM.js → drawer-3JQ45fRR.js} +1 -1
- package/dist/client/assets/{dropdown-menu-DRmaugfH.js → dropdown-menu-CTqjAJHc.js} +1 -1
- package/dist/client/assets/{e2e-tab-D1XNI3nb.js → e2e-tab-CVeKwP0K.js} +1 -1
- package/dist/client/assets/{editor-Ds1FbC2-.js → editor-yboX_q5K.js} +1 -1
- package/dist/client/assets/{empty-state-BrAzdRf-.js → empty-state-BlkGmg_f.js} +1 -1
- package/dist/client/assets/{empty-state-ClRvEbll.js → empty-state-DNkmU35f.js} +1 -1
- package/dist/client/assets/{extract-connection-data-D78kSWFE.js → extract-connection-data-C6uzSv1P.js} +1 -1
- package/dist/client/assets/{file-explorer-i9mvkKr3.js → file-explorer-BLjo6fOf.js} +1 -1
- package/dist/client/assets/{file-type-icon-CRkeI-TW.js → file-type-icon-BLgP8JAi.js} +1 -1
- package/dist/client/assets/{folder-icon-CQEOL9D6.js → folder-icon-75w1BOQR.js} +1 -1
- package/dist/client/assets/{form-hHdEspGG.js → form-BQfZ_wMX.js} +1 -1
- package/dist/client/assets/{general-CTo9aABA.js → general-CEPG7r1N.js} +1 -1
- package/dist/client/assets/{github-icon-quUu4aVj.js → github-icon-BfYLFe-E.js} +1 -1
- package/dist/client/assets/{hooks-BqtNxB1V.js → hooks-Dtkl47gt.js} +1 -1
- package/dist/client/assets/{hosting-tab-CyasLnZ9.js → hosting-tab-DA0OMdEY.js} +1 -1
- package/dist/client/assets/{index-C1ptY-us.js → index-A8aKaNa1.js} +1 -1
- package/dist/client/assets/{index-Bh6XNvc7.js → index-C6TPg4UC.js} +6 -6
- package/dist/client/assets/{index-BRMxGRts.js → index-C7-k65cq.js} +1 -1
- package/dist/client/assets/{index-BtlUOIgR.js → index-CFc50fBU.js} +4 -4
- package/dist/client/assets/{index-CCnt8Ha0.js → index-CZn7QLbC.js} +1 -1
- package/dist/client/assets/{index-DWp5Jluj.js → index-Dr4MBhJ_.js} +1 -1
- package/dist/client/assets/{index-BYBiZ6IV.js → index-DwEbGAs2.js} +1 -1
- package/dist/client/assets/{index-CNDBtRKj.js → index-HrCtDpMK.js} +1 -1
- package/dist/client/assets/{index-Czh__YM5.js → index-aGsG7oyA.js} +1 -1
- package/dist/client/assets/{index-BoJcLg5E.js → index-qHW_5WLU.js} +1 -1
- package/dist/client/assets/{index-redirect-n6RfO4dh.js → index-redirect-Cr7P0vqQ.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-Cq1oMNof.js → infiniteQueryObserver-C2474thX.js} +1 -1
- package/dist/client/assets/{infra-billing-Bv3CJksv.js → infra-billing-BmtbdCGi.js} +1 -1
- package/dist/client/assets/{input-DVhzkeDU.js → input-DzyddHML.js} +1 -1
- package/dist/client/assets/{integration-icon-W7q1QwrY.js → integration-icon-CBipnYKk.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-DdkdEZWp.js → invite-member-dialog-CR-r4ixW.js} +1 -1
- package/dist/client/assets/{label-DVQH5HfM.js → label-BNKcfQJl.js} +1 -1
- package/dist/client/assets/{layout-D9BGYUpz.js → layout-DFxnRLE_.js} +1 -1
- package/dist/client/assets/{login-C2PsNRO0.js → login-BP4-jfy7.js} +1 -1
- package/dist/client/assets/{markdown-DRT9KRNa.js → markdown-CtZT5hKm.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-CgF9tJk8.js → mcp-app-renderer-CCUBqyqA.js} +1 -1
- package/dist/client/assets/{mcp-oauth-B0ZK0THI.js → mcp-oauth-DZRe9Xrr.js} +1 -1
- package/dist/client/assets/{members-YTm_zSPA.js → members-DopbgyyL.js} +1 -1
- package/dist/client/assets/{monaco-editor-B0196ei4.js → monaco-editor-DS9r540U.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-DN2tDpM2.js → monitoring-stats-row-CI8-MHz1.js} +1 -1
- package/dist/client/assets/{multi-select-D98fbeiJ.js → multi-select-BAWuWZsA.js} +1 -1
- package/dist/client/assets/{oauth-callback-Dx4YoSv4.js → oauth-callback-CRBq17FH.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Co1X_4K1.js → oauth-callback-ai-provider-BpnHSb_f.js} +1 -1
- package/dist/client/assets/{onboarding-DGQT_Sfz.js → onboarding-CDIl2VPN.js} +1 -1
- package/dist/client/assets/{org-layout-DN_qRhjs.js → org-layout-UBcPgsMB.js} +1 -1
- package/dist/client/assets/{organization-choice-DUkMQPpO.js → organization-choice-DL8LmN_P.js} +1 -1
- package/dist/client/assets/{orgs-BbVpzVfI.js → orgs-rQ-2EkJt.js} +1 -1
- package/dist/client/assets/{page-seo-form-B3ECm2z2.js → page-seo-form-BqNS5DgU.js} +1 -1
- package/dist/client/assets/{popover-CXzsLJLQ.js → popover-BBlLuKf7.js} +1 -1
- package/dist/client/assets/{post-calendar-VzuxCaB9.js → post-calendar-BD_Aoold.js} +1 -1
- package/dist/client/assets/{post-editor-CTE0Ny-s.js → post-editor-1A12IdOK.js} +1 -1
- package/dist/client/assets/{primitives-CHBnIb1h.js → primitives-iFjsEhaw.js} +1 -1
- package/dist/client/assets/{profile-BAX8XJ0q.js → profile-DgSLrn8k.js} +1 -1
- package/dist/client/assets/{project-app-view-_pt7eBEE.js → project-app-view-79YOW9gG.js} +1 -1
- package/dist/client/assets/{project-icon-C_Y9lQqb.js → project-icon-BY6IQTkk.js} +1 -1
- package/dist/client/assets/{prompts-CUc7KVI6.js → prompts-DMZfJhvl.js} +1 -1
- package/dist/client/assets/record-editor-BcCUO4IF.js +1 -0
- package/dist/client/assets/redirect-editor-L5GxxHxY.js +1 -0
- package/dist/client/assets/registry-CBnPiUVh.js +2 -0
- package/dist/client/assets/{registry-layout-D93-hFqA.js → registry-layout-BZ5XxgHX.js} +1 -1
- package/dist/client/assets/{reports-Db_kNTwo.js → reports-CPPm416A.js} +1 -1
- package/dist/client/assets/{repositories-D4avHisP.js → repositories-XRBoZAlQ.js} +1 -1
- package/dist/client/assets/{repository-import-picker-UuFyRapE.js → repository-import-picker-RSPbbE4k.js} +1 -1
- package/dist/client/assets/{repository-picker-C0sEORMq.js → repository-picker-biyctM_B.js} +1 -1
- package/dist/client/assets/{require-capability-CVGq5FAY.js → require-capability-BRFbNz3Q.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DiWJho_6.js → required-auth-layout-B9X15pWP.js} +1 -1
- package/dist/client/assets/{reset-password-D97T0kGE.js → reset-password-BEQWew2k.js} +1 -1
- package/dist/client/assets/{review-settings-DiOL3p8x.js → review-settings-B8jUIsy8.js} +1 -1
- package/dist/client/assets/{roles-BiRHciZQ.js → roles-DHyBcYNG.js} +1 -1
- package/dist/client/assets/{schema-BqenfAhL.js → schema-D92LbIMM.js} +1 -1
- package/dist/client/assets/{scroll-area-Ca3wuyBa.js → scroll-area-B-ln5xLH.js} +1 -1
- package/dist/client/assets/{search-input-BMRJF5PT.js → search-input-D9YW35Vs.js} +1 -1
- package/dist/client/assets/{secrets-WCD--wKB.js → secrets-BloGTEAu.js} +1 -1
- package/dist/client/assets/{sections-editor-CdzZDcnU.js → sections-editor-BZEfeGQC.js} +1 -1
- package/dist/client/assets/{select-Cyj_p8d5.js → select-BaouCTwA.js} +1 -1
- package/dist/client/assets/{select-model-DAb9T8kG.js → select-model-HYeKeaT4.js} +1 -1
- package/dist/client/assets/{self-tool-result-4wUrYSY4.js → self-tool-result-BbupoY5Z.js} +1 -1
- package/dist/client/assets/{seo-editor-CaD3hjuZ.js → seo-editor-FnjL-Vzx.js} +1 -1
- package/dist/client/assets/settings-layout-DBS_ejWk.js +1 -0
- package/dist/client/assets/{settings-sidebar-C2AMxvTf.js → settings-sidebar-z3qYuGo6.js} +1 -1
- package/dist/client/assets/{shell-controls-vx3WbyyZ.js → shell-controls-CfSHSeBw.js} +1 -1
- package/dist/client/assets/{shell-layout-Cw_Zv8KH.js → shell-layout-eEmjDldg.js} +1 -1
- package/dist/client/assets/{skill-preview-CW8imphI.js → skill-preview-D76FKEy1.js} +1 -1
- package/dist/client/assets/{skills-E9aS_ABb.js → skills-CXrKoyD0.js} +1 -1
- package/dist/client/assets/{sso-DrTiu7pv.js → sso-D310rMfh.js} +1 -1
- package/dist/client/assets/{store-CS1P8DFG.js → store-BDrmnwCb.js} +1 -1
- package/dist/client/assets/store-registry-BKZeS0UB.js +2 -0
- package/dist/client/assets/{switch-Do8kG-W6.js → switch-Caly0pjz.js} +1 -1
- package/dist/client/assets/{synced-repos-BAJNSBJM.js → synced-repos-BuP48XMW.js} +1 -1
- package/dist/client/assets/{table-DP9ciP81.js → table-CJqB3MCP.js} +1 -1
- package/dist/client/assets/{tabs-DjyEdY-W.js → tabs-BZq41GwT.js} +1 -1
- package/dist/client/assets/{task-board-Bx3cqwAZ.js → task-board-3nbsbA9F.js} +1 -1
- package/dist/client/assets/{task-route-Bv_q5i--.js → task-route-CxNYrjWE.js} +1 -1
- package/dist/client/assets/{tasks-GWbkl06R.js → tasks-BcAM9xVw.js} +1 -1
- package/dist/client/assets/{textarea-Cdferp0K.js → textarea-Bt1l-v-4.js} +1 -1
- package/dist/client/assets/{thread-intent-CKqHlMow.js → thread-intent-Dvv1EpiP.js} +1 -1
- package/dist/client/assets/{thread-route-AbWdgotm.js → thread-route-CvNO1pt5.js} +1 -1
- package/dist/client/assets/{toggle-group-6AKnVxn8.js → toggle-group-BIHRiejF.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-RJfMkoLQ.js → toolbar-icon-button-HUU3DeDv.js} +1 -1
- package/dist/client/assets/{toolbar-D6LmlQ1e.js → toolbar-wrA0hnju.js} +1 -1
- package/dist/client/assets/{track-Bcic1GaS.js → track-BFy8EZMU.js} +1 -1
- package/dist/client/assets/{types-CxO7wOk-.js → types-BbudkrCP.js} +1 -1
- package/dist/client/assets/{use-ai-providers-BzFij6Yg.js → use-ai-providers-CygbvKpH.js} +1 -1
- package/dist/client/assets/{use-automations-3EGHGpk2.js → use-automations-Dq9Ujnel.js} +1 -1
- package/dist/client/assets/{use-autosave-BHVh7zSP.js → use-autosave-D-Inw3HB.js} +1 -1
- package/dist/client/assets/{use-connection-C9LH9ktZ.js → use-connection-De6kXusM.js} +1 -1
- package/dist/client/assets/{use-copy-C_RcJrvS.js → use-copy-CVL8ezCn.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-C-ROTiiG.js → use-create-virtual-mcp-R1xLoNkw.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-DBpL-xm-.js → use-date-fns-locale-DaHZoCLk.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-B9WM09s6.js → use-debounced-autosave-BMhSKDju.js} +1 -1
- package/dist/client/assets/{use-debounced-value-DiDBNIsK.js → use-debounced-value-D0HOX65a.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-D9KhoRE_.js → use-decopilot-events-CayI0kWz.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BljsV651.js → use-delete-connection-CnWS9tSJ.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-Cd6Vlilx.js → use-deployment-admin-BmIOGiCV.js} +1 -1
- package/dist/client/assets/{use-destination-route-CUHeljX2.js → use-destination-route-CSS03xNU.js} +1 -1
- package/dist/client/assets/{use-file-configs-C1cw7bWX.js → use-file-configs-U1N7vmMJ.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-DsxXi1ne.js → use-infinite-scroll-BxDzsK0q.js} +1 -1
- package/dist/client/assets/{use-join-requests-JyaSOQjy.js → use-join-requests-BfxTPvq1.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-BeaI0e3q.js → use-mcp-auth-status-Dzn7LvyX.js} +1 -1
- package/dist/client/assets/{use-mcp-client-DBIpUR_Q.js → use-mcp-client-BSfC7B4l.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-y2MtSMBD.js → use-mcp-prompts-QVLv6nAF.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BsEDXwD6.js → use-mcp-tools-BsEArfgg.js} +1 -1
- package/dist/client/assets/{use-members-Fuly6XlY.js → use-members-wJ4JxWh4.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-Kl6EnJy1.js → use-navigate-to-agent-CP-K3KIR.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-D5yIq9Gk.js → use-org-auth-client-DWK2XwV1.js} +1 -1
- package/dist/client/assets/{use-org-notice-DUyOhPa4.js → use-org-notice-B5aH6jEO.js} +1 -1
- package/dist/client/assets/{use-org-sso-Ce8zUd7K.js → use-org-sso-C-CIgBnX.js} +1 -1
- package/dist/client/assets/{use-organization-roles-CbR5UjbP.js → use-organization-roles-BB-gdlQ0.js} +1 -1
- package/dist/client/assets/{use-organization-settings-DV6zKCpV.js → use-organization-settings-BL3ZQVJG.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-BDsIsCi2.js → use-panel-navigate-DtIO2LK2.js} +1 -1
- package/dist/client/assets/{use-registry-connections-C_zIH2sX.js → use-registry-connections-Chb8MZQ9.js} +1 -1
- package/dist/client/assets/{use-secrets-B3oN2LCY.js → use-secrets-bCQiMi0L.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-XWFQsTnE.js → use-section-preview-base-DylvTrFU.js} +1 -1
- package/dist/client/assets/{use-status-sounds-JH-_0XAZ.js → use-status-sounds-DlTpiOV2.js} +1 -1
- package/dist/client/assets/{use-tags-Cih5ZXdl.js → use-tags-3pJUBLb_.js} +1 -1
- package/dist/client/assets/{use-view-mode-C2-ECVBt.js → use-view-mode-054OP7Xj.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-DrMRB2eS.js → use-virtual-mcp-DZn4-6Z9.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Uy7lOi7c.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-BvETpOBx.js +1 -0
- package/dist/client/assets/{users-rpRsp_BS.js → users-ClG9LEpP.js} +1 -1
- package/dist/client/assets/{variant-calendar-DuJfg-z-.js → variant-calendar-a4eYe0no.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-D9gNMAcP.js → view-mode-toggle-CmvSb5ck.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +600 -600
- package/dist/server/migrate.js +135 -135
- package/dist/server/server.js +396 -396
- package/package.json +1 -1
- package/dist/client/assets/api-keys-eLOtXH3i.js +0 -1
- package/dist/client/assets/app-editor-TTUJgVhd.js +0 -1
- package/dist/client/assets/record-editor-ssFhFAja.js +0 -1
- package/dist/client/assets/redirect-editor-Ct31zDHf.js +0 -1
- package/dist/client/assets/registry-DXRoDTIU.js +0 -2
- package/dist/client/assets/settings-layout-DLtg2QOW.js +0 -1
- package/dist/client/assets/store-registry-BAbAyhdE.js +0 -2
- package/dist/client/assets/useInfiniteQuery-BvtmxOq6.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-D9bH4tUz.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
2
|
+
var kN=Object.defineProperty;var pN=(_)=>_;function tN(_,x){this[_]=pN.bind(null,x)}var m=(_,x)=>{for(var u in x)kN(_,u,{get:x[u],enumerable:!0,configurable:!0,set:tN.bind(x,u)})};import{Migrator as wN,sql as a}from"kysely";var t_={};m(t_,{up:()=>iN,down:()=>vN});async function iN(_){await _.schema.alterTable("git_provider_accounts").addColumn("installation_authorized_by","text").execute()}async function vN(_){await _.schema.alterTable("git_provider_accounts").dropColumn("installation_authorized_by").execute()}var i_={};m(i_,{up:()=>qN,down:()=>cN});import{sql as gN}from"kysely";async function qN(_){await gN`
|
|
3
3
|
CREATE TABLE github_connect_flows (
|
|
4
4
|
id text PRIMARY KEY,
|
|
5
5
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -9,7 +9,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
9
9
|
);
|
|
10
10
|
CREATE UNIQUE INDEX github_connect_flows_owner ON github_connect_flows(organization_id, user_id);
|
|
11
11
|
CREATE INDEX github_connect_flows_expiry ON github_connect_flows(expires_at);
|
|
12
|
-
`.execute(_)}async function
|
|
12
|
+
`.execute(_)}async function cN(_){await _.schema.dropTable("github_connect_flows").execute()}var v_={};m(v_,{up:()=>hN,down:()=>oN});async function hN(_){await _.schema.createIndex("task_board_item_prs_repo_idx").on("task_board_item_prs").columns(["repo_owner","repo_name","pr_number"]).execute()}async function oN(_){await _.schema.dropIndex("task_board_item_prs_repo_idx").execute()}var g_={};m(g_,{up:()=>aN,down:()=>rN});import{sql as z_}from"kysely";async function aN(_){await z_`
|
|
13
13
|
CREATE FUNCTION adopt_legacy_repository() RETURNS trigger AS $$
|
|
14
14
|
DECLARE
|
|
15
15
|
metadata_json jsonb;
|
|
@@ -65,19 +65,19 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
65
65
|
FROM repositories r WHERE s.repository_id IS NULL
|
|
66
66
|
AND r.organization_id = s.organization_id AND r.host = 'github.com'
|
|
67
67
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name);
|
|
68
|
-
`.execute(_)}async function hN(_){await z_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await z_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var g_={};m(g_,{up:()=>oN,down:()=>aN});import{sql as H}from"kysely";async function oN(_){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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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(H`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(H`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(H`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(H`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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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 aN(_){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 q_={};m(q_,{up:()=>rN,down:()=>eN});import{sql as XT}from"kysely";async function rN(_){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(XT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(XT`CURRENT_TIMESTAMP`)).execute()}async function eN(_){await _.schema.dropTable("organization_settings").execute()}var c_={};m(c_,{up:()=>lN,down:()=>sN});async function lN(_){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 sN(_){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 h_={};m(h_,{up:()=>dN,down:()=>bN});async function dN(_){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 bN(_){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 o_={};m(o_,{up:()=>_K,down:()=>xK});async function _K(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function xK(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var a_={};m(a_,{up:()=>mK,down:()=>CK});import{sql as uK}from"kysely";async function mK(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",uK`text`).execute()}async function CK(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var r_={};m(r_,{up:()=>TK,down:()=>NK});async function TK(_){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 NK(_){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 e_={};m(e_,{up:()=>KK,down:()=>EK});import{sql as r}from"kysely";async function KK(_){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(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(r`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(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(r`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(r`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 EK(_){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 l_={};m(l_,{up:()=>PK,down:()=>$K});import{sql as zK}from"kysely";async function PK(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function $K(_){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(zK`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 s_={};m(s_,{up:()=>UK,down:()=>JK});import{sql as P_}from"kysely";async function UK(_){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(P_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(P_`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(P_`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 P_`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 JK(_){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 d_={};m(d_,{up:()=>XK,down:()=>jK});async function XK(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function jK(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var b_={};m(b_,{up:()=>QK,down:()=>WK});import{sql as $_}from"kysely";async function QK(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await $_`
|
|
68
|
+
`.execute(_)}async function rN(_){await z_`DROP TRIGGER IF EXISTS connection_repository_compat ON connections`.execute(_),await z_`DROP FUNCTION IF EXISTS adopt_legacy_repository()`.execute(_)}var q_={};m(q_,{up:()=>eN,down:()=>lN});import{sql as H}from"kysely";async function eN(_){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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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(H`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(H`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(H`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(H`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(H`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(H`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 lN(_){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 c_={};m(c_,{up:()=>sN,down:()=>dN});import{sql as jT}from"kysely";async function sN(_){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(jT`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(x)=>x.notNull().defaultTo(jT`CURRENT_TIMESTAMP`)).execute()}async function dN(_){await _.schema.dropTable("organization_settings").execute()}var h_={};m(h_,{up:()=>bN,down:()=>_K});async function bN(_){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 _K(_){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 o_={};m(o_,{up:()=>xK,down:()=>uK});async function xK(_){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 uK(_){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 a_={};m(a_,{up:()=>mK,down:()=>CK});async function mK(_){await _.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await _.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function CK(_){await _.schema.alterTable("connections").dropColumn("configuration_state").execute(),await _.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var r_={};m(r_,{up:()=>NK,down:()=>KK});import{sql as TK}from"kysely";async function NK(_){await _.schema.alterTable("organization_settings").addColumn("sidebar_items",TK`text`).execute()}async function KK(_){await _.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var e_={};m(e_,{up:()=>EK,down:()=>zK});async function EK(_){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 zK(_){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 l_={};m(l_,{up:()=>PK,down:()=>$K});import{sql as r}from"kysely";async function PK(_){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(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(r`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(r`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(r`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(r`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 $K(_){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 s_={};m(s_,{up:()=>JK,down:()=>XK});import{sql as UK}from"kysely";async function JK(_){await _.schema.dropTable("audit_logs").ifExists().execute()}async function XK(_){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(UK`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 d_={};m(d_,{up:()=>jK,down:()=>QK});import{sql as P_}from"kysely";async function jK(_){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(P_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(P_`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(P_`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 P_`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 QK(_){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 b_={};m(b_,{up:()=>WK,down:()=>ZK});async function WK(_){await _.schema.alterTable("gateways").addColumn("icon","text").execute()}async function ZK(_){await _.schema.alterTable("gateways").dropColumn("icon").execute()}var _x={};m(_x,{up:()=>LK,down:()=>DK});import{sql as $_}from"kysely";async function LK(_){await _.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).execute(),await $_`
|
|
69
69
|
UPDATE gateways
|
|
70
70
|
SET tool_selection_mode = CASE
|
|
71
71
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
72
72
|
ELSE 'inclusion'
|
|
73
73
|
END
|
|
74
|
-
`.execute(_),await $_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _old_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute(),await _.schema.alterTable("gateways").dropColumn("_old_tool_selection_strategy").execute()}async function
|
|
74
|
+
`.execute(_),await $_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _old_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute(),await _.schema.alterTable("gateways").dropColumn("_old_tool_selection_strategy").execute()}async function DK(_){await $_`ALTER TABLE gateways RENAME COLUMN tool_selection_strategy TO _new_tool_selection_strategy`.execute(_),await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text").execute(),await $_`
|
|
75
75
|
UPDATE gateways
|
|
76
76
|
SET tool_selection_strategy = CASE
|
|
77
77
|
WHEN tool_selection_mode = 'exclusion' THEN 'exclusion'
|
|
78
78
|
ELSE NULL
|
|
79
79
|
END
|
|
80
|
-
`.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var
|
|
80
|
+
`.execute(_),await _.schema.alterTable("gateways").dropColumn("_new_tool_selection_strategy").execute(),await _.schema.alterTable("gateways").dropColumn("tool_selection_mode").execute()}var xx={};m(xx,{up:()=>FK,down:()=>nK});async function FK(_){await _.schema.alterTable("monitoring_logs").addColumn("user_agent","text").execute(),await _.schema.alterTable("monitoring_logs").addColumn("gateway_id","text").execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}async function nK(_){await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("gateway_id").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("user_agent").execute()}var ux={};m(ux,{up:()=>RK,down:()=>YK});async function RK(_){await _.schema.alterTable("gateway_connections").addColumn("selected_resources","text").execute(),await _.schema.alterTable("gateway_connections").addColumn("selected_prompts","text").execute()}async function YK(_){await _.schema.alterTable("gateway_connections").dropColumn("selected_resources").execute(),await _.schema.alterTable("gateway_connections").dropColumn("selected_prompts").execute()}var mx={};m(mx,{up:()=>HK,down:()=>MK});async function HK(_){await _.schema.alterTable("monitoring_logs").addColumn("properties","text").execute()}async function MK(_){await _.schema.alterTable("monitoring_logs").dropColumn("properties").execute()}var Cx={};m(Cx,{up:()=>BK,down:()=>GK});async function BK(_){await _.schema.alterTable("downstream_tokens").addColumn("clientId","text").execute(),await _.schema.alterTable("downstream_tokens").addColumn("clientSecret","text").execute(),await _.schema.alterTable("downstream_tokens").addColumn("tokenEndpoint","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}async function GK(_){await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("tokenEndpoint").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("clientSecret").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("clientId").execute()}var Tx={};m(Tx,{up:()=>fK,down:()=>OK});import{sql as yK}from"kysely";async function fK(_){await yK`
|
|
81
81
|
DELETE FROM downstream_tokens
|
|
82
82
|
WHERE id NOT IN (
|
|
83
83
|
SELECT id FROM (
|
|
@@ -87,7 +87,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
87
87
|
) ranked
|
|
88
88
|
WHERE rn = 1
|
|
89
89
|
)
|
|
90
|
-
`.execute(_),await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await _.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function
|
|
90
|
+
`.execute(_),await _.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await _.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await _.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function OK(_){await _.schema.dropIndex("idx_downstream_tokens_connection").execute(),await _.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await _.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var Nx={};m(Nx,{up:()=>AK,down:()=>SK});async function AK(_){await _.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function SK(_){await _.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(x)=>x.notNull().defaultTo("passthrough")).execute()}var Kx={};m(Kx,{up:()=>IK,down:()=>wK});import{sql as QT}from"kysely";async function IK(_){await QT`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(_),await _.schema.alterTable("gateways").dropColumn("is_default").execute()}async function wK(_){await _.schema.alterTable("gateways").addColumn("is_default","integer",(x)=>x.notNull().defaultTo(0)).execute(),await QT`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(_)}var Ex={};m(Ex,{up:()=>VK,down:()=>kK});async function VK(_){await _.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function kK(_){await _.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var zx={};m(zx,{up:()=>pK,down:()=>tK});import{sql as U_}from"kysely";async function pK(_){await _.schema.createTable("threads").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("hidden","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await _.schema.createTable("thread_messages").addColumn("id","text",(x)=>x.primaryKey()).addColumn("thread_id","text",(x)=>x.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(x)=>x.notNull()).addColumn("role","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(U_`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function tK(_){await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropTable("thread_messages").execute(),await _.schema.dropTable("threads").execute()}var Px={};m(Px,{up:()=>iK,down:()=>vK});async function iK(_){await _.schema.dropIndex("idx_gateway_connections_unique").execute(),await _.schema.dropIndex("idx_gateway_connections_connection").execute(),await _.schema.dropIndex("idx_gateway_connections_gateway").execute(),await _.schema.dropIndex("idx_gateways_org_status").execute(),await _.schema.dropIndex("idx_gateways_org").execute(),await _.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await _.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await _.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function vK(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await _.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await _.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await _.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var $x={};m($x,{up:()=>gK,down:()=>qK});async function gK(_){await _.schema.dropIndex("idx_threads_org").execute(),await _.schema.dropIndex("idx_thread_messages_thread").execute(),await _.schema.dropIndex("idx_threads_org_updated").execute(),await _.schema.dropIndex("idx_threads_created_by").execute(),await _.schema.dropIndex("idx_thread_messages_thread_created").execute(),await _.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await _.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function qK(_){await _.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await _.schema.dropIndex("idx_threads_created_by_updated").execute(),await _.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await _.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await _.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await _.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await _.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var Ux={};m(Ux,{up:()=>cK,down:()=>hK});import{sql as W}from"kysely";async function cK(_){await W`
|
|
91
91
|
INSERT INTO connections (
|
|
92
92
|
id,
|
|
93
93
|
organization_id,
|
|
@@ -134,7 +134,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
134
134
|
created_at,
|
|
135
135
|
updated_at
|
|
136
136
|
FROM virtual_mcps
|
|
137
|
-
`.execute(_),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let x=await W`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(_);if(await _.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),x)await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_);await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.dropTable("virtual_mcps").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function
|
|
137
|
+
`.execute(_),await _.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await _.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute();let x=await W`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1);if(x)await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_gateway_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS gateway_connections_connection_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_virtual_mcp_id_fkey`.execute(_),await W`ALTER TABLE virtual_mcp_connections DROP CONSTRAINT IF EXISTS virtual_mcp_connections_connection_id_fkey`.execute(_);if(await _.schema.alterTable("virtual_mcp_connections").renameTo("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("virtual_mcp_id","parent_connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("connection_id","child_connection_id").execute(),x)await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_parent_fk FOREIGN KEY (parent_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_),await W`ALTER TABLE connection_aggregations ADD CONSTRAINT conn_agg_child_fk FOREIGN KEY (child_connection_id) REFERENCES connections(id) ON DELETE CASCADE`.execute(_);await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute(),await _.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await _.schema.dropIndex("idx_virtual_mcps_org").execute(),await _.schema.dropTable("virtual_mcps").execute(),await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function hK(_){await _.schema.createTable("virtual_mcps").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(x)=>x.notNull()).addColumn("description","text").addColumn("tool_selection_mode","text",(x)=>x.notNull().defaultTo("inclusion")).addColumn("icon","text").addColumn("status","text",(x)=>x.notNull().defaultTo("active")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await W`
|
|
138
138
|
INSERT INTO virtual_mcps (
|
|
139
139
|
id, organization_id, title, description, icon, status,
|
|
140
140
|
created_at, updated_at, created_by, updated_by, tool_selection_mode
|
|
@@ -144,7 +144,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
144
144
|
created_at, updated_at, created_by, NULL, 'inclusion'
|
|
145
145
|
FROM connections
|
|
146
146
|
WHERE connection_type = 'VIRTUAL'
|
|
147
|
-
`.execute(_),await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await _.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await W`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(_),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var
|
|
147
|
+
`.execute(_),await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await _.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await _.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await W`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(_),await _.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await _.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var Jx={};m(Jx,{up:()=>oK,down:()=>aK});async function oK(_){await _.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_id").on("monitoring_logs").columns(["virtual_mcp_id"]).execute(),await _.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function aK(_){await _.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await _.schema.dropIndex("monitoring_logs_virtual_mcp_id").execute(),await _.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute()}var Xx={};m(Xx,{up:()=>rK,down:()=>eK});import{sql as M}from"kysely";async function rK(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(M`CURRENT_TIMESTAMP`)).execute(),await M`
|
|
148
148
|
INSERT INTO connection_aggregations_new (
|
|
149
149
|
id, parent_connection_id, child_connection_id,
|
|
150
150
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -153,7 +153,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
153
153
|
id, parent_connection_id, child_connection_id,
|
|
154
154
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
155
155
|
FROM connection_aggregations
|
|
156
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await M`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await M`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await M`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function
|
|
156
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await M`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await M`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await M`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function eK(_){if(await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(M`CURRENT_TIMESTAMP`)).execute(),await M`
|
|
157
157
|
INSERT INTO connection_aggregations_new (
|
|
158
158
|
id, parent_connection_id, child_connection_id,
|
|
159
159
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -162,7 +162,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
162
162
|
id, parent_connection_id, child_connection_id,
|
|
163
163
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
164
164
|
FROM connection_aggregations
|
|
165
|
-
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await M`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await M`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await M`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var
|
|
165
|
+
`.execute(_),await _.schema.dropTable("connection_aggregations").execute(),await _.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await M`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await M`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(_),await M`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(_);await _.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await _.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var Qx={};m(Qx,{up:()=>lK,down:()=>sK});import{sql as jx}from"kysely";async function lK(_){await jx`
|
|
166
166
|
UPDATE connections
|
|
167
167
|
SET connection_url = connection_url || '/management',
|
|
168
168
|
tools = NULL,
|
|
@@ -170,42 +170,42 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
170
170
|
WHERE connection_url LIKE '%/mcp'
|
|
171
171
|
AND connection_url NOT LIKE '%/mcp/management'
|
|
172
172
|
AND app_name = '@deco/management-mcp'
|
|
173
|
-
`.execute(_),await
|
|
173
|
+
`.execute(_),await jx`
|
|
174
174
|
UPDATE connections
|
|
175
175
|
SET tools = NULL,
|
|
176
176
|
updated_at = CURRENT_TIMESTAMP
|
|
177
177
|
WHERE app_name = '@deco/management-mcp'
|
|
178
178
|
AND tools IS NOT NULL
|
|
179
|
-
`.execute(_)}async function
|
|
179
|
+
`.execute(_)}async function sK(_){await jx`
|
|
180
180
|
UPDATE connections
|
|
181
181
|
SET connection_url = SUBSTR(connection_url, 1, LENGTH(connection_url) - LENGTH('/management')),
|
|
182
182
|
updated_at = CURRENT_TIMESTAMP
|
|
183
183
|
WHERE connection_url LIKE '%/mcp/management'
|
|
184
184
|
AND app_name = '@deco/management-mcp'
|
|
185
|
-
`.execute(_)}var
|
|
185
|
+
`.execute(_)}var Zx={};m(Zx,{up:()=>dK,down:()=>bK});import{sql as Wx}from"kysely";async function dK(_){await Wx`
|
|
186
186
|
UPDATE connections
|
|
187
187
|
SET connection_url = REPLACE(connection_url, '/mcp/management', '/mcp/self'),
|
|
188
188
|
tools = NULL,
|
|
189
189
|
updated_at = CURRENT_TIMESTAMP
|
|
190
190
|
WHERE connection_url LIKE '%/mcp/management'
|
|
191
191
|
AND app_name = '@deco/management-mcp'
|
|
192
|
-
`.execute(_),await
|
|
192
|
+
`.execute(_),await Wx`
|
|
193
193
|
UPDATE connections
|
|
194
194
|
SET tools = NULL,
|
|
195
195
|
updated_at = CURRENT_TIMESTAMP
|
|
196
196
|
WHERE connection_url LIKE '%/mcp/self'
|
|
197
197
|
AND app_name = '@deco/management-mcp'
|
|
198
198
|
AND tools IS NOT NULL
|
|
199
|
-
`.execute(_)}async function
|
|
199
|
+
`.execute(_)}async function bK(_){await Wx`
|
|
200
200
|
UPDATE connections
|
|
201
201
|
SET connection_url = REPLACE(connection_url, '/mcp/self', '/mcp/management'),
|
|
202
202
|
updated_at = CURRENT_TIMESTAMP
|
|
203
203
|
WHERE connection_url LIKE '%/mcp/self'
|
|
204
204
|
AND app_name = '@deco/management-mcp'
|
|
205
|
-
`.execute(_)}var
|
|
205
|
+
`.execute(_)}var Lx={};m(Lx,{up:()=>_E,down:()=>xE});async function _E(_){await _.schema.alterTable("connections").addColumn("updated_by","text").execute()}async function xE(_){await _.schema.alterTable("connections").dropColumn("updated_by").execute()}var Dx={};m(Dx,{up:()=>uE,down:()=>mE});import{sql as WT}from"kysely";async function uE(_){await _.schema.createTable("organization_tags").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("created_at","text",(x)=>x.notNull().defaultTo(WT`CURRENT_TIMESTAMP`)).execute(),await _.schema.createTable("member_tags").addColumn("id","text",(x)=>x.primaryKey()).addColumn("member_id","text",(x)=>x.notNull().references("member.id").onDelete("cascade")).addColumn("tag_id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_at","text",(x)=>x.notNull().defaultTo(WT`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_organization_tags_org").on("organization_tags").columns(["organization_id"]).execute(),await _.schema.createIndex("idx_organization_tags_unique_name").on("organization_tags").columns(["organization_id","name"]).unique().execute(),await _.schema.createIndex("idx_member_tags_member").on("member_tags").columns(["member_id"]).execute(),await _.schema.createIndex("idx_member_tags_tag").on("member_tags").columns(["tag_id"]).execute(),await _.schema.createIndex("idx_member_tags_unique").on("member_tags").columns(["member_id","tag_id"]).unique().execute()}async function mE(_){await _.schema.dropIndex("idx_member_tags_unique").execute(),await _.schema.dropIndex("idx_member_tags_tag").execute(),await _.schema.dropIndex("idx_member_tags_member").execute(),await _.schema.dropIndex("idx_organization_tags_unique_name").execute(),await _.schema.dropIndex("idx_organization_tags_org").execute(),await _.schema.dropTable("member_tags").execute(),await _.schema.dropTable("organization_tags").execute()}var Fx={};m(Fx,{up:()=>CE,down:()=>TE});import{sql as e}from"kysely";async function CE(_){await e`
|
|
206
206
|
ALTER TABLE connection_aggregations
|
|
207
207
|
ADD COLUMN dependency_mode TEXT NOT NULL DEFAULT 'direct'
|
|
208
|
-
`.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function
|
|
208
|
+
`.execute(_),await _.schema.createIndex("idx_conn_agg_dependency_mode").on("connection_aggregations").columns(["parent_connection_id","dependency_mode"]).execute()}async function TE(_){if(await _.schema.dropIndex("idx_conn_agg_dependency_mode").execute(),await e`SELECT current_database()`.execute(_).then(()=>!0).catch(()=>!1))await e`ALTER TABLE connection_aggregations DROP COLUMN dependency_mode`.execute(_);else await _.schema.dropIndex("idx_conn_agg_unique").execute(),await _.schema.dropIndex("idx_conn_agg_child").execute(),await _.schema.dropIndex("idx_conn_agg_parent").execute(),await _.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(e`CURRENT_TIMESTAMP`)).execute(),await e`
|
|
209
209
|
INSERT INTO connection_aggregations_new (
|
|
210
210
|
id, parent_connection_id, child_connection_id,
|
|
211
211
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
@@ -214,42 +214,42 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
214
214
|
id, parent_connection_id, child_connection_id,
|
|
215
215
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
216
216
|
FROM connection_aggregations
|
|
217
|
-
`.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
|
|
217
|
+
`.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 nx={};m(nx,{up:()=>PE,down:()=>$E});import{webcrypto as LT}from"crypto";var ZT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var NE=128,w,k;function KE(_){if(!w||w.length<_)w=Buffer.allocUnsafe(_*NE),LT.getRandomValues(w),k=0;else if(k+_>w.length)LT.getRandomValues(w),k=0;k+=_}function p(_=21){KE(_|=0);let x="";for(let u=k-_;u<k;u++)x+=ZT[w[u]&63];return x}var EE="org-admin",zE="Organization Admin";async function PE(_){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 T=new Date().toISOString(),C=`proj_${p()}`,N=await _.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await _.insertInto("projects").values({id:C,organization_id:u.id,slug:EE,name:zE,description:null,enabled_plugins:N?.enabled_plugins??null,ui:null,created_at:T,updated_at:T}).execute()}}async function $E(_){await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("projects").execute()}var Rx={};m(Rx,{up:()=>UE,down:()=>JE});async function UE(_){await _.schema.alterTable("threads").addColumn("status","text",(x)=>x.notNull().defaultTo("completed")).execute()}async function JE(_){await _.schema.alterTable("threads").dropColumn("status").execute()}var Yx={};m(Yx,{up:()=>XE,down:()=>jE});async function XE(_){}async function jE(_){}var Hx={};m(Hx,{up:()=>QE,down:()=>WE});async function QE(_){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 WE(_){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 Mx={};m(Mx,{up:()=>ZE,down:()=>LE});import{sql as DT}from"kysely";async function ZE(_){await DT`
|
|
218
218
|
UPDATE connections
|
|
219
219
|
SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
|
|
220
220
|
tools = NULL,
|
|
221
221
|
updated_at = CURRENT_TIMESTAMP
|
|
222
222
|
WHERE connection_url = 'https://api.decocms.com/mcp/registry'
|
|
223
223
|
AND app_name = 'deco-registry'
|
|
224
|
-
`.execute(_)}async function
|
|
224
|
+
`.execute(_)}async function LE(_){await DT`
|
|
225
225
|
UPDATE connections
|
|
226
226
|
SET connection_url = 'https://api.decocms.com/mcp/registry',
|
|
227
227
|
updated_at = CURRENT_TIMESTAMP
|
|
228
228
|
WHERE connection_url = 'https://studio.decocms.com/org/deco/registry/mcp'
|
|
229
229
|
AND app_name = 'deco-registry'
|
|
230
|
-
`.execute(_)}var
|
|
230
|
+
`.execute(_)}var Bx={};m(Bx,{up:()=>FE,down:()=>nE});import{sql as DE}from"kysely";async function FE(_){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(DE`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 nE(_){await _.schema.dropTable("ai_provider_keys").execute()}var Gx={};m(Gx,{up:()=>YE,down:()=>HE});import{sql as RE}from"kysely";async function YE(_){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(RE`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function HE(_){await _.schema.dropTable("oauth_pkce_states").execute()}var yx={};m(yx,{up:()=>ME,down:()=>BE});import{sql as O}from"kysely";async function ME(_){await _.schema.createTable("automations").addColumn("id","text",(x)=>x.primaryKey().defaultTo(O`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(O`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(O`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(O`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(O`CURRENT_TIMESTAMP`)).execute(),await O`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_),await O`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(_),await O`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 BE(_){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 fx={};m(fx,{up:()=>GE,down:()=>yE});async function GE(_){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 yE(_){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 Ox={};m(Ox,{up:()=>fE,down:()=>OE});async function fE(_){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 OE(_){await _.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await _.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var Ax={};m(Ax,{up:()=>AE,down:()=>SE});import{sql as FT}from"kysely";async function AE(_){await FT`
|
|
231
231
|
UPDATE connections
|
|
232
232
|
SET title = 'CMS MCP',
|
|
233
233
|
tools = NULL,
|
|
234
234
|
updated_at = CURRENT_TIMESTAMP
|
|
235
235
|
WHERE app_name = '@deco/management-mcp'
|
|
236
|
-
`.execute(_)}async function
|
|
236
|
+
`.execute(_)}async function SE(_){await FT`
|
|
237
237
|
UPDATE connections
|
|
238
238
|
SET title = 'Mesh MCP',
|
|
239
239
|
updated_at = CURRENT_TIMESTAMP
|
|
240
240
|
WHERE app_name = '@deco/management-mcp'
|
|
241
|
-
`.execute(_)}var
|
|
241
|
+
`.execute(_)}var Sx={};m(Sx,{up:()=>IE,down:()=>wE});import{sql as nT}from"kysely";async function IE(_){await nT`
|
|
242
242
|
UPDATE connections
|
|
243
243
|
SET title = 'Deco CMS',
|
|
244
244
|
tools = NULL,
|
|
245
245
|
updated_at = CURRENT_TIMESTAMP
|
|
246
246
|
WHERE app_name = '@deco/management-mcp'
|
|
247
|
-
`.execute(_)}async function
|
|
247
|
+
`.execute(_)}async function wE(_){await nT`
|
|
248
248
|
UPDATE connections
|
|
249
249
|
SET title = 'CMS MCP',
|
|
250
250
|
updated_at = CURRENT_TIMESTAMP
|
|
251
251
|
WHERE app_name = '@deco/management-mcp'
|
|
252
|
-
`.execute(_)}var
|
|
252
|
+
`.execute(_)}var Ix={};m(Ix,{up:()=>VE,down:()=>kE});async function VE(_){await _.schema.alterTable("connections").dropColumn("tools").execute()}async function kE(_){await _.schema.alterTable("connections").addColumn("tools","text").execute()}var wx={};m(wx,{up:()=>pE,down:()=>tE});async function pE(_){await _.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function tE(_){await _.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var kx={};m(kx,{up:()=>iE,down:()=>vE});import{sql as Vx}from"kysely";async function iE(_){await Vx`
|
|
253
253
|
UPDATE organization_settings
|
|
254
254
|
SET enabled_plugins = (
|
|
255
255
|
SELECT COALESCE(json_agg(elem), '[]'::json)::text
|
|
@@ -258,7 +258,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
258
258
|
)
|
|
259
259
|
WHERE enabled_plugins IS NOT NULL
|
|
260
260
|
AND enabled_plugins LIKE '%object-storage%'
|
|
261
|
-
`.execute(_),await
|
|
261
|
+
`.execute(_),await Vx`
|
|
262
262
|
UPDATE projects
|
|
263
263
|
SET enabled_plugins = (
|
|
264
264
|
SELECT COALESCE(json_agg(elem), '[]'::json)::text
|
|
@@ -267,28 +267,28 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
267
267
|
)
|
|
268
268
|
WHERE enabled_plugins IS NOT NULL
|
|
269
269
|
AND enabled_plugins LIKE '%object-storage%'
|
|
270
|
-
`.execute(_),await
|
|
270
|
+
`.execute(_),await Vx`
|
|
271
271
|
DELETE FROM project_plugin_configs
|
|
272
272
|
WHERE plugin_id = 'object-storage'
|
|
273
|
-
`.execute(_)}async function
|
|
273
|
+
`.execute(_)}async function vE(_){}var px={};m(px,{up:()=>gE,down:()=>qE});import{sql as RT}from"kysely";async function gE(_){await _.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await RT`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(_)}async function qE(_){await RT`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(_),await _.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var ix={};m(ix,{up:()=>cE,down:()=>hE});import{sql as tx}from"kysely";async function cE(_){await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await tx`
|
|
274
274
|
ALTER TABLE connections
|
|
275
275
|
ADD CONSTRAINT chk_connections_subtype
|
|
276
276
|
CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
|
|
277
|
-
`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await
|
|
277
|
+
`.execute(_),await _.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await tx`
|
|
278
278
|
UPDATE connections
|
|
279
279
|
SET subtype = 'agent'
|
|
280
280
|
WHERE connection_type = 'VIRTUAL'
|
|
281
|
-
`.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(K)=>K.primaryKey()).addColumn("virtual_mcp_id","text",(K)=>K.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(K)=>K.notNull()).addColumn("connection_id","text",(K)=>K.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(K)=>K.notNull()).addColumn("updated_at","text",(K)=>K.notNull()).execute(),await _.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await _.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let x=await _.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await _.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),T=new Map;for(let K of u)T.set(K.organizationId,K.userId);let C=new Map;for(let K of x){let z=`vir_${p()}`;C.set(K.id,z);let $=K.ui?JSON.parse(K.ui):null,U=JSON.stringify({enabled_plugins:K.enabled_plugins?JSON.parse(K.enabled_plugins):null,ui:$,migrated_from_project:K.id,migrated_project_slug:K.slug}),Q=T.get(K.organization_id);if(!Q)continue;await _.insertInto("connections").values({id:z,organization_id:K.organization_id,created_by:Q,updated_by:null,title:K.name,description:K.description,icon:$?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${z}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:U,bindings:null,status:"active",subtype:"project",created_at:K.created_at,updated_at:K.updated_at}).execute()}let N=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let K of N){let z=C.get(K.project_id);if(!z)continue;await _.insertInto("connection_aggregations").values({id:`agg_${p()}`,parent_connection_id:z,child_connection_id:K.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:K.created_at}).onConflict(($)=>$.doNothing()).execute()}let E=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let K of E){let z=C.get(K.project_id);if(!z)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${p()}`,virtual_mcp_id:z,plugin_id:K.plugin_id,connection_id:K.connection_id,settings:K.settings,created_at:K.created_at,updated_at:K.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function
|
|
281
|
+
`.execute(_),await _.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(K)=>K.primaryKey()).addColumn("virtual_mcp_id","text",(K)=>K.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(K)=>K.notNull()).addColumn("connection_id","text",(K)=>K.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(K)=>K.notNull()).addColumn("updated_at","text",(K)=>K.notNull()).execute(),await _.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await _.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let x=await _.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await _.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),T=new Map;for(let K of u)T.set(K.organizationId,K.userId);let C=new Map;for(let K of x){let z=`vir_${p()}`;C.set(K.id,z);let $=K.ui?JSON.parse(K.ui):null,U=JSON.stringify({enabled_plugins:K.enabled_plugins?JSON.parse(K.enabled_plugins):null,ui:$,migrated_from_project:K.id,migrated_project_slug:K.slug}),Q=T.get(K.organization_id);if(!Q)continue;await _.insertInto("connections").values({id:z,organization_id:K.organization_id,created_by:Q,updated_by:null,title:K.name,description:K.description,icon:$?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${z}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:U,bindings:null,status:"active",subtype:"project",created_at:K.created_at,updated_at:K.updated_at}).execute()}let N=await _.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let K of N){let z=C.get(K.project_id);if(!z)continue;await _.insertInto("connection_aggregations").values({id:`agg_${p()}`,parent_connection_id:z,child_connection_id:K.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:K.created_at}).onConflict(($)=>$.doNothing()).execute()}let E=await _.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let K of E){let z=C.get(K.project_id);if(!z)continue;await _.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${p()}`,virtual_mcp_id:z,plugin_id:K.plugin_id,connection_id:K.connection_id,settings:K.settings,created_at:K.created_at,updated_at:K.updated_at}).execute()}await _.schema.dropTable("project_plugin_configs").execute(),await _.schema.dropTable("project_connections").execute(),await _.schema.dropTable("projects").execute()}async function hE(_){await _.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await tx`
|
|
282
282
|
ALTER TABLE connections
|
|
283
283
|
DROP CONSTRAINT IF EXISTS chk_connections_subtype
|
|
284
|
-
`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var
|
|
284
|
+
`.execute(_),await _.schema.alterTable("connections").dropColumn("subtype").execute()}var vx={};m(vx,{up:()=>aE,down:()=>rE});import{sql as oE}from"kysely";async function aE(_){await oE`
|
|
285
285
|
DELETE FROM connections
|
|
286
286
|
WHERE connection_type = 'VIRTUAL'
|
|
287
287
|
AND subtype = 'project'
|
|
288
288
|
AND metadata::json->>'migrated_project_slug' = 'org-admin'
|
|
289
|
-
`.execute(_)}async function
|
|
289
|
+
`.execute(_)}async function rE(_){}var gx={};m(gx,{up:()=>lE,down:()=>sE});import{sql as eE}from"kysely";async function lE(_){await _.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await eE`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(_)}async function sE(_){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 cx={};m(cx,{up:()=>dE,down:()=>bE});import{sql as qx}from"kysely";async function dE(_){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(qx`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(qx`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(qx`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 bE(_){await _.schema.dropTable("org_sso_sessions").execute(),await _.schema.dropTable("org_sso_config").execute()}var hx={};m(hx,{up:()=>_z,down:()=>xz});async function _z(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute()}async function xz(_){await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}var ox={};m(ox,{up:()=>uz,down:()=>mz});async function uz(_){await _.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function mz(_){await _.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var rx={};m(rx,{up:()=>Tz,down:()=>Nz});import{sql as YT}from"kysely";function ax(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Cz(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),T=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return ax(T)}catch{return ax(_.connection_url)}if(_.title)return ax(_.title);return _.id}async function Tz(_){await _.schema.alterTable("connections").addColumn("slug","text").execute();let x=await YT`
|
|
290
290
|
SELECT id, app_name, connection_url, title FROM connections
|
|
291
|
-
`.execute(_);for(let u of x.rows){let T=
|
|
291
|
+
`.execute(_);for(let u of x.rows){let T=Cz(u);await YT`UPDATE connections SET slug = ${T} WHERE id = ${u.id}`.execute(_)}await _.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function Nz(_){await _.schema.dropIndex("idx_connections_org_slug").execute(),await _.schema.alterTable("connections").dropColumn("slug").execute()}var ex={};m(ex,{up:()=>Kz,down:()=>Ez});import{sql as l}from"kysely";async function Kz(_){await _.schema.alterTable("connections").addColumn("pinned","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await l`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(_),await _.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await l`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 Ez(_){await _.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await _.schema.alterTable("connections").addColumn("subtype","text").execute(),await l`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(_),await l`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(_),await l`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 lx={};m(lx,{up:()=>zz,down:()=>Pz});async function zz(_){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 Pz(_){await _.schema.dropIndex("idx_automations_virtual_mcp").execute(),await _.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var sx={};m(sx,{up:()=>$z,down:()=>Uz});import{sql as J_}from"kysely";async function $z(_){await _.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(x)=>x.notNull().defaultTo("")).execute(),await J_`
|
|
292
292
|
UPDATE threads
|
|
293
293
|
SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
|
|
294
294
|
WHERE agent_ids IS NOT NULL
|
|
@@ -298,14 +298,14 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
298
298
|
`.execute(_),await J_`
|
|
299
299
|
CREATE INDEX idx_threads_virtual_mcp_id
|
|
300
300
|
ON threads (organization_id, virtual_mcp_id, hidden, updated_at DESC)
|
|
301
|
-
`.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function
|
|
301
|
+
`.execute(_),await _.schema.alterTable("threads").dropColumn("agent_ids").execute()}async function Uz(_){await _.schema.alterTable("threads").addColumn("agent_ids","text",(x)=>x.defaultTo("[]")).execute(),await J_`
|
|
302
302
|
UPDATE threads
|
|
303
303
|
SET agent_ids = CASE
|
|
304
304
|
WHEN virtual_mcp_id IS NOT NULL AND virtual_mcp_id != ''
|
|
305
305
|
THEN jsonb_build_array(virtual_mcp_id)::text
|
|
306
306
|
ELSE '[]'
|
|
307
307
|
END
|
|
308
|
-
`.execute(_),await J_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var
|
|
308
|
+
`.execute(_),await J_`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(_),await _.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var dx={};m(dx,{up:()=>Jz,down:()=>Xz});async function Jz(_){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 Xz(_){await _.schema.dropTable("trigger_callback_tokens").execute()}var bx={};m(bx,{up:()=>jz,down:()=>Qz});async function jz(_){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 Qz(_){await _.schema.dropTable("kv").execute()}var _u={};m(_u,{up:()=>Wz,down:()=>Zz});async function Wz(_){await _.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function Zz(_){await _.schema.dropIndex("idx_member_user_org").execute()}var xu={};m(xu,{up:()=>Lz,down:()=>Dz});async function Lz(_){await _.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function Dz(_){await _.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var uu={};m(uu,{up:()=>Fz,down:()=>nz});import{sql as D}from"kysely";async function Fz(_){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(D`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(D`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 D`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(D`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(D`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 D`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(D`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(D`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(D`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(D`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(x)=>x.notNull().defaultTo(D`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 nz(_){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 mu={};m(mu,{up:()=>Rz,down:()=>Yz});import{sql as t}from"kysely";async function Rz(_){await t`
|
|
309
309
|
ALTER TABLE event_subscriptions
|
|
310
310
|
ALTER COLUMN enabled DROP DEFAULT
|
|
311
311
|
`.execute(_),await t`
|
|
@@ -315,7 +315,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
315
315
|
`.execute(_),await t`
|
|
316
316
|
ALTER TABLE event_subscriptions
|
|
317
317
|
ALTER COLUMN enabled SET DEFAULT true
|
|
318
|
-
`.execute(_)}async function
|
|
318
|
+
`.execute(_)}async function Yz(_){await t`
|
|
319
319
|
ALTER TABLE event_subscriptions
|
|
320
320
|
ALTER COLUMN enabled DROP DEFAULT
|
|
321
321
|
`.execute(_),await t`
|
|
@@ -325,7 +325,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
325
325
|
`.execute(_),await t`
|
|
326
326
|
ALTER TABLE event_subscriptions
|
|
327
327
|
ALTER COLUMN enabled SET DEFAULT 1
|
|
328
|
-
`.execute(_)}var
|
|
328
|
+
`.execute(_)}var Cu={};m(Cu,{up:()=>Hz,down:()=>Mz});import{sql as HT}from"kysely";async function Hz(_){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(HT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(HT`now()`)).execute(),await _.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function Mz(_){await _.schema.dropTable("brand_context").execute()}var Tu={};m(Tu,{up:()=>Bz,down:()=>Gz});import{sql as MT}from"kysely";async function Bz(_){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(MT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(MT`now()`)).execute()}async function Gz(_){await _.schema.dropTable("organization_domains").execute()}var Nu={};m(Nu,{up:()=>Az,down:()=>Sz});import{sql as BT}from"kysely";var X_=new Set(["primary","secondary","accent","background","foreground"]),yz={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function fz(_){let x={};if(!_)return{structured:null,extra:x};if(!Array.isArray(_)&&typeof _==="object"){let u=_;if(Object.keys(u).some((C)=>X_.has(C))){let C={};for(let[N,E]of Object.entries(u)){if(typeof E!=="string")continue;if(X_.has(N))C[N]=E;else x[N]=E}return{structured:Object.keys(C).length>0?JSON.stringify(C):null,extra:x}}let T={};for(let[C,N]of Object.entries(u)){if(typeof N!=="string")continue;if(X_.has(C.toLowerCase()))T[C.toLowerCase()]=N;else x[C]=N}return{structured:Object.keys(T).length>0?JSON.stringify(T):null,extra:x}}if(Array.isArray(_)){let u={};for(let T of _){let C=T,N=C.label?.toLowerCase?.(),E=C.value;if(!N||!E)continue;if(X_.has(N))u[N]=E;else x[N]=E}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:x}}return{structured:null,extra:x}}function Oz(_){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 T of _){let C=T,N=C.name??C.family??void 0,E=C.role?.toLowerCase?.()??"";if(!N)continue;let K=yz[E];if(K&&!x[K])x[K]=N;else u.push(N)}if(!x.body&&u[0])x.body=u[0];return Object.keys(x).length>0?JSON.stringify(x):null}return null}async function Az(_){let x=await BT`SELECT id, colors, fonts, metadata FROM brand_context`.execute(_);for(let u of x.rows){let T=!1,C=!1,N=!1,E=u.colors,K=u.fonts,z={};try{z=u.metadata?JSON.parse(u.metadata):{}}catch{}if(u.colors)try{let $=JSON.parse(u.colors);if(Array.isArray($)){let U=fz($);if(E=U.structured,T=!0,Object.keys(U.extra).length>0)z.extraColors=U.extra,N=!0}}catch{}if(u.fonts)try{let $=JSON.parse(u.fonts);if(Array.isArray($))K=Oz($),C=!0}catch{}if(T||C||N){let $=N?JSON.stringify(z):u.metadata;await BT`
|
|
329
329
|
UPDATE brand_context
|
|
330
330
|
SET
|
|
331
331
|
colors = ${E},
|
|
@@ -333,20 +333,20 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
333
333
|
metadata = ${$},
|
|
334
334
|
updated_at = NOW()
|
|
335
335
|
WHERE id = ${u.id}
|
|
336
|
-
`.execute(_)}}}async function
|
|
336
|
+
`.execute(_)}}}async function Sz(_){}var Ku={};m(Ku,{up:()=>wz,down:()=>Vz});import{sql as Iz}from"kysely";async function wz(_){await _.schema.alterTable("threads").addColumn("metadata","jsonb",(x)=>x.notNull().defaultTo(Iz`'{}'::jsonb`)).execute()}async function Vz(_){await _.schema.alterTable("threads").dropColumn("metadata").execute()}var Eu={};m(Eu,{up:()=>kz,down:()=>pz});async function kz(_){await _.schema.alterTable("threads").addColumn("branch","text").execute()}async function pz(_){await _.schema.alterTable("threads").dropColumn("branch").execute()}var zu={};m(zu,{up:()=>tz,down:()=>iz});async function tz(_){await _.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(x)=>x.notNull()).addColumn("project_ref","text",(x)=>x.notNull()).addColumn("runner_kind","text",(x)=>x.notNull()).addColumn("handle","text",(x)=>x.notNull()).addColumn("state","jsonb",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function iz(_){await _.schema.dropTable("sandbox_runner_state").execute()}var Pu={};m(Pu,{up:()=>vz,down:()=>gz});async function vz(_){await _.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function gz(_){await _.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var $u={};m($u,{up:()=>qz,down:()=>cz});async function qz(_){await _.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function cz(_){await _.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var Uu={};m(Uu,{up:()=>hz,down:()=>oz});async function hz(_){await _.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function oz(_){await _.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var Ju={};m(Ju,{up:()=>rz,down:()=>ez});import{sql as GT}from"kysely";var az=["COLLECTION_CONNECTIONS_LIST","COLLECTION_CONNECTIONS_GET","CONNECTION_TEST","COLLECTION_VIRTUAL_MCP_LIST","COLLECTION_VIRTUAL_MCP_GET","VIRTUAL_MCP_PLUGIN_CONFIG_GET","AUTOMATION_GET","AUTOMATION_LIST","AI_PROVIDERS_LIST","AI_PROVIDERS_LIST_MODELS","AI_PROVIDERS_ACTIVE","LIST_OBJECTS","GET_OBJECT_METADATA","GET_PRESIGNED_URL","PUT_PRESIGNED_URL","VM_START","VM_DELETE"];async function rz(_){let x=await GT`
|
|
337
337
|
SELECT id, permission FROM "organizationRole"
|
|
338
|
-
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let N=C,E=Array.from(new Set([...N,...
|
|
338
|
+
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let N=C,E=Array.from(new Set([...N,...az]));if(E.length===N.length)continue;T.self=E;let K=JSON.stringify(T);await GT`
|
|
339
339
|
UPDATE "organizationRole"
|
|
340
340
|
SET permission = ${K}
|
|
341
341
|
WHERE id = ${u.id}
|
|
342
|
-
`.execute(_)}}async function
|
|
342
|
+
`.execute(_)}}async function ez(_){}var Xu={};m(Xu,{up:()=>lz,down:()=>sz});async function lz(_){await _.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").execute()}async function sz(_){await _.schema.dropIndex("sandbox_runner_state_handle_idx").execute(),await _.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}var ju={};m(ju,{up:()=>dz,down:()=>bz});async function dz(_){await _.schema.alterTable("threads").addColumn("inflight_async_jobs","jsonb").execute()}async function bz(_){await _.schema.alterTable("threads").dropColumn("inflight_async_jobs").execute()}var Qu={};m(Qu,{up:()=>_0,down:()=>x0});import{sql as s}from"kysely";async function _0(_){await s`
|
|
343
343
|
UPDATE automations
|
|
344
344
|
SET virtual_mcp_id = (agent::json ->> 'id')
|
|
345
345
|
WHERE virtual_mcp_id IS NULL
|
|
346
346
|
`.execute(_),await s`
|
|
347
347
|
ALTER TABLE automations
|
|
348
348
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
349
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("agent").execute()}async function
|
|
349
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("agent").execute()}async function x0(_){await _.schema.alterTable("automations").addColumn("agent","text").execute(),await s`
|
|
350
350
|
UPDATE automations
|
|
351
351
|
SET agent = json_build_object('id', virtual_mcp_id)::text
|
|
352
352
|
`.execute(_),await s`
|
|
@@ -355,7 +355,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
355
355
|
`.execute(_),await s`
|
|
356
356
|
ALTER TABLE automations
|
|
357
357
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
358
|
-
`.execute(_)}var
|
|
358
|
+
`.execute(_)}var Zu={};m(Zu,{up:()=>T0,reshapeSimpleMode:()=>yT,inferAutomationTier:()=>fT,down:()=>N0,__testing:()=>C0});var u0={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}},m0=["fast","smart","thinking","image","web_research"];function Wu(_){if(!_||typeof _!=="object")return!1;let x=_;if(!("tiers"in x))return!1;let u=x.tiers;if(!u||typeof u!=="object")return!1;return m0.some((T)=>(T in u))}function yT(_){if(Wu(_))return _;let x=_,u=x?.enabled===!0,T=(C)=>C&&C.keyId&&C.modelId?{keyId:C.keyId,modelId:C.modelId,title:C.title}:null;if(!u)return u0;return{tiers:{fast:T(x?.chat?.fast),smart:T(x?.chat?.smart),thinking:T(x?.chat?.thinking),image:T(x?.image),web_research:T(x?.webResearch)}}}function fT(_){if(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking")return _.tier;if(_.thinking?.capabilities?.reasoning===!0)return"thinking";return"smart"}function OT(_){if(!(_.tier==="fast"||_.tier==="smart"||_.tier==="thinking"))return!1;return["credentialId","thinking","coding","fast","smart"].every((T)=>_[T]===void 0)}var C0={isAlreadyReshapedSimpleMode:Wu,isAlreadyReshapedAutomationModels:OT};async function T0(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let T of x){let C=T.simple_mode?typeof T.simple_mode==="string"?JSON.parse(T.simple_mode):T.simple_mode:null;if(Wu(C))continue;let N=yT(C);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(N)}).where("organizationId","=",T.organizationId).execute()}let u=await _.selectFrom("automations").select(["id","organization_id","models"]).execute();for(let T of u){let C;try{C=typeof T.models==="string"?JSON.parse(T.models):T.models}catch{C={}}if(OT(C))continue;let N=fT(C);if(await _.updateTable("automations").set({models:JSON.stringify({tier:N})}).where("id","=",T.id).execute(),C.thinking?.capabilities?.image)console.log(`[migration 077] automation ${T.id} previously used an image-only model; mapped to "${N}"`)}}async function N0(_){throw Error("077-tier-only-model-selection is not reversible. Restore from snapshot.")}var Lu={};m(Lu,{up:()=>K0,down:()=>E0});import{sql as y}from"kysely";async function K0(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await y`
|
|
359
359
|
ALTER TABLE automations
|
|
360
360
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
361
361
|
`.execute(_),await y`
|
|
@@ -377,19 +377,19 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
377
377
|
AND tool_input IS NOT NULL
|
|
378
378
|
)
|
|
379
379
|
)
|
|
380
|
-
`.execute(_)}async function
|
|
380
|
+
`.execute(_)}async function E0(_){await y`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await y`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await y`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await y`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await y`
|
|
381
381
|
ALTER TABLE automations
|
|
382
382
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
383
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var
|
|
383
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}var Du={};m(Du,{up:()=>P0,down:()=>$0});import{sql as AT}from"kysely";var z0=new Set(["host","docker","agent-sandbox"]);async function P0(_){let x=await AT`
|
|
384
384
|
SELECT id, metadata FROM "connections"
|
|
385
385
|
WHERE connection_type = 'VIRTUAL'
|
|
386
386
|
AND metadata IS NOT NULL
|
|
387
387
|
AND metadata LIKE '%vmMap%'
|
|
388
|
-
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.vmMap;if(!C||typeof C!=="object")continue;let N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[Q,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}let Y=X.runnerKind;if(Y!==void 0&&!
|
|
388
|
+
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.vmMap;if(!C||typeof C!=="object")continue;let N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[Q,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}let Y=X.runnerKind;if(Y!==void 0&&!z0.has(Y)){N=!0;continue}U[Q]=X}if(Object.keys(U).length>0)E[z]=U;else N=!0}if(!N)continue;T.vmMap=E;let K=JSON.stringify(T);await AT`
|
|
389
389
|
UPDATE "connections"
|
|
390
390
|
SET metadata = ${K}
|
|
391
391
|
WHERE id = ${u.id}
|
|
392
|
-
`.execute(_)}}async function
|
|
392
|
+
`.execute(_)}}async function $0(_){}var Fu={};m(Fu,{up:()=>U0,down:()=>J0});import{sql as d}from"kysely";async function U0(_){await _.schema.createTable("async_research_jobs").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(d`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(d`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(d`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 d`
|
|
393
393
|
CREATE INDEX async_research_jobs_active_idx
|
|
394
394
|
ON async_research_jobs (status, last_polled_at)
|
|
395
395
|
WHERE status IN ('pending', 'polling')
|
|
@@ -397,7 +397,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
397
397
|
ALTER TABLE async_research_jobs
|
|
398
398
|
ADD CONSTRAINT chk_async_research_jobs_status
|
|
399
399
|
CHECK (status IN ('pending','polling','completed','failed','cancelled','abandoned'))
|
|
400
|
-
`.execute(_)}async function
|
|
400
|
+
`.execute(_)}async function J0(_){await _.schema.dropTable("async_research_jobs").ifExists().execute()}var nu={};m(nu,{up:()=>X0,down:()=>j0});async function X0(_){await _.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function j0(_){await _.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Ru={};m(Ru,{up:()=>Q0,down:()=>W0});import{sql as i}from"kysely";async function Q0(_){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(i`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(i`CURRENT_TIMESTAMP`)).execute(),await i`
|
|
401
401
|
ALTER TABLE secrets
|
|
402
402
|
ADD CONSTRAINT chk_secrets_scope CHECK (scope IN ('user', 'organization'))
|
|
403
403
|
`.execute(_),await i`
|
|
@@ -414,7 +414,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
414
414
|
CREATE UNIQUE INDEX idx_secrets_org_name
|
|
415
415
|
ON secrets (organization_id, lower(name))
|
|
416
416
|
WHERE scope = 'organization'
|
|
417
|
-
`.execute(_)}async function
|
|
417
|
+
`.execute(_)}async function W0(_){await _.schema.dropTable("secrets").execute()}var Yu={};m(Yu,{up:()=>Z0,down:()=>L0});async function Z0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function L0(_){await _.schema.alterTable("threads").dropColumn("run_locally").execute()}var Hu={};m(Hu,{up:()=>F0,down:()=>n0});import{sql as D0}from"kysely";async function F0(_){await D0`delete from sandbox_runner_state where runner_kind = 'host'`.execute(_)}async function n0(_){}var Mu={};m(Mu,{up:()=>R0,down:()=>Y0});import{sql as j_}from"kysely";async function R0(_){await j_`
|
|
418
418
|
ALTER TABLE sandbox_runner_state
|
|
419
419
|
RENAME COLUMN runner_kind TO sandbox_provider_kind
|
|
420
420
|
`.execute(_),await j_`
|
|
@@ -452,7 +452,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
452
452
|
EXCEPTION WHEN undefined_table THEN
|
|
453
453
|
NULL;
|
|
454
454
|
END; $$
|
|
455
|
-
`.execute(_),await _.schema.alterTable("threads").dropColumn("run_locally").execute()}async function
|
|
455
|
+
`.execute(_),await _.schema.alterTable("threads").dropColumn("run_locally").execute()}async function Y0(_){await _.schema.alterTable("threads").addColumn("run_locally","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await j_`
|
|
456
456
|
ALTER TABLE sandbox_runner_state
|
|
457
457
|
RENAME COLUMN sandbox_provider_kind TO runner_kind
|
|
458
458
|
`.execute(_),await j_`
|
|
@@ -490,7 +490,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
490
490
|
EXCEPTION WHEN undefined_table THEN
|
|
491
491
|
NULL;
|
|
492
492
|
END; $$
|
|
493
|
-
`.execute(_)}var
|
|
493
|
+
`.execute(_)}var Bu={};m(Bu,{up:()=>H0,down:()=>M0});import{sql as ST}from"kysely";async function H0(_){await _.schema.alterTable("threads").addColumn("sandbox_provider_kind","text").execute(),await _.schema.alterTable("threads").addColumn("harness_id","text").execute(),await ST`
|
|
494
494
|
DO $$ BEGIN
|
|
495
495
|
UPDATE virtualmcps v
|
|
496
496
|
SET metadata = jsonb_set(
|
|
@@ -529,7 +529,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
529
529
|
-- PGlite migration order: virtualmcps not yet created. Safe no-op.
|
|
530
530
|
NULL;
|
|
531
531
|
END; $$
|
|
532
|
-
`.execute(_)}async function
|
|
532
|
+
`.execute(_)}async function M0(_){await _.schema.alterTable("threads").dropColumn("harness_id").execute(),await _.schema.alterTable("threads").dropColumn("sandbox_provider_kind").execute(),await ST`
|
|
533
533
|
DO $$ BEGIN
|
|
534
534
|
UPDATE virtualmcps v
|
|
535
535
|
SET metadata = jsonb_set(
|
|
@@ -562,7 +562,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
562
562
|
EXCEPTION WHEN undefined_table THEN
|
|
563
563
|
NULL;
|
|
564
564
|
END; $$
|
|
565
|
-
`.execute(_)}var
|
|
565
|
+
`.execute(_)}var Gu={};m(Gu,{up:()=>B0,down:()=>G0});import{sql as IT}from"kysely";async function B0(_){await IT`
|
|
566
566
|
UPDATE connections c
|
|
567
567
|
SET metadata = (
|
|
568
568
|
jsonb_set(
|
|
@@ -606,7 +606,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
606
606
|
JOIN jsonb_each(user_map) AS branches(branch_key, entry) ON true
|
|
607
607
|
WHERE entry ? 'vmId'
|
|
608
608
|
);
|
|
609
|
-
`.execute(_),await
|
|
609
|
+
`.execute(_),await IT`
|
|
610
610
|
UPDATE connections c
|
|
611
611
|
SET metadata = (
|
|
612
612
|
jsonb_set(
|
|
@@ -660,10 +660,10 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
660
660
|
JOIN jsonb_each(branch_entry) AS kinds(kind_key, inner_entry) ON true
|
|
661
661
|
WHERE inner_entry ? 'runnerKind'
|
|
662
662
|
);
|
|
663
|
-
`.execute(_)}async function
|
|
663
|
+
`.execute(_)}async function G0(_){}var yu={};m(yu,{up:()=>f0,down:()=>O0});import{sql as y0}from"kysely";async function f0(_){await y0`
|
|
664
664
|
DELETE FROM ai_provider_keys
|
|
665
665
|
WHERE provider_id IN ('claude-code', 'codex')
|
|
666
|
-
`.execute(_)}async function
|
|
666
|
+
`.execute(_)}async function O0(_){}var fu={};m(fu,{up:()=>A0,down:()=>S0});import{sql as Q_}from"kysely";async function A0(_){await Q_`
|
|
667
667
|
UPDATE sandbox_runner_state
|
|
668
668
|
SET sandbox_provider_kind = 'desktop'
|
|
669
669
|
WHERE sandbox_provider_kind = 'remote-user'
|
|
@@ -761,13 +761,13 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
761
761
|
UPDATE threads
|
|
762
762
|
SET sandbox_provider_kind = 'desktop'
|
|
763
763
|
WHERE sandbox_provider_kind = 'remote-user'
|
|
764
|
-
`.execute(_)}async function
|
|
764
|
+
`.execute(_)}async function S0(_){}var Ou={};m(Ou,{up:()=>I0,down:()=>w0});import{sql as b}from"kysely";async function I0(_){await b`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await b`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event', 'webhook'))`.execute(_),await _.schema.alterTable("automation_triggers").addColumn("api_key_id","text").execute()}async function w0(_){await _.schema.alterTable("automation_triggers").dropColumn("api_key_id").execute(),await b`DELETE FROM automation_triggers WHERE type = 'webhook'`.execute(_),await b`ALTER TABLE automation_triggers DROP CONSTRAINT chk_trigger_type`.execute(_),await b`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(_)}var Au={};m(Au,{up:()=>V0,down:()=>k0});import{sql as wT}from"kysely";async function V0(_){await wT`
|
|
765
765
|
ALTER TABLE organization_domains
|
|
766
766
|
DROP CONSTRAINT IF EXISTS organization_domains_domain_key
|
|
767
|
-
`.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function
|
|
767
|
+
`.execute(_),await _.schema.createIndex("organization_domains_domain_idx").ifNotExists().on("organization_domains").column("domain").execute()}async function k0(_){await _.schema.dropIndex("organization_domains_domain_idx").ifExists().execute(),await wT`
|
|
768
768
|
ALTER TABLE organization_domains
|
|
769
769
|
ADD CONSTRAINT organization_domains_domain_key UNIQUE (domain)
|
|
770
|
-
`.execute(_)}var
|
|
770
|
+
`.execute(_)}var Su={};m(Su,{up:()=>p0,down:()=>t0});import{sql as W_}from"kysely";async function p0(_){await W_`
|
|
771
771
|
UPDATE sandbox_runner_state
|
|
772
772
|
SET sandbox_provider_kind = CASE sandbox_provider_kind
|
|
773
773
|
WHEN 'docker' THEN 'local-docker'
|
|
@@ -856,19 +856,19 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
856
856
|
WHERE c.connection_type = 'VIRTUAL'
|
|
857
857
|
AND c.metadata IS NOT NULL
|
|
858
858
|
AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
|
|
859
|
-
`.execute(_)}async function
|
|
859
|
+
`.execute(_)}async function t0(_){}var Iu={};m(Iu,{up:()=>v0,down:()=>g0});import{sql as VT}from"kysely";var i0=["GLOBAL_SEARCH"];async function v0(_){let x=await VT`
|
|
860
860
|
SELECT id, permission FROM "organizationRole"
|
|
861
|
-
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let N=C,E=Array.from(new Set([...N,...
|
|
861
|
+
`.execute(_);for(let u of x.rows){if(!u.permission)continue;let T;try{T=JSON.parse(u.permission)}catch{continue}let C=T.self;if(!Array.isArray(C))continue;if(C.length===1&&C[0]==="*")continue;let N=C,E=Array.from(new Set([...N,...i0]));if(E.length===N.length)continue;T.self=E;let K=JSON.stringify(T);await VT`
|
|
862
862
|
UPDATE "organizationRole"
|
|
863
863
|
SET permission = ${K}
|
|
864
864
|
WHERE id = ${u.id}
|
|
865
|
-
`.execute(_)}}async function
|
|
865
|
+
`.execute(_)}}async function g0(_){}var Vu={};m(Vu,{up:()=>q0,down:()=>c0});import{sql as wu}from"kysely";async function q0(_){await _.schema.createTable("org_file_configs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(x)=>x.notNull()).addColumn("description","text").addColumn("bucket","text",(x)=>x.notNull()).addColumn("region","text",(x)=>x.notNull()).addColumn("endpoint","text").addColumn("force_path_style","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("prefix","text").addColumn("encrypted_credentials","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(wu`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(wu`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await wu`
|
|
866
866
|
CREATE UNIQUE INDEX idx_org_file_configs_org_name
|
|
867
867
|
ON org_file_configs (organization_id, lower(name))
|
|
868
|
-
`.execute(_)}async function
|
|
868
|
+
`.execute(_)}async function c0(_){await _.schema.dropTable("org_file_configs").execute()}var ku={};m(ku,{up:()=>h0,down:()=>o0});import{sql as f}from"kysely";async function h0(_){await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(_),await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(_),await f`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(_),await f`DELETE FROM automations WHERE kind = 'tool_call'`.execute(_),await f`
|
|
869
869
|
ALTER TABLE automations
|
|
870
870
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
871
|
-
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function
|
|
871
|
+
`.execute(_),await _.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function o0(_){await _.schema.alterTable("automations").addColumn("kind","text",(x)=>x.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await f`
|
|
872
872
|
ALTER TABLE automations
|
|
873
873
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
874
874
|
`.execute(_),await f`
|
|
@@ -890,25 +890,25 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
890
890
|
AND tool_input IS NOT NULL
|
|
891
891
|
)
|
|
892
892
|
)
|
|
893
|
-
`.execute(_)}var
|
|
893
|
+
`.execute(_)}var pu={};m(pu,{up:()=>a0,down:()=>r0});async function a0(_){await _.schema.alterTable("org_file_configs").addColumn("public_url_base","text").execute()}async function r0(_){await _.schema.alterTable("org_file_configs").dropColumn("public_url_base").execute()}var iu={};m(iu,{up:()=>e0,down:()=>l0});import{sql as tu}from"kysely";var Z_="local-docker";async function e0(_){await tu`delete from sandbox_runner_state where sandbox_provider_kind = ${Z_}`.execute(_);let x=await tu`
|
|
894
894
|
SELECT id, metadata FROM "connections"
|
|
895
895
|
WHERE connection_type = 'VIRTUAL'
|
|
896
896
|
AND metadata IS NOT NULL
|
|
897
897
|
AND metadata LIKE ${"%"+Z_+"%"}
|
|
898
|
-
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.sandboxMap;if(!C||typeof C!=="object")continue;let N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[Q,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}if(Z_ in X){N=!0;let Y={...X};if(delete Y[Z_],Object.keys(Y).length>0)U[Q]=Y}else U[Q]=X}if(Object.keys(U).length>0)E[z]=U;else N=!0}if(!N)continue;T.sandboxMap=E;let K=JSON.stringify(T);await
|
|
898
|
+
`.execute(_);for(let u of x.rows){if(!u.metadata)continue;let T;try{T=JSON.parse(u.metadata)}catch{continue}let C=T.sandboxMap;if(!C||typeof C!=="object")continue;let N=!1,E={};for(let[z,$]of Object.entries(C)){if(!$||typeof $!=="object"){N=!0;continue}let U={};for(let[Q,X]of Object.entries($)){if(!X||typeof X!=="object"){N=!0;continue}if(Z_ in X){N=!0;let Y={...X};if(delete Y[Z_],Object.keys(Y).length>0)U[Q]=Y}else U[Q]=X}if(Object.keys(U).length>0)E[z]=U;else N=!0}if(!N)continue;T.sandboxMap=E;let K=JSON.stringify(T);await tu`
|
|
899
899
|
UPDATE "connections"
|
|
900
900
|
SET metadata = ${K}
|
|
901
901
|
WHERE id = ${u.id}
|
|
902
|
-
`.execute(_)}}async function
|
|
902
|
+
`.execute(_)}}async function l0(_){}var vu={};m(vu,{up:()=>s0,down:()=>d0});import{sql as L_}from"kysely";async function s0(_){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 L_`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_),await L_`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(_),await L_`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(_),await L_`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 d0(_){await _.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await _.schema.dropTable("thread_message_parts").ifExists().execute()}var gu={};m(gu,{up:()=>b0,down:()=>_P});async function b0(_){await _.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function _P(_){await _.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var qu={};m(qu,{up:()=>xP,down:()=>uP});async function xP(_){await _.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function uP(_){await _.schema.alterTable("threads").dropColumn("link_transport").execute()}var cu={};m(cu,{up:()=>mP,down:()=>CP});async function mP(_){await _.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function CP(_){await _.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var hu={};m(hu,{up:()=>TP,down:()=>NP});async function TP(_){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 NP(_){await _.schema.dropTable("thread_observations").execute(),await _.schema.alterTable("threads").dropColumn("is_observation").execute(),await _.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var ou={};m(ou,{up:()=>KP,down:()=>EP});async function KP(_){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 EP(_){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 ru={};m(ru,{up:()=>PP,down:()=>$P});import{sql as B}from"kysely";var F="cluster",n="agent-sandbox";function v(_){return _!==null&&typeof _==="object"&&!Array.isArray(_)}function au(_,x,u){if(!v(_))return _;if(_.sandboxProviderKind!==x)return _;return{..._,sandboxProviderKind:u}}function D_(_){if(!v(_))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!==n&&_.sandboxProviderKind!=="user-desktop")return!1;if(_.createdAt!==void 0&&typeof _.createdAt!=="number")return!1;if(_.startedWith!==void 0){if(!v(_.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 zP(_,x,u){if(!v(_))return null;let T=!1,C={};for(let[N,E]of Object.entries(_)){if(!v(E)){C[N]=E;continue}let K={};for(let[z,$]of Object.entries(E)){if(!v($)){K[z]=$;continue}let U={};for(let[Q,X]of Object.entries($)){if(Q===x){if(T=!0,!(u in $))U[u]=au(X,x,u);else if(!D_($[u])&&D_(X))U[u]=au(X,x,u);continue}let Y=au(X,x,u);if(Y!==X)T=!0;if(Q===u&&Q in U&&D_(U[Q])&&!D_(Y))continue;U[Q]=Y}K[z]=U}C[N]=K}return{sandboxMap:C,changed:T}}async function kT(_,x,u){let T=await B`
|
|
903
903
|
SELECT id, metadata FROM connections
|
|
904
904
|
WHERE connection_type = 'VIRTUAL'
|
|
905
905
|
AND metadata IS NOT NULL
|
|
906
906
|
AND metadata LIKE ${"%"+x+"%"}
|
|
907
|
-
`.execute(_);for(let C of T.rows){if(!C.metadata)continue;let N;try{N=JSON.parse(C.metadata)}catch{continue}let E=
|
|
907
|
+
`.execute(_);for(let C of T.rows){if(!C.metadata)continue;let N;try{N=JSON.parse(C.metadata)}catch{continue}let E=zP(N.sandboxMap,x,u);if(!E?.changed)continue;N.sandboxMap=E.sandboxMap,await B`
|
|
908
908
|
UPDATE connections
|
|
909
909
|
SET metadata = ${JSON.stringify(N)}
|
|
910
910
|
WHERE id = ${C.id}
|
|
911
|
-
`.execute(_)}}async function
|
|
911
|
+
`.execute(_)}}async function PP(_){await B`
|
|
912
912
|
UPDATE threads
|
|
913
913
|
SET sandbox_provider_kind = ${n}
|
|
914
914
|
WHERE sandbox_provider_kind = ${F}
|
|
@@ -937,7 +937,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
937
937
|
UPDATE sandbox_runner_state
|
|
938
938
|
SET sandbox_provider_kind = ${n}
|
|
939
939
|
WHERE sandbox_provider_kind = ${F}
|
|
940
|
-
`.execute(_),await
|
|
940
|
+
`.execute(_),await kT(_,F,n)}async function $P(_){await B`
|
|
941
941
|
UPDATE threads
|
|
942
942
|
SET sandbox_provider_kind = ${F}
|
|
943
943
|
WHERE sandbox_provider_kind = ${n}
|
|
@@ -966,7 +966,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
966
966
|
UPDATE sandbox_runner_state
|
|
967
967
|
SET sandbox_provider_kind = ${F}
|
|
968
968
|
WHERE sandbox_provider_kind = ${n}
|
|
969
|
-
`.execute(_),await
|
|
969
|
+
`.execute(_),await kT(_,n,F)}var eu={};m(eu,{up:()=>UP,down:()=>JP});import{sql as A}from"kysely";async function UP(_){await A`CREATE SEQUENCE IF NOT EXISTS org_fs_entry_seq`.execute(_),await _.schema.createTable("org_fs_entry").addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("volume","text",(x)=>x.notNull()).addColumn("path","text",(x)=>x.notNull()).addColumn("parent","text",(x)=>x.notNull()).addColumn("kind","text",(x)=>x.notNull().check(A`kind in ('file', 'dir')`)).addColumn("content_hash","text").addColumn("size","bigint",(x)=>x.notNull().defaultTo(0)).addColumn("seq","bigint",(x)=>x.notNull().defaultTo(A`nextval('org_fs_entry_seq')`)).addColumn("deleted_at","timestamptz").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(A`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("org_fs_entry_pk",["organization_id","volume","path"]).execute(),await _.schema.createIndex("idx_org_fs_entry_changes").on("org_fs_entry").columns(["organization_id","volume","seq"]).execute(),await A`
|
|
970
970
|
CREATE INDEX idx_org_fs_entry_parent
|
|
971
971
|
ON org_fs_entry (organization_id, volume, parent)
|
|
972
972
|
WHERE deleted_at IS NULL
|
|
@@ -974,7 +974,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
974
974
|
CREATE INDEX idx_org_fs_entry_usage
|
|
975
975
|
ON org_fs_entry (organization_id, volume, size)
|
|
976
976
|
WHERE kind = 'file' AND deleted_at IS NULL
|
|
977
|
-
`.execute(_)}async function
|
|
977
|
+
`.execute(_)}async function JP(_){await _.schema.dropTable("org_fs_entry").execute(),await A`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(_)}var lu={};m(lu,{up:()=>XP,down:()=>jP});async function XP(_){await _.schema.alterTable("automations").addColumn("tools","text").execute()}async function jP(_){await _.schema.alterTable("automations").dropColumn("tools").execute()}var su={};m(su,{up:()=>QP,down:()=>WP});import{sql as pT}from"kysely";async function QP(_){await pT`
|
|
978
978
|
INSERT INTO "organization" (id, name, slug, "createdAt")
|
|
979
979
|
SELECT
|
|
980
980
|
'org_orgfs_public_skills',
|
|
@@ -988,13 +988,13 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
988
988
|
END,
|
|
989
989
|
now()
|
|
990
990
|
ON CONFLICT (id) DO NOTHING
|
|
991
|
-
`.execute(_)}async function
|
|
991
|
+
`.execute(_)}async function WP(_){await pT`
|
|
992
992
|
DELETE FROM "organization" WHERE id = 'org_orgfs_public_skills'
|
|
993
|
-
`.execute(_)}var
|
|
993
|
+
`.execute(_)}var du={};m(du,{up:()=>ZP,down:()=>LP});async function ZP(_){await _.schema.alterTable("automations").addColumn("max_agent_steps","integer").execute()}async function LP(_){await _.schema.alterTable("automations").dropColumn("max_agent_steps").execute()}var bu={};m(bu,{up:()=>DP,down:()=>FP});import{sql as tT}from"kysely";async function DP(_){await tT`DROP INDEX IF EXISTS idx_tmp_run_seq`.execute(_)}async function FP(_){await tT`CREATE UNIQUE INDEX IF NOT EXISTS idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(_)}var _m={};m(_m,{up:()=>RP,down:()=>YP});import{sql as nP}from"kysely";async function RP(_){await nP`
|
|
994
994
|
UPDATE downstream_tokens
|
|
995
995
|
SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
|
|
996
996
|
WHERE "expiresAt" IS NULL
|
|
997
|
-
`.execute(_)}async function
|
|
997
|
+
`.execute(_)}async function YP(_){}var xm={};m(xm,{up:()=>HP,down:()=>MP});async function HP(_){await _.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function MP(_){await _.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var um={};m(um,{up:()=>BP,down:()=>GP});async function BP(_){await _.schema.alterTable("org_file_configs").addColumn("credential_type","text",(x)=>x.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function GP(_){await _.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var mm={};m(mm,{up:()=>yP,down:()=>fP});async function yP(_){await _.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await _.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function fP(_){await _.schema.alterTable("threads").dropColumn("failure_kind").execute(),await _.schema.alterTable("threads").dropColumn("failure_reason").execute()}var Cm={};m(Cm,{up:()=>OP,down:()=>AP});async function OP(_){await _.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function AP(_){await _.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Tm={};m(Tm,{up:()=>SP,down:()=>IP});async function SP(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}async function IP(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}var Nm={};m(Nm,{up:()=>wP,down:()=>VP});import{sql as iT}from"kysely";async function wP(_){await _.schema.createTable("org_sites").addColumn("slug","text",(x)=>x.primaryKey().notNull()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(x)=>x.notNull().defaultTo("deco-import")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(iT`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(iT`now()`)).execute(),await _.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function VP(_){await _.schema.dropTable("org_sites").execute()}var Km={};m(Km,{up:()=>kP,down:()=>pP});async function kP(_){await _.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function pP(_){await _.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var Em={};m(Em,{up:()=>tP,down:()=>iP});import{sql as Z}from"kysely";async function tP(_){await _.schema.alterTable("organization_domains").addColumn("id","text").addColumn("join_mode","text").addColumn("verification_status","text").addColumn("verification_method","text").addColumn("verification_token","text").addColumn("verified_at","timestamptz").execute(),await Z`
|
|
998
998
|
UPDATE organization_domains
|
|
999
999
|
SET
|
|
1000
1000
|
id = gen_random_uuid()::text,
|
|
@@ -1003,18 +1003,18 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1003
1003
|
verification_method = 'email',
|
|
1004
1004
|
verified_at = created_at
|
|
1005
1005
|
WHERE id IS NULL
|
|
1006
|
-
`.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await _.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function
|
|
1006
|
+
`.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(_),await Z`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await _.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function iP(_){await _.schema.dropIndex("organization_domains_org_domain_idx").ifExists().execute(),await _.schema.alterTable("organization_domains").addColumn("auto_join_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute(),await Z`
|
|
1007
1007
|
UPDATE organization_domains
|
|
1008
1008
|
SET auto_join_enabled = (join_mode = 'auto')
|
|
1009
|
-
`.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var
|
|
1009
|
+
`.execute(_),await Z`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(_),await Z`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(_),await _.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var zm={};m(zm,{up:()=>vP,down:()=>gP});import{sql as F_}from"kysely";async function vP(_){await _.schema.createTable("organization_join_requests").addColumn("id","text",(x)=>x.primaryKey().defaultTo(F_`gen_random_uuid()::text`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull().references("user.id").onDelete("cascade")).addColumn("status","text",(x)=>x.notNull().defaultTo("pending")).addColumn("decided_by","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("decided_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(F_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(F_`now()`)).execute(),await F_`
|
|
1010
1010
|
CREATE UNIQUE INDEX organization_join_requests_pending_unique
|
|
1011
1011
|
ON organization_join_requests (organization_id, user_id)
|
|
1012
1012
|
WHERE status = 'pending'
|
|
1013
|
-
`.execute(_),await _.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function
|
|
1013
|
+
`.execute(_),await _.schema.createIndex("organization_join_requests_org_status_idx").on("organization_join_requests").columns(["organization_id","status"]).execute()}async function gP(_){await _.schema.dropTable("organization_join_requests").execute()}var Pm={};m(Pm,{up:()=>qP,down:()=>cP});async function qP(_){await _.schema.alterTable("org_fs_entry").addColumn("read_public","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}async function cP(_){await _.schema.alterTable("org_fs_entry").dropColumn("read_public").execute()}var $m={};m($m,{up:()=>hP,down:()=>oP});async function hP(_){await _.schema.alterTable("org_fs_entry").addColumn("share_password_hash","text").addColumn("share_secret","text").execute()}async function oP(_){await _.schema.alterTable("org_fs_entry").dropColumn("share_password_hash").dropColumn("share_secret").execute()}var Xm={};m(Xm,{up:()=>eP,splitWebResearchTier:()=>Jm,down:()=>lP,__testing:()=>rP});function aP(_){return _.toLowerCase().replace(/[^a-z0-9]/g,"").includes("deepresearch")}function Um(_){if(!_||typeof _!=="object")return!1;let x=_.tiers;if(!x||typeof x!=="object")return!1;return"web_search"in x||"deep_research"in x}function Jm(_){if(!_||Um(_))return _;let x=_.tiers??{},u=x.web_research??null,{web_research:T,...C}=x,N=null,E=null;if(u)if(aP(u.modelId))E=u;else N=u;return{..._,tiers:{...C,web_search:N,deep_research:E}}}var rP={splitWebResearchTier:Jm,isAlreadySplit:Um};async function eP(_){let x=await _.selectFrom("organization_settings").select(["organizationId","simple_mode"]).execute();for(let u of x){if(!u.simple_mode)continue;let T=typeof u.simple_mode==="string"?JSON.parse(u.simple_mode):u.simple_mode;if(Um(T))continue;let C=Jm(T);await _.updateTable("organization_settings").set({simple_mode:JSON.stringify(C)}).where("organizationId","=",u.organizationId).execute()}}async function lP(_){throw Error("122-split-web-research-tier is not reversible. Restore from snapshot.")}var jm={};m(jm,{up:()=>sP,down:()=>dP});import{sql as __}from"kysely";async function sP(_){await _.schema.createTable("connection_workload_tokens").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(x)=>x.notNull().unique()).addColumn("token_prefix","text",(x)=>x.notNull()).addColumn("name","text",(x)=>x.notNull().defaultTo("default")).addColumn("revoked_at","timestamptz").addColumn("last_used_at","timestamptz").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(__`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_workload_tokens_subject").on("connection_workload_tokens").columns(["organization_id","subject_connection_id"]).execute(),await __`
|
|
1014
1014
|
CREATE UNIQUE INDEX idx_connection_workload_tokens_active_unique
|
|
1015
1015
|
ON connection_workload_tokens (organization_id, subject_connection_id, name)
|
|
1016
1016
|
WHERE revoked_at IS NULL
|
|
1017
|
-
`.execute(_),await _.schema.createTable("connection_credential_grants").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(__`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function
|
|
1017
|
+
`.execute(_),await _.schema.createTable("connection_credential_grants").addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("subject_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("target_connection_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("scope","text",(x)=>x.notNull()).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(__`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(__`CURRENT_TIMESTAMP`)).execute(),await _.schema.createIndex("idx_connection_credential_grants_subject").on("connection_credential_grants").columns(["organization_id","subject_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_target").on("connection_credential_grants").columns(["organization_id","target_connection_id"]).execute(),await _.schema.createIndex("idx_connection_credential_grants_unique").on("connection_credential_grants").columns(["organization_id","subject_connection_id","target_connection_id","scope"]).unique().execute()}async function dP(_){await _.schema.dropTable("connection_credential_grants").ifExists().execute(),await _.schema.dropTable("connection_workload_tokens").ifExists().execute()}var Qm={};m(Qm,{up:()=>bP,down:()=>_$});async function bP(_){await _.schema.alterTable("threads").dropColumn("projected_seq").execute()}async function _$(_){await _.schema.alterTable("threads").addColumn("projected_seq","integer",(x)=>x.notNull().defaultTo(0)).execute()}var Wm={};m(Wm,{up:()=>x$,down:()=>u$});import{sql as V}from"kysely";async function x$(_){await V`
|
|
1018
1018
|
CREATE OR REPLACE FUNCTION try_parse_jsonb(t text)
|
|
1019
1019
|
RETURNS jsonb AS $fn$
|
|
1020
1020
|
BEGIN
|
|
@@ -1073,7 +1073,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1073
1073
|
BEFORE INSERT ON connection_aggregations
|
|
1074
1074
|
FOR EACH ROW
|
|
1075
1075
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1076
|
-
`.execute(_)}async function
|
|
1076
|
+
`.execute(_)}async function u$(_){await V`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await V`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_),await V`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(_)}var Lm={};m(Lm,{up:()=>m$,down:()=>C$});import{sql as Zm}from"kysely";async function m$(_){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(Zm`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(Zm`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(Zm`false`)).execute()}async function C$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await _.schema.dropTable("task_board_items").execute()}var Dm={};m(Dm,{up:()=>T$,down:()=>N$});async function T$(_){await _.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function N$(_){await _.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var Fm={};m(Fm,{up:()=>K$,down:()=>E$});async function K$(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function E$(_){await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var nm={};m(nm,{up:()=>z$,down:()=>P$});async function z$(_){await _.schema.alterTable("task_board_items").addColumn("assigned_by","text").execute()}async function P$(_){await _.schema.alterTable("task_board_items").dropColumn("assigned_by").execute()}var Rm={};m(Rm,{up:()=>U$,down:()=>J$});import{sql as $$}from"kysely";async function U$(_){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($$`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 J$(_){await _.schema.dropTable("task_board_item_threads").execute()}var Ym={};m(Ym,{up:()=>X$,down:()=>j$});async function X$(_){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 j$(_){await _.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_thread_id_fkey").execute()}var Hm={};m(Hm,{up:()=>W$,down:()=>Z$});import{sql as Q$}from"kysely";async function W$(_){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(Q$`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 Z$(_){await _.schema.dropTable("task_board_item_prs").execute()}var Mm={};m(Mm,{up:()=>D$,down:()=>F$});import{sql as L$}from"kysely";async function D$(_){await L$`
|
|
1077
1077
|
DELETE FROM member
|
|
1078
1078
|
WHERE id IN (
|
|
1079
1079
|
SELECT id FROM (
|
|
@@ -1092,38 +1092,38 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1092
1092
|
) ranked
|
|
1093
1093
|
WHERE ranked.rn > 1
|
|
1094
1094
|
)
|
|
1095
|
-
`.execute(_)}async function
|
|
1095
|
+
`.execute(_)}async function F$(_){}var Bm={};m(Bm,{up:()=>n$,down:()=>R$});async function n$(_){await _.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function R$(_){await _.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(x)=>x.notNull().defaultTo(!1)).execute()}var Gm={};m(Gm,{up:()=>Y$,down:()=>H$});async function Y$(_){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 H$(_){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 ym={};m(ym,{up:()=>B$,down:()=>G$});import{sql as M$}from"kysely";async function B$(_){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(M$`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 G$(_){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 fm={};m(fm,{up:()=>f$,down:()=>O$});import{sql as y$}from"kysely";async function f$(_){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(y$`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 O$(_){await _.schema.dropTable("agent_sandbox_runner_state").execute()}var Om={};m(Om,{up:()=>A$,down:()=>S$});import{sql as n_}from"kysely";async function A$(_){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(n_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(n_`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",n_`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",n_`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 S$(_){await _.schema.dropTable("agent_sandbox_sessions").execute()}var Am={};m(Am,{up:()=>I$,down:()=>w$});import{sql as R_}from"kysely";async function I$(_){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(R_`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(R_`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(R_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pkey",["organization_id","user_id"]).execute(),await R_`
|
|
1096
1096
|
insert into organization_billing (organization_id, legacy)
|
|
1097
1097
|
select id, true from organization
|
|
1098
1098
|
on conflict (organization_id) do nothing
|
|
1099
|
-
`.execute(_)}async function
|
|
1099
|
+
`.execute(_)}async function w$(_){await _.schema.dropTable("organization_paid_seat").execute(),await _.schema.dropTable("organization_billing").execute()}var Sm={};m(Sm,{up:()=>V$,down:()=>k$});import{sql as vT}from"kysely";async function V$(_){await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(vT`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(vT`now()`)).execute(),await _.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function k$(_){await _.schema.dropTable("seat_change_log").execute()}var Im={};m(Im,{up:()=>p$,down:()=>t$});async function p$(_){await _.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function t$(_){await _.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var wm={};m(wm,{up:()=>i$,down:()=>v$});import{sql as gT}from"kysely";async function i$(_){await _.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await gT`
|
|
1100
1100
|
create unique index organization_billing_stripe_subscription_id_uq
|
|
1101
1101
|
on organization_billing (stripe_subscription_id)
|
|
1102
1102
|
where stripe_subscription_id is not null
|
|
1103
|
-
`.execute(_)}async function
|
|
1103
|
+
`.execute(_)}async function v$(_){await gT`drop index organization_billing_stripe_subscription_id_uq`.execute(_),await _.schema.alterTable("organization_billing").dropColumn("last_stripe_event_at").execute()}var Vm={};m(Vm,{up:()=>g$,down:()=>q$});async function g$(_){await _.schema.alterTable("organization_billing").addColumn("armed_report_url","text").execute()}async function q$(_){await _.schema.alterTable("organization_billing").dropColumn("armed_report_url").execute()}var km={};m(km,{up:()=>c$,down:()=>h$});import{sql as qT}from"kysely";async function c$(_){await qT`
|
|
1104
1104
|
create index idx_org_billing_benefits_pending
|
|
1105
1105
|
on organization_billing (updated_at)
|
|
1106
1106
|
where benefits_reference_id is not null
|
|
1107
|
-
`.execute(_)}async function
|
|
1107
|
+
`.execute(_)}async function h$(_){await qT`drop index if exists idx_org_billing_benefits_pending`.execute(_)}var pm={};m(pm,{up:()=>o$,down:()=>a$});import{sql as cT}from"kysely";async function o$(_){await _.schema.createTable("user_model_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("tiers","jsonb",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(cT`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(cT`CURRENT_TIMESTAMP`)).addPrimaryKeyConstraint("user_model_preferences_pkey",["user_id","organization_id"]).execute(),await _.schema.createIndex("user_model_preferences_organization_id_idx").on("user_model_preferences").column("organization_id").execute()}async function a$(_){await _.schema.dropTable("user_model_preferences").execute()}var tm={};m(tm,{up:()=>r$,down:()=>e$});async function r$(_){await _.schema.alterTable("organization_settings").addColumn("main_agent_id","text").execute()}async function e$(_){await _.schema.alterTable("organization_settings").dropColumn("main_agent_id").execute()}var im={};m(im,{up:()=>l$,down:()=>s$});async function l$(_){await _.schema.dropTable("agent_sandbox_sessions").ifExists().execute(),await _.schema.dropTable("agent_sandbox_runner_state").ifExists().execute()}async function s$(_){}var vm={};m(vm,{up:()=>d$,down:()=>b$});import{sql as hT}from"kysely";async function d$(_){await _.schema.alterTable("organization_settings").addColumn("flags","jsonb").execute(),await hT`
|
|
1108
1108
|
UPDATE organization_settings
|
|
1109
1109
|
SET flags = jsonb_build_object('reports_only', reports_only)
|
|
1110
1110
|
WHERE reports_only IS NOT NULL
|
|
1111
|
-
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function
|
|
1111
|
+
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}async function b$(_){await _.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute(),await hT`
|
|
1112
1112
|
UPDATE organization_settings
|
|
1113
1113
|
SET reports_only = (flags ->> 'reports_only')::boolean
|
|
1114
1114
|
WHERE flags ? 'reports_only'
|
|
1115
|
-
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var
|
|
1115
|
+
`.execute(_),await _.schema.alterTable("organization_settings").dropColumn("flags").execute()}var gm={};m(gm,{up:()=>xU,down:()=>uU});import{sql as _U}from"kysely";async function xU(_){await _.schema.alterTable("task_board_items").addColumn("sort_order","double precision",(x)=>x.notNull().defaultTo(0)).execute(),await _U`
|
|
1116
1116
|
update task_board_items
|
|
1117
1117
|
set sort_order = -extract(epoch from created_at)
|
|
1118
|
-
`.execute(_)}async function
|
|
1118
|
+
`.execute(_)}async function uU(_){await _.schema.alterTable("task_board_items").dropColumn("sort_order").execute()}var qm={};m(qm,{up:()=>mU,down:()=>CU,ACTIONS:()=>oT});import{sql as Y_}from"kysely";var oT=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed"];async function mU(_){await _.schema.createTable("task_board_activity").addColumn("id","text",(x)=>x.primaryKey()).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("action","text",(x)=>x.notNull()).addColumn("actor_id","text",(x)=>x.references("user.id").onDelete("set null")).addColumn("data","jsonb").addColumn("occurred_at","timestamptz",(x)=>x.notNull().defaultTo(Y_`now()`)).addCheckConstraint("chk_task_board_activity_action",Y_`action IN (${Y_.join(oT.map((x)=>Y_.lit(x)))})`).execute(),await _.schema.createIndex("idx_task_board_activity_item").on("task_board_activity").columns(["task_board_item_id","occurred_at"]).execute()}async function CU(_){await _.schema.dropIndex("idx_task_board_activity_item").execute(),await _.schema.dropTable("task_board_activity").execute()}var hm={};m(hm,{up:()=>TU,down:()=>NU,ACTIONS:()=>cm});import{sql as x_}from"kysely";var cm=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed"];async function TU(_){await _.schema.alterTable("organization_tags").addColumn("color","text").execute(),await _.schema.createTable("task_board_item_tags").addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("id","text",(x)=>x.notNull().references("organization_tags.id").onDelete("cascade")).addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(x_`now()`)).addPrimaryKeyConstraint("task_board_item_tags_pkey",["task_board_item_id","id"]).execute(),await _.schema.createIndex("idx_task_board_item_tags_tag").on("task_board_item_tags").columns(["id"]).execute(),await aT(_,cm)}async function NU(_){await aT(_,cm.filter((x)=>x!=="tags_changed")),await _.schema.dropIndex("idx_task_board_item_tags_tag").execute(),await _.schema.dropTable("task_board_item_tags").execute(),await _.schema.alterTable("organization_tags").dropColumn("color").execute()}async function aT(_,x){await x_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await x_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${x_.join(x.map((u)=>x_.lit(u)))}))`.execute(_)}var am={};m(am,{up:()=>EU,down:()=>zU});import{sql as rT}from"kysely";function om(_){return _.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function KU(_){if(_.app_name)return _.app_name;if(_.connection_url)try{let x=new URL(_.connection_url),T=((x.port?`${x.hostname}-${x.port}`:x.hostname)+x.pathname).replace(/\/+$/,"");return om(T)}catch{return om(_.connection_url)}if(_.title)return om(_.title);return _.id}async function EU(_){let x=await rT`
|
|
1119
1119
|
SELECT id, app_name, connection_url, title, slug
|
|
1120
1120
|
FROM connections
|
|
1121
1121
|
WHERE connection_type != 'VIRTUAL'
|
|
1122
|
-
`.execute(_),u=0;for(let T of x.rows){let C=
|
|
1122
|
+
`.execute(_),u=0;for(let T of x.rows){let C=KU(T);if(C===T.slug)continue;await rT`UPDATE connections SET slug = ${C} WHERE id = ${T.id}`.execute(_),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function zU(){}var rm={};m(rm,{up:()=>$U,down:()=>UU});import{sql as PU}from"kysely";async function $U(_){await PU`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 UU(_){await _.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var lm={};m(lm,{up:()=>XU,down:()=>jU,ACTIONS:()=>em});import{sql as H_}from"kysely";var em=["created","status_changed","assignee_changed","priority_changed","due_date_changed","title_changed","description_changed","tags_changed","review_requested","review_approved","review_changes_requested"],JU=new Set(["review_requested","review_approved","review_changes_requested"]);async function XU(_){await eT(_,em)}async function jU(_){await eT(_,em.filter((x)=>!JU.has(x)))}async function eT(_,x){await H_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await H_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${H_.join(x.map((u)=>H_.lit(u)))}))`.execute(_)}var sm={};m(sm,{up:()=>WU,down:()=>ZU});import{sql as QU}from"kysely";async function WU(_){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(QU`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 ZU(_){await _.schema.dropIndex("idx_task_board_review_claims_token").execute(),await _.schema.dropTable("task_board_review_claims").execute()}var bm={};m(bm,{up:()=>DU,down:()=>FU,ACTIONS:()=>dm});import{sql as M_}from"kysely";var dm=["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"],LU=new Set(["merge_conflict_resolution"]);async function DU(_){await lT(_,dm)}async function FU(_){await lT(_,dm.filter((x)=>!LU.has(x)))}async function lT(_,x){await M_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await M_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${M_.join(x.map((u)=>M_.lit(u)))}))`.execute(_)}var _C={};m(_C,{up:()=>nU,down:()=>RU});import{sql as u_}from"kysely";async function nU(_){await _.schema.dropTable("seat_change_log").ifExists().execute(),await _.schema.dropTable("organization_paid_seat").ifExists().execute(),await u_`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 RU(_){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 u_`
|
|
1123
1123
|
create index idx_org_billing_benefits_pending
|
|
1124
1124
|
on organization_billing (updated_at)
|
|
1125
1125
|
where benefits_reference_id is not null
|
|
1126
|
-
`.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(u_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pk",["organization_id","user_id"]).execute(),await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(u_`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`now()`)).execute()}var
|
|
1126
|
+
`.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(u_`now()`)).addPrimaryKeyConstraint("organization_paid_seat_pk",["organization_id","user_id"]).execute(),await _.schema.createTable("seat_change_log").addColumn("id","uuid",(x)=>x.primaryKey().defaultTo(u_`gen_random_uuid()`)).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(x)=>x.notNull()).addColumn("seat","text",(x)=>x.notNull()).addColumn("changed_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(u_`now()`)).execute()}var xC={};m(xC,{up:()=>YU,down:()=>HU});import{sql as B_}from"kysely";async function YU(_){await B_`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(_),await B_`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(_)}async function HU(_){await B_`
|
|
1127
1127
|
CREATE OR REPLACE FUNCTION enforce_repo_github_child_single_parent()
|
|
1128
1128
|
RETURNS trigger AS $fn$
|
|
1129
1129
|
BEGIN
|
|
@@ -1149,23 +1149,23 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1149
1149
|
BEFORE INSERT ON connection_aggregations
|
|
1150
1150
|
FOR EACH ROW
|
|
1151
1151
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1152
|
-
`.execute(_)}var
|
|
1152
|
+
`.execute(_)}var uC={};m(uC,{up:()=>MU,down:()=>BU});import{sql as sT}from"kysely";async function MU(_){await _.schema.createTable("task_board_comments").addColumn("id","text",(x)=>x.primaryKey()).addColumn("task_board_item_id","text",(x)=>x.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("parent_id","text",(x)=>x.references("task_board_comments.id").onDelete("cascade")).addColumn("author_id","text",(x)=>x.notNull()).addColumn("body","text",(x)=>x.notNull()).addColumn("resolved","boolean",(x)=>x.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(sT`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(sT`now()`)).execute(),await _.schema.createIndex("idx_task_board_comments_item").on("task_board_comments").columns(["task_board_item_id","created_at"]).execute()}async function BU(_){await _.schema.dropIndex("idx_task_board_comments_item").execute(),await _.schema.dropTable("task_board_comments").execute()}var mC={};m(mC,{up:()=>GU,down:()=>yU});import{sql as dT}from"kysely";async function GU(_){await _.schema.createTable("task_quota_claims").addColumn("task_board_item_id","text",(x)=>x.primaryKey().references("task_board_items.id").onDelete("cascade")).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("period_key","text",(x)=>x.notNull()).addColumn("run_count","integer",(x)=>x.notNull().defaultTo(1)).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(dT`now()`)).execute(),await _.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await _.schema.createTable("subsidized_gateway_keys").addColumn("organization_id","text",(x)=>x.primaryKey().references("organization.id").onDelete("cascade")).addColumn("encrypted_key","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(dT`now()`)).execute()}async function yU(_){await _.schema.dropTable("subsidized_gateway_keys").ifExists().execute(),await _.schema.dropTable("task_quota_claims").ifExists().execute()}var TC={};m(TC,{up:()=>fU,down:()=>OU});import{sql as CC}from"kysely";async function fU(_){await _.schema.alterTable("task_quota_claims").addColumn("state","text",(x)=>x.notNull().defaultTo("held").check(CC`state in ('held', 'released')`)).execute(),await _.schema.dropIndex("idx_task_quota_claims_org_period").execute(),await CC`
|
|
1153
1153
|
create index idx_task_quota_claims_org_period_live
|
|
1154
1154
|
on task_quota_claims (organization_id, period_key)
|
|
1155
1155
|
where state <> 'released'
|
|
1156
|
-
`.execute(_)}async function
|
|
1156
|
+
`.execute(_)}async function OU(_){await CC`drop index if exists idx_task_quota_claims_org_period_live`.execute(_),await _.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await _.schema.alterTable("task_quota_claims").dropColumn("state").execute()}var NC={};m(NC,{up:()=>AU,down:()=>SU});async function AU(_){await _.schema.createTable("claude_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 SU(_){await _.schema.dropTable("claude_subscriptions").ifExists().execute()}var KC={};m(KC,{up:()=>IU,down:()=>wU});async function IU(_){await _.schema.alterTable("task_board_items").addColumn("dismissed_at","timestamptz").execute()}async function wU(_){await _.schema.alterTable("task_board_items").dropColumn("dismissed_at").execute()}var EC={};m(EC,{up:()=>VU,down:()=>kU});import{sql as bT}from"kysely";async function VU(_){await _.schema.alterTable("organization_billing").addColumn("free_task_executions","integer",(x)=>x.check(bT`free_task_executions > 0`)).addColumn("monthly_task_executions","integer",(x)=>x.check(bT`monthly_task_executions > 0`)).execute()}async function kU(_){await _.schema.alterTable("organization_billing").dropColumn("free_task_executions").dropColumn("monthly_task_executions").execute()}var zC={};m(zC,{up:()=>tU,down:()=>iU});import{sql as pU}from"kysely";async function tU(_){await pU`
|
|
1157
1157
|
CREATE INDEX idx_task_board_items_pending_review
|
|
1158
1158
|
ON task_board_items (updated_at, id)
|
|
1159
1159
|
WHERE status = 'in_review'
|
|
1160
1160
|
AND assignee_id = 'super-agent'
|
|
1161
1161
|
AND dismissed_at IS NULL
|
|
1162
|
-
`.execute(_)}async function
|
|
1162
|
+
`.execute(_)}async function iU(_){await _.schema.dropIndex("idx_task_board_items_pending_review").execute()}var PC={};m(PC,{up:()=>vU,down:()=>gU});import{sql as _N}from"kysely";async function vU(_){await _N`
|
|
1163
1163
|
ALTER TABLE task_board_items
|
|
1164
1164
|
ADD COLUMN last_swept_at timestamptz
|
|
1165
|
-
`.execute(_)}async function
|
|
1165
|
+
`.execute(_)}async function gU(_){await _N`
|
|
1166
1166
|
ALTER TABLE task_board_items
|
|
1167
1167
|
DROP COLUMN last_swept_at
|
|
1168
|
-
`.execute(_)}var
|
|
1168
|
+
`.execute(_)}var $C={};m($C,{up:()=>qU,down:()=>cU});import{sql as G_}from"kysely";async function qU(_){await G_`
|
|
1169
1169
|
ALTER TABLE task_board_items
|
|
1170
1170
|
ADD COLUMN retry_at timestamptz,
|
|
1171
1171
|
ADD COLUMN retry_attempts integer NOT NULL DEFAULT 0
|
|
@@ -1173,11 +1173,11 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1173
1173
|
CREATE INDEX idx_task_board_items_retry_due
|
|
1174
1174
|
ON task_board_items (retry_at)
|
|
1175
1175
|
WHERE retry_at IS NOT NULL
|
|
1176
|
-
`.execute(_)}async function
|
|
1176
|
+
`.execute(_)}async function cU(_){await G_`DROP INDEX IF EXISTS idx_task_board_items_retry_due`.execute(_),await G_`
|
|
1177
1177
|
ALTER TABLE task_board_items
|
|
1178
1178
|
DROP COLUMN retry_at,
|
|
1179
1179
|
DROP COLUMN retry_attempts
|
|
1180
|
-
`.execute(_)}var
|
|
1180
|
+
`.execute(_)}var JC={};m(JC,{up:()=>hU,down:()=>oU});import{sql as UC}from"kysely";async function hU(_){await UC`
|
|
1181
1181
|
CREATE TABLE org_repo_sync (
|
|
1182
1182
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1183
1183
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1195,11 +1195,11 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1195
1195
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
1196
1196
|
UNIQUE (organization_id, volume)
|
|
1197
1197
|
)
|
|
1198
|
-
`.execute(_),await
|
|
1198
|
+
`.execute(_),await UC`
|
|
1199
1199
|
CREATE INDEX idx_org_repo_sync_enabled
|
|
1200
1200
|
ON org_repo_sync (organization_id)
|
|
1201
1201
|
WHERE enabled
|
|
1202
|
-
`.execute(_)}async function
|
|
1202
|
+
`.execute(_)}async function oU(_){await UC`DROP TABLE IF EXISTS org_repo_sync`.execute(_)}var jC={};m(jC,{up:()=>rU,down:()=>eU,ACTIONS:()=>XC});import{sql as y_}from"kysely";var XC=["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"],aU=new Set(["merge_failed"]);async function rU(_){await xN(_,XC)}async function eU(_){await xN(_,XC.filter((x)=>!aU.has(x)))}async function xN(_,x){await y_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await y_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${y_.join(x.map((u)=>y_.lit(u)))}))`.execute(_)}var QC={};m(QC,{up:()=>lU,down:()=>sU});async function lU(_){await _.schema.alterTable("task_board_items").addColumn("repo","text").execute()}async function sU(_){await _.schema.alterTable("task_board_items").dropColumn("repo").execute()}var WC={};m(WC,{up:()=>dU,down:()=>bU});import{sql as g}from"kysely";async function dU(_){await g`
|
|
1203
1203
|
CREATE TABLE org_jira_integrations (
|
|
1204
1204
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1205
1205
|
organization_id text NOT NULL UNIQUE REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1238,7 +1238,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1238
1238
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1239
1239
|
UNIQUE (organization_id, jira_comment_id)
|
|
1240
1240
|
)
|
|
1241
|
-
`.execute(_)}async function
|
|
1241
|
+
`.execute(_)}async function bU(_){await g`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await g`DROP TABLE IF EXISTS task_board_item_jira_links`.execute(_),await g`DROP TABLE IF EXISTS org_jira_integrations`.execute(_)}var ZC={};m(ZC,{up:()=>xJ,down:()=>uJ});import{sql as _J}from"kysely";async function xJ(_){await _.schema.alterTable("task_board_items").addColumn("key_seq","integer").execute(),await _J`
|
|
1242
1242
|
update task_board_items as t
|
|
1243
1243
|
set key_seq = numbered.seq
|
|
1244
1244
|
from (
|
|
@@ -1251,25 +1251,25 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1251
1251
|
from task_board_items
|
|
1252
1252
|
) as numbered
|
|
1253
1253
|
where t.id = numbered.id
|
|
1254
|
-
`.execute(_),await _.schema.alterTable("task_board_items").alterColumn("key_seq",(x)=>x.setNotNull()).execute(),await _.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function
|
|
1254
|
+
`.execute(_),await _.schema.alterTable("task_board_items").alterColumn("key_seq",(x)=>x.setNotNull()).execute(),await _.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function uJ(_){await _.schema.dropIndex("task_board_items_org_key_seq_unique").on("task_board_items").execute(),await _.schema.alterTable("task_board_items").dropColumn("key_seq").execute()}var LC={};m(LC,{up:()=>mJ,down:()=>CJ});import{sql as uN}from"kysely";async function mJ(_){await uN`
|
|
1255
1255
|
CREATE INDEX IF NOT EXISTS idx_threads_github_repo_connection_id
|
|
1256
1256
|
ON threads ((metadata -> 'githubRepo' ->> 'connectionId'))
|
|
1257
1257
|
WHERE metadata -> 'githubRepo' ->> 'connectionId' IS NOT NULL
|
|
1258
|
-
`.execute(_)}async function
|
|
1258
|
+
`.execute(_)}async function CJ(_){await uN`DROP INDEX IF EXISTS idx_threads_github_repo_connection_id`.execute(_)}var FC={};m(FC,{up:()=>TJ,down:()=>NJ});import{sql as DC}from"kysely";async function TJ(_){await DC`
|
|
1259
1259
|
ALTER TABLE thread_message_parts
|
|
1260
1260
|
ADD COLUMN IF NOT EXISTS persisted_at timestamptz
|
|
1261
|
-
`.execute(_),await
|
|
1261
|
+
`.execute(_),await DC`
|
|
1262
1262
|
ALTER TABLE thread_message_parts
|
|
1263
1263
|
ALTER COLUMN persisted_at SET DEFAULT now()
|
|
1264
|
-
`.execute(_)}async function
|
|
1264
|
+
`.execute(_)}async function NJ(_){await DC`
|
|
1265
1265
|
ALTER TABLE thread_message_parts DROP COLUMN IF EXISTS persisted_at
|
|
1266
|
-
`.execute(_)}var
|
|
1266
|
+
`.execute(_)}var nC={};m(nC,{up:()=>KJ,down:()=>EJ});async function KJ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute()}async function EJ(_){await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}var RC={};m(RC,{up:()=>PJ,down:()=>$J});import{sql as zJ}from"kysely";async function PJ(_){await zJ`
|
|
1267
1267
|
CREATE INDEX idx_task_board_items_done_sweep
|
|
1268
1268
|
ON task_board_items (updated_at)
|
|
1269
1269
|
WHERE status = 'done' AND dismissed_at IS NULL
|
|
1270
|
-
`.execute(_)}async function
|
|
1270
|
+
`.execute(_)}async function $J(_){await _.schema.dropIndex("idx_task_board_items_done_sweep").execute()}var YC={};m(YC,{up:()=>UJ,down:()=>JJ,TYPES:()=>mN});import{sql as S}from"kysely";var mN=["created","commented","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"];async function UJ(_){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(S`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(S`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(S`now()`)).addCheckConstraint("notifications_type_check",S`type IN (${S.join(mN.map((x)=>S.lit(x)))})`).execute(),await S`CREATE INDEX notifications_user_unread ON notifications
|
|
1271
1271
|
(user_id, organization_id, created_at DESC) WHERE read_at IS NULL`.execute(_),await S`CREATE INDEX notifications_digest ON notifications
|
|
1272
|
-
(created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function
|
|
1272
|
+
(created_at) WHERE emailed_at IS NULL AND read_at IS NULL`.execute(_)}async function JJ(_){await _.schema.dropTable("notifications").execute(),await _.schema.dropTable("notification_subscriptions").execute()}var HC={};m(HC,{up:()=>XJ,down:()=>jJ});import{sql as CN}from"kysely";async function XJ(_){await CN`
|
|
1273
1273
|
UPDATE org_jira_integrations
|
|
1274
1274
|
SET status_mapping = (
|
|
1275
1275
|
SELECT COALESCE(jsonb_object_agg(lane, statuses), '{}'::jsonb)
|
|
@@ -1284,7 +1284,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1284
1284
|
SELECT 1 FROM jsonb_each(status_mapping)
|
|
1285
1285
|
WHERE jsonb_typeof(value) = 'array'
|
|
1286
1286
|
)
|
|
1287
|
-
`.execute(_)}async function
|
|
1287
|
+
`.execute(_)}async function jJ(_){await CN`
|
|
1288
1288
|
UPDATE org_jira_integrations
|
|
1289
1289
|
SET status_mapping = (
|
|
1290
1290
|
SELECT COALESCE(jsonb_object_agg(status, lane), '{}'::jsonb)
|
|
@@ -1299,7 +1299,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1299
1299
|
SELECT 1 FROM jsonb_each(status_mapping)
|
|
1300
1300
|
WHERE jsonb_typeof(value) = 'array'
|
|
1301
1301
|
)
|
|
1302
|
-
`.execute(_)}var
|
|
1302
|
+
`.execute(_)}var BC={};m(BC,{up:()=>WJ,down:()=>ZJ,TYPES:()=>MC});import{sql as f_}from"kysely";var MC=["created","commented","mentioned","status_changed","assignee_changed","review_requested","review_approved","review_changes_requested","merge_failed"],QJ=new Set(["mentioned"]);async function WJ(_){await TN(_,MC)}async function ZJ(_){await TN(_,MC.filter((x)=>!QJ.has(x)))}async function TN(_,x){await f_`ALTER TABLE notifications DROP CONSTRAINT notifications_type_check`.execute(_),await f_`ALTER TABLE notifications ADD CONSTRAINT notifications_type_check CHECK (type IN (${f_.join(x.map((u)=>f_.lit(u)))}))`.execute(_)}var yC={};m(yC,{up:()=>FJ,down:()=>nJ,ACTIONS:()=>GC});import{sql as I}from"kysely";var LJ=["bug","feature","chore","spike","security"],GC=["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"],DJ=new Set(["type_changed"]);async function FJ(_){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(LJ.map((x)=>I.lit(x)))}))`.execute(_),await NN(_,GC)}async function nJ(_){await NN(_,GC.filter((x)=>!DJ.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 NN(_,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 fC={};m(fC,{up:()=>RJ,down:()=>YJ});import{sql as j}from"kysely";var EN=["bug","feature","chore","spike","security"],KN="chore";async function RJ(_){await j`UPDATE task_board_items SET type = ${j.lit(KN)} WHERE type IS NULL`.execute(_),await j`ALTER TABLE task_board_items ALTER COLUMN type SET DEFAULT ${j.lit(KN)}`.execute(_),await j`ALTER TABLE task_board_items ALTER COLUMN type SET NOT NULL`.execute(_),await j`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await j`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IN (${j.join(EN.map((x)=>j.lit(x)))}))`.execute(_)}async function YJ(_){await j`ALTER TABLE task_board_items DROP CONSTRAINT chk_task_board_items_type`.execute(_),await j`ALTER TABLE task_board_items ADD CONSTRAINT chk_task_board_items_type CHECK (type IS NULL OR type IN (${j.join(EN.map((x)=>j.lit(x)))}))`.execute(_),await j`ALTER TABLE task_board_items ALTER COLUMN type DROP NOT NULL`.execute(_),await j`ALTER TABLE task_board_items ALTER COLUMN type DROP DEFAULT`.execute(_)}var OC={};m(OC,{up:()=>HJ,down:()=>MJ});import{sql as q}from"kysely";async function HJ(_){await q`
|
|
1303
1303
|
CREATE TABLE task_board_sprints (
|
|
1304
1304
|
id text PRIMARY KEY,
|
|
1305
1305
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1324,34 +1324,34 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1324
1324
|
CREATE INDEX idx_task_board_items_sprint
|
|
1325
1325
|
ON task_board_items (organization_id, sprint_id)
|
|
1326
1326
|
WHERE sprint_id IS NOT NULL
|
|
1327
|
-
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}async function
|
|
1327
|
+
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint").execute(),await _.schema.alterTable("organization_settings").dropColumn("sprint_config").execute()}async function MJ(_){await _.schema.alterTable("organization_settings").addColumn("sprint_config","jsonb").execute(),await _.schema.alterTable("task_board_items").addColumn("sprint","integer").execute(),await q`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("sprint_id").execute(),await q`DROP TABLE IF EXISTS task_board_sprints`.execute(_)}var AC={};m(AC,{up:()=>GJ,down:()=>yJ});import{sql as BJ}from"kysely";async function GJ(_){await _.schema.alterTable("org_jira_integrations").dropColumn("jql_filter").execute()}async function yJ(_){await BJ`ALTER TABLE org_jira_integrations ADD COLUMN jql_filter text`.execute(_)}var SC={};m(SC,{up:()=>OJ,down:()=>AJ});import{sql as fJ}from"kysely";async function OJ(_){await fJ`
|
|
1328
1328
|
UPDATE org_jira_integrations
|
|
1329
1329
|
SET last_synced_at = NULL,
|
|
1330
1330
|
last_sync_error = NULL
|
|
1331
1331
|
WHERE last_synced_at IS NOT NULL
|
|
1332
|
-
`.execute(_)}async function
|
|
1332
|
+
`.execute(_)}async function AJ(){}var IC={};m(IC,{up:()=>IJ,down:()=>wJ});import{sql as SJ}from"kysely";async function IJ(_){await SJ`
|
|
1333
1333
|
UPDATE org_jira_integrations
|
|
1334
1334
|
SET last_synced_at = NULL,
|
|
1335
1335
|
last_sync_error = NULL
|
|
1336
1336
|
WHERE last_synced_at IS NOT NULL
|
|
1337
|
-
`.execute(_)}async function
|
|
1337
|
+
`.execute(_)}async function wJ(){}var VC={};m(VC,{up:()=>VJ,down:()=>kJ});import{sql as wC}from"kysely";async function VJ(_){await wC`
|
|
1338
1338
|
ALTER TABLE org_jira_integrations
|
|
1339
1339
|
ADD COLUMN rescan_pending boolean NOT NULL DEFAULT false
|
|
1340
|
-
`.execute(_),await
|
|
1340
|
+
`.execute(_),await wC`
|
|
1341
1341
|
UPDATE org_jira_integrations
|
|
1342
1342
|
SET rescan_pending = true
|
|
1343
1343
|
WHERE last_synced_at IS NULL
|
|
1344
|
-
`.execute(_)}async function
|
|
1344
|
+
`.execute(_)}async function kJ(_){await wC`ALTER TABLE org_jira_integrations DROP COLUMN rescan_pending`.execute(_)}var kC={};m(kC,{up:()=>pJ,down:()=>tJ});async function pJ(_){await _.schema.alterTable("task_board_comments").addColumn("thread_id","text").execute()}async function tJ(_){await _.schema.alterTable("task_board_comments").dropColumn("thread_id").execute()}var pC={};m(pC,{up:()=>iJ,down:()=>vJ});import{sql as zN}from"kysely";async function iJ(_){await zN`
|
|
1345
1345
|
ALTER TABLE invitation
|
|
1346
1346
|
ADD COLUMN "autoAccept" boolean NOT NULL DEFAULT false
|
|
1347
|
-
`.execute(_)}async function
|
|
1347
|
+
`.execute(_)}async function vJ(_){await zN`ALTER TABLE invitation DROP COLUMN "autoAccept"`.execute(_)}var iC={};m(iC,{up:()=>gJ,down:()=>qJ});import{sql as tC}from"kysely";async function gJ(_){await _.schema.createTable("task_board_column_automations").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("column_key","text",(x)=>x.notNull()).addColumn("prompt","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(tC`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(tC`now()`)).execute(),await _.schema.createIndex("task_board_column_automations_org_column_uniq").ifNotExists().on("task_board_column_automations").columns(["organization_id","column_key"]).unique().execute(),await tC`
|
|
1348
1348
|
INSERT INTO task_board_column_automations
|
|
1349
1349
|
(id, organization_id, column_key, prompt)
|
|
1350
1350
|
SELECT 'tbca_' || organization_id || '_todo', organization_id, 'todo', NULL
|
|
1351
1351
|
FROM org_jira_integrations
|
|
1352
1352
|
WHERE auto_delegate = true
|
|
1353
1353
|
ON CONFLICT DO NOTHING
|
|
1354
|
-
`.execute(_)}async function
|
|
1354
|
+
`.execute(_)}async function qJ(_){await _.schema.dropTable("task_board_column_automations").ifExists().execute()}var vC={};m(vC,{up:()=>cJ,down:()=>hJ});import{sql as m_}from"kysely";async function cJ(_){await _.schema.alterTable("task_board_items").addColumn("review_cycle_started_at","timestamptz").execute(),await m_`
|
|
1355
1355
|
UPDATE task_board_items i
|
|
1356
1356
|
SET review_cycle_started_at = (
|
|
1357
1357
|
SELECT max(a.occurred_at)
|
|
@@ -1367,13 +1367,13 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1367
1367
|
WHERE (review_cycle_started_at IS NOT NULL OR status = 'in_review')
|
|
1368
1368
|
AND assignee_id = 'super-agent'
|
|
1369
1369
|
AND dismissed_at IS NULL
|
|
1370
|
-
`.execute(_),await m_`DROP INDEX IF EXISTS idx_task_board_items_pending_review`.execute(_)}async function
|
|
1370
|
+
`.execute(_),await m_`DROP INDEX IF EXISTS idx_task_board_items_pending_review`.execute(_)}async function hJ(_){await m_`
|
|
1371
1371
|
CREATE INDEX idx_task_board_items_pending_review
|
|
1372
1372
|
ON task_board_items (updated_at, id)
|
|
1373
1373
|
WHERE status = 'in_review'
|
|
1374
1374
|
AND assignee_id = 'super-agent'
|
|
1375
1375
|
AND dismissed_at IS NULL
|
|
1376
|
-
`.execute(_),await m_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var
|
|
1376
|
+
`.execute(_),await m_`DROP INDEX IF EXISTS idx_task_board_items_review_cycle`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("review_cycle_started_at").execute()}var gC={};m(gC,{up:()=>oJ,down:()=>aJ});import{sql as PN}from"kysely";async function oJ(_){await _.schema.createTable("task_board_columns").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull()).addColumn("key","text",(x)=>x.notNull()).addColumn("title","text",(x)=>x.notNull()).addColumn("position","integer",(x)=>x.notNull()).addColumn("role","text").addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(PN`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(PN`now()`)).execute(),await _.schema.createIndex("task_board_columns_org_key_uniq").ifNotExists().on("task_board_columns").columns(["organization_id","key"]).unique().execute(),await _.schema.createIndex("task_board_columns_org_position_idx").ifNotExists().on("task_board_columns").columns(["organization_id","position"]).execute()}async function aJ(_){await _.schema.dropTable("task_board_columns").ifExists().execute()}var cC={};m(cC,{up:()=>eJ,down:()=>lJ,ACTIONS:()=>qC});import{sql as O_}from"kysely";var qC=["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"],rJ=new Set(["review_verdict_requested"]);async function eJ(_){await $N(_,qC)}async function lJ(_){await $N(_,qC.filter((x)=>!rJ.has(x)))}async function $N(_,x){await O_`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await O_`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${O_.join(x.map((u)=>O_.lit(u)))}))`.execute(_)}var hC={};m(hC,{up:()=>sJ,down:()=>dJ});import{sql as A_}from"kysely";async function sJ(_){await _.schema.alterTable("task_board_items").addColumn("board_column_org","text").execute(),await A_`
|
|
1377
1377
|
ALTER TABLE task_board_items
|
|
1378
1378
|
ADD CONSTRAINT chk_task_board_items_column_org
|
|
1379
1379
|
CHECK (board_column_org IS NULL OR board_column_org = organization_id)
|
|
@@ -1383,13 +1383,13 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1383
1383
|
FOREIGN KEY (board_column_org, status)
|
|
1384
1384
|
REFERENCES task_board_columns (organization_id, key)
|
|
1385
1385
|
ON DELETE RESTRICT
|
|
1386
|
-
`.execute(_)}async function
|
|
1386
|
+
`.execute(_)}async function dJ(_){await A_`
|
|
1387
1387
|
ALTER TABLE task_board_items
|
|
1388
1388
|
DROP CONSTRAINT IF EXISTS task_board_items_board_column_fkey
|
|
1389
1389
|
`.execute(_),await A_`
|
|
1390
1390
|
ALTER TABLE task_board_items
|
|
1391
1391
|
DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org
|
|
1392
|
-
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var
|
|
1392
|
+
`.execute(_),await _.schema.alterTable("task_board_items").dropColumn("board_column_org").execute()}var oC={};m(oC,{up:()=>bJ,down:()=>_X});async function bJ(_){await _.schema.alterTable("task_board_item_jira_links").addColumn("jira_sprint_id","text").execute()}async function _X(_){await _.schema.alterTable("task_board_item_jira_links").dropColumn("jira_sprint_id").execute()}var rC={};m(rC,{up:()=>uX,down:()=>mX,ACTIONS:()=>aC});import{sql as S_}from"kysely";var aC=["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"],xX=new Set(["sprint_changed"]);async function uX(_){await UN(_,aC)}async function mX(_){await UN(_,aC.filter((x)=>!xX.has(x)))}async function UN(_,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 eC={};m(eC,{up:()=>TX,down:()=>NX});import{sql as CX}from"kysely";async function TX(_){await _.schema.alterTable("task_board_columns").addColumn("tracker_statuses","jsonb",(x)=>x.notNull().defaultTo(CX`'[]'::jsonb`)).execute()}async function NX(_){await _.schema.alterTable("task_board_columns").dropColumn("tracker_statuses").execute()}var lC={};m(lC,{up:()=>KX,down:()=>EX});import{sql as JN}from"kysely";async function KX(_){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(JN`now()`)).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(JN`now()`)).execute(),await _.schema.createIndex("task_board_prompts_org_idx").ifNotExists().on("task_board_prompts").column("organization_id").execute()}async function EX(_){await _.schema.dropTable("task_board_prompts").ifExists().execute()}var sC={};m(sC,{up:()=>PX,down:()=>$X});import{sql as zX}from"kysely";async function PX(_){await _.schema.alterTable("task_board_items").addColumn("external_url","text").execute(),await zX`
|
|
1393
1393
|
UPDATE task_board_items i
|
|
1394
1394
|
SET external_url = t.url,
|
|
1395
1395
|
description = CASE
|
|
@@ -1408,11 +1408,11 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1408
1408
|
ON g.organization_id = l.organization_id
|
|
1409
1409
|
) t
|
|
1410
1410
|
WHERE t.item_id = i.id
|
|
1411
|
-
`.execute(_)}async function
|
|
1411
|
+
`.execute(_)}async function $X(_){await _.schema.alterTable("task_board_items").dropColumn("external_url").execute()}var dC={};m(dC,{up:()=>JX,down:()=>XX,ACTIONS:()=>XN});import{sql as J}from"kysely";var UX=["triage","todo","in_progress","in_review","approved","merged","post_deploy_validation","done","archived"],XN=["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 JX(_){await J`ALTER TABLE task_board_items DROP CONSTRAINT IF EXISTS task_board_items_board_column_fkey`.execute(_),await J`ALTER TABLE task_board_items DROP CONSTRAINT IF EXISTS chk_task_board_items_column_org`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS board_column_org`.execute(_),await J`DROP TABLE IF EXISTS task_board_columns`.execute(_),await J`
|
|
1412
1412
|
UPDATE task_board_items
|
|
1413
1413
|
SET status = 'triage'
|
|
1414
|
-
WHERE status NOT IN (${J.join(
|
|
1415
|
-
`.execute(_),await J`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await J`DROP TABLE IF EXISTS task_board_sprints`.execute(_),await
|
|
1414
|
+
WHERE status NOT IN (${J.join(UX.map((x)=>J.lit(x)))})
|
|
1415
|
+
`.execute(_),await J`DROP INDEX IF EXISTS idx_task_board_items_sprint`.execute(_),await J`ALTER TABLE task_board_items DROP COLUMN IF EXISTS sprint_id`.execute(_),await J`DROP TABLE IF EXISTS task_board_sprints`.execute(_),await jX(_,XN),await J`DROP TABLE IF EXISTS task_board_comment_jira_links`.execute(_),await J`
|
|
1416
1416
|
ALTER TABLE task_board_item_jira_links
|
|
1417
1417
|
DROP COLUMN IF EXISTS jira_updated_at,
|
|
1418
1418
|
DROP COLUMN IF EXISTS jira_status,
|
|
@@ -1424,7 +1424,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1424
1424
|
DROP COLUMN IF EXISTS last_synced_at,
|
|
1425
1425
|
DROP COLUMN IF EXISTS last_sync_error,
|
|
1426
1426
|
DROP COLUMN IF EXISTS rescan_pending
|
|
1427
|
-
`.execute(_)}async function
|
|
1427
|
+
`.execute(_)}async function XX(){}async function jX(_,x){await J`ALTER TABLE task_board_activity DROP CONSTRAINT chk_task_board_activity_action`.execute(_),await J`ALTER TABLE task_board_activity ADD CONSTRAINT chk_task_board_activity_action CHECK (action IN (${J.join(x.map((u)=>J.lit(u)))}))`.execute(_)}var bC={};m(bC,{up:()=>QX,down:()=>WX});import{sql as c}from"kysely";async function QX(_){await c`
|
|
1428
1428
|
ALTER TABLE task_board_items
|
|
1429
1429
|
ADD COLUMN IF NOT EXISTS source text
|
|
1430
1430
|
CONSTRAINT chk_task_board_items_source CHECK (source IN ('jira'))
|
|
@@ -1445,24 +1445,24 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1445
1445
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
1446
1446
|
PRIMARY KEY (organization_id, jira_issue_id, changelog_id)
|
|
1447
1447
|
)
|
|
1448
|
-
`.execute(_)}async function
|
|
1448
|
+
`.execute(_)}async function WX(_){await c`DROP TABLE IF EXISTS jira_trigger_claims`.execute(_),await c`DROP TABLE IF EXISTS org_jira_column_automations`.execute(_),await c`ALTER TABLE task_board_items DROP COLUMN IF EXISTS source`.execute(_)}var _T={};m(_T,{up:()=>ZX,down:()=>LX});import{sql as C_}from"kysely";async function ZX(_){await _.schema.createTable("organization_notices").ifNotExists().addColumn("id","text",(x)=>x.primaryKey()).addColumn("organization_id","text",(x)=>x.notNull().references("organization.id").onDelete("cascade")).addColumn("severity","text",(x)=>x.notNull().check(C_`severity IN ('warn', 'block')`)).addColumn("title","text",(x)=>x.notNull()).addColumn("message","text",(x)=>x.notNull()).addColumn("cta_label","text").addColumn("cta_url","text").addColumn("source","text",(x)=>x.notNull().defaultTo("manual")).addColumn("resolved_at","timestamptz").addColumn("resolved_by","text").addColumn("created_by","text",(x)=>x.notNull()).addColumn("created_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).addColumn("updated_by","text",(x)=>x.notNull()).addColumn("updated_at","timestamptz",(x)=>x.notNull().defaultTo(C_`now()`)).execute(),await C_`
|
|
1449
1449
|
CREATE UNIQUE INDEX IF NOT EXISTS organization_notices_active_uniq
|
|
1450
1450
|
ON organization_notices (organization_id)
|
|
1451
1451
|
WHERE resolved_at IS NULL
|
|
1452
1452
|
`.execute(_),await C_`
|
|
1453
1453
|
CREATE INDEX IF NOT EXISTS organization_notices_org_created_idx
|
|
1454
1454
|
ON organization_notices (organization_id, created_at DESC)
|
|
1455
|
-
`.execute(_)}async function
|
|
1455
|
+
`.execute(_)}async function LX(_){await _.schema.dropTable("organization_notices").ifExists().execute()}var uT={};m(uT,{up:()=>yX,down:()=>fX});import{sql as xT}from"kysely";import{sql as FW}from"kysely";var jN=50000000,DX=1e5;function FX(_,x){let u=0,T=0,C=[_];while(C.length>0){if(u>x||++T>DX)return 1/0;let N=C.pop();if(typeof N==="string")u+=N.length;else if(Array.isArray(N))for(let E of N)C.push(E);else if(N!==null&&typeof N==="object")for(let E of Object.values(N))C.push(E)}return u}var nX=/\u0000/g,RX=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,YX=/([a-z][a-z0-9+.-]{0,30}:\/\/)[^\s/@]{1,512}@/gi,HX=/\b(gh[pousr]_|github_pat_)[A-Za-z0-9_]{20,}/g,MX=/data:[a-z0-9.+-]{0,60}\/[a-z0-9.+-]{0,60};base64,[A-Za-z0-9+/=]{100,}/gi;function BX(_){return _.replace(nX,"").replace(RX,"\uFFFD").replace(YX,"$1***@").replace(HX,"$1***").replace(MX,"[base64 data omitted]")}function GX(_){if(typeof _!=="object"||_===null)return!1;let x=_;if(x.type!=="image")return!1;if(typeof x.data==="string")return!0;let u=x.source;return typeof u==="object"&&u!==null&&typeof u.data==="string"}function QN(_){if(FX(_,jN)>jN)return JSON.stringify({truncated:!0,reason:"payload exceeds max stored size"});return JSON.stringify(_,(x,u)=>{if(typeof u==="string")return BX(u);if(GX(u))return{type:"text",text:"[image omitted]"};return u})}var WN=20;async function yX(_){let x=await xT`
|
|
1456
1456
|
SELECT id FROM thread_message_parts
|
|
1457
1457
|
WHERE pg_column_size(payload) > 8192
|
|
1458
1458
|
AND (payload::text LIKE '%"type": "image"%' OR payload::text LIKE '%;base64,%')
|
|
1459
|
-
`.execute(_);for(let u=0;u<x.rows.length;u+=
|
|
1459
|
+
`.execute(_);for(let u=0;u<x.rows.length;u+=WN){let T=x.rows.slice(u,u+WN).map((N)=>N.id),C=await xT`
|
|
1460
1460
|
SELECT id, payload FROM thread_message_parts WHERE id = ANY(${T})
|
|
1461
|
-
`.execute(_);for(let N of C.rows){let E=
|
|
1461
|
+
`.execute(_);for(let N of C.rows){let E=QN(N.payload);if(E===JSON.stringify(N.payload))continue;await xT`
|
|
1462
1462
|
UPDATE thread_message_parts
|
|
1463
1463
|
SET payload = ${E}::jsonb
|
|
1464
1464
|
WHERE id = ${N.id}
|
|
1465
|
-
`.execute(_)}}}async function
|
|
1465
|
+
`.execute(_)}}}async function fX(){}var mT={};m(mT,{up:()=>OX,down:()=>AX});async function OX(_){await _.schema.alterTable("task_board_items").addColumn("preview_routes","jsonb").execute()}async function AX(_){await _.schema.alterTable("task_board_items").dropColumn("preview_routes").execute()}var CT={};m(CT,{up:()=>SX,down:()=>IX});import{sql as P}from"kysely";async function SX(_){await P`
|
|
1466
1466
|
CREATE TABLE git_provider_accounts (
|
|
1467
1467
|
id text PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
1468
1468
|
organization_id text NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
@@ -1706,11 +1706,11 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1706
1706
|
AND r.organization_id = s.organization_id
|
|
1707
1707
|
AND r.host = 'github.com'
|
|
1708
1708
|
AND lower(r.path) = lower(s.repo_owner || '/' || s.repo_name)
|
|
1709
|
-
`.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function
|
|
1709
|
+
`.execute(_),await P`DROP FUNCTION IF EXISTS git_provider_try_jsonb(text)`.execute(_)}async function IX(_){await P`
|
|
1710
1710
|
ALTER TABLE org_repo_sync DROP CONSTRAINT IF EXISTS org_repo_sync_source_present
|
|
1711
1711
|
`.execute(_),await P`DELETE FROM org_repo_sync WHERE connection_id IS NULL`.execute(_),await P`
|
|
1712
1712
|
ALTER TABLE org_repo_sync ALTER COLUMN connection_id SET NOT NULL
|
|
1713
|
-
`.execute(_),await P`ALTER TABLE org_repo_sync DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_item_prs DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_items DROP COLUMN IF EXISTS repository_id`.execute(_),await P`DROP TABLE IF EXISTS repositories`.execute(_),await P`DROP TABLE IF EXISTS git_provider_oauth_states`.execute(_),await P`DROP TABLE IF EXISTS git_provider_account_credentials`.execute(_),await P`DROP TABLE IF EXISTS git_provider_accounts`.execute(_)}var
|
|
1713
|
+
`.execute(_),await P`ALTER TABLE org_repo_sync DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_item_prs DROP COLUMN IF EXISTS repository_id`.execute(_),await P`ALTER TABLE task_board_items DROP COLUMN IF EXISTS repository_id`.execute(_),await P`DROP TABLE IF EXISTS repositories`.execute(_),await P`DROP TABLE IF EXISTS git_provider_oauth_states`.execute(_),await P`DROP TABLE IF EXISTS git_provider_account_credentials`.execute(_),await P`DROP TABLE IF EXISTS git_provider_accounts`.execute(_)}var TT={};m(TT,{up:()=>VX,down:()=>kX});import{sql as R}from"kysely";var wX=R`
|
|
1714
1714
|
CREATE OR REPLACE FUNCTION repo_ref_try_jsonb(value text)
|
|
1715
1715
|
RETURNS jsonb LANGUAGE plpgsql IMMUTABLE AS $$
|
|
1716
1716
|
BEGIN
|
|
@@ -1719,7 +1719,7 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1719
1719
|
RETURN NULL;
|
|
1720
1720
|
END;
|
|
1721
1721
|
$$
|
|
1722
|
-
`;async function
|
|
1722
|
+
`;async function VX(_){await wX.execute(_),await R`
|
|
1723
1723
|
ALTER TABLE connections
|
|
1724
1724
|
ADD COLUMN repository_id text REFERENCES repositories(id) ON DELETE SET NULL
|
|
1725
1725
|
`.execute(_),await R`
|
|
@@ -1781,21 +1781,21 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1781
1781
|
AND r.host = 'github.com'
|
|
1782
1782
|
AND lower(r.path) = lower((entry ->> 'owner') || '/' || (entry ->> 'name'))
|
|
1783
1783
|
ON CONFLICT (thread_id, repository_id) DO NOTHING
|
|
1784
|
-
`.execute(_),await R`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function
|
|
1784
|
+
`.execute(_),await R`DROP FUNCTION IF EXISTS repo_ref_try_jsonb(text)`.execute(_)}async function kX(_){await R`DROP TABLE IF EXISTS thread_repositories`.execute(_),await R`
|
|
1785
1785
|
ALTER TABLE connections DROP COLUMN IF EXISTS repository_id
|
|
1786
|
-
`.execute(_)}var wX={"001-initial-schema":g_,"002-organization-settings":q_,"003-connection-schema-align":c_,"004-remove-models-binding":h_,"005-connection-configuration":o_,"006-add-views-to-settings":a_,"007-monitoring-logs":r_,"008-event-bus":e_,"009-drop-audit-logs":l_,"010-gateways":s_,"011-gateway-icon":d_,"012-gateway-tool-selection-mode":b_,"013-monitoring-user-agent-gateway":_x,"014-gateway-resources-prompts":xx,"015-monitoring-properties":ux,"016-downstream-token-client-info":mx,"017-downstream-token-remove-userid":Cx,"018-drop-gateway-tool-selection-strategy":Tx,"019-remove-gateway-is-default":Nx,"020-enabled-plugins":Kx,"021-threads":Ex,"022-rename-gateway-to-virtual-mcp":zx,"023-optimize-thread-indexes":Px,"024-consolidate-virtual-mcp":$x,"025-add-monitoring-virtual-mcp-id":Ux,"026-restrict-child-connection-delete":Jx,"027-update-management-mcp-url":jx,"028-update-management-mcp-to-self":Wx,"029-add-updated-by-to-connections":Zx,"030-member-tags":Lx,"031-add-dependency-mode":Dx,"032-projects":Fx,"033-thread-status":nx,"034-monitoring-dashboards":Rx,"035-project-connections":Yx,"036-update-registry-url":Hx,"037-ai-provider-keys":Mx,"038-oauth-pkce-states":Bx,"039-automations":Gx,"040-replace-next-run-at-with-last-run-at":yx,"041-ai-provider-keys-unique-constraint":fx,"042-rename-mesh-mcp-to-cms-mcp":Ox,"043-rename-cms-mcp-to-deco-cms":Ax,"044-drop-connections-tools-column":Sx,"045-thread-context-start-message":Ix,"046-remove-object-storage-plugin":Vx,"047-add-next-run-at":kx,"048-merge-projects-agents":tx,"049-remove-org-admin-projects":ix,"050-durable-agent-runs":vx,"051-org-sso":qx,"052-thread-agent-ids":cx,"053-registry-config":hx,"054-connection-slug":ax,"055-spaces":rx,"056-automation-project-scope":ex,"057-thread-virtual-mcp-id":lx,"058-trigger-callback-tokens":sx,"059-kv":dx,"060-member-index":bx,"061-downstream-token-connection-index":_u,"062-private-registry":xu,"063-event-subscriptions-enabled-boolean":uu,"064-brand-context":mu,"065-organization-domains":Cu,"066-brand-context-structured":Tu,"067-threads-metadata":Nu,"068-threads-branch":Ku,"069-sandbox-runner-state":Eu,"070-model-categories":zu,"071-default-home-agents":Pu,"072-ai-provider-key-preset-id":$u,"073-backfill-basic-usage-roles":Uu,"074-sandbox-runner-state-handle-nonunique":Ju,"075-thread-inflight-async-jobs":Xu,"076-automations-drop-agent-json":ju,"077-tier-only-model-selection":Wu,"078-automation-tool-call-kind":Zu,"079-strip-legacy-freestyle-vm-map-entries":Lu,"080-async-research-jobs":Du,"081-async-research-jobs-result-content":Fu,"082-secrets":nu,"083-thread-run-locally":Ru,"084-drop-host-sandbox-rows":Yu,"085-rename-runner-kind":Hu,"086-thread-pins-and-vm-map-rekey":Mu,"087-fix-vm-map-rekey":Bu,"088-purge-cli-activate-keys":Gu,"089-rename-remote-user-to-desktop":yu,"090-automation-webhook-triggers":fu,"091-organization-domains-allow-multi":Ou,"092-sandbox-naming-uniformization":Au,"093-backfill-global-search-basic-usage":Su,"094-org-file-configs":wu,"095-remove-automation-tool-call-kind":Vu,"096-org-file-configs-public-url-base":ku,"097-drop-local-docker-sandbox-state":tu,"098-thread-message-parts":iu,"099-run-fence":vu,"100-link-transport":gu,"101-cancel-requested-at":qu,"102-observational-agent":cu,"103-revert-observational-agent":hu,"104-agent-sandbox-provider-kind":au,"105-org-fs":ru,"106-automation-tools":eu,"107-org-fs-public-org":lu,"108-automation-max-agent-steps":su,"109-thread-message-parts-per-message-seq":du,"110-backfill-ghs-token-expiry":bu,"111-org-fs-thread-id":_m,"112-org-file-configs-credential-type":xm,"113-thread-failure-reason":um,"114-run-acked-seq":mm,"115-thread-projected-seq":Cm,"116-org-sites":Tm,"117-org-file-configs-site-slug":Nm,"118-organization-domains-multi-verify":Km,"119-organization-join-requests":Em,"120-org-fs-read-public":zm,"121-org-fs-share-password":Pm,"122-split-web-research-tier":Jm,"123-connection-credential-vault":Xm,"124-drop-thread-projected-seq":jm,"125-github-child-single-parent":Qm,"126-task-board":Zm,"127-task-board-due-date":Lm,"128-reports-only":Dm,"129-task-board-assigned-by":Fm,"130-task-board-thread-id":nm,"131-task-board-thread-link-cascade":Rm,"132-task-board-item-prs":Ym,"133-dedupe-duplicate-members":Hm,"134-drop-task-board-enabled":Mm,"135-task-board-item-fk-cascade":Bm,"136-task-board-import-idempotency":Gm,"137-agent-sandbox-runner-state":ym,"138-agent-sandbox-sessions":fm,"139-organization-billing":Om,"140-seat-change-log":Am,"141-benefits-sync-pending":Sm,"142-stripe-event-watermark":Im,"143-armed-report-url":wm,"144-benefits-pending-index":Vm,"145-user-model-preferences":km,"146-organization-main-agent":pm,"147-drop-agent-sandbox-tables":tm,"148-org-flags":im,"149-task-board-item-sort-order":vm,"150-task-board-activity":gm,"151-task-board-tags":cm,"152-repair-connection-slug":om,"153-task-board-latest-assistant-part-index":am,"154-task-board-qa-activity":em,"155-task-board-review-claims":lm,"156-task-board-conflict-activity":dm,"157-drop-seat-billing":bm,"158-drop-github-child-single-parent":_C,"159-task-board-comments":xC,"160-task-quota-billing":uC,"161-task-quota-claim-state":CC,"162-claude-subscriptions":TC,"163-task-board-item-dismissed":NC,"164-per-org-task-quota":KC,"165-task-board-pending-review-index":EC,"166-task-board-last-swept-at":zC,"167-task-board-run-retry":PC,"168-org-repo-sync":UC,"169-task-board-merge-failed-activity":XC,"170-task-board-item-repo":jC,"171-jira-integration":QC,"172-task-board-item-key-seq":WC,"173-thread-github-repo-connection-index":ZC,"174-thread-message-parts-persisted-at":DC,"175-task-board-sprints":FC,"176-task-board-done-sweep-index":nC,"177-notifications":RC,"178-jira-status-mapping-array":YC,"179-notification-mentioned":MC,"180-task-board-item-type":GC,"181-task-board-item-type-required":yC,"182-task-board-sprints-entities":fC,"183-drop-jira-jql-filter":OC,"184-jira-rescan-after-scope-change":AC,"185-jira-rescan-existing-cards":SC,"186-jira-rescan-pending-flag":wC,"187-task-board-comment-thread":VC,"188-invitation-auto-accept":kC,"189-task-board-column-automations":tC,"190-task-board-review-cycle-started-at":iC,"191-task-board-columns":vC,"192-task-board-verdict-nudge-activity":qC,"193-task-board-status-column-fk":cC,"194-jira-link-sprint":hC,"195-task-board-sprint-activity":aC,"196-task-board-column-tracker-statuses":rC,"197-task-board-prompts":eC,"198-task-board-external-url":lC,"199-drop-jira-mirror-and-org-columns":sC,"200-jira-run-trigger":dC,"201-organization-notices":bC,"202-redact-base64-thread-parts":xT,"203-task-board-preview-routes":uT,"204-git-provider-accounts-and-repositories":mT,"205-repository-references":CT,"206-repository-consumers":v_,"207-task-board-prs-repo-idx":i_,"208-github-connect-flows":t_},TT=wX;import{getMigrations as U6}from"better-auth/db";import{sso as J6}from"@better-auth/sso";import{organization as X6}from"@decocms/better-auth/plugins";import{admin as j6,apiKey as Q6,jwt as W6,magicLink as Z6,mcp as L6,openAPI as D6}from"better-auth/plugins";import{emailOTP as F6}from"better-auth/plugins/email-otp";import{Kysely as T6,PostgresDialect as BN}from"kysely";import{Pool as GN}from"pg";import{homedir as VX}from"os";var kX=new Set(["all","worker","api"]);function pX(_){let x=(_??"").trim();return kX.has(x)?x:"all"}var tX=new Set(["production","development","test"]);function iX(_){let x=(_??"").trim();return tX.has(x)?x:"development"}function L(_){return _==="true"||_==="1"}function KT(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function G(_,x,u,T){return KT(_,x,T)??u}function vX(_,x,u,T){if(x===void 0||x==="")return u;let C=Number(x);if(!Number.isSafeInteger(C)||C<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&C>T)throw Error(`${_} must be at most ${T}`);return C}function NT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function WN(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function gX(_){return _===void 0||_===""||_==="true"||_==="1"}function T_(_,x){return _||x}function ZN(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${VX()}/deco`,T=_.localMode,C=_.nodeEnv||iX(x.NODE_ENV),N=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:G("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:T_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:L(x.DATABASE_PG_SSL),databasePoolMax:G("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:G("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:T_(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:L(x.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:L(x.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((K)=>K.trim().toLowerCase()).filter(Boolean),clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:KT("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:L(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:vX("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:L(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:G("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:G("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:G("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:L(x.ENABLE_DECO_IMPORT),hostingControlPlaneGa:L(x.HOSTING_CONTROL_PLANE_GA),monitorGa:L(x.MONITOR_GA),mcpCacheEnabled:NT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:G("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:G("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:NT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:G("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:gX(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:KT("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:pX(T_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:L(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:L(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:NT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:L(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:G("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,controlplaneRestUrl:x.CONTROLPLANE_REST_URL,controlplaneServiceToken:x.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:x.ANALYTICS_URL,analyticsMasterToken:x.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:T_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:T_(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:WN(x.DATABASE_URL),externalNatsUrl:WN(N),skipMigrations:_.skipMigrations}}var I_=null;function h(){if(!I_)qX();return I_}function qX(){if(I_)return;let _={...process.env},x=ZN({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);I_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as eX,metrics as lX,propagation as kZ,ROOT_CONTEXT as pZ,SpanStatusCode as tZ,trace as sX}from"@opentelemetry/api";import{logs as dX,SeverityNumber as ET}from"@opentelemetry/api-logs";import{OTLPLogExporter as gZ}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as bX}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as hZ}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as aZ}from"@opentelemetry/instrumentation-runtime-node";import{context as OW,propagation as AW,SpanKind as SW,SpanStatusCode as IW}from"@opentelemetry/api";var VW=globalThis.fetch;import{ExportResultCode as rW}from"@opentelemetry/core";import{ExportResultCode as w_}from"@opentelemetry/core";import{mkdir as cX,rename as hX,writeFile as oX}from"fs/promises";import{join as V_}from"path";class k_{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:w_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:w_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:w_.FAILED}});return Promise.resolve({code:w_.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 C of _){let N=x.get(C.partition);if(!N)N=[],x.set(C.partition,N);N.push(C.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([C,N])=>this.writeNDJSON(N,C).then(()=>C))),T=u.find((C)=>C.status==="rejected");if(T){let C=new Set;for(let E of u)if(E.status==="fulfilled")C.add(E.value);let N=_.filter((E)=>!C.has(E.partition));this.bufferItems=N.concat(this.bufferItems),this.bufferBytes=0;for(let E of this.bufferItems)this.bufferBytes+=Buffer.byteLength(E.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],C=x?V_(this.basePath,x,...T):V_(this.basePath,...T);if(!this.knownDirs.has(C))await cX(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let N=`${crypto.randomUUID()}.ndjson`,E=V_(C,`.${N}.tmp`),K=V_(C,N),z=_.join(`
|
|
1786
|
+
`.execute(_)}var pX={"001-initial-schema":q_,"002-organization-settings":c_,"003-connection-schema-align":h_,"004-remove-models-binding":o_,"005-connection-configuration":a_,"006-add-views-to-settings":r_,"007-monitoring-logs":e_,"008-event-bus":l_,"009-drop-audit-logs":s_,"010-gateways":d_,"011-gateway-icon":b_,"012-gateway-tool-selection-mode":_x,"013-monitoring-user-agent-gateway":xx,"014-gateway-resources-prompts":ux,"015-monitoring-properties":mx,"016-downstream-token-client-info":Cx,"017-downstream-token-remove-userid":Tx,"018-drop-gateway-tool-selection-strategy":Nx,"019-remove-gateway-is-default":Kx,"020-enabled-plugins":Ex,"021-threads":zx,"022-rename-gateway-to-virtual-mcp":Px,"023-optimize-thread-indexes":$x,"024-consolidate-virtual-mcp":Ux,"025-add-monitoring-virtual-mcp-id":Jx,"026-restrict-child-connection-delete":Xx,"027-update-management-mcp-url":Qx,"028-update-management-mcp-to-self":Zx,"029-add-updated-by-to-connections":Lx,"030-member-tags":Dx,"031-add-dependency-mode":Fx,"032-projects":nx,"033-thread-status":Rx,"034-monitoring-dashboards":Yx,"035-project-connections":Hx,"036-update-registry-url":Mx,"037-ai-provider-keys":Bx,"038-oauth-pkce-states":Gx,"039-automations":yx,"040-replace-next-run-at-with-last-run-at":fx,"041-ai-provider-keys-unique-constraint":Ox,"042-rename-mesh-mcp-to-cms-mcp":Ax,"043-rename-cms-mcp-to-deco-cms":Sx,"044-drop-connections-tools-column":Ix,"045-thread-context-start-message":wx,"046-remove-object-storage-plugin":kx,"047-add-next-run-at":px,"048-merge-projects-agents":ix,"049-remove-org-admin-projects":vx,"050-durable-agent-runs":gx,"051-org-sso":cx,"052-thread-agent-ids":hx,"053-registry-config":ox,"054-connection-slug":rx,"055-spaces":ex,"056-automation-project-scope":lx,"057-thread-virtual-mcp-id":sx,"058-trigger-callback-tokens":dx,"059-kv":bx,"060-member-index":_u,"061-downstream-token-connection-index":xu,"062-private-registry":uu,"063-event-subscriptions-enabled-boolean":mu,"064-brand-context":Cu,"065-organization-domains":Tu,"066-brand-context-structured":Nu,"067-threads-metadata":Ku,"068-threads-branch":Eu,"069-sandbox-runner-state":zu,"070-model-categories":Pu,"071-default-home-agents":$u,"072-ai-provider-key-preset-id":Uu,"073-backfill-basic-usage-roles":Ju,"074-sandbox-runner-state-handle-nonunique":Xu,"075-thread-inflight-async-jobs":ju,"076-automations-drop-agent-json":Qu,"077-tier-only-model-selection":Zu,"078-automation-tool-call-kind":Lu,"079-strip-legacy-freestyle-vm-map-entries":Du,"080-async-research-jobs":Fu,"081-async-research-jobs-result-content":nu,"082-secrets":Ru,"083-thread-run-locally":Yu,"084-drop-host-sandbox-rows":Hu,"085-rename-runner-kind":Mu,"086-thread-pins-and-vm-map-rekey":Bu,"087-fix-vm-map-rekey":Gu,"088-purge-cli-activate-keys":yu,"089-rename-remote-user-to-desktop":fu,"090-automation-webhook-triggers":Ou,"091-organization-domains-allow-multi":Au,"092-sandbox-naming-uniformization":Su,"093-backfill-global-search-basic-usage":Iu,"094-org-file-configs":Vu,"095-remove-automation-tool-call-kind":ku,"096-org-file-configs-public-url-base":pu,"097-drop-local-docker-sandbox-state":iu,"098-thread-message-parts":vu,"099-run-fence":gu,"100-link-transport":qu,"101-cancel-requested-at":cu,"102-observational-agent":hu,"103-revert-observational-agent":ou,"104-agent-sandbox-provider-kind":ru,"105-org-fs":eu,"106-automation-tools":lu,"107-org-fs-public-org":su,"108-automation-max-agent-steps":du,"109-thread-message-parts-per-message-seq":bu,"110-backfill-ghs-token-expiry":_m,"111-org-fs-thread-id":xm,"112-org-file-configs-credential-type":um,"113-thread-failure-reason":mm,"114-run-acked-seq":Cm,"115-thread-projected-seq":Tm,"116-org-sites":Nm,"117-org-file-configs-site-slug":Km,"118-organization-domains-multi-verify":Em,"119-organization-join-requests":zm,"120-org-fs-read-public":Pm,"121-org-fs-share-password":$m,"122-split-web-research-tier":Xm,"123-connection-credential-vault":jm,"124-drop-thread-projected-seq":Qm,"125-github-child-single-parent":Wm,"126-task-board":Lm,"127-task-board-due-date":Dm,"128-reports-only":Fm,"129-task-board-assigned-by":nm,"130-task-board-thread-id":Rm,"131-task-board-thread-link-cascade":Ym,"132-task-board-item-prs":Hm,"133-dedupe-duplicate-members":Mm,"134-drop-task-board-enabled":Bm,"135-task-board-item-fk-cascade":Gm,"136-task-board-import-idempotency":ym,"137-agent-sandbox-runner-state":fm,"138-agent-sandbox-sessions":Om,"139-organization-billing":Am,"140-seat-change-log":Sm,"141-benefits-sync-pending":Im,"142-stripe-event-watermark":wm,"143-armed-report-url":Vm,"144-benefits-pending-index":km,"145-user-model-preferences":pm,"146-organization-main-agent":tm,"147-drop-agent-sandbox-tables":im,"148-org-flags":vm,"149-task-board-item-sort-order":gm,"150-task-board-activity":qm,"151-task-board-tags":hm,"152-repair-connection-slug":am,"153-task-board-latest-assistant-part-index":rm,"154-task-board-qa-activity":lm,"155-task-board-review-claims":sm,"156-task-board-conflict-activity":bm,"157-drop-seat-billing":_C,"158-drop-github-child-single-parent":xC,"159-task-board-comments":uC,"160-task-quota-billing":mC,"161-task-quota-claim-state":TC,"162-claude-subscriptions":NC,"163-task-board-item-dismissed":KC,"164-per-org-task-quota":EC,"165-task-board-pending-review-index":zC,"166-task-board-last-swept-at":PC,"167-task-board-run-retry":$C,"168-org-repo-sync":JC,"169-task-board-merge-failed-activity":jC,"170-task-board-item-repo":QC,"171-jira-integration":WC,"172-task-board-item-key-seq":ZC,"173-thread-github-repo-connection-index":LC,"174-thread-message-parts-persisted-at":FC,"175-task-board-sprints":nC,"176-task-board-done-sweep-index":RC,"177-notifications":YC,"178-jira-status-mapping-array":HC,"179-notification-mentioned":BC,"180-task-board-item-type":yC,"181-task-board-item-type-required":fC,"182-task-board-sprints-entities":OC,"183-drop-jira-jql-filter":AC,"184-jira-rescan-after-scope-change":SC,"185-jira-rescan-existing-cards":IC,"186-jira-rescan-pending-flag":VC,"187-task-board-comment-thread":kC,"188-invitation-auto-accept":pC,"189-task-board-column-automations":iC,"190-task-board-review-cycle-started-at":vC,"191-task-board-columns":gC,"192-task-board-verdict-nudge-activity":cC,"193-task-board-status-column-fk":hC,"194-jira-link-sprint":oC,"195-task-board-sprint-activity":rC,"196-task-board-column-tracker-statuses":eC,"197-task-board-prompts":lC,"198-task-board-external-url":sC,"199-drop-jira-mirror-and-org-columns":dC,"200-jira-run-trigger":bC,"201-organization-notices":_T,"202-redact-base64-thread-parts":uT,"203-task-board-preview-routes":mT,"204-git-provider-accounts-and-repositories":CT,"205-repository-references":TT,"206-repository-consumers":g_,"207-task-board-prs-repo-idx":v_,"208-github-connect-flows":i_,"209-github-installation-authorization":t_},NT=pX;import{getMigrations as j6}from"better-auth/db";import{sso as Q6}from"@better-auth/sso";import{organization as W6}from"@decocms/better-auth/plugins";import{admin as Z6,apiKey as L6,jwt as D6,magicLink as F6,mcp as n6,openAPI as R6}from"better-auth/plugins";import{emailOTP as Y6}from"better-auth/plugins/email-otp";import{Kysely as E6,PostgresDialect as GN}from"kysely";import{Pool as yN}from"pg";import{homedir as tX}from"os";var iX=new Set(["all","worker","api"]);function vX(_){let x=(_??"").trim();return iX.has(x)?x:"all"}var gX=new Set(["production","development","test"]);function qX(_){let x=(_??"").trim();return gX.has(x)?x:"development"}function L(_){return _==="true"||_==="1"}function ET(_,x,u){if(x===void 0||x==="")return;let T=Number(x);if(!Number.isSafeInteger(T)||T<=0)throw Error(`${_} must be a positive integer`);if(u!==void 0&&T>u)throw Error(`${_} must be at most ${u}`);return T}function G(_,x,u,T){return ET(_,x,T)??u}function cX(_,x,u,T){if(x===void 0||x==="")return u;let C=Number(x);if(!Number.isSafeInteger(C)||C<0)throw Error(`${_} must be a non-negative integer`);if(T!==void 0&&C>T)throw Error(`${_} must be at most ${T}`);return C}function KT(_,x){if(_===void 0||_==="")return x;return _==="true"||_==="1"}function ZN(_){if(!_)return null;try{let u=new URL(_).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return _}catch{return null}}function hX(_){return _===void 0||_===""||_==="true"||_==="1"}function T_(_,x){return _||x}function LN(_,x){let u=_.home||x.DATA_DIR||x.DECOCMS_HOME||`${tX()}/deco`,T=_.localMode,C=_.nodeEnv||qX(x.NODE_ENV),N=x.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:C,port:G("PORT",_.port||x.PORT,3000,65535),baseUrl:_.baseUrl||x.BASE_URL,publicUrl:T_(x.STUDIO_PUBLIC_URL,x.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:L(x.DATABASE_PG_SSL),databasePoolMax:G("DATABASE_POOL_MAX",x.DATABASE_POOL_MAX,5),dbosPoolSize:G("DBOS_POOL_SIZE",x.DBOS_POOL_SIZE,5),betterAuthSecret:x.BETTER_AUTH_SECRET||"",encryptionKey:x.ENCRYPTION_KEY||"",studioJwtSecret:T_(x.STUDIO_JWT_SECRET,x.MESH_JWT_SECRET),localMode:T,disableRateLimit:L(x.DISABLE_RATE_LIMIT),jiraAllowLocalSiteUrl:L(x.JIRA_ALLOW_LOCAL_SITE_URL),studioProvisionSecretKey:x.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(x.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((K)=>K.trim().toLowerCase()).filter(Boolean),clickhouseUrl:x.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:ET("CLICKHOUSE_MAX_MEMORY_USAGE",x.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:x.MONITORING_OTLP_ENDPOINT,otelServiceName:x.OTEL_SERVICE_NAME||"studio",natsCredsPath:x.NATS_CREDS,configPath:x.CONFIG_PATH||"./config.json",aiGatewayEnabled:L(x.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:x.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:x.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:x.STRIPE_WEBHOOK_SECRET,stripeSecretKey:x.STRIPE_SECRET_KEY,stripeOrgPriceId:x.STRIPE_ORG_PRICE_ID,stripeTopupProductId:x.STRIPE_TOPUP_PRODUCT_ID,topupFeePercent:cX("STUDIO_TOPUP_FEE_PERCENT",x.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:L(x.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:G("STUDIO_FREE_TASKS",x.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:G("STUDIO_MONTHLY_TASKS",x.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:G("STUDIO_MAX_RUNS_PER_TASK",x.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:L(x.ENABLE_DECO_IMPORT),hostingControlPlaneGa:L(x.HOSTING_CONTROL_PLANE_GA),monitorGa:L(x.MONITOR_GA),mcpCacheEnabled:KT(x.MCP_CACHE_ENABLED,C!=="development"),orgFsPublicSetsJson:x.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(x.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:G("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",x.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:G("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",x.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),taskBoardReviewSweeperEnabled:KT(x.TASK_BOARD_REVIEW_SWEEPER_ENABLED,!0),sandboxMaxConcurrentHostedRuns:G("SANDBOX_MAX_CONCURRENT_HOSTED_RUNS",x.SANDBOX_MAX_CONCURRENT_HOSTED_RUNS,12),s3Endpoint:x.S3_ENDPOINT,s3Bucket:x.S3_BUCKET,s3Region:x.S3_REGION||"auto",s3AccessKeyId:x.S3_ACCESS_KEY_ID,s3SecretAccessKey:x.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:hX(x.S3_FORCE_PATH_STYLE),monitoringS3Bucket:x.MONITORING_S3_BUCKET,monitoringS3Endpoint:x.MONITORING_S3_ENDPOINT,monitoringS3Region:x.MONITORING_S3_REGION,monitoringS3AccessKeyId:x.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:x.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:x.MONITORING_S3_PREFIX,duckdbExtensionDirectory:x.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:x.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:ET("DUCKDB_THREADS",x.DUCKDB_THREADS),isCli:!0,noTui:_.noTui===!0,podName:x.POD_NAME||crypto.randomUUID(),dispatchRole:vX(T_(x.STUDIO_DISPATCH_ROLE,x.MESH_DISPATCH_ROLE)),agentSandboxEnabled:L(x.STUDIO_AGENT_SANDBOX_ENABLED),sandboxStickyHeadRefEnabled:L(x.SANDBOX_STICKY_HEAD_REF),taskBoardRerunReusesPrBranch:KT(x.TASK_BOARD_RERUN_REUSES_PR_BRANCH,!0),sandboxReleaseOnRunEndEnabled:L(x.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:G("SANDBOX_RELEASE_GRACE_MS",x.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:x.DECO_SUPABASE_URL,decoSupabaseServiceKey:x.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:x.FIRECRAWL_API_KEY,controlplaneRestUrl:x.CONTROLPLANE_REST_URL,controlplaneServiceToken:x.CONTROLPLANE_SERVICE_TOKEN,analyticsDataUrl:x.ANALYTICS_URL,analyticsMasterToken:x.ANALYTICS_MASTER_TOKEN,clickhouseAnalyticsUrl:x.CLICKHOUSE_ANALYTICS_ADDRESS,clickhouseAnalyticsUsername:x.CLICKHOUSE_ANALYTICS_USERNAME||"admin_monitor",clickhouseAnalyticsPassword:x.CLICKHOUSE_ANALYTICS_PASSWORD,oneDollarStatsApiKey:x.ONEDOLLAR_BACKEND_API_KEY,reportsInternalApiUrl:T_(x.REPORTS_INTERNAL_API_URL,x.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:T_(x.REPORTS_INTERNAL_API_KEY,x.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:x.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:x.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:x.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:x.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:x.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:x.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:x.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:ZN(x.DATABASE_URL),externalNatsUrl:ZN(N),skipMigrations:_.skipMigrations}}var I_=null;function h(){if(!I_)oX();return I_}function oX(){if(I_)return;let _={...process.env},x=LN({port:_.PORT||"3000",home:_.DATA_DIR||_.DECOCMS_HOME||"",localMode:_.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:_.DECO_NO_TUI==="true",vitePort:_.VITE_PORT,baseUrl:_.BASE_URL},_);I_=Object.freeze({...x.settings,databaseUrl:_.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(_.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as dX,metrics as bX,propagation as iZ,ROOT_CONTEXT as vZ,SpanStatusCode as gZ,trace as _6}from"@opentelemetry/api";import{logs as x6,SeverityNumber as zT}from"@opentelemetry/api-logs";import{OTLPLogExporter as hZ}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as u6}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as rZ}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as lZ}from"@opentelemetry/instrumentation-runtime-node";import{context as IW,propagation as wW,SpanKind as VW,SpanStatusCode as kW}from"@opentelemetry/api";var tW=globalThis.fetch;import{ExportResultCode as sW}from"@opentelemetry/core";import{ExportResultCode as w_}from"@opentelemetry/core";import{mkdir as aX,rename as rX,writeFile as eX}from"fs/promises";import{join as V_}from"path";class k_{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:w_.FAILED});for(let x of _){let u=JSON.stringify(x),T=this.partitionKey?this.partitionKey(x):"";this.bufferItems.push({partition:T,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:w_.SUCCESS})).catch((x)=>{return console.error("[NDJSONExporter] Flush failed:",x),{code:w_.FAILED}});return Promise.resolve({code:w_.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 C of _){let N=x.get(C.partition);if(!N)N=[],x.set(C.partition,N);N.push(C.json)}let u=await Promise.allSettled(Array.from(x.entries()).map(([C,N])=>this.writeNDJSON(N,C).then(()=>C))),T=u.find((C)=>C.status==="rejected");if(T){let C=new Set;for(let E of u)if(E.status==="fulfilled")C.add(E.value);let N=_.filter((E)=>!C.has(E.partition));this.bufferItems=N.concat(this.bufferItems),this.bufferBytes=0;for(let E of this.bufferItems)this.bufferBytes+=Buffer.byteLength(E.json,"utf8")+1;throw T.reason}}async writeNDJSON(_,x){let u=new Date,T=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],C=x?V_(this.basePath,x,...T):V_(this.basePath,...T);if(!this.knownDirs.has(C))await aX(C,{recursive:!0,mode:448}),this.knownDirs.add(C);let N=`${crypto.randomUUID()}.ndjson`,E=V_(C,`.${N}.tmp`),K=V_(C,N),z=_.join(`
|
|
1787
1787
|
`)+`
|
|
1788
|
-
`;await
|
|
1788
|
+
`;await eX(E,z,{mode:384}),await rX(E,K)}}import{ExportResultCode as uZ}from"@opentelemetry/core";import{AggregationTemporality as CZ,DataPointType as TZ}from"@opentelemetry/sdk-metrics";import{ExportResultCode as $Z}from"@opentelemetry/core";var jZ=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as T4,LoggerProvider as N4}from"@opentelemetry/sdk-logs";import{detectResources as E4,envDetector as z4,hostDetector as P4,osDetector as $4,processDetector as U4,resourceFromAttributes as J4}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as j4}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as ZZ}from"@opentelemetry/api-logs";import{NodeSDK as Z4}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as D4,SamplingDecision as o}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as RZ}from"@opentelemetry/api";var m6="__d",C6=dX("Current request"),T6=1;var FN=(_)=>{let u=new URL(_.url).searchParams.get(m6);if(u==="")return crypto.randomUUID();if(!u)u=_.headers.get("x-trace-debug-id");return u};class nN{inner;constructor(_){this.inner=_}shouldSample(_,x,u,T,C,N){let E=_.getValue(C6);if(!E){if(this.inner)return this.inner.shouldSample(_,x,u,T,C,N);return{decision:o.RECORD_AND_SAMPLED}}let K=FN(E);if(K)return{decision:o.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":K}};if(this.inner){let z=this.inner.shouldSample(_,x,u,T,C,N);if(z.decision===o.RECORD_AND_SAMPLED){let $=crypto.randomUUID();z.attributes={...z.attributes??{},"trace.debug.id":$}}return z}return{decision:o.NOT_RECORD}}toString(){return"DebugSampler"}}class RN{ratio;constructor(_){this.ratio=_}shouldSample(){if(Math.random()<this.ratio)return{decision:o.RECORD_AND_SAMPLED};return{decision:o.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var n4=new u6({preventServerStart:!0}),R4=new nN(new RN(T6));var DN=_6.getTracer("studio","1.0.0"),N_=bX.getMeter("studio","1.0.0"),N6=x6.getLogger("studio","1.0.0"),PT=(_,x,u)=>{let T={},C=u,N=u[u.length-1];if(N!==null&&typeof N==="object"&&!Array.isArray(N)&&!(N instanceof Error)&&Object.getPrototypeOf(N)===Object.prototype)T=N,C=u.slice(0,-1);let E=C.map((K)=>{if(K instanceof Error)return`${K.name}: ${K.message}`;if(typeof K==="object")try{return JSON.stringify(K)}catch{return"[Object]"}return String(K)}).join(" ");N6.emit({severityNumber:_,severityText:x,body:E,attributes:{"log.source":"console",...T}})},$T={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(..._)=>{PT(zT.ERROR,"ERROR",_),$T.error(..._)};console.warn=(..._)=>{PT(zT.WARN,"WARN",_),$T.warn(..._)};console.debug=(..._)=>{PT(zT.DEBUG,"DEBUG",_),$T.debug(..._)};var UT,YN=0,JT=500;function K6(){if(UT)return;let _=performance.now()+JT;UT=setInterval(()=>{let x=performance.now();YN=Math.max(0,x-_),_=x+JT},JT),UT.unref?.()}function HN(){return K6(),YN}var z6=()=>N_.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),MN=()=>N_.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),BN=400,P6=100,$6=(_)=>(x)=>{let u={"db.statement":x.query.sql,"db.status":x.level==="error"?"error":"success"};if(x.queryDurationMillis>BN){let T=HN(),C=T>BN/2;console.error(C?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:x.queryDurationMillis,eventLoopLagMs:Math.round(T),sql:x.query.sql,pool:{total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:p_()}})}if(z6().record(x.queryDurationMillis,u),x.level==="error")console.error("Query failed:",{durationMs:x.queryDurationMillis,error:x.error,sql:x.query.sql})};function U6(_){let x=_.connect.bind(_);return _.connect=(u)=>{if(typeof u==="function")return x(u);let T=performance.now(),C=p_(),N=_.idleCount===0&&_.totalCount>=C,E=_.idleCount;return x().then((K)=>{let z=performance.now()-T;if(MN().record(z,{"db.pool.outcome":N?"contended":"available"}),z>P6)if(N)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:z,total:_.totalCount,idle:_.idleCount,waiting:_.waitingCount,max:C});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:z,idleAtStart:E,total:_.totalCount,max:C});return K},(K)=>{throw MN().record(performance.now()-T,{"db.pool.outcome":"error"}),K})},_}var fN={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function ON(){try{return h().databasePgSsl}catch{return!1}}function p_(){try{return h().databasePoolMax}catch{return 10}}function J6(_){let x=U6(new yN({connectionString:_,max:p_(),ssl:ON(),...fN})),u=new GN({pool:x});return{type:"postgres",db:new E6({dialect:u,log:$6(x)}),pool:x}}function E_(){return h().databaseUrl}function AN(_){let x=_||E_();return new GN({pool:new yN({connectionString:x,max:p_(),ssl:ON(),...fN})})}function X6(_){let x=_||E_();return J6(x)}async function SN(_){if(await _.db.destroy(),!_.pool.ended)await _.pool.end();if(_===K_)K_=null}var K_=null;function XT(){if(!K_)K_=X6(E_());return K_}async function IN(_){let u={database:AN(_||E_()),plugins:[W6({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),Z6(),L6(),D6(),R6(),n6({loginPage:"/login"}),Q6(),F6({sendMagicLink:async()=>{}}),Y6({sendVerificationOTP:async()=>{}})]},{toBeAdded:T,toBeCreated:C,runMigrations:N}=await j6(u);if(!T.length&&!C.length)return"up to date";return await N(),`${C.length+T.length} table(s) migrated`}async function VN(_,x){return(await a`
|
|
1789
1789
|
SELECT table_name FROM information_schema.tables
|
|
1790
1790
|
WHERE table_schema='public' AND table_name=${x}
|
|
1791
|
-
`.execute(_)).rows.length>0}async function
|
|
1791
|
+
`.execute(_)).rows.length>0}async function H6(_){if(await VN(_,"plugin_migrations"))return;await a`
|
|
1792
1792
|
CREATE TABLE plugin_migrations (
|
|
1793
1793
|
plugin_id TEXT NOT NULL,
|
|
1794
1794
|
name TEXT NOT NULL,
|
|
1795
1795
|
timestamp TEXT NOT NULL,
|
|
1796
1796
|
PRIMARY KEY (plugin_id, name)
|
|
1797
1797
|
)
|
|
1798
|
-
`.execute(_)}async function
|
|
1798
|
+
`.execute(_)}async function M6(_){if(!await VN(_,"kysely_migration"))return;let x=await a`
|
|
1799
1799
|
SELECT name, timestamp FROM kysely_migration
|
|
1800
1800
|
WHERE name LIKE '%/%'
|
|
1801
1801
|
`.execute(_);if(x.rows.length===0)return;for(let{name:u,timestamp:T}of x.rows){let C=u;if(u.includes("~plugins/"))C=u.substring(u.indexOf("~plugins/")+9);let N=C.indexOf("/");if(N===-1){console.warn(`Skipping malformed plugin migration: ${u}`);continue}let E=C.substring(0,N),K=C.substring(N+1);try{await a`
|
|
@@ -1806,4 +1806,4 @@ var VN=Object.defineProperty;var kN=(_)=>_;function pN(_,x){this[_]=kN.bind(null
|
|
|
1806
1806
|
WHERE plugin_id = ${E} AND name = ${K}
|
|
1807
1807
|
`.execute(_);if(Number(z.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${E}/${K}, keeping in old table`);continue}}await a`
|
|
1808
1808
|
DELETE FROM kysely_migration WHERE name = ${u}
|
|
1809
|
-
`.execute(_)}}async function
|
|
1809
|
+
`.execute(_)}}async function B6(_){await H6(_),await M6(_);let x=new wN({db:_,provider:{getMigrations:()=>Promise.resolve(NT)}}),{error:u,results:T}=await x.migrateToLatest(),C=0;if(T?.forEach((N)=>{if(N.status==="Success")C++;else if(N.status==="Error")console.error(`Failed to execute migration "${N.migrationName}"`)}),u)throw console.error("Failed to migrate"),console.error(u),u;return C}async function G6(_){let{keepOpen:x=!1,database:u,skipBetterAuth:T=!1}=_??{},C="skipped";if(!T&&!u)C=await IN();let N=u??XT(),E=async()=>{if(!x&&!u)await SN(N).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await B6(N.db);return await E(),{betterAuth:C,kysely:K}}catch(K){throw await E(),K}}async function b4(){let _=XT(),x=new wN({db:_.db,provider:{getMigrations:()=>Promise.resolve(NT)}}),{error:u,results:T}=await x.migrateDown();if(T?.forEach((C)=>{if(C.status==="Success")console.log(`\u2705 Migration "${C.migrationName}" rolled back successfully`);else if(C.status==="Error")console.error(`\u274C Failed to rollback migration "${C.migrationName}"`)}),u)throw console.error("Failed to rollback migration"),console.error(u),u}if(import.meta.main)(async()=>{try{await G6(),console.log("Migrations completed."),process.exit(0)}catch(_){console.error("Migration failed:",_),process.exit(1)}})();export{B6 as runKyselyMigrations,G6 as migrateToLatest,b4 as migrateDown};
|